About the blueprint:
This blueprint maps all the buttons on the remote to their dedicated actions. it supports all buttons except for the colored refresh button.
Usage
This blueprint only supports zigbee2mqtt 2.1.2+ at the moment. Legacy action sensors option must be enabled.
- Prepare 6 scenes that can be mapped as two favorites for each light.
- Select the Remote action and Remote group
- Select the 3 lights for 1-2-3 buttons
- Select the 2 favorite scenes for all 3 lights
- Change the Brightness up/down step size as you like
- Change the Color temperature up/down step size as you like
- Change the transition time as you like
Blueprint:
blueprint:
name: EGLO 99099 blueprint
description: This blueprint helps to map all the buttons on the remote to actions/scenes/lights.
author: Zoltán Szamosi
domain: automation
homeassistant:
min_version: 2024.6.0
input:
remote_action_sensor:
name: Remote action
selector:
entity:
filter:
- domain: sensor
remote_action_group_sensor:
name: Remote group
selector:
entity:
filter:
- domain: sensor
light_group1_entity:
name: Light group 1
selector:
entity:
filter:
- domain: light
light_group2_entity:
name: Light group 2
selector:
entity:
filter:
- domain: light
light_group3_entity:
name: Light group 3
selector:
entity:
filter:
- domain: light
favourite_scene11:
name: Nr1 Favourite scene of light 1
selector:
entity:
filter:
- domain: scene
favourite_scene12:
name: Nr2 Favourite scene of light 1
selector:
entity:
filter:
- domain: scene
favourite_scene21:
name: Nr1 Favourite scene of light 2
selector:
entity:
filter:
domain: scene
favourite_scene22:
name: Nr2 Favourite scene of light 2
selector:
entity:
filter:
domain: scene
favourite_scene31:
name: Nr1 Favourite scene of light 3
selector:
entity:
filter:
domain: scene
favourite_scene32:
name: Nr2 Favourite scene of light 3
selector:
entity:
filter:
domain: scene
brightness_up_percent:
name: Brightness up step size
default: 20
selector:
number:
min: 1
max: 100
unit_of_measurement: "%"
brightness_down_percent:
name: Brightness down step size
default: 20
selector:
number:
min: 1
max: 100
unit_of_measurement: "%"
color_temperature_up_quantity:
name: Color temperature up step size
default: 500
selector:
number:
min: 1
max: 1000
unit_of_measurement: K
color_temperature_down_quantity:
name: Color temperature down step size
default: 500
selector:
number:
min: 1
max: 1000
unit_of_measurement: K
transition_time:
name: Transition time of light attributes
default: 0.25
selector:
number:
min: 0
max: 2
step: 0.01
unit_of_measurement: s
source_url: https://community.home-assistant.io/t/eglo-99099-remote-blueprint/858066
mode: single
max_exceeded: silent
triggers:
- trigger: state
entity_id: !input remote_action_sensor
actions:
- variables:
maxbrightness: 255
remote_action_sensor: !input remote_action_sensor
remote_action_group_sensor: !input remote_action_group_sensor
favourite_scene11: !input favourite_scene11
favourite_scene12: !input favourite_scene12
favourite_scene21: !input favourite_scene21
favourite_scene22: !input favourite_scene22
favourite_scene31: !input favourite_scene31
favourite_scene32: !input favourite_scene32
light_group1_entity: !input light_group1_entity
light_group2_entity: !input light_group2_entity
light_group3_entity: !input light_group3_entity
brightness_up_percent: !input brightness_up_percent
brightness_down_percent: !input brightness_down_percent
color_temperature_up_quantity: !input color_temperature_up_quantity
color_temperature_down_quantity: !input color_temperature_down_quantity
transition_time: !input transition_time
brightness_step_up: "{{ ((maxbrightness*brightness_up_percent)/100) | int }}"
brightness_step_down: "{{ ((maxbrightness*brightness_down_percent)/100) | int }}"
- choose:
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "on_1")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- action: light.turn_on
data:
entity_id: !input light_group1_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32779') }}"
sequence:
- action: light.turn_on
data:
entity_id: !input light_group2_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32780') }}"
sequence:
- action: light.turn_on
data:
entity_id: !input light_group3_entity
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "off_1")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- action: light.turn_off
data:
entity_id: !input light_group1_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32779') }}"
sequence:
- action: light.turn_off
data:
entity_id: !input light_group2_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32780') }}"
sequence:
- action: light.turn_off
data:
entity_id: !input light_group3_entity
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "blue")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- if:
- condition: template
value_template: >-
{{state_attr(light_group1_entity,
"supported_color_modes")|contains("xy") or state_attr(light_group1_entity,
"supported_color_modes")|contains("hs") or state_attr(light_group1_entity,
"supported_color_modes")|contains("rgb")}}
then:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 0
- 0
- 255
transition: !input transition_time
entity_id: !input light_group1_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32779') }}"
sequence:
- if:
- condition: template
value_template: >-
{{state_attr(light_group2_entity,
"supported_color_modes")|contains("xy") or state_attr(light_group2_entity,
"supported_color_modes")|contains("hs") or state_attr(light_group2_entity,
"supported_color_modes")|contains("rgb")}}
then:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 0
- 0
- 255
transition: !input transition_time
entity_id: !input light_group2_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32780') }}"
sequence:
- if:
- condition: template
value_template: >-
{{state_attr(light_group3_entity,
"supported_color_modes")|contains("xy") or state_attr(light_group3_entity,
"supported_color_modes")|contains("hs") or state_attr(light_group3_entity,
"supported_color_modes")|contains("rgb")}}
then:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 0
- 0
- 255
transition: !input transition_time
entity_id: !input light_group3_entity
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "green")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- if:
- condition: template
value_template: >-
{{state_attr(light_group1_entity,
"supported_color_modes")|contains("xy") or state_attr(light_group1_entity,
"supported_color_modes")|contains("hs") or state_attr(light_group1_entity,
"supported_color_modes")|contains("rgb")}}
then:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 0
- 255
- 0
transition: !input transition_time
entity_id: !input light_group1_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32779') }}"
sequence:
- if:
- condition: template
value_template: >-
{{state_attr(light_group2_entity,
"supported_color_modes")|contains("xy") or state_attr(light_group2_entity,
"supported_color_modes")|contains("hs") or state_attr(light_group2_entity,
"supported_color_modes")|contains("rgb")}}
then:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 0
- 255
- 0
transition: !input transition_time
entity_id: !input light_group2_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32780') }}"
sequence:
- if:
- condition: template
value_template: >-
{{state_attr(light_group3_entity,
"supported_color_modes")|contains("xy") or state_attr(light_group3_entity,
"supported_color_modes")|contains("hs") or state_attr(light_group3_entity,
"supported_color_modes")|contains("rgb")}}
then:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 0
- 255
- 0
transition: !input transition_time
entity_id: !input light_group3_entity
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "red")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- if:
- condition: template
value_template: >-
{{state_attr(light_group1_entity,
"supported_color_modes")|contains("xy") or state_attr(light_group1_entity,
"supported_color_modes")|contains("hs") or state_attr(light_group1_entity,
"supported_color_modes")|contains("rgb")}}
then:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 255
- 0
- 0
transition: !input transition_time
entity_id: !input light_group1_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32779') }}"
sequence:
- if:
- condition: template
value_template: >-
{{state_attr(light_group2_entity,
"supported_color_modes")|contains("xy") or state_attr(light_group2_entity,
"supported_color_modes")|contains("hs") or state_attr(light_group2_entity,
"supported_color_modes")|contains("rgb")}}
then:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 255
- 0
- 0
transition: !input transition_time
entity_id: !input light_group2_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32780') }}"
sequence:
- if:
- condition: template
value_template: >-
{{state_attr(light_group3_entity,
"supported_color_modes")|contains("xy") or state_attr(light_group3_entity,
"supported_color_modes")|contains("hs") or state_attr(light_group3_entity,
"supported_color_modes")|contains("rgb")}}
then:
- action: light.turn_on
metadata: {}
data:
rgb_color:
- 255
- 0
- 0
transition: !input transition_time
entity_id: !input light_group3_entity
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "refresh")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- action: light.turn_on
data:
entity_id: "{{ light_group1_entity }}"
brightness: |
{% if state_attr(light_group1_entity,'brightness') | float(10) <=83 %}
84
{% elif 84 <=state_attr(light_group1_entity, 'brightness') | float(10) <=167 %}
168
{% elif 168 <=state_attr(light_group1_entity, 'brightness') | float(10) <=254 %}
255
{% elif 255 <=state_attr(light_group1_entity, 'brightness') | float(10) %}
2
{% endif %}
transition: !input transition_time
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32779') }}"
sequence:
- action: light.turn_on
data:
entity_id: "{{ light_group2_entity }}"
brightness: |
{% if state_attr(light_group2_entity,'brightness') | float(10) <=83 %}
84
{% elif 84 <=state_attr(light_group2_entity, 'brightness') | float(10) <=167 %}
168
{% elif 168 <=state_attr(light_group2_entity, 'brightness') | float(10) <=254 %}
255
{% elif 255 <=state_attr(light_group2_entity, 'brightness') | float(10) %}
2
{% endif %}
transition: !input transition_time
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32780') }}"
sequence:
- action: light.turn_on
data:
entity_id: "{{ light_group3_entity }}"
brightness: |
{% if state_attr(light_group3_entity,'brightness') | float(10) <=83 %}
84
{% elif 84 <=state_attr(light_group3_entity, 'brightness') | float(10) <=167 %}
168
{% elif 168 <=state_attr(light_group3_entity, 'brightness') | float(10) <=254 %}
255
{% elif 255 <=state_attr(light_group3_entity, 'brightness') | float(10) %}
2
{% endif %}
transition: !input transition_time
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "color_temperature_step_down_1")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- action: light.turn_on
data:
kelvin: '{{ [ [state_attr(light_group1_entity,"color_temp_kelvin")|int + color_temperature_up_quantity, state_attr(light_group1_entity,"max_color_temp_kelvin")]| min, state_attr(light_group1_entity,"min_color_temp_kelvin")] | max }}'
transition: !input transition_time
entity_id: !input light_group1_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32779') }}"
sequence:
- action: light.turn_on
data:
kelvin: '{{ [ [state_attr(light_group2_entity,"color_temp_kelvin")|int + color_temperature_up_quantity, state_attr(light_group2_entity,"max_color_temp_kelvin")]| min, state_attr(light_group2_entity,"min_color_temp_kelvin")] | max }}'
transition: !input transition_time
entity_id: !input light_group2_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32780') }}"
sequence:
- action: light.turn_on
data:
kelvin: '{{ [ [state_attr(light_group3_entity,"color_temp_kelvin")|int + color_temperature_up_quantity, state_attr(light_group3_entity,"max_color_temp_kelvin")]| min, state_attr(light_group3_entity,"min_color_temp_kelvin")] | max }}'
transition: !input transition_time
entity_id: !input light_group3_entity
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "color_temperature_step_up_1")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- action: light.turn_on
data:
kelvin: '{{ [ [state_attr(light_group1_entity,"color_temp_kelvin")|int - color_temperature_down_quantity, state_attr(light_group1_entity,"min_color_temp_kelvin")]| max, state_attr(light_group1_entity,"max_color_temp_kelvin")] | min }}'
transition: !input transition_time
entity_id: !input light_group1_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32779') }}"
sequence:
- action: light.turn_on
data:
kelvin: '{{ [ [state_attr(light_group2_entity,"color_temp_kelvin")|int - color_temperature_down_quantity, state_attr(light_group2_entity,"min_color_temp_kelvin")]| max, state_attr(light_group2_entity,"max_color_temp_kelvin")] | min }}'
transition: !input transition_time
entity_id: !input light_group2_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32780') }}"
sequence:
- action: light.turn_on
data:
kelvin: '{{ [ [state_attr(light_group3_entity,"color_temp_kelvin")|int - color_temperature_down_quantity, state_attr(light_group3_entity,"min_color_temp_kelvin")]| max, state_attr(light_group3_entity,"max_color_temp_kelvin")] | min }}'
transition: !input transition_time
entity_id: !input light_group3_entity
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "recall_2_1")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- action: scene.turn_on
metadata: {}
data:
transition: 1
target:
entity_id: !input favourite_scene12
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32779') }}"
sequence:
- action: scene.turn_on
metadata: {}
data:
transition: 1
target:
entity_id: !input favourite_scene22
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32780') }}"
sequence:
- action: scene.turn_on
metadata: {}
data:
transition: 1
target:
entity_id: !input favourite_scene32
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "recall_1_1")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- action: scene.turn_on
metadata: {}
data:
transition: 1
target:
entity_id: !input favourite_scene11
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32779') }}"
sequence:
- action: scene.turn_on
metadata: {}
data:
transition: 1
target:
entity_id: !input favourite_scene21
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32780') }}"
sequence:
- action: scene.turn_on
metadata: {}
data:
transition: 1
target:
entity_id: !input favourite_scene31
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "brightness_step_down_1")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- action: light.turn_on
data:
brightness:
'{{ [ [state_attr(light_group1_entity,"brightness")-brightness_step_down, 1]
| max, maxbrightness] | min }}'
transition: !input transition_time
entity_id: !input light_group1_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32779') }}"
sequence:
- action: light.turn_on
data:
brightness:
'{{ [ [state_attr(light_group2_entity,"brightness")-brightness_step_down, 1]
| max, maxbrightness] | min }}'
transition: !input transition_time
entity_id: !input light_group2_entity
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32780') }}"
sequence:
- action: light.turn_on
data:
brightness:
'{{ [ [state_attr(light_group3_entity,"brightness")-brightness_step_down, 1]
| max, maxbrightness] | min }}'
transition: !input transition_time
entity_id: !input light_group3_entity
- conditions:
- condition: template
value_template: >-
{{ is_state(remote_action_sensor, "brightness_step_up_1")
}}
sequence:
- choose:
- conditions:
- condition: template
value_template: "{{ is_state(remote_action_group_sensor, '32778') }}"
sequence:
- action: light.turn_on
data:
brightness:
'{{ [ [state_attr(light_group1_entity,"brightness")+brightness_step_up, 1]
| max, maxbrightness] | min }}'
transition: !input transition_time
entity_id: !input light_group1_entity
- conditions:
- condition: template
value_template: "{{ is_state( remote_action_group_sensor, '32779') }}"
sequence:
- action: light.turn_on
data:
brightness:
'{{ [ [state_attr(light_group2_entity,"brightness")+brightness_step_up, 1]
| max, maxbrightness] | min }}'
transition: !input transition_time
entity_id: !input light_group2_entity
- conditions:
- condition: template
value_template: "{{ is_state( remote_action_group_sensor, '32780') }}"
sequence:
- action: light.turn_on
data:
brightness:
'{{ [ [state_attr(light_group3_entity,"brightness")+brightness_step_up, 1]
| max, maxbrightness] | min }}'
transition: !input transition_time
entity_id: !input light_group3_entity