
Homeassistant 0.106: Neues Feature zum Dimmen von Lichtern
Homeassistant hat mit dem Release 0.106 ein praktisches neues Feature zum Dimmen von Lichtern erhalten. Ursprünglich herrschte stets das Problem vor, dass ein Licht bereits eingeschaltet sein musste, um eine Dimm-Funktion zu automatisieren. Es musste über Templates der aktuelle Helligkeitswert ausgelesen und ein Wert x substrahiert oder addiert werden. Dies ist nun deutlich einfacher geworden und soll im Folgenden anhand eines Tradfri Dimmers aus dem Hause IKEA aufgezeigt werden.
Beispiel: IKEA Dimmer verbunden mit Deconz und einem Conbee II
Der Dimmer sendet die Codes 2002
und 3002
unter der ID tradfri_dimmer.room_2
auf dem Event-Bus. Diese müssen durch eine Automation ausgelesen und anschließend die neue Dimmfunktion als Action
zugewiesen werden. Zum Dimmen stehen zwei Methoden zur Auswahl:
brightness_step
: Dieser Parameter akzeptiert Schrittwerte zwischen-255
und255
. Der Wert 255 steht in diesem Zusammenhang für eine Licht mit voller Leuchstärke.brightness_step
_pct: Dieser Parameter gibt einen prozentualen Dimmwert als Stufe an. Es können werte zwischen-100
und100
zugewiesen werden. Der Wert 100 steht hier analog ebenfalls für die höchstmögliche Leuchtkraft einer Leuchte.
Beispielautomation mittels brightness_step_pct
- id: Tradfri Dimmer Room2
alias: Tradfri Dimmer Room2
trigger:
- platform: event
event_type: deconz_event
event_data:
id: tradfri_dimmer_room2
action:
- service: light.turn_on
entity_id: light.room2_decke
data_template:
brightness_step_pct: >
{% if trigger.event.data.event == 2002 %}
+10
{% elif trigger.event.data.event == 3002 %}
-10
{% endif %}
Nachtrag von Tim:
Wenn ihr wie ich eine remote pro Raum benutzen wollt, möchtet ihr vielleicht alle angeschalteten Lichter ansprechen. Hierfür müsst ihr das oben genannte Beispiel wie folgt anpassen:
- id: Tradfri Dimmer Room2
alias: Tradfri Dimmer Room2
trigger:
- platform: event
event_type: deconz_event
event_data:
id: tradfri_dimmer_room2
action:
- service: light.turn_on
data_template:
brightness_step_pct: >
{% if trigger.event.data.event == 2002 %}
+10
{% elif trigger.event.data.event == 3002 %}
-10
{% endif %}
entity_id: >
{% set entities = 'light.room2_1',
'light.room2_2',
'light.room2_3',
'light.room2_4',
'light.room2_5' %}
{{ states | selectattr('entity_id','in',entities) | selectattr('state','eq','on') | map(attribute='entity_id') | list | join(', ') }}