Brightness and color are set separately

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