Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remedy for faulty monitor which fails to respond its capabilities #270

Closed
CC0126 opened this issue Dec 19, 2021 · 19 comments
Closed

Remedy for faulty monitor which fails to respond its capabilities #270

CC0126 opened this issue Dec 19, 2021 · 19 comments

Comments

@CC0126
Copy link

CC0126 commented Dec 19, 2021

At first I only used it to control my AOC Q2790PQ, it had no problems, but after I replaced a monitor AOC Q2790PC, the software did not work properly.
After many searches, I found the open source address of your software, downloaded its source code, and studied it.
After I tested DDC-Control, AOC iMenu, FreeMonitorManager, I found the problem.
This new monitor has multiple interfaces (such as HDMI, DP, USB-C), the VCP value of the USB-C interface returns to normal, but HDMI returns garbled characters, which makes the software unable to obtain whether the display actually supports DDC /CI command, which hinders the work of the software.
I can get the actual brightness by judging that the VCP has a response but cannot be resolved. To determine whether the monitor supports DDC/CI non-standard, just like FreeMonitorManager.
Now he works fine on my monitor.
probe.log is here:

[Date: 2021/12/19 下午 06:12:53 Ver: 3.8.0.0]
{
  "System": "Manufacturer: LENOVO, Model: 80NV",
  "Device Context - DeviceItems": [
    {
      "DeviceInstanceId": "DISPLAY\\AOC2790\\4&1c062684&1&UID198147",
      "Description": "Generic PnP Monitor",
      "DisplayIndex": 1,
      "MonitorIndex": 0
    }
  ],
  "DisplayMonitor - DisplayItems": [
    {
      "DeviceInstanceId": "DISPLAY\\AOC2790\\4&1c062684&1&UID198147",
      "DisplayName": "Q2790R3",
      "IsInternal": false,
      "ConnectionDescription": "HDMI",
      "PhysicalSize": 26.9708023
    }
  ],
  "Display Config - DisplayItems": [
    {
      "DeviceInstanceId": "DISPLAY\\AOC2790\\4&1c062684&1&UID198147",
      "DisplayName": "Q2790R3",
      "IsInternal": false,
      "ConnectionDescription": "HDMI",
      "IsAvailable": true
    }
  ],
  "Device Installation - InstalledItems": [
    {
      "DeviceInstanceId": "DISPLAY\\AOC2790\\4&1C062684&1&UID198147",
      "Description": "通用即插即用监视器",
      "IsRemovable": true
    }
  ],
  "Monitor Configuration - PhysicalItems": [
    {
      "Key": {
        "DisplayIndex": 1,
        "MonitorRect": "Location:0,0, Size:2560,1440"
      },
      "Value": [
        {
          "Description": "Generic PnP Monitor",
          "MonitorIndex": 0,
          "Capability": {
            "IsHighLevelBrightnessSupported": false,
            "IsLowLevelBrightnessSupported": false,
            "IsContrastSupported": false,
            "CapabilitiesString": "O╠",
            "CapabilitiesReport": "Luminance: False, Contrast: False, Speaker Volume: False, Power Mode: False",
            "CapabilitiesData": "T6hkAMzMzMw4AQAAAAAAAAAAAgAu8uk9svQDADOO7T2y9NcBAQAAAAEAAAABAAAABAACAAAAAAAAAAAAAAAAAAIAAAAIAAIAAAAAAAAAAAAAAAAAAAAAAFIAAAAAAAAAUgAAAFwAXAA\/AFwARABJAFMAUABMAEEAWQAjAEEATwBDADIANwA5ADAAIwA0ACYAMQBjADAANgAyADYAOAA0ACYAMQAmAFUASQBEADEAOQA4ADEANAA3ACMAewBlADYAZgAwADcAYgA1AGYALQBlAGUAOQA3AC0ANABhADkAMAAtAGIAMAA3ADYALQAzADMAZgA1ADcAYgBmADQAZQBhAGEANwB9AAAAAgAAAFNYCMrOFqpIsRTenHIzQiMBAAAAAAAAAAAAAABTWAjKzhaqSLEU3pxyM0IjAgAAAAAAAAAAAAAAAAAAAExNRU1IAQAAAAAAAAAAAAA="
          },
          "GetBrightness": "Success: True, Valid: True (Minimum: 0, Current: 0, Maximum: 100)",
          "SetBrightness": "Success: True, Match: True (Expected: 9, Actual: 9)"
        }
      ]
    }
  ],
  "MSMonitorClass - DesktopItems": [
    {
      "DeviceInstanceId": "DISPLAY\\LGD0533\\4&1C062684&1&UID265988",
      "Description": "通用即插即用监视器",
      "BrightnessLevels": "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100"
    }
  ],
  "ElapsedTime": [
    "DeviceItems    -> 0.001",
    "DisplayMonitorItems -> 0.013",
    "DisplayConfigItems -> 0.007",
    "InstalledItems -> 0.014",
    "PhysicalItems  -> 8.162",
    "DesktopItems   -> 0.035"
  ]
}
@CC0126
Copy link
Author

CC0126 commented Dec 19, 2021

operation.log:
[Date: 2021/12/19 下午 06:12:43 Ver: 3.8.0.0]
Enabled

@emoacht
Copy link
Owner

emoacht commented Dec 20, 2021

Thanks for the explanation.
I understand that you are talking about a monitor which fails to respond to the inquiry for its capabilities by DDC/CI command. Your case looks similar to #215. Damn AOC ... I will call them faulty monitors.

Generally I do not prefer to add modifications which result in extra function calls even in the case of decent monitors. It is undesirable to make the systems which have only decent monitors to use extra resources for the sake of faulty monitors. Thus, I will not merge your PR #269. In addition, if you wish check the functionality of a monitor without the information on its capabilities, you have to test not only getting brightness but also setting brightness both in high and low levels. It will be cumbersome.

Instead, I think if a user is confident that a monitor will work anyway, it will be relatively better to skip testing process alltogether using a white list of such monitors provided by, perhaps, command-line arguments. I am still wondering but this is my initial thoughts.

P.S. To obtain meaningul information from operation.log, you need to use this app for a while.

@emoacht emoacht changed the title Need support for NonStandard Monitor like Q2790PC Remedy for faulty monitor which fails to respond its capabilities Dec 20, 2021
@CC0126
Copy link
Author

CC0126 commented Dec 20, 2021

Is there any command-line can let the software skip the check of the VCP return codes?
Now I can't use anything on the software it says “can't control the monitor”

@CC0126
Copy link
Author

CC0126 commented Dec 20, 2021

image
It shows like this. But I opened the DDC/CI function. After I change the code like PR #269 it works well like this:
image

@CC0126
Copy link
Author

CC0126 commented Dec 20, 2021

The new operation.log is here

[Date: 2021/12/19 下午 06:12:43 Ver: 3.8.0.0]
Enabled

[Date: 2021/12/19 下午 06:12:53 Ver: 3.8.0.0]
ScanAsync [2021/12/19 下午 06:12:48]
{
  "Items": [
    {
      "Type": "UnreachableMonitorItem",
      "DeviceInstanceId": "DISPLAY\AOC2790\4&1c062684&1&UID198147",
      "Description": "Q2790R3",
      "DisplayIndex": 1,
      "MonitorIndex": 0,
      "MonitorRect": Empty,
      "IsReachable": false,
      "IsBrightnessSupported": false,
      "IsContrastSupported": false,
      "Brightness": -1,
      "BrightnessSystemAdjusted": -1,
      "Contrast": -1
    }
  ],
  "Monitors": [
    {
      "Item": {
        "Type": "UnreachableMonitorItem",
        "DeviceInstanceId": "DISPLAY\AOC2790\4&1c062684&1&UID198147",
        "Description": "Q2790R3",
        "DisplayIndex": 1,
        "MonitorIndex": 0,
        "MonitorRect": Empty,
        "IsReachable": false,
        "IsBrightnessSupported": false,
        "IsContrastSupported": false,
        "Brightness": -1,
        "BrightnessSystemAdjusted": -1,
        "Contrast": -1
      },
      "Name": "Q2790R3",
      "IsUnison": true,
      "IsControllable": false,
      "IsConfirmed": false,
      "ControllableCount": 2,
      "IsByKey": false,
      "IsSelected": false,
      "IsTarget": true
    }
  ]
}

[Date: 2021/12/19 下午 06:13:13 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021/12/19 下午 11:18:28 Ver: 3.8.0.0]
Initiated

[Date: 2021/12/19 下午 11:18:31 Ver: 3.8.0.0]
Check update: No update

[Date: 2021/12/19 下午 11:18:34 Ver: 3.8.0.0]
ScanAsync [2021/12/19 下午 11:18:29]
{
  "Items": [
    {
      "Type": "UnreachableMonitorItem",
      "DeviceInstanceId": "DISPLAY\AOC2790\4&1c062684&1&UID198147",
      "Description": "Q2790R3",
      "DisplayIndex": 1,
      "MonitorIndex": 0,
      "MonitorRect": Empty,
      "IsReachable": false,
      "IsBrightnessSupported": false,
      "IsContrastSupported": false,
      "Brightness": -1,
      "BrightnessSystemAdjusted": -1,
      "Contrast": -1
    }
  ],
  "Monitors": [
    {
      "Item": {
        "Type": "UnreachableMonitorItem",
        "DeviceInstanceId": "DISPLAY\AOC2790\4&1c062684&1&UID198147",
        "Description": "Q2790R3",
        "DisplayIndex": 1,
        "MonitorIndex": 0,
        "MonitorRect": Empty,
        "IsReachable": false,
        "IsBrightnessSupported": false,
        "IsContrastSupported": false,
        "Brightness": -1,
        "BrightnessSystemAdjusted": -1,
        "Contrast": -1
      },
      "Name": "Q2790R3",
      "IsUnison": true,
      "IsControllable": false,
      "IsConfirmed": false,
      "ControllableCount": 3,
      "IsByKey": false,
      "IsSelected": false,
      "IsTarget": true
    }
  ]
}

[Date: 2021/12/19 下午 11:19:16 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021/12/20 下午 07:28:09 Ver: 3.8.0.0]
Initiated

[Date: 2021/12/20 下午 07:28:10 Ver: 3.8.0.0]
Check update: Failed
System.Exception: 异常来自 HRESULT:0x8024402C
   在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   在 StoreAgency.StoreAgent.<CheckUpdateAsync>d__43.MoveNext()

[Date: 2021/12/20 下午 07:28:13 Ver: 3.8.0.0]
ScanAsync [2021/12/20 下午 07:28:10]
{
  "Items": [
    {
      "Type": "UnreachableMonitorItem",
      "DeviceInstanceId": "DISPLAY\AOC2790\4&1c062684&1&UID198147",
      "Description": "Q2790R3",
      "DisplayIndex": 1,
      "MonitorIndex": 0,
      "MonitorRect": Empty,
      "IsReachable": false,
      "IsBrightnessSupported": false,
      "IsContrastSupported": false,
      "Brightness": -1,
      "BrightnessSystemAdjusted": -1,
      "Contrast": -1
    }
  ],
  "Monitors": [
    {
      "Item": {
        "Type": "UnreachableMonitorItem",
        "DeviceInstanceId": "DISPLAY\AOC2790\4&1c062684&1&UID198147",
        "Description": "Q2790R3",
        "DisplayIndex": 1,
        "MonitorIndex": 0,
        "MonitorRect": Empty,
        "IsReachable": false,
        "IsBrightnessSupported": false,
        "IsContrastSupported": false,
        "Brightness": -1,
        "BrightnessSystemAdjusted": -1,
        "Contrast": -1
      },
      "Name": "Q2790R3",
      "IsUnison": false,
      "IsControllable": false,
      "IsConfirmed": false,
      "ControllableCount": 3,
      "IsByKey": false,
      "IsSelected": false,
      "IsTarget": true
    }
  ]
}

[Date: 2021/12/20 下午 07:28:15 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021/12/20 下午 07:28:17 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021/12/20 下午 07:28:18 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021/12/20 下午 07:31:43 Ver: 3.8.0.0]
Initiated

[Date: 2021/12/20 下午 07:31:46 Ver: 3.8.0.0]
Check update: No update

[Date: 2021/12/20 下午 07:31:47 Ver: 3.8.0.0]
ScanAsync [2021/12/20 下午 07:31:43]
{
  "Items": [
    {
      "Type": "UnreachableMonitorItem",
      "DeviceInstanceId": "DISPLAY\AOC2790\4&1c062684&1&UID198147",
      "Description": "Q2790R3",
      "DisplayIndex": 1,
      "MonitorIndex": 0,
      "MonitorRect": Empty,
      "IsReachable": false,
      "IsBrightnessSupported": false,
      "IsContrastSupported": false,
      "Brightness": -1,
      "BrightnessSystemAdjusted": -1,
      "Contrast": -1
    }
  ],
  "Monitors": [
    {
      "Item": {
        "Type": "UnreachableMonitorItem",
        "DeviceInstanceId": "DISPLAY\AOC2790\4&1c062684&1&UID198147",
        "Description": "Q2790R3",
        "DisplayIndex": 1,
        "MonitorIndex": 0,
        "MonitorRect": Empty,
        "IsReachable": false,
        "IsBrightnessSupported": false,
        "IsContrastSupported": false,
        "Brightness": -1,
        "BrightnessSystemAdjusted": -1,
        "Contrast": -1
      },
      "Name": "Q2790R3",
      "IsUnison": false,
      "IsControllable": false,
      "IsConfirmed": false,
      "ControllableCount": 3,
      "IsByKey": false,
      "IsSelected": false,
      "IsTarget": true
    }
  ]
}

[Date: 2021/12/20 下午 07:31:51 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021/12/20 下午 07:31:53 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021/12/20 下午 07:31:53 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021/12/20 下午 07:31:54 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021/12/20 下午 07:31:54 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021/12/20 下午 07:32:03 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021/12/20 下午 07:32:04 Ver: 3.8.0.0]
OnMonitorAccessFailed
Status: Failed
Message: 

@emoacht
Copy link
Owner

emoacht commented Dec 20, 2021

Is there any command-line can let the software skip the check of the VCP return codes?

No, not yet.

@CC0126
Copy link
Author

CC0126 commented Dec 20, 2021

I think it is possible to add an option or command to the hidden menu. If the user thinks his monitor is okay, he can try it. There may be more Monitors with such problems, and the returned VCP data may change frequently, so it may take a lot of effort to design a whitelist.

@emoacht
Copy link
Owner

emoacht commented Dec 20, 2021

In fact, a whitelist by command-line option is the least costly approach.

Added preclear option by 6e5d4a7 and 1f0d50a
To use this option,

  1. Get probe.log and find the Device Instance ID of the monitor in question.
  2. Use this option as shown below. If there are multiple monitors in question, continue Device Instance ID delimited by space.
/preclear [Device Instance ID]
  1. You can use command-line arguments in the hidden menu to set this option.

In case you have multiple monitors, simply add thier Device Instance IDs.

/preclear [First Device Instance ID] [Second Device Instance ID]

@emoacht emoacht pinned this issue Dec 20, 2021
@CC0126
Copy link
Author

CC0126 commented Dec 21, 2021

Thank you very much! I downloaded the latest code and test the "preclear" commandline. It now works well!
Will you release these change in the next version on the Microsoft Store?

@emoacht
Copy link
Owner

emoacht commented Dec 24, 2021

Thanks for the confirmation.
This preclear option is now included in Ver 3.8.2.
I will keep this issue pinned as the notice of this option.

@HaiyiMei
Copy link

Hi there. I've got the same issue like here.


[Date: 2021-12-24 13:20:49 Ver: 3.8.2.0]
ScanAsync [2021-12-24 13:20:49]
{
  "Items": [
    {
      "Type": "UnreachableMonitorItem",
      "DeviceInstanceId": "DISPLAY\PHLC216\5&1015af17&0&UID8448",
      "Description": "PHL 276C8",
      "DisplayIndex": 1,
      "MonitorIndex": 0,
      "MonitorRect": Empty,
      "IsReachable": false,
      "IsBrightnessSupported": false,
      "IsContrastSupported": false,
      "IsPrecleared": false,
      "Brightness": -1,
      "BrightnessSystemAdjusted": -1,
      "Contrast": -1
    }
  ],
  "Monitors": [
    {
      "Item": {
        "Type": "UnreachableMonitorItem",
        "DeviceInstanceId": "DISPLAY\PHLC216\5&1015af17&0&UID8448",
        "Description": "PHL 276C8",
        "DisplayIndex": 1,
        "MonitorIndex": 0,
        "MonitorRect": Empty,
        "IsReachable": false,
        "IsBrightnessSupported": false,
        "IsContrastSupported": false,
        "IsPrecleared": false,
        "Brightness": -1,
        "BrightnessSystemAdjusted": -1,
        "Contrast": -1
      },
      "Name": "PHL 276C8",
      "IsUnison": false,
      "IsControllable": false,
      "IsConfirmed": false,
      "ControllableCount": 2,
      "IsByKey": false,
      "IsSelected": false,
      "IsTarget": true
    }
  ]
}

[Date: 2021-12-24 13:20:54 Ver: 3.8.2.0]
OnMonitorAccessFailed
Status: Failed
Message: 

[Date: 2021-12-24 13:20:54 Ver: 3.8.2.0]
OnMonitorAccessFailed
Status: Failed
Message: 

And I did the same action as here

In fact, a whitelist by command-line option is the least costly approach.

Added preclear option by 6e5d4a7 and 1f0d50a To use this option,

  1. Get probe.log and find the Device Instance ID of the monitor in question.
  2. Use this option as shown below. If there are multiple monitors in question, continue Device Instance ID delimited by space.
/preclear [Device Instance ID]
  1. You can use command-line arguments in the hidden menu to set this option.

And I got this new log:


[Date: 2021-12-24 13:23:09 Ver: 3.8.2.0]
Initiated

[Date: 2021-12-24 13:23:10 Ver: 3.8.2.0]
OnMonitorAccessFailed
Status: TransmissionFailed
Message: Low level, Code: -1071241854, Message: An error occurred while transmitting data to the device on the I2C bus.


[Date: 2021-12-24 13:23:10 Ver: 3.8.2.0]
ScanAsync [2021-12-24 13:23:10]
{
  "Items": [
    {
      "Type": "DdcMonitorItem",
      "DeviceInstanceId": "DISPLAY\PHLC216\5&1015af17&0&UID8448",
      "Description": "PHL 276C8",
      "DisplayIndex": 1,
      "MonitorIndex": 0,
      "MonitorRect": 0,0,2560,1440,
      "IsReachable": true,
      "IsBrightnessSupported": true,
      "IsContrastSupported": true,
      "IsPrecleared": true,
      "Brightness": -1,
      "BrightnessSystemAdjusted": -1,
      "Contrast": -1
    }
  ],
  "Monitors": [
    {
      "Item": {
        "Type": "DdcMonitorItem",
        "DeviceInstanceId": "DISPLAY\PHLC216\5&1015af17&0&UID8448",
        "Description": "PHL 276C8",
        "DisplayIndex": 1,
        "MonitorIndex": 0,
        "MonitorRect": 0,0,2560,1440,
        "IsReachable": true,
        "IsBrightnessSupported": true,
        "IsContrastSupported": true,
        "IsPrecleared": true,
        "Brightness": -1,
        "BrightnessSystemAdjusted": -1,
        "Contrast": -1
      },
      "Name": "PHL 276C8",
      "IsUnison": false,
      "IsControllable": true,
      "IsConfirmed": false,
      "ControllableCount": 2,
      "IsByKey": false,
      "IsSelected": false,
      "IsTarget": false
    }
  ]
}

And I got nothing in my Monitorian software:
image

@emoacht @CC0126 Do you know why this happens? Thanks a lot.

@emoacht
Copy link
Owner

emoacht commented Dec 24, 2021

@HaiyiMei Could you show probe.log?

@HaiyiMei
Copy link

@HaiyiMei Could you show probe.log?

[Date: 2021-12-24 13:49:21 Ver: 3.8.2.0]
{
  "System": "Manufacturer: LENOVO, Model: 90Q90033CP",
  "Device Context - DeviceItems": [
    {
      "DeviceInstanceId": "DISPLAY\\PHLC216\\5&1015af17&0&UID8450",
      "Description": "Generic PnP Monitor",
      "DisplayIndex": 1,
      "MonitorIndex": 0
    }
  ],
  "DisplayMonitor - DisplayItems": null,
  "Display Config - DisplayItems": [
    {
      "DeviceInstanceId": "DISPLAY\\PHLC216\\5&1015af17&0&UID8450",
      "DisplayName": "PHL 276C8",
      "IsInternal": false,
      "ConnectionDescription": "DVI",
      "IsAvailable": true
    }
  ],
  "Device Installation - InstalledItems": [
    {
      "DeviceInstanceId": "DISPLAY\\PHLC216\\5&1015AF17&0&UID8450",
      "Description": "Generic PnP Monitor",
      "IsRemovable": true
    }
  ],
  "Monitor Configuration - PhysicalItems": [
    {
      "Key": {
        "DisplayIndex": 1,
        "MonitorRect": "Location:0,0, Size:2560,1440"
      },
      "Value": [
        {
          "Description": "Generic PnP Monitor",
          "MonitorIndex": 0,
          "Capability": {
            "IsHighLevelBrightnessSupported": false,
            "IsLowLevelBrightnessSupported": false,
            "IsContrastSupported": false,
            "IsPrecleared": false,
            "CapabilitiesString": null,
            "CapabilitiesReport": null,
            "CapabilitiesData": null
          },
          "GetBrightness": "Success: False",
          "SetBrightness": "Success: False"
        }
      ]
    }
  ],
  "MSMonitorClass - DesktopItems": [ ],
  "ElapsedTime": [
    "DeviceItems    -> 0.002",
    "DisplayMonitorItems -> 0.005",
    "DisplayConfigItems -> 0.001",
    "InstalledItems -> 0.002",
    "PhysicalItems  -> 0.006",
    "DesktopItems   -> 0.019"
  ]
}

@emoacht
Copy link
Owner

emoacht commented Dec 24, 2021

@HaiyiMei Thanks for the log.
Unfortunately, the following part indicates that your monitor fails to get and set brightness. It means that your monitor is totally incompatible with DDC/CI.

"GetBrightness": "Success: False",
"SetBrightness": "Success: False"

This option is not for such case.

@HaiyiMei
Copy link

@HaiyiMei Thanks for the log. Unfortunately, the following part indicates that your monitor fails to get and set brightness. It means that your monitor is totally incompatible with DDC/CI.

"GetBrightness": "Success: False",
"SetBrightness": "Success: False"

This option is not for such case.

Thanks for the reply.

@jacob-pro
Copy link

In case it is any useful information; I have a Samsung T24D390EW connected via HDMI.
Calling GetMonitorCapabilities() fails with 0xC026258B (and is therefore treated by Monitorian as an UnreachableMonitorItem), but testing it with my own program I can call the Get/SetMonitorBrightness functions without issue.

@emoacht
Copy link
Owner

emoacht commented Dec 26, 2021

@jacob-pro Thanks for the information.
If so, the results of "GetBrightness" and "SetBrightness" in probe.log should be successful.
Then your monitor is expected to be a good candidate for this option.

@jacob-pro
Copy link

@emoacht indeed:

        {
          "Description": "TD390_T24D390 (HDMI)",
          "MonitorIndex": 0,
          "Capability": {
            "IsHighLevelBrightnessSupported": false,
            "IsLowLevelBrightnessSupported": false,
            "IsContrastSupported": false,
            "IsPrecleared": false,
            "CapabilitiesString": null,
            "CapabilitiesReport": null,
            "CapabilitiesData": null
          },
          "GetBrightness": "Success: True, Valid: True (Minimum: 0, Current: 70, Maximum: 100)",
          "SetBrightness": "Success: True, Match: True (Expected: 63, Actual: 63)"
        }

@emoacht
Copy link
Owner

emoacht commented Apr 10, 2022

As I wrote in another issue, preclude option was added by c9ed609

This option is to intentionally exclude a specfic monitor from those to be handled by this app. The usage is the same as that of preclear option while the effects are opposite. #270 (comment)

Use this option as shown below.

/preclude [Device Instance ID]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants