Breina / ha-artnet-led

DMX lighting Integration for Home Assistant. Using the HA Color Mode update and Pyartnet library to control lights in multiple DMX universes over ethernet with the Art-Net protocol.
MIT License
104 stars 9 forks source link

Failed to call service light/turn_on. list index out of range #45

Closed kineticscreen closed 10 months ago

kineticscreen commented 10 months ago

This hasn't worked for me since the upgrade to 2023.8.

Whatever I do I get "Failed to call service light/turn_on. list index out of range"

Logger: homeassistant.components.websocket_api.http.connection Source: custom_components/artnet_led/light.py:880 Integration: Home Assistant WebSocket API (documentation, issues) First occurred: 9:12:54 pm (4 occurrences) Last logged: 9:26:23 pm

[547679278144] list index out of range Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 226, in handle_call_service await hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 1974, in async_call response_data = await coro ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2011, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/adaptive_lighting/hass_utils.py", line 62, in service_func_proxy await existing_service.job.target(call) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service return await service.entity_service_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 870, in entity_service_call response_data = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 942, in _handle_entity_call result = await task ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/light/init.py", line 580, in async_handle_light_on_service await light.async_turn_on(filter_turn_on_params(light, params)) File "/config/custom_components/artnet_led/light.py", line 922, in async_turn_on await super().async_create_fade(kwargs) File "/config/custom_components/artnet_led/light.py", line 391, in async_create_fade self.get_target_values(), transition * 1000 ^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/artnet_led/light.py", line 880, in get_target_values color_temperature_kelvin = self._vals[5]


IndexError: list index out of range
kineticscreen commented 10 months ago

I'm not really sure what's happened with this, but I see a reference to "colour_kelvin" so wonder if it is in some way connected to these changes: #42 (seems to have stopped working around the same time)

Breina commented 10 months ago

Sorry to leave you hanging, will fix it this evening.

kineticscreen commented 10 months ago

No problem at all, did you need anything else from me, or does this all make sense to you at least?

Breina commented 10 months ago

Your YAML config could help me reproduce it. But I can try to deduce meanwhile.

Breina commented 10 months ago

Can you navigate to custom_components/artnet_led/light.py and change this on line 931?

image

            if len(prev_vals) == 6:
                self._vals = prev_vals

Then restart HA.

Don't really have a practical way to test this, if it works for you, I'll release this as such.

kineticscreen commented 10 months ago

Well done, that did it ☺️

Breina commented 10 months ago

Fixed in v.0.1.17