Create a temperature changing light from 2 lights and Shelly RGBW2 [SOLVED]

Another possible solution is to create two helper variables that control the color and temperature.
The input of the sliders update the helpers variables first. Then the values for the warm and cold white is calculated from the helpers.

- platform: template
  lights:
    keuken_werkblad:
      friendly_name: "Keuken werkblad"
      unique_id: lampen_keukenwerkblad
      value_template: "{{ (state_attr('light.keukenwerkblad_channel_3', 'brightness')|int(0) + state_attr('light.keukenwerkblad_channel_4', 'brightness')|int(0)) > 0 }}"
      level_template: "{{ states('input_number.keukenwerkblad_brightness')|int }}"
      temperature_template: "{{ states('input_number.keukenwerkblad_color_temp')|int }}"
      set_level:
        - service: input_number.set_value
          data:
            value: "{{ brightness|int }}"
          target:
            entity_id: input_number.keukenwerkblad_brightness
        - service: light.turn_on
          data:
            entity_id: light.keukenwerkblad_channel_3
            brightness: "{{ ((states('input_number.keukenwerkblad_color_temp')|int-153)/347*states('input_number.keukenwerkblad_brightness')|int)|int }}"
        - service: light.turn_on
          data:
            entity_id: light.keukenwerkblad_channel_4
            brightness: "{{ ((500-states('input_number.keukenwerkblad_color_temp')|int)/347*states('input_number.keukenwerkblad_brightness')|int)|int }}"
      set_temperature:
        - service: input_number.set_value
          data:
            value: "{{ color_temp|int }}"
          target:
            entity_id: input_number.keukenwerkblad_color_temp
        - service: light.turn_on
          data:
            entity_id: light.keukenwerkblad_channel_3
            brightness: "{{((states('input_number.keukenwerkblad_color_temp')|int-153)/347*states('input_number.keukenwerkblad_brightness')|int)|int}}"
        - service: light.turn_on
          data:
            entity_id: light.keukenwerkblad_channel_4
            brightness: "{{((500-states('input_number.keukenwerkblad_color_temp')|int)/347*states('input_number.keukenwerkblad_brightness')|int)|int}}"
      turn_on:
        - service: light.turn_on
          data:
            entity_id: light.keukenwerkblad_channel_3
            brightness: "{{((states('input_number.keukenwerkblad_color_temp')|int-153)/347*states('input_number.keukenwerkblad_brightness')|int)|int}}"
        - service: light.turn_on
          data:
            entity_id: light.keukenwerkblad_channel_4
            brightness: "{{((500-states('input_number.keukenwerkblad_color_temp')|int)/347*states('input_number.keukenwerkblad_brightness')|int)|int}}"
      turn_off:
        - service: light.turn_off
          data:
            entity_id: light.keukenwerkblad_channel_3
        - service: light.turn_off
          data:
            entity_id: light.keukenwerkblad_channel_4
2 Likes