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

Improve MQTT json light brightness scaling #104510

Merged
merged 4 commits into from Nov 29, 2023

Conversation

jbouwh
Copy link
Contributor

@jbouwh jbouwh commented Nov 25, 2023

Proposed change

Improve MQTT json light brightness scaling.
Fixes rounding issues.

Alternative solution for #104422

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New integration (thank you!)
  • New feature (which adds functionality to an existing integration)
  • Deprecation (breaking change to happen in the future)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • I have followed the perfect PR recommendations
  • The code has been formatted using Black (black --fast homeassistant tests)
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

If the code communicates with devices, web services, or third-party tools:

  • The manifest file has all fields filled out correctly.
    Updated and included derived files by running: python3 -m script.hassfest.
  • New or updated dependencies have been added to requirements_all.txt.
    Updated by running python3 -m script.gen_requirements_all.
  • For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.
  • Untested files have been added to .coveragerc.

To help with the load of incoming pull requests:

@home-assistant
Copy link

Hey there @emontnemery, mind taking a look at this pull request as it has been labeled with an integration (mqtt) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of mqtt can trigger bot actions by commenting:

  • @home-assistant close Closes the pull request.
  • @home-assistant rename Awesome new title Renames the pull request.
  • @home-assistant reopen Reopen the pull request.
  • @home-assistant unassign mqtt Removes the current integration label and assignees on the pull request, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the pull request.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the pull request.

@frenck frenck added the smash Indicator this PR is close to finish for merging or closing label Nov 27, 2023
Copy link
Contributor

@emontnemery emontnemery left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The original issue is that it's not possible to scale between ranges 1..255 and 1..254, that issue is not fixed by this PR.
The only change is that the PR moves the missing code when translating integer range 1..254 to 1..255; without this PR 254 is skipped, with this PR 127 is skipped, and it's not obvious that's an improvement (although rounding seems more reasonable).

@jbouwh could you explain more clearly the motivation for the changes in this PR?

* 255
),
255,
255, round(brightness * 255 / scale) # type: ignore[operator]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, so this change replaces truncating with rounding, that makes sense

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is based on de fan percentage scaling code we use for fan. In fact the logic is not changed. Therefor the tests did not need an update.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This way the value we send will closer result if the same value is sent and translated back.

Copy link
Contributor Author

@jbouwh jbouwh Nov 29, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not perfect, but may be a better approach then #104422

homeassistant/components/mqtt/light/schema_json.py Outdated Show resolved Hide resolved
@home-assistant home-assistant bot marked this pull request as draft November 29, 2023 12:06
@home-assistant
Copy link

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

@jbouwh jbouwh marked this pull request as ready for review November 29, 2023 13:32
Copy link
Contributor

@emontnemery emontnemery left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, @jbouwh 👍

@aurimasniekis
Copy link

This doesn't fix anything, apart in one scale few values, other scales are still not working as expected...

I am not sure how it's fine that set/get returns two different values. If command sets value X and then reads it should be X. Not X + 1 or X - 10

def hass_to_mqtt(input_brightness, brightness_scale):
  brightness_normalized = input_brightness / 255
  device_brightness = min(round(brightness_normalized * brightness_scale), brightness_scale)
  device_brightness = max(device_brightness, 1)
  return device_brightness


def mqtt_to_hass(device_brightness, brightness_scale):
  return round(device_brightness * 255 / brightness_scale)


def test_brightness_conversion():
  brightness_scales = [255, 128, 100, 50]  # Add more scales as needed
  for brightness_scale in brightness_scales:
    print(f"Testing with brightness_scale: {brightness_scale}")
    for input_brightness in range(1, 256):  # Brightness range from 1 to 255
      mqtt_brightness = hass_to_mqtt(input_brightness, brightness_scale)
      hass_brightness = mqtt_to_hass(mqtt_brightness, brightness_scale)

      if hass_brightness != input_brightness:
        print(f"Mismatch at input_brightness {input_brightness}: Converted brightness is {hass_brightness}")
      # else:
      #   print(
      #     f"Input brightness {input_brightness} successfully converted to {mqtt_brightness} and back to {hass_brightness}")


test_brightness_conversion()

Result:

Details

Testing with brightness_scale: 255
Testing with brightness_scale: 128
Mismatch at input_brightness 1: Converted brightness is 2
Mismatch at input_brightness 3: Converted brightness is 4
Mismatch at input_brightness 5: Converted brightness is 6
Mismatch at input_brightness 7: Converted brightness is 8
Mismatch at input_brightness 9: Converted brightness is 10
Mismatch at input_brightness 11: Converted brightness is 12
Mismatch at input_brightness 13: Converted brightness is 14
Mismatch at input_brightness 15: Converted brightness is 16
Mismatch at input_brightness 17: Converted brightness is 18
Mismatch at input_brightness 19: Converted brightness is 20
Mismatch at input_brightness 21: Converted brightness is 22
Mismatch at input_brightness 23: Converted brightness is 24
Mismatch at input_brightness 25: Converted brightness is 26
Mismatch at input_brightness 27: Converted brightness is 28
Mismatch at input_brightness 29: Converted brightness is 30
Mismatch at input_brightness 31: Converted brightness is 32
Mismatch at input_brightness 33: Converted brightness is 34
Mismatch at input_brightness 35: Converted brightness is 36
Mismatch at input_brightness 37: Converted brightness is 38
Mismatch at input_brightness 39: Converted brightness is 40
Mismatch at input_brightness 41: Converted brightness is 42
Mismatch at input_brightness 43: Converted brightness is 44
Mismatch at input_brightness 45: Converted brightness is 46
Mismatch at input_brightness 47: Converted brightness is 48
Mismatch at input_brightness 49: Converted brightness is 50
Mismatch at input_brightness 51: Converted brightness is 52
Mismatch at input_brightness 53: Converted brightness is 54
Mismatch at input_brightness 55: Converted brightness is 56
Mismatch at input_brightness 57: Converted brightness is 58
Mismatch at input_brightness 59: Converted brightness is 60
Mismatch at input_brightness 61: Converted brightness is 62
Mismatch at input_brightness 63: Converted brightness is 64
Mismatch at input_brightness 65: Converted brightness is 66
Mismatch at input_brightness 67: Converted brightness is 68
Mismatch at input_brightness 69: Converted brightness is 70
Mismatch at input_brightness 71: Converted brightness is 72
Mismatch at input_brightness 73: Converted brightness is 74
Mismatch at input_brightness 75: Converted brightness is 76
Mismatch at input_brightness 77: Converted brightness is 78
Mismatch at input_brightness 79: Converted brightness is 80
Mismatch at input_brightness 81: Converted brightness is 82
Mismatch at input_brightness 83: Converted brightness is 84
Mismatch at input_brightness 85: Converted brightness is 86
Mismatch at input_brightness 87: Converted brightness is 88
Mismatch at input_brightness 89: Converted brightness is 90
Mismatch at input_brightness 91: Converted brightness is 92
Mismatch at input_brightness 93: Converted brightness is 94
Mismatch at input_brightness 95: Converted brightness is 96
Mismatch at input_brightness 97: Converted brightness is 98
Mismatch at input_brightness 99: Converted brightness is 100
Mismatch at input_brightness 101: Converted brightness is 102
Mismatch at input_brightness 103: Converted brightness is 104
Mismatch at input_brightness 105: Converted brightness is 106
Mismatch at input_brightness 107: Converted brightness is 108
Mismatch at input_brightness 109: Converted brightness is 110
Mismatch at input_brightness 111: Converted brightness is 112
Mismatch at input_brightness 113: Converted brightness is 114
Mismatch at input_brightness 115: Converted brightness is 116
Mismatch at input_brightness 117: Converted brightness is 118
Mismatch at input_brightness 119: Converted brightness is 120
Mismatch at input_brightness 121: Converted brightness is 122
Mismatch at input_brightness 123: Converted brightness is 124
Mismatch at input_brightness 125: Converted brightness is 126
Mismatch at input_brightness 127: Converted brightness is 128
Mismatch at input_brightness 130: Converted brightness is 129
Mismatch at input_brightness 132: Converted brightness is 131
Mismatch at input_brightness 134: Converted brightness is 133
Mismatch at input_brightness 136: Converted brightness is 135
Mismatch at input_brightness 138: Converted brightness is 137
Mismatch at input_brightness 140: Converted brightness is 139
Mismatch at input_brightness 142: Converted brightness is 141
Mismatch at input_brightness 144: Converted brightness is 143
Mismatch at input_brightness 146: Converted brightness is 145
Mismatch at input_brightness 148: Converted brightness is 147
Mismatch at input_brightness 150: Converted brightness is 149
Mismatch at input_brightness 152: Converted brightness is 151
Mismatch at input_brightness 154: Converted brightness is 153
Mismatch at input_brightness 156: Converted brightness is 155
Mismatch at input_brightness 158: Converted brightness is 157
Mismatch at input_brightness 160: Converted brightness is 159
Mismatch at input_brightness 162: Converted brightness is 161
Mismatch at input_brightness 164: Converted brightness is 163
Mismatch at input_brightness 166: Converted brightness is 165
Mismatch at input_brightness 168: Converted brightness is 167
Mismatch at input_brightness 170: Converted brightness is 169
Mismatch at input_brightness 172: Converted brightness is 171
Mismatch at input_brightness 174: Converted brightness is 173
Mismatch at input_brightness 176: Converted brightness is 175
Mismatch at input_brightness 178: Converted brightness is 177
Mismatch at input_brightness 180: Converted brightness is 179
Mismatch at input_brightness 182: Converted brightness is 181
Mismatch at input_brightness 184: Converted brightness is 183
Mismatch at input_brightness 186: Converted brightness is 185
Mismatch at input_brightness 188: Converted brightness is 187
Mismatch at input_brightness 190: Converted brightness is 189
Mismatch at input_brightness 192: Converted brightness is 191
Mismatch at input_brightness 194: Converted brightness is 193
Mismatch at input_brightness 196: Converted brightness is 195
Mismatch at input_brightness 198: Converted brightness is 197
Mismatch at input_brightness 200: Converted brightness is 199
Mismatch at input_brightness 202: Converted brightness is 201
Mismatch at input_brightness 204: Converted brightness is 203
Mismatch at input_brightness 206: Converted brightness is 205
Mismatch at input_brightness 208: Converted brightness is 207
Mismatch at input_brightness 210: Converted brightness is 209
Mismatch at input_brightness 212: Converted brightness is 211
Mismatch at input_brightness 214: Converted brightness is 213
Mismatch at input_brightness 216: Converted brightness is 215
Mismatch at input_brightness 218: Converted brightness is 217
Mismatch at input_brightness 220: Converted brightness is 219
Mismatch at input_brightness 222: Converted brightness is 221
Mismatch at input_brightness 224: Converted brightness is 223
Mismatch at input_brightness 226: Converted brightness is 225
Mismatch at input_brightness 228: Converted brightness is 227
Mismatch at input_brightness 230: Converted brightness is 229
Mismatch at input_brightness 232: Converted brightness is 231
Mismatch at input_brightness 234: Converted brightness is 233
Mismatch at input_brightness 236: Converted brightness is 235
Mismatch at input_brightness 238: Converted brightness is 237
Mismatch at input_brightness 240: Converted brightness is 239
Mismatch at input_brightness 242: Converted brightness is 241
Mismatch at input_brightness 244: Converted brightness is 243
Mismatch at input_brightness 246: Converted brightness is 245
Mismatch at input_brightness 248: Converted brightness is 247
Mismatch at input_brightness 250: Converted brightness is 249
Mismatch at input_brightness 252: Converted brightness is 251
Mismatch at input_brightness 254: Converted brightness is 253
Testing with brightness_scale: 100
Mismatch at input_brightness 1: Converted brightness is 3
Mismatch at input_brightness 2: Converted brightness is 3
Mismatch at input_brightness 4: Converted brightness is 5
Mismatch at input_brightness 6: Converted brightness is 5
Mismatch at input_brightness 7: Converted brightness is 8
Mismatch at input_brightness 9: Converted brightness is 10
Mismatch at input_brightness 11: Converted brightness is 10
Mismatch at input_brightness 12: Converted brightness is 13
Mismatch at input_brightness 14: Converted brightness is 13
Mismatch at input_brightness 16: Converted brightness is 15
Mismatch at input_brightness 17: Converted brightness is 18
Mismatch at input_brightness 19: Converted brightness is 18
Mismatch at input_brightness 21: Converted brightness is 20
Mismatch at input_brightness 22: Converted brightness is 23
Mismatch at input_brightness 24: Converted brightness is 23
Mismatch at input_brightness 25: Converted brightness is 26
Mismatch at input_brightness 27: Converted brightness is 28
Mismatch at input_brightness 29: Converted brightness is 28
Mismatch at input_brightness 30: Converted brightness is 31
Mismatch at input_brightness 32: Converted brightness is 33
Mismatch at input_brightness 34: Converted brightness is 33
Mismatch at input_brightness 35: Converted brightness is 36
Mismatch at input_brightness 37: Converted brightness is 38
Mismatch at input_brightness 39: Converted brightness is 38
Mismatch at input_brightness 40: Converted brightness is 41
Mismatch at input_brightness 42: Converted brightness is 41
Mismatch at input_brightness 44: Converted brightness is 43
Mismatch at input_brightness 45: Converted brightness is 46
Mismatch at input_brightness 47: Converted brightness is 46
Mismatch at input_brightness 49: Converted brightness is 48
Mismatch at input_brightness 50: Converted brightness is 51
Mismatch at input_brightness 52: Converted brightness is 51
Mismatch at input_brightness 53: Converted brightness is 54
Mismatch at input_brightness 55: Converted brightness is 56
Mismatch at input_brightness 57: Converted brightness is 56
Mismatch at input_brightness 58: Converted brightness is 59
Mismatch at input_brightness 60: Converted brightness is 61
Mismatch at input_brightness 62: Converted brightness is 61
Mismatch at input_brightness 63: Converted brightness is 64
Mismatch at input_brightness 65: Converted brightness is 64
Mismatch at input_brightness 67: Converted brightness is 66
Mismatch at input_brightness 68: Converted brightness is 69
Mismatch at input_brightness 70: Converted brightness is 69
Mismatch at input_brightness 72: Converted brightness is 71
Mismatch at input_brightness 73: Converted brightness is 74
Mismatch at input_brightness 75: Converted brightness is 74
Mismatch at input_brightness 77: Converted brightness is 76
Mismatch at input_brightness 78: Converted brightness is 79
Mismatch at input_brightness 80: Converted brightness is 79
Mismatch at input_brightness 81: Converted brightness is 82
Mismatch at input_brightness 83: Converted brightness is 84
Mismatch at input_brightness 85: Converted brightness is 84
Mismatch at input_brightness 86: Converted brightness is 87
Mismatch at input_brightness 88: Converted brightness is 89
Mismatch at input_brightness 90: Converted brightness is 89
Mismatch at input_brightness 91: Converted brightness is 92
Mismatch at input_brightness 93: Converted brightness is 92
Mismatch at input_brightness 95: Converted brightness is 94
Mismatch at input_brightness 96: Converted brightness is 97
Mismatch at input_brightness 98: Converted brightness is 97
Mismatch at input_brightness 100: Converted brightness is 99
Mismatch at input_brightness 101: Converted brightness is 102
Mismatch at input_brightness 103: Converted brightness is 102
Mismatch at input_brightness 104: Converted brightness is 105
Mismatch at input_brightness 106: Converted brightness is 107
Mismatch at input_brightness 108: Converted brightness is 107
Mismatch at input_brightness 109: Converted brightness is 110
Mismatch at input_brightness 111: Converted brightness is 112
Mismatch at input_brightness 113: Converted brightness is 112
Mismatch at input_brightness 114: Converted brightness is 115
Mismatch at input_brightness 116: Converted brightness is 115
Mismatch at input_brightness 118: Converted brightness is 117
Mismatch at input_brightness 119: Converted brightness is 120
Mismatch at input_brightness 121: Converted brightness is 120
Mismatch at input_brightness 123: Converted brightness is 122
Mismatch at input_brightness 124: Converted brightness is 125
Mismatch at input_brightness 126: Converted brightness is 125
Mismatch at input_brightness 127: Converted brightness is 128
Mismatch at input_brightness 129: Converted brightness is 130
Mismatch at input_brightness 131: Converted brightness is 130
Mismatch at input_brightness 132: Converted brightness is 133
Mismatch at input_brightness 134: Converted brightness is 135
Mismatch at input_brightness 136: Converted brightness is 135
Mismatch at input_brightness 137: Converted brightness is 138
Mismatch at input_brightness 139: Converted brightness is 140
Mismatch at input_brightness 141: Converted brightness is 140
Mismatch at input_brightness 142: Converted brightness is 143
Mismatch at input_brightness 144: Converted brightness is 143
Mismatch at input_brightness 146: Converted brightness is 145
Mismatch at input_brightness 147: Converted brightness is 148
Mismatch at input_brightness 149: Converted brightness is 148
Mismatch at input_brightness 151: Converted brightness is 150
Mismatch at input_brightness 152: Converted brightness is 153
Mismatch at input_brightness 154: Converted brightness is 153
Mismatch at input_brightness 155: Converted brightness is 156
Mismatch at input_brightness 157: Converted brightness is 158
Mismatch at input_brightness 159: Converted brightness is 158
Mismatch at input_brightness 160: Converted brightness is 161
Mismatch at input_brightness 162: Converted brightness is 163
Mismatch at input_brightness 164: Converted brightness is 163
Mismatch at input_brightness 165: Converted brightness is 166
Mismatch at input_brightness 167: Converted brightness is 166
Mismatch at input_brightness 169: Converted brightness is 168
Mismatch at input_brightness 170: Converted brightness is 171
Mismatch at input_brightness 172: Converted brightness is 171
Mismatch at input_brightness 174: Converted brightness is 173
Mismatch at input_brightness 175: Converted brightness is 176
Mismatch at input_brightness 177: Converted brightness is 176
Mismatch at input_brightness 179: Converted brightness is 178
Mismatch at input_brightness 180: Converted brightness is 181
Mismatch at input_brightness 182: Converted brightness is 181
Mismatch at input_brightness 183: Converted brightness is 184
Mismatch at input_brightness 185: Converted brightness is 186
Mismatch at input_brightness 187: Converted brightness is 186
Mismatch at input_brightness 188: Converted brightness is 189
Mismatch at input_brightness 190: Converted brightness is 191
Mismatch at input_brightness 192: Converted brightness is 191
Mismatch at input_brightness 193: Converted brightness is 194
Mismatch at input_brightness 195: Converted brightness is 194
Mismatch at input_brightness 197: Converted brightness is 196
Mismatch at input_brightness 198: Converted brightness is 199
Mismatch at input_brightness 200: Converted brightness is 199
Mismatch at input_brightness 202: Converted brightness is 201
Mismatch at input_brightness 203: Converted brightness is 204
Mismatch at input_brightness 205: Converted brightness is 204
Mismatch at input_brightness 206: Converted brightness is 207
Mismatch at input_brightness 208: Converted brightness is 209
Mismatch at input_brightness 210: Converted brightness is 209
Mismatch at input_brightness 211: Converted brightness is 212
Mismatch at input_brightness 213: Converted brightness is 214
Mismatch at input_brightness 215: Converted brightness is 214
Mismatch at input_brightness 216: Converted brightness is 217
Mismatch at input_brightness 218: Converted brightness is 217
Mismatch at input_brightness 220: Converted brightness is 219
Mismatch at input_brightness 221: Converted brightness is 222
Mismatch at input_brightness 223: Converted brightness is 222
Mismatch at input_brightness 225: Converted brightness is 224
Mismatch at input_brightness 226: Converted brightness is 227
Mismatch at input_brightness 228: Converted brightness is 227
Mismatch at input_brightness 229: Converted brightness is 230
Mismatch at input_brightness 231: Converted brightness is 232
Mismatch at input_brightness 233: Converted brightness is 232
Mismatch at input_brightness 234: Converted brightness is 235
Mismatch at input_brightness 236: Converted brightness is 237
Mismatch at input_brightness 238: Converted brightness is 237
Mismatch at input_brightness 239: Converted brightness is 240
Mismatch at input_brightness 241: Converted brightness is 242
Mismatch at input_brightness 243: Converted brightness is 242
Mismatch at input_brightness 244: Converted brightness is 245
Mismatch at input_brightness 246: Converted brightness is 245
Mismatch at input_brightness 248: Converted brightness is 247
Mismatch at input_brightness 249: Converted brightness is 250
Mismatch at input_brightness 251: Converted brightness is 250
Mismatch at input_brightness 253: Converted brightness is 252
Mismatch at input_brightness 254: Converted brightness is 255
Testing with brightness_scale: 50
Mismatch at input_brightness 1: Converted brightness is 5
Mismatch at input_brightness 2: Converted brightness is 5
Mismatch at input_brightness 3: Converted brightness is 5
Mismatch at input_brightness 4: Converted brightness is 5
Mismatch at input_brightness 6: Converted brightness is 5
Mismatch at input_brightness 7: Converted brightness is 5
Mismatch at input_brightness 8: Converted brightness is 10
Mismatch at input_brightness 9: Converted brightness is 10
Mismatch at input_brightness 11: Converted brightness is 10
Mismatch at input_brightness 12: Converted brightness is 10
Mismatch at input_brightness 13: Converted brightness is 15
Mismatch at input_brightness 14: Converted brightness is 15
Mismatch at input_brightness 16: Converted brightness is 15
Mismatch at input_brightness 17: Converted brightness is 15
Mismatch at input_brightness 18: Converted brightness is 20
Mismatch at input_brightness 19: Converted brightness is 20
Mismatch at input_brightness 21: Converted brightness is 20
Mismatch at input_brightness 22: Converted brightness is 20
Mismatch at input_brightness 23: Converted brightness is 26
Mismatch at input_brightness 24: Converted brightness is 26
Mismatch at input_brightness 25: Converted brightness is 26
Mismatch at input_brightness 27: Converted brightness is 26
Mismatch at input_brightness 28: Converted brightness is 26
Mismatch at input_brightness 29: Converted brightness is 31
Mismatch at input_brightness 30: Converted brightness is 31
Mismatch at input_brightness 32: Converted brightness is 31
Mismatch at input_brightness 33: Converted brightness is 31
Mismatch at input_brightness 34: Converted brightness is 36
Mismatch at input_brightness 35: Converted brightness is 36
Mismatch at input_brightness 37: Converted brightness is 36
Mismatch at input_brightness 38: Converted brightness is 36
Mismatch at input_brightness 39: Converted brightness is 41
Mismatch at input_brightness 40: Converted brightness is 41
Mismatch at input_brightness 42: Converted brightness is 41
Mismatch at input_brightness 43: Converted brightness is 41
Mismatch at input_brightness 44: Converted brightness is 46
Mismatch at input_brightness 45: Converted brightness is 46
Mismatch at input_brightness 47: Converted brightness is 46
Mismatch at input_brightness 48: Converted brightness is 46
Mismatch at input_brightness 49: Converted brightness is 51
Mismatch at input_brightness 50: Converted brightness is 51
Mismatch at input_brightness 52: Converted brightness is 51
Mismatch at input_brightness 53: Converted brightness is 51
Mismatch at input_brightness 54: Converted brightness is 56
Mismatch at input_brightness 55: Converted brightness is 56
Mismatch at input_brightness 57: Converted brightness is 56
Mismatch at input_brightness 58: Converted brightness is 56
Mismatch at input_brightness 59: Converted brightness is 61
Mismatch at input_brightness 60: Converted brightness is 61
Mismatch at input_brightness 62: Converted brightness is 61
Mismatch at input_brightness 63: Converted brightness is 61
Mismatch at input_brightness 64: Converted brightness is 66
Mismatch at input_brightness 65: Converted brightness is 66
Mismatch at input_brightness 67: Converted brightness is 66
Mismatch at input_brightness 68: Converted brightness is 66
Mismatch at input_brightness 69: Converted brightness is 71
Mismatch at input_brightness 70: Converted brightness is 71
Mismatch at input_brightness 72: Converted brightness is 71
Mismatch at input_brightness 73: Converted brightness is 71
Mismatch at input_brightness 74: Converted brightness is 76
Mismatch at input_brightness 75: Converted brightness is 76
Mismatch at input_brightness 77: Converted brightness is 76
Mismatch at input_brightness 78: Converted brightness is 76
Mismatch at input_brightness 79: Converted brightness is 76
Mismatch at input_brightness 80: Converted brightness is 82
Mismatch at input_brightness 81: Converted brightness is 82
Mismatch at input_brightness 83: Converted brightness is 82
Mismatch at input_brightness 84: Converted brightness is 82
Mismatch at input_brightness 85: Converted brightness is 87
Mismatch at input_brightness 86: Converted brightness is 87
Mismatch at input_brightness 88: Converted brightness is 87
Mismatch at input_brightness 89: Converted brightness is 87
Mismatch at input_brightness 90: Converted brightness is 92
Mismatch at input_brightness 91: Converted brightness is 92
Mismatch at input_brightness 93: Converted brightness is 92
Mismatch at input_brightness 94: Converted brightness is 92
Mismatch at input_brightness 95: Converted brightness is 97
Mismatch at input_brightness 96: Converted brightness is 97
Mismatch at input_brightness 98: Converted brightness is 97
Mismatch at input_brightness 99: Converted brightness is 97
Mismatch at input_brightness 100: Converted brightness is 102
Mismatch at input_brightness 101: Converted brightness is 102
Mismatch at input_brightness 103: Converted brightness is 102
Mismatch at input_brightness 104: Converted brightness is 102
Mismatch at input_brightness 105: Converted brightness is 107
Mismatch at input_brightness 106: Converted brightness is 107
Mismatch at input_brightness 108: Converted brightness is 107
Mismatch at input_brightness 109: Converted brightness is 107
Mismatch at input_brightness 110: Converted brightness is 112
Mismatch at input_brightness 111: Converted brightness is 112
Mismatch at input_brightness 113: Converted brightness is 112
Mismatch at input_brightness 114: Converted brightness is 112
Mismatch at input_brightness 115: Converted brightness is 117
Mismatch at input_brightness 116: Converted brightness is 117
Mismatch at input_brightness 118: Converted brightness is 117
Mismatch at input_brightness 119: Converted brightness is 117
Mismatch at input_brightness 120: Converted brightness is 122
Mismatch at input_brightness 121: Converted brightness is 122
Mismatch at input_brightness 123: Converted brightness is 122
Mismatch at input_brightness 124: Converted brightness is 122
Mismatch at input_brightness 125: Converted brightness is 128
Mismatch at input_brightness 126: Converted brightness is 128
Mismatch at input_brightness 127: Converted brightness is 128
Mismatch at input_brightness 129: Converted brightness is 128
Mismatch at input_brightness 130: Converted brightness is 128
Mismatch at input_brightness 131: Converted brightness is 133
Mismatch at input_brightness 132: Converted brightness is 133
Mismatch at input_brightness 134: Converted brightness is 133
Mismatch at input_brightness 135: Converted brightness is 133
Mismatch at input_brightness 136: Converted brightness is 138
Mismatch at input_brightness 137: Converted brightness is 138
Mismatch at input_brightness 139: Converted brightness is 138
Mismatch at input_brightness 140: Converted brightness is 138
Mismatch at input_brightness 141: Converted brightness is 143
Mismatch at input_brightness 142: Converted brightness is 143
Mismatch at input_brightness 144: Converted brightness is 143
Mismatch at input_brightness 145: Converted brightness is 143
Mismatch at input_brightness 146: Converted brightness is 148
Mismatch at input_brightness 147: Converted brightness is 148
Mismatch at input_brightness 149: Converted brightness is 148
Mismatch at input_brightness 150: Converted brightness is 148
Mismatch at input_brightness 151: Converted brightness is 153
Mismatch at input_brightness 152: Converted brightness is 153
Mismatch at input_brightness 154: Converted brightness is 153
Mismatch at input_brightness 155: Converted brightness is 153
Mismatch at input_brightness 156: Converted brightness is 158
Mismatch at input_brightness 157: Converted brightness is 158
Mismatch at input_brightness 159: Converted brightness is 158
Mismatch at input_brightness 160: Converted brightness is 158
Mismatch at input_brightness 161: Converted brightness is 163
Mismatch at input_brightness 162: Converted brightness is 163
Mismatch at input_brightness 164: Converted brightness is 163
Mismatch at input_brightness 165: Converted brightness is 163
Mismatch at input_brightness 166: Converted brightness is 168
Mismatch at input_brightness 167: Converted brightness is 168
Mismatch at input_brightness 169: Converted brightness is 168
Mismatch at input_brightness 170: Converted brightness is 168
Mismatch at input_brightness 171: Converted brightness is 173
Mismatch at input_brightness 172: Converted brightness is 173
Mismatch at input_brightness 174: Converted brightness is 173
Mismatch at input_brightness 175: Converted brightness is 173
Mismatch at input_brightness 176: Converted brightness is 178
Mismatch at input_brightness 177: Converted brightness is 178
Mismatch at input_brightness 179: Converted brightness is 178
Mismatch at input_brightness 180: Converted brightness is 178
Mismatch at input_brightness 181: Converted brightness is 178
Mismatch at input_brightness 182: Converted brightness is 184
Mismatch at input_brightness 183: Converted brightness is 184
Mismatch at input_brightness 185: Converted brightness is 184
Mismatch at input_brightness 186: Converted brightness is 184
Mismatch at input_brightness 187: Converted brightness is 189
Mismatch at input_brightness 188: Converted brightness is 189
Mismatch at input_brightness 190: Converted brightness is 189
Mismatch at input_brightness 191: Converted brightness is 189
Mismatch at input_brightness 192: Converted brightness is 194
Mismatch at input_brightness 193: Converted brightness is 194
Mismatch at input_brightness 195: Converted brightness is 194
Mismatch at input_brightness 196: Converted brightness is 194
Mismatch at input_brightness 197: Converted brightness is 199
Mismatch at input_brightness 198: Converted brightness is 199
Mismatch at input_brightness 200: Converted brightness is 199
Mismatch at input_brightness 201: Converted brightness is 199
Mismatch at input_brightness 202: Converted brightness is 204
Mismatch at input_brightness 203: Converted brightness is 204
Mismatch at input_brightness 205: Converted brightness is 204
Mismatch at input_brightness 206: Converted brightness is 204
Mismatch at input_brightness 207: Converted brightness is 209
Mismatch at input_brightness 208: Converted brightness is 209
Mismatch at input_brightness 210: Converted brightness is 209
Mismatch at input_brightness 211: Converted brightness is 209
Mismatch at input_brightness 212: Converted brightness is 214
Mismatch at input_brightness 213: Converted brightness is 214
Mismatch at input_brightness 215: Converted brightness is 214
Mismatch at input_brightness 216: Converted brightness is 214
Mismatch at input_brightness 217: Converted brightness is 219
Mismatch at input_brightness 218: Converted brightness is 219
Mismatch at input_brightness 220: Converted brightness is 219
Mismatch at input_brightness 221: Converted brightness is 219
Mismatch at input_brightness 222: Converted brightness is 224
Mismatch at input_brightness 223: Converted brightness is 224
Mismatch at input_brightness 225: Converted brightness is 224
Mismatch at input_brightness 226: Converted brightness is 224
Mismatch at input_brightness 227: Converted brightness is 230
Mismatch at input_brightness 228: Converted brightness is 230
Mismatch at input_brightness 229: Converted brightness is 230
Mismatch at input_brightness 231: Converted brightness is 230
Mismatch at input_brightness 232: Converted brightness is 230
Mismatch at input_brightness 233: Converted brightness is 235
Mismatch at input_brightness 234: Converted brightness is 235
Mismatch at input_brightness 236: Converted brightness is 235
Mismatch at input_brightness 237: Converted brightness is 235
Mismatch at input_brightness 238: Converted brightness is 240
Mismatch at input_brightness 239: Converted brightness is 240
Mismatch at input_brightness 241: Converted brightness is 240
Mismatch at input_brightness 242: Converted brightness is 240
Mismatch at input_brightness 243: Converted brightness is 245
Mismatch at input_brightness 244: Converted brightness is 245
Mismatch at input_brightness 246: Converted brightness is 245
Mismatch at input_brightness 247: Converted brightness is 245
Mismatch at input_brightness 248: Converted brightness is 250
Mismatch at input_brightness 249: Converted brightness is 250
Mismatch at input_brightness 251: Converted brightness is 250
Mismatch at input_brightness 252: Converted brightness is 250
Mismatch at input_brightness 253: Converted brightness is 255
Mismatch at input_brightness 254: Converted brightness is 255

@jbouwh jbouwh merged commit 4bf88b1 into dev Nov 29, 2023
53 checks passed
@jbouwh jbouwh deleted the jbouwh-mqtt-json-light-brightness-scaling branch November 29, 2023 15:42
@github-actions github-actions bot locked and limited conversation to collaborators Nov 30, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bugfix by-code-owner cla-signed core has-tests integration: mqtt Quality Scale: gold small-pr PRs with less than 30 lines. smash Indicator this PR is close to finish for merging or closing
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incorrect Scaling of Brightness Values in MQTT Schema JSON Light Entity
4 participants