Hier ein paar Beispiele und Inspirationen für die Allgemeinheit.
- Dingz Lichter abhängig Motion steuern
- Licht automatisch abschalten (abhängig Bewegung oder allgemein)
- Licht NICHT automatisch abschalten, wenn Schalter manuell gedrückt
- Licht Tageslichtabhängig richtig dimmen
Grundlage:
- Taste auf Dingz auf den kleinsten Dimmerwert setzen, der dann in der Automation verwendet wird um zu verhindern, dass das Licht erst sehr hell ist und dann runter dimmt. Lieber umgekehrt.
- Single Action: URL auf Webhook für die Modifikation der Lichtstärke
- Generic Action: URL auf Webhook für das Management Automatisch / Manuell
Input für die Lichtstärke ist ein Homematic Basic Wetterstation. Als Motion Detector agieren Hue Motion Sensoren.
Hier nun meine Automationen dazu:
Starten wir mit Dusche Licht ON (Motion)
Trigger ist der Motion Sensor, die Condition stellt sicher, dass wenn manuell gedrückt, die Automation nicht ausgeführt wird. Danach folgt lichtabhängig das Dimmen. Dazu nutze ich einen Helfer, den ich mit einer separaten Automation füttere. 0 steht für Nacht/Schlafend, 1 steht für Nacht Aktiv, 2 steht für Dämmerung und 3 für Tag. Das automatische zeitabhängige Ausschalten erfolgt nur, wenn nicht inzwischen manuell gedrückt wurde.
alias: Dusche Licht ON (Motion)
description: ""
trigger:
- type: motion
platform: device
device_id: a151a8942f34d0b72bf83ecf7b1ed1a8
entity_id: binary_sensor.motion_dusche_motion
domain: binary_sensor
condition:
- condition: state
entity_id: input_text.text_status_dusche_licht
state: reset
action:
- choose:
- conditions:
- condition: state
entity_id: input_number.nummer_status_licht_level
state: "0.0"
sequence:
- service: light.turn_on
data:
brightness_pct: 1
target:
entity_id: light.dingz_dusche_decke_light
- delay:
hours: 0
minutes: 2
seconds: 0
milliseconds: 0
- conditions:
- condition: state
entity_id: input_number.nummer_status_licht_level
state: "1.0"
sequence:
- service: light.turn_on
data:
brightness_pct: 40
target:
entity_id: light.dingz_dusche_decke_light
- delay:
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
- conditions:
- condition: state
entity_id: input_number.nummer_status_licht_level
state: "2.0"
sequence:
- service: light.turn_on
data:
brightness_pct: 80
target:
entity_id: light.dingz_dusche_decke_light
- delay:
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
default: []
- if:
- condition: state
entity_id: input_text.text_status_dusche_licht
state: reset
then:
- service: light.turn_off
data: {}
target:
entity_id: light.dingz_dusche_decke_light
mode: restart
Kommen wir nun zum Handling für das manuelle drücken, dessen Webhook auf der Dingz Aktion generic hinterlegt ist:
Als erstes aktualisiere ich den Dingz Status und die Licht Template um sicherzustellen, dass ich den korrekten Schaltzustand in HA sehe. Wurde ein Licht eingeschaltet, setze ich einen Helfer Textfeld auf "manuell", ansonsten wieder auf "reset".
alias: Dusche Licht (Webhook)
description: Handling manuel press
trigger:
- platform: webhook
webhook_id: dusche_light_generic_webhook
condition: []
action:
- service: homeassistant.update_entity
data: {}
target:
entity_id: sensor.dingz_dusche_state
- service: homeassistant.update_entity
data: {}
target:
entity_id:
- light.dingz_dusche_decke_light
- light.dingz_dusche_spiegel_light
- if:
- condition: or
conditions:
- condition: state
entity_id: light.dingz_dusche_decke_light
state: "on"
- condition: state
entity_id: light.dingz_dusche_spiegel_light
state: "on"
then:
- service: input_text.set_value
data:
value: manuell
target:
entity_id: input_text.text_status_dusche_licht
else:
- service: input_text.set_value
data:
value: reset
target:
entity_id: input_text.text_status_dusche_licht
mode: restart
Die letzte Automation kümmert sich um das Tageshelligkeit abhängige Licht beim manuellen drücken, dessen Webhook auf der Aktion single hinterlegt ist. Auch hier aktualisiere ich erst die Entitäten, prüfe dann, ob das Licht ein ist und verändere den Dimmwert, abhängig der Helligkeit.
alias: Dusche Licht Decke Modifikation (Webhook)
description: ""
trigger:
- platform: webhook
webhook_id: dusche_light_decke_single_webhook
condition: []
action:
- service: homeassistant.update_entity
data: {}
target:
entity_id:
- sensor.dingz_dusche_state
- service: homeassistant.update_entity
data: {}
target:
entity_id: light.dingz_dusche_decke_light
- if:
- condition: state
entity_id: light.dingz_dusche_decke_light
state: "on"
then:
- choose:
- conditions:
- condition: state
entity_id: input_number.nummer_status_licht_level
state: "0.0"
sequence:
- service: light.turn_on
data:
brightness_pct: 1
target:
entity_id: light.dingz_dusche_decke_light
- conditions:
- condition: state
entity_id: input_number.nummer_status_licht_level
state: "1.0"
sequence:
- service: light.turn_on
data:
brightness_pct: 40
target:
entity_id: light.dingz_dusche_decke_light
- conditions:
- condition: or
conditions:
- condition: state
entity_id: input_number.nummer_status_licht_level
state: "2.0"
- condition: state
entity_id: input_number.nummer_status_licht_level
state: "3.0"
sequence:
- service: light.turn_on
data:
brightness_pct: 80
target:
entity_id: light.dingz_dusche_decke_light
default: []
mode: single
Und zu guter letzt schalten wir noch das Licht nach einer Stunde aus, wenn es aus versehen brennen gelassen wurde:
alias: Dusche Licht OFF (keine Motion)
description: ""
trigger:
- type: no_motion
platform: device
device_id: a151a8942f34d0b72bf83ecf7b1ed1a8
entity_id: binary_sensor.motion_dusche_motion
domain: binary_sensor
for:
hours: 1
minutes: 0
seconds: 0
condition:
- condition: state
entity_id: light.gruppe_licht_dingz_dusche
state: "on"
for:
hours: 0
minutes: 45
seconds: 0
action:
- service: light.turn_off
data: {}
target:
entity_id: light.gruppe_licht_dingz_dusche
- service: input_text.set_value
data:
value: reset
target:
entity_id: input_text.text_status_dusche_licht
mode: single