home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
71.11k stars 29.79k forks source link

WLED integration won't load in 2024.8 due to a preset with the json "bri" value expecting an int type #123620

Open chinesynapse opened 1 month ago

chinesynapse commented 1 month ago

The problem

WLED has the ability to use the json api "w~" or "~" for the 'bri' (brightness) for the main brightness or an individual segment. This allows the brightness to be able to step up or down (dimming) from the current value. I have had these values in a few presets and they have been compatible with the WLED integration up until 2024.8 update. The WLED integration will not load now and gives errors which indicate that it is expecting an int value type now for the 'bri' which cannot handle the w~ or ~ values in the preset.

two different presets that are causing exceptions

{"on":true,"seg":[{"id":2,"bri":"w~20"}]}
{"on":true,"seg":[{"id":3,"bri":"~10"}]}

What version of Home Assistant Core has the issue?

core-2024.8.1

What was the last working version of Home Assistant Core?

core-2024.7.4

What type of installation are you running?

Home Assistant OS

Integration causing the issue

WLED

Link to integration documentation on our website

https://www.home-assistant.io/integrations/wled

Diagnostics information

home-assistant_wled_2024-08-11T21-39-12.287Z.log

Example YAML snippet

No response

Anything in the logs that might be useful for us?

Logger: homeassistant.components.wled
Source: helpers/update_coordinator.py:354
integration: WLED (documentation, issues)
First occurred: 3:38:32 PM (102 occurrences)
Last logged: 4:41:33 PM

Unexpected error fetching wled data
Traceback (most recent call last):
  File "<string>", line 8, in __mashumaro_from_dict__
ValueError: invalid literal for int() with base 10: '~10'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 37, in __mashumaro_from_dict__
  File "<string>", line 10, in __mashumaro_from_dict__
mashumaro.exceptions.InvalidFieldValue: Field "brightness" of type int in Segment has invalid value '~10'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<string>", line 41, in __mashumaro_from_dict__
  File "<string>", line 39, in __mashumaro_from_dict__
mashumaro.exceptions.InvalidFieldValue: Field "segments" of type list[Segment] in Preset has invalid value [{'id': 2, 'bri': '~10'}]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 354, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/wled/coordinator.py", line 112, in _async_update_data
    device = await self.wled.update()
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/backoff/_async.py", line 151, in retry
    ret = await target(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/wled/wled.py", line 268, in update
    self._device = Device.from_dict(data)
                   ^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 43, in __mashumaro_from_dict__
mashumaro.exceptions.InvalidFieldValue: Field "presets" of type dict[int, Preset] in Device has invalid value {1: {'on': True, 'bri': 255, 'transition': 7, 'mainseg': 3, 'seg': [{'id': 0, 'start': 0, 'stop': 9, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 186, 'cct': 127, 'set': 0, 'n': 'Pantry Top', 'col': [[255, 200, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 1, 'start': 9, 'stop': 23, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 186, 'cct': 127, 'set': 0, 'n': 'Pantry Bottom', 'col': [[255, 200, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 2, 'start': 23, 'stop': 24, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 50, 'cct': 127, 'set': 0, 'n': 'Under Cabinets', 'col': [[255, 255, 255, 255], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 3, 'start': 24, 'stop': 130, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 60, 'cct': 127, 'set': 0, 'n': 'Above Cabinets', 'col': [[8, 255, 0, 101], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}], 'n': 'Startup ', 'preset_id': 1}, 2: {'on': True, 'seg': [{'id': 0, 'on': True, 'bri': 128}], 'n': 'Upper Pantry ON', 'preset_id': 2}, 3: {'seg': [{'id': 0, 'on': False}], 'n': 'Upper Pantry OFF', 'preset_id': 3}, 4: {'on': True, 'seg': [{'id': 1, 'on': True, 'bri': 128}], 'n': 'Lower Pantry ON', 'preset_id': 4}, 5: {'seg': [{'id': 1, 'on': False}], 'n': 'Lower Pantry OFF', 'preset_id': 5}, 6: {'seg': [{'id': 2, 'on': True, 'bri': 60}], 'n': 'Under Cabinet ON', 'preset_id': 6}, 7: {'seg': [{'id': 2, 'on': False}], 'n': 'Under Cabinet OFF', 'preset_id': 7}, 8: {'on': True, 'seg': [{'id': 2, 'on': 't'}], 'n': 'Under Cabinet Toggle', 'preset_id': 8}, 9: {'on': True, 'seg': [{'id': 2, 'bri': '~10'}], 'n': 'Under Cabinet +10 Brightness', 'preset_id': 9}, 10: {'on': True, 'mainseg': 2, 'seg': [{'id': 2, 'start': 23, 'stop': 24, 'grp': 1, 'spc': 0, 'of': 0, 'on': True, 'frz': False, 'bri': 50, 'cct': 127, 'set': 0, 'n': 'Under Cabinet PWM', 'col': [[255, 255, 255, 255], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}], 'n': 'Under Cabinet Low Brightness', 'preset_id': 10}, 11: {'on': True, 'bri': 255, 'transition': 7, 'mainseg': 6, 'seg': [{'id': 0, 'start': 0, 'stop': 9, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 186, 'cct': 127, 'set': 0, 'n': 'Pantry Top', 'col': [[255, 200, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 1, 'start': 9, 'stop': 23, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 186, 'cct': 127, 'set': 0, 'n': 'Pantry Bottom', 'col': [[255, 200, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 2, 'start': 23, 'stop': 24, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 50, 'cct': 127, 'set': 0, 'n': 'Under Cabinets', 'col': [[255, 255, 255, 255], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 3, 'start': 24, 'stop': 37, 'grp': 1, 'spc': 0, 'of': 0, 'on': True, 'frz': False, 'bri': 131, 'cct': 127, 'set': 0, 'n': 'Right Tall Cab', 'col': [[0, 0, 255, 101], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 101, 'sx': 147, 'ix': 102, 'pal': 51, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 4, 'start': 37, 'stop': 64, 'grp': 1, 'spc': 0, 'of': 0, 'on': True, 'frz': False, 'bri': 140, 'cct': 127, 'set': 0, 'n': 'Right Cabs', 'col': [[255, 20, 243, 101], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 57, 'sx': 128, 'ix': 199, 'pal': 51, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': True, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 5, 'start': 64, 'stop': 78, 'grp': 1, 'spc': 0, 'of': 0, 'on': True, 'frz': False, 'bri': 142, 'cct': 127, 'set': 0, 'n': 'Mid Tall Cab', 'col': [[0, 0, 255, 101], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 101, 'sx': 147, 'ix': 102, 'pal': 51, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 6, 'start': 78, 'stop': 104, 'grp': 1, 'spc': 0, 'of': 0, 'on': True, 'frz': False, 'bri': 146, 'cct': 127, 'set': 0, 'n': 'Left Cabs', 'col': [[255, 20, 243, 101], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 57, 'sx': 128, 'ix': 199, 'pal': 51, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': True, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 7, 'start': 104, 'stop': 130, 'grp': 1, 'spc': 0, 'of': 0, 'on': True, 'frz': False, 'bri': 150, 'cct': 127, 'set': 0, 'n': 'Left Tall Cab', 'col': [[0, 0, 255, 101], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 101, 'sx': 147, 'ix': 102, 'pal': 51, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}], 'n': 'Lightning', 'preset_id': 11}, 12: {'on': True, 'bri': 255, 'transition': 7, 'mainseg': 2, 'seg': [{'id': 0, 'start': 0, 'stop': 9, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 128, 'cct': 127, 'set': 0, 'n': 'Pantry Top', 'col': [[144, 8, 255, 0], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 11, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 1, 'start': 9, 'stop': 23, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 128, 'cct': 127, 'set': 0, 'n': 'Pantry Bottom', 'col': [[255, 200, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 2, 'start': 23, 'stop': 24, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 90, 'cct': 127, 'set': 0, 'n': 'Under Cabinet PWM', 'col': [[255, 255, 255, 255], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 3, 'start': 24, 'stop': 130, 'grp': 1, 'spc': 0, 'of': 0, 'on': True, 'frz': False, 'bri': 255, 'cct': 127, 'set': 0, 'n': 'Above Cabinets', 'col': [[0, 3, 199, 146], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 147, 'sx': 254, 'ix': 172, 'pal': 0, 'c1': 218, 'c2': 128, 'c3': 16, 'sel': True, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}], 'n': 'Perlin Move', 'preset_id': 12}, 13: {'on': True, 'bri': 255, 'transition': 7, 'mainseg': 2, 'seg': [{'id': 0, 'start': 0, 'stop': 9, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 128, 'cct': 127, 'set': 0, 'n': 'Pantry Top', 'col': [[144, 8, 255, 0], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 11, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 1, 'start': 9, 'stop': 23, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 128, 'cct': 127, 'set': 0, 'n': 'Pantry Bottom', 'col': [[255, 200, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 2, 'start': 23, 'stop': 24, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 90, 'cct': 127, 'set': 0, 'n': 'Under Cabinet PWM', 'col': [[255, 255, 255, 255], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 3, 'start': 24, 'stop': 130, 'grp': 1, 'spc': 0, 'of': 0, 'on': True, 'frz': False, 'bri': 255, 'cct': 127, 'set': 0, 'n': 'Above Cabinets', 'col': [[0, 3, 199, 146], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 147, 'sx': 254, 'ix': 172, 'pal': 0, 'c1': 218, 'c2': 128, 'c3': 16, 'sel': True, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}], 'n': 'Perlin Move', 'preset_id': 13}, 20: {'on': True, 'seg': [{'id': 3, 'on': True}], 'n': 'Above Cabinets ON', 'preset_id': 20}, 21: {'seg': [{'id': 3, 'on': False}], 'n': 'Above Cabinets OFF', 'preset_id': 21}, 22: {'on': True, 'seg': [{'id': 3, 'on': 't'}], 'n': 'Above Cabinets TOGGLE', 'preset_id': 22}, 23: {'on': True, 'seg': [{'id': 3, 'fx': 'r'}], 'n': 'Above Cab Rand Eff', 'preset_id': 23}, 24: {'on': True, 'seg': [{'id': 3, 'bri': '~10'}], 'n': 'Above Cab +10 Bri', 'preset_id': 24}, 80: {'on': True, 'bri': 255, 'transition': 7, 'mainseg': 4, 'seg': [{'id': 0, 'start': 0, 'stop': 9, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 186, 'cct': 127, 'set': 0, 'n': 'Pantry Top', 'col': [[255, 200, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 1, 'start': 9, 'stop': 23, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 186, 'cct': 127, 'set': 0, 'n': 'Pantry Bottom', 'col': [[255, 200, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 2, 'start': 23, 'stop': 24, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 50, 'cct': 127, 'set': 0, 'n': 'Under Cabinets', 'col': [[255, 255, 255, 255], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 3, 'start': 24, 'stop': 37, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 131, 'cct': 127, 'set': 0, 'n': 'Right Tall Cab', 'col': [[0, 0, 255, 101], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 4, 'start': 37, 'stop': 64, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 140, 'cct': 127, 'set': 0, 'n': 'Right Cabs', 'col': [[255, 20, 243, 101], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 5, 'start': 64, 'stop': 78, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 142, 'cct': 127, 'set': 0, 'n': 'Mid Tall Cab', 'col': [[0, 0, 255, 101], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 6, 'start': 78, 'stop': 104, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 146, 'cct': 127, 'set': 0, 'n': 'Left Cabs', 'col': [[255, 20, 243, 101], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'id': 7, 'start': 104, 'stop': 130, 'grp': 1, 'spc': 0, 'of': 0, 'on': False, 'frz': False, 'bri': 150, 'cct': 127, 'set': 0, 'n': 'Left Tall Cab', 'col': [[0, 0, 255, 101], [0, 0, 0, 0], [0, 0, 0, 0]], 'fx': 0, 'sx': 128, 'ix': 128, 'pal': 0, 'c1': 128, 'c2': 128, 'c3': 16, 'sel': False, 'rev': False, 'mi': False, 'o1': False, 'o2': False, 'o3': False, 'si': 0, 'm12': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}, {'stop': 0}], 'n': 'Split Up Top Cabinets', 'preset_id': 80}}

Additional information

wled_presets_WLED-QUAD-1 08-09-2024 d.json

home-assistant[bot] commented 1 month ago

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

Code owner commands Code owners of `wled` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign wled` Removes the current integration label and assignees on the issue, 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 issue. - `@home-assistant remove-label needs-more-information` Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


wled documentation wled source (message by IssueLinks)