The problem
Home Assistant Core updates are not trustworthy to have consistent Automation behavior with the simple setting of Inovelli switch LED effects (notifications).
After some Core updates, Automations calling for Inovelli switch LED effect changes fail due to a "conversion error" as an integer is expected but instead effect named strings (e.g. "Fast Falling", "Clear", etc.) are provided. This report is being written after upgrading from 2026.6.3 to 2026.6.4.
This is a recurring problem. See also: #159053, #149491, and #85464.
Nothing related to Inovelli or the way ZHA handles actions has changed in many, many months. The fact that this issue randomly appears and disappears with no code changes on ZHA's part leads me to believe there is a more fundamental problem here.
Originally posted by @puddly in #159053
And after that comment, issue #159053 was closed as stale with no solution investigated. Yet, here we are again.
What version of Home Assistant Core has the issue?
core-2026.6.4
What was the last working version of Home Assistant Core?
core-2026.6.3
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Automation - ZHA device - Inovelli Blue light switch effects in user interface (not YAML)
Link to integration documentation on our website
No response
Diagnostics information
No response
Example YAML snippet
parallel:
- if:
- condition: state
entity_id: input_boolean.toggle_showermode_pribath
state: "on"
then:
- type: issue_all_led_effect
domain: zha
device_id: [redacted Inovelli switch device id]
effect_type: Fast_Falling
level: 100
color: 170
duration: 255
else:
- sequence:
- type: issue_all_led_effect
domain: zha
device_id: [redacted Inovelli switch device id]
effect_type: Clear
level: 100
color: 170
duration: 1
- action: light.turn_on
metadata: {}
target:
entity_id: light.switchibmbath_shower_light
data:
transition: 0
brightness_pct: 100
Anything in the logs that might be useful for us?
Logger: homeassistant.components.automation.pribath_no_occupancy_lights
Source: components/automation/__init__.py:866
Integration: Automation (documentation, issues)
First occurred: June 26, 2026 at 9:28:38 PM (8 occurrences)
Last logged: 2:28:24 PM
While executing automation automation.pribath_no_occupancy_lights
Traceback (most recent call last):
File "/usr/local/lib/python3.14/site-packages/zigpy/types/struct.py", line 57, in _convert_type
return self.type(value)
~~~~~~~~~^^^^^^^
File "/usr/local/lib/python3.14/site-packages/zigpy/types/basic.py", line 130, in __new__
n = int.__new__(cls, *args, **kwargs)
ValueError: invalid literal for int() with base 10: 'Clear'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 866, in async_trigger
return await self.action_script.async_run(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
variables, trigger_context, started_action
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1892, in async_run
return await asyncio.shield(create_eager_task(run.async_run()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 465, in async_run
await self._async_step(log_exceptions=False)
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 532, in _async_step
self._handle_exception(
~~~~~~~~~~~~~~~~~~~~~~^
trace_element,
^^^^^^^^^^^^^^
...<2 lines>...
self._log_exceptions or log_exceptions,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 569, in _handle_exception
raise exception
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 530, in _async_step
await getattr(self, handler)()
File "/usr/src/homeassistant/homeassistant/helpers/trace.py", line 337, in async_wrapper
await func(*args)
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_step_parallel
raise result
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 676, in async_run_with_trace
await self._async_run_script(script, parallel=True)
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 652, in _async_run_script
result = await self._async_run_long_action(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
...<6 lines>...
)
^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 640, in _async_run_long_action
return await long_task
^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1892, in async_run
return await asyncio.shield(create_eager_task(run.async_run()))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 465, in async_run
await self._async_step(log_exceptions=False)
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 532, in _async_step
self._handle_exception(
~~~~~~~~~~~~~~~~~~~~~~^
trace_element,
^^^^^^^^^^^^^^
...<2 lines>...
self._log_exceptions or log_exceptions,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 569, in _handle_exception
raise exception
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 530, in _async_step
await getattr(self, handler)()
File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1044, in _async_step_device
await device_action.async_call_action_from_config(
self._hass, self._action, dict(self._variables), self._context
)
File "/usr/src/homeassistant/homeassistant/components/device_automation/action.py", line 70, in async_call_action_from_config
await platform.async_call_action_from_config(hass, config, variables, context)
File "/usr/src/homeassistant/homeassistant/components/zha/device_action.py", line 113, in async_call_action_from_config
await handler(hass, config, context)
File "/usr/src/homeassistant/homeassistant/components/zha/device_action.py", line 197, in _execute_inovelli_all_led_effect
await cluster.led_effect(
...<4 lines>...
)
File "/usr/local/lib/python3.14/site-packages/zigpy/zcl/__init__.py", line 807, in request
hdr, request = self._create_request(
~~~~~~~~~~~~~~~~~~~~^
general=general,
^^^^^^^^^^^^^^^^
...<11 lines>...
kwargs=kwargs,
^^^^^^^^^^^^^^
)
^
File "/usr/local/lib/python3.14/site-packages/zigpy/zcl/__init__.py", line 759, in _create_request
request = schema(*args, **kwargs)
File "/usr/local/lib/python3.14/site-packages/zigpy/types/struct.py", line 143, in __new__
setattr(instance, name, field._convert_type(value))
~~~~~~~~~~~~~~~~~~~^^^^^^^
File "/usr/local/lib/python3.14/site-packages/zigpy/types/struct.py", line 59, in _convert_type
raise ValueError(
...<2 lines>...
) from e
ValueError: Failed to convert led_effect='Clear' from type <class 'str'> to <class 'zigpy.types.basic.uint8_t'>
Additional information
Provided YAML snippet is from that which is generated by selecting options in the Automations UI, not hand-coded. I have other UI-generated Automations for Inovelli switches that also (successfully) change the LED color but still fail with setting effect types. Of course, color is already saved as an integer so there is no conversion necessary.
Merely hoping updates will self-correct a recurring issue isn't a solution. Simple functionality like changing a light state should be reliable, consistent, and dependable in Home Assistant. Please look into a regression-tested, permanent fix.
The problem
Home Assistant Core updates are not trustworthy to have consistent Automation behavior with the simple setting of Inovelli switch LED effects (notifications).
After some Core updates, Automations calling for Inovelli switch LED effect changes fail due to a "conversion error" as an integer is expected but instead effect named strings (e.g. "Fast Falling", "Clear", etc.) are provided. This report is being written after upgrading from 2026.6.3 to 2026.6.4.
This is a recurring problem. See also: #159053, #149491, and #85464.
Originally posted by @puddly in #159053
And after that comment, issue #159053 was closed as stale with no solution investigated. Yet, here we are again.
What version of Home Assistant Core has the issue?
core-2026.6.4
What was the last working version of Home Assistant Core?
core-2026.6.3
What type of installation are you running?
Home Assistant OS
Integration causing the issue
Automation - ZHA device - Inovelli Blue light switch effects in user interface (not YAML)
Link to integration documentation on our website
No response
Diagnostics information
No response
Example YAML snippet
Anything in the logs that might be useful for us?
Logger: homeassistant.components.automation.pribath_no_occupancy_lights Source: components/automation/__init__.py:866 Integration: Automation (documentation, issues) First occurred: June 26, 2026 at 9:28:38 PM (8 occurrences) Last logged: 2:28:24 PM While executing automation automation.pribath_no_occupancy_lights Traceback (most recent call last): File "/usr/local/lib/python3.14/site-packages/zigpy/types/struct.py", line 57, in _convert_type return self.type(value) ~~~~~~~~~^^^^^^^ File "/usr/local/lib/python3.14/site-packages/zigpy/types/basic.py", line 130, in __new__ n = int.__new__(cls, *args, **kwargs) ValueError: invalid literal for int() with base 10: 'Clear' The above exception was the direct cause of the following exception: Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 866, in async_trigger return await self.action_script.async_run( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ variables, trigger_context, started_action ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1892, in async_run return await asyncio.shield(create_eager_task(run.async_run())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 465, in async_run await self._async_step(log_exceptions=False) File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 532, in _async_step self._handle_exception( ~~~~~~~~~~~~~~~~~~~~~~^ trace_element, ^^^^^^^^^^^^^^ ...<2 lines>... self._log_exceptions or log_exceptions, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 569, in _handle_exception raise exception File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 530, in _async_step await getattr(self, handler)() File "/usr/src/homeassistant/homeassistant/helpers/trace.py", line 337, in async_wrapper await func(*args) File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 684, in _async_step_parallel raise result File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 676, in async_run_with_trace await self._async_run_script(script, parallel=True) File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 652, in _async_run_script result = await self._async_run_long_action( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<6 lines>... ) ^ File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 640, in _async_run_long_action return await long_task ^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1892, in async_run return await asyncio.shield(create_eager_task(run.async_run())) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 465, in async_run await self._async_step(log_exceptions=False) File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 532, in _async_step self._handle_exception( ~~~~~~~~~~~~~~~~~~~~~~^ trace_element, ^^^^^^^^^^^^^^ ...<2 lines>... self._log_exceptions or log_exceptions, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 569, in _handle_exception raise exception File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 530, in _async_step await getattr(self, handler)() File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1044, in _async_step_device await device_action.async_call_action_from_config( self._hass, self._action, dict(self._variables), self._context ) File "/usr/src/homeassistant/homeassistant/components/device_automation/action.py", line 70, in async_call_action_from_config await platform.async_call_action_from_config(hass, config, variables, context) File "/usr/src/homeassistant/homeassistant/components/zha/device_action.py", line 113, in async_call_action_from_config await handler(hass, config, context) File "/usr/src/homeassistant/homeassistant/components/zha/device_action.py", line 197, in _execute_inovelli_all_led_effect await cluster.led_effect( ...<4 lines>... ) File "/usr/local/lib/python3.14/site-packages/zigpy/zcl/__init__.py", line 807, in request hdr, request = self._create_request( ~~~~~~~~~~~~~~~~~~~~^ general=general, ^^^^^^^^^^^^^^^^ ...<11 lines>... kwargs=kwargs, ^^^^^^^^^^^^^^ ) ^ File "/usr/local/lib/python3.14/site-packages/zigpy/zcl/__init__.py", line 759, in _create_request request = schema(*args, **kwargs) File "/usr/local/lib/python3.14/site-packages/zigpy/types/struct.py", line 143, in __new__ setattr(instance, name, field._convert_type(value)) ~~~~~~~~~~~~~~~~~~~^^^^^^^ File "/usr/local/lib/python3.14/site-packages/zigpy/types/struct.py", line 59, in _convert_type raise ValueError( ...<2 lines>... ) from e ValueError: Failed to convert led_effect='Clear' from type <class 'str'> to <class 'zigpy.types.basic.uint8_t'>Additional information
Provided YAML snippet is from that which is generated by selecting options in the Automations UI, not hand-coded. I have other UI-generated Automations for Inovelli switches that also (successfully) change the LED color but still fail with setting effect types. Of course, color is already saved as an integer so there is no conversion necessary.
Merely hoping updates will self-correct a recurring issue isn't a solution. Simple functionality like changing a light state should be reliable, consistent, and dependable in Home Assistant. Please look into a regression-tested, permanent fix.