Aircoookie / WLED

Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
https://kno.wled.ge
MIT License
14.57k stars 3.12k forks source link

Home Assistant connection error after update to 14.4 stable when creating segments #4097

Open Boerny41 opened 1 month ago

Boerny41 commented 1 month ago

What happened?

Home Assistant forced me to update WLED (13.1). After doing the update, I got an error saying:

2024-08-10 18_31_56-Settings – Home Assistant

I decided to do a factory reset. After that I was able to connect it to Home Assistant again, but once I re-did my segments (8 in total, 13 LEDs each) it broke again.

I've now reset the WLED instance 3 times, every time it seems fine, but when all segments are created it breaks. I've tried adding one by one, and it seemed to work with 5 segments but broke with 8

Home Assistant is latest stable as is WLED

To Reproduce Bug

Add a WLED instance with 8+ segments to Home Assistant, click the refresh button or restart home assistant

Expected Behavior

no error

Install Method

Binary from WLED.me

What version of WLED?

0.14.1 stable

Which microcontroller/board are you seeing the problem on?

ESP8266

Relevant log/trace output

2024-08-10 16:18:42.727 ERROR (MainThread) [homeassistant.components.wled] Unexpected error fetching wled data
Traceback (most recent call last):
  File "<string>", line 29, in __mashumaro_from_dict__
AttributeError: 'NoneType' object has no attribute 'items'

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 31, in __mashumaro_from_dict__
mashumaro.exceptions.InvalidFieldValue: Field "palettes" of type dict[int, Palette] in Device has invalid value None
2024-08-10 16:18:48.393 ERROR (MainThread) [homeassistant.components.wled] Unexpected error fetching wled data
Traceback (most recent call last):
  File "<string>", line 29, in __mashumaro_from_dict__
AttributeError: 'NoneType' object has no attribute 'items'

Anything else?

The refresh button I keep talking about

2024-08-10 18_26_14-Settings – Home Assistant

2024-08-10 18_26_22-Settings – Home Assistant

2024-08-10 18_36_09-Settings – Home Assistant

Code of Conduct

blazoncek commented 1 month ago

Yo may want to upgrade esp to ESP32 as many segments and HA are not best friends. 0.14 (including 0.14.4 use more RAM) than previous versions.

or reduce number of segments.

Boerny41 commented 1 month ago

I'm not sure if that's the problem. I've just added 10 segments to the other device you could see on the screenshots. It now got 11 segments, 190 LEDs and 72 entities in HA. Same patter and color and both saved as preset but no problems there even though it is the same but more in every way.

image

blazoncek commented 1 month ago

I am not familiar with HA so you may be better off opening an issue on HA repository as the error messages are HA's not WLED's. Be sure you use the most recent version of WLED (0.14.4).

Plawasan commented 3 weeks ago

https://github.com/home-assistant/core/issues/123506 fixed this for me in HA 2024.8.2