Hi everyone,
I have a script which sets the xy_color and brightness at once at a fixed interval. In the Zigbee2Mqtt logs I see that it first sets the brightness in a command and afterwards another command only for the color change.
Info `MQTT publish: topic 'zigbee2mqtt/DU_Licht', payload '{"brightness":121,"color":{"x":0.1663,"y":0.1367},"color_mode":"xy","color_temp":35,"state":"ON"}'`
// Change of brightness
Info `MQTT publish: topic 'zigbee2mqtt/DU_Licht', payload '{"brightness":106,"color":{"x":0.1663,"y":0.1367},"color_mode":"xy","color_temp":35,"state":"ON"}'`
// Change of color
Info `MQTT publish: topic 'zigbee2mqtt/DU_Licht', payload '{"brightness":106,"color":{"x":0.1514,"y":0.3439},"color_mode":"xy","color_temp":103,"state":"ON"}'`
My script looks as follows:
ocean_light:
alias: Ocean light
mode: single
variables:
colors: |-
{{ [[0.136,0.04], [0.137,0.065], [0.141,0.137], [0.146,0.238], [0.151,0.343],
[0.164,0.083], [0.164,0.132], [0.165,0.196], [0.166,0.269], [0.167,0.341]] }}
sequence:
- repeat:
while:
- condition: state
entity_id: input_select.dachunterstand_effect
state: Meer
sequence:
- service: light.turn_on
data_template:
xy_color: |
{{ colors[(range(0, 9) | random)] }}
brightness: '{{ (range(100, 200) | random) }}'
transition: 1
entity_id: light.du_licht
- delay: 00:00:04
- service: system_log.write
data_template:
message: "Update Meer {{now().second}}"
level: warning
Is it possible to send only one command for this and reduce the amount of command spam and maybe improve the performance?
Best Regards