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