I tried upgrading from 2026.4.4 to 2026.7.4, and my only ZHA devices (Phillips Hue Lights) stopped working. Actually, a “run forever loop” automation would fail due to the error “Failed to send request: device did not respond". I tried several solutions to no avail. I rolled back to 2026.4.4 and everything works fine. This automation has been running for a copule of years without issue prior to this update.
I rolled back and have been on 2026.4.4 until today, when I tried again with 2026.8.3, and I’m getting the same failures. I’m using ZHA with a dresden electronik Conbee II controller, and have 4 Zigbee devices. They are all Philips Hue products (1 Hue Go, and 3 Hue Bulbs). The automation runs all the time and controls the colors. I can set all kinds of parameters from the following dashboard page.
In the Color Loop section, that Input_Select has an option called Nightlight, which you’ll see in the automation. I set that with a button on another page to run a “good night” script, which changes that Input_Select value to Nightlight. The automation responds to that change immediately.
I’ve posted the automation below along with screenshots of the automation trace. At the bottom I post the errors as shown in the logs. I greatly appreciate any help.
AUTOMATION:
# Hue Color Loop
- id: hue_color_loop_atm
alias: Hue Color Loop (ATM)
description: Run a loop of colors based upon input
mode: single
trigger:
- platform: state
entity_id: input_boolean.hue_color_loop_ib
to: 'on'
- platform: event
event_type: automation_reloaded
- platform: homeassistant
event: start
condition:
condition: state
entity_id: input_boolean.hue_color_loop_ib
state: 'on'
action:
# - choose: # This is to pause until the group entity_id's have been defined upon startup or reload. Replaced by wait_template below to test if defined, replaced by uptime wait.
# conditions: "{{ (trigger.platform == 'event' or trigger.platform == 'homeassistant') }}"
# sequence:
# delay: "00:00:30"
# - wait_template: "{{ iif(state_attr('light.hue_lr_lights_lgrp','entity_id'), expand(state_attr('light.hue_lr_lights_lgrp','entity_id')) | selectattr('state', 'in', ['unavailable', 'unknown']) | list | count == 0 ) }}"
- wait_template: "{{ states('sensor.uptime_minutes_st') | float > 2 }}"
- repeat:
while: "{{ is_state('input_boolean.hue_color_loop_ib','on') }}"
sequence:
- variables:
colors: >
{% if (is_state('input_select.hue_color_loop_is','Airy')) %}
{{ [[200,16,100], [273,12,100],[124,12,100], [15,19,90],[243,22,100],[315,10,100],[328,10,100],[43,14,80],[95,10,90],[173,10,100]] | random }}
{% elif (is_state('input_select.hue_color_loop_is','Cool')) -%}
{{ [[165,57,100],[180,57,100],[195,57,100],[210,57,100],[225,57,100],[240,57,100],[248,57,100]] | random }}
{% elif (is_state('input_select.hue_color_loop_is','Warm')) -%}
{{ [[285,29,100],[300,29,100],[315,29,100],[330,29,100],[360,29,100],[15,29,100],[30,29,80],[60,29,70]] | random }}
{% elif (is_state('input_select.hue_color_loop_is','Moody')) -%}
{{ [[0,50,100],[30,50,50],[60,50,60],[90,50,60],[120,50,100],[150,50,100],[180,50,100],[210,50,90],[240,50,100],[270,50,100],[300,50,100],[330,50,100]] | random }}
{% elif (is_state('input_select.hue_color_loop_is','Sunny')) -%}
{{ [[23,58,100],[33,53,100],[30,43,100],[45,43,100],[60,29,100]] | random }}
{% elif (is_state('input_select.hue_color_loop_is','Campfire')) -%}
{{ [[30,86,50],[45,100,50],[15,71,50],[30,71,50],[15,86,51],[225,86,48]] | random }}
{% elif (is_state('input_select.hue_color_loop_is','Stormy')) -%}
{{ [[229,41,75],[253,34,75],[62,40,75],[281,25,75],[225,55,75],[234,16,75],[199,37,75],[255,54,75],[61,46,75],[75,43,75],[105,29,75]] | random }}
{% elif (is_state('input_select.hue_color_loop_is','Nightlight')) -%}
{{ [[30,56,25],[295,24,29],[246,10,33],[185,18,33],[35,61,25]] | random }}
{% endif %}
- service: group.set
data:
object_id: lamps_grp
entities: >
{% set result = state_attr('light.hue_lr_lights_lgrp','entity_id') -%}
{%- if ( is_state('input_boolean.hue_loop_include_go','off') or is_state('input_select.hue_color_loop_is','Nightlight') ) -%}
{%- set result = result | reject("==",'light.hue_go') | list -%}
{%- endif %}
{%- if is_state('input_boolean.hue_loop_include_lr_table','off') -%}
{%- set result = result | reject("==",'light.hue_100w_lr_table') | list -%}
{%- endif %}
{%- if is_state('input_boolean.hue_loop_include_lr_floor','off') -%}
{%- set result = result | reject("==",'light.hue_75w_lr_floor') | list -%}
{%- endif %}
{%- if ( is_state('input_boolean.hue_loop_include_den_floor','off') or is_state('input_select.hue_color_loop_is','Nightlight') ) -%}
{%- set result = result | reject("==",'light.hue_75w_den_floor') | list -%}
{%- endif -%}
{{ result }}
- choose:
conditions: "{{ is_state('input_select.hue_color_loop_is','Nightlight') }}"
sequence:
service: homeassistant.turn_off
entity_id:
- light.hue_go
- light.hue_75w_den_floor
- service: scene.apply
data:
transition: "{{ states('input_number.hue_loop_color_transition_time_in') }}"
entities:
group.lamps_grp:
state: 'on'
brightness: "{{ (colors[2] | float) / 100 * 255 }}"
hs_color:
- "{{ colors[0] | float }}"
- "{{ colors[1] | float }}"
- wait_for_trigger:
- platform: state
entity_id: input_boolean.hue_color_loop_ib
to: 'off'
- platform: state
entity_id:
- input_select.hue_color_loop_is
- input_number.hue_loop_hold_time_mins_in
- input_number.hue_loop_color_transition_time_in
- input_boolean.hue_loop_include_go
- input_boolean.hue_loop_include_lr_table
- input_boolean.hue_loop_include_lr_floor
- input_boolean.hue_loop_include_den_floor
to:
timeout:
minutes: "{{ states('input_number.hue_loop_hold_time_mins_in') }}"
Here is the trace diagram:
And here is the Trace Details:
Triggered by the Home Assistant starting at August 24, 2026 at 7:28:00 PM
Test If Hue Color Loop (IB) is On
Wait for a template to evaluate to true
3 minutes later
Repeat an action while 1 condition matches
Run 5 actions in sequence
Test If template renders a value equal to true
Define variables colors
Perform action 'Group: Set group'
Choose: No action executed
Run 1 action in sequence
Test If template renders a value equal to true
Perform action 'Scene: Apply scene'
Wait for one of 2 triggers
Test If template renders a value equal to true
Perform action 'Scene: Apply scene'
Wait for one of 2 triggers
22 minutes later
Run 5 actions in sequence
22 minutes later
Test If template renders a value equal to true
Define variables colors
Perform action 'Group: Set group'
Choose: No action executed
Run 1 action in sequence
Test If template renders a value equal to true
Perform action 'Scene: Apply scene'
Wait for one of 2 triggers
Test If template renders a value equal to true
Perform action 'Scene: Apply scene'
Wait for one of 2 triggers
43 minutes later
Run 5 actions in sequence
43 minutes later
Test If template renders a value equal to true
Define variables colors
Perform action 'Group: Set group'
Choose: No action executed
Run 1 action in sequence
Test If template renders a value equal to true
Perform action 'Scene: Apply scene'
Wait for one of 2 triggers
Test If template renders a value equal to true
Perform action 'Scene: Apply scene'
Wait for one of 2 triggers
1 hour later
Run 5 actions in sequence
1 hour later
Test If template renders a value equal to true
Define variables colors
Perform action 'Group: Set group'
Choose: No action executed
Run 1 action in sequence
Test If template renders a value equal to true
Perform action 'Scene: Apply scene'
Wait for one of 2 triggers
Test If template renders a value equal to true
Perform action 'Scene: Apply scene'
Wait for one of 2 triggers
1 hour later
Run 5 actions in sequence
1 hour later
Test If template renders a value equal to true
Define variables colors
Perform action 'Group: Set group'
Choose: No action executed
Run 1 action in sequence
Test If template renders a value equal to true
Perform action 'Scene: Apply scene'
Wait for one of 2 triggers
Test If template renders a value equal to true
Perform action 'Scene: Apply scene'
Wait for one of 2 triggers
Stopped because an error was encountered at August 24, 2026 at 8:57:12 PM (runtime: 5351.53 seconds)
Failed to send request: device did not respond
And here is the Step Details where it failed:
Perform action 'Scene: Apply scene'
Iteration 1
Executed: August 24, 2026 at 7:31:00 PM
Result:
params:
domain: scene
service: apply
service_data:
transition: 37
entities:
group.lamps_grp:
state: 'on'
brightness: 204
hs_color:
- 43
- 14
target: {}
running_script: false
Perform action 'Scene: Apply scene'
Iteration 2
Executed: August 24, 2026 at 7:52:30 PM
Result:
params:
domain: scene
service: apply
service_data:
transition: 37
entities:
group.lamps_grp:
state: 'on'
brightness: 255
hs_color:
- 273
- 12
target: {}
running_script: false
Perform action 'Scene: Apply scene'
Iteration 3
Executed: August 24, 2026 at 8:14:00 PM
Result:
params:
domain: scene
service: apply
service_data:
transition: 37
entities:
group.lamps_grp:
state: 'on'
brightness: 255
hs_color:
- 200
- 16
target: {}
running_script: false
Perform action 'Scene: Apply scene'
Iteration 4
Executed: August 24, 2026 at 8:35:31 PM
Result:
params:
domain: scene
service: apply
service_data:
transition: 37
entities:
group.lamps_grp:
state: 'on'
brightness: 255
hs_color:
- 328
- 10
target: {}
running_script: false
Perform action 'Scene: Apply scene'
Iteration 5
Executed: August 24, 2026 at 8:57:01 PM
Error: Failed to send request: device did not respond
Result:
params:
domain: scene
service: apply
service_data:
transition: 37
entities:
group.lamps_grp:
state: 'on'
brightness: 229.5
hs_color:
- 95
- 10
target: {}
running_script: false
Here are the two errors that appear in the log when the automation aborts:
Logger: homeassistant.components.automation.hue_color_loop_atm
Source: helpers/script.py:2291
Integration: Automation (documentation, issues)
First occurred: 8:57:12 PM (2 occurrences)
Last logged: 8:57:12 PM
Hue Color Loop (ATM): Repeat at step 2: Error executing script. Error for call_service at pos 4: Failed to send request: device did not respond
Hue Color Loop (ATM): Error executing script. Error for repeat at pos 2: Failed to send request: device did not respond
Logger: homeassistant.components.automation.hue_color_loop_atm
Source: components/automation/__init__.py:806
Integration: Automation (documentation, issues)
First occurred: 8:57:12 PM (1 occurrence)
Last logged: 8:57:12 PM
Error while executing automation automation.hue_color_loop_atm: Failed to send request: device did not respond

