Hallo zusammen,
ich möchte meinen ersten „richtigen“ Blueprint mit euch teilen
Mit diesem Blueprint kann leicht eine Zeitschaltuhr mit Home Assistant als Einbruchsschutz erstellt werden! Man kann für jede Lampe eine Zeitplan-Helfer-Entität anlegen und diesen im Blueprint angeben. Außerdem stellt man im Blueprint die zu steuernde Lampe ein (light/switch) und die Min/Max Zeit zur zufälligen Verzögerung. Das ist nämlich das besondere! Damit die Lichter nicht jeden Tag genau zur gleichen Zeit angehen, wird immer ein zufälliger Delay eingebaut, bevor die Lampe dann wirklich schaltet.
Hier ist der Link zum Importieren:
Code
blueprint:
name: Zeitschaltuhr für Steckdosen & Lichter
description: "Schaltet eine Steckdose oder ein Licht basierend auf einem Zeitplan mit zufälliger Verzögerung ein oder aus. Nach dem Schalten können weitere Aktionen ausgeführt werden."
domain: automation
input:
schedule_entity:
name: Zeitplan-Entität
description: "Die Schedule-Entität, die das Ein-/Ausschalten steuert."
selector:
entity:
domain: schedule
target_entity:
name: Steckdose/Licht-Entität
description: "Die zu schaltende Steckdose oder das zu steuernde Licht."
selector:
entity:
domain:
- switch
- light
delay_min:
name: Minimale Verzögerung (Sekunden)
description: "Minimale Verzögerungszeit, bevor das Gerät geschaltet wird."
default: 60
selector:
number:
min: 1
max: 3000
unit_of_measurement: seconds
delay_max:
name: Maximale Verzögerung (Sekunden)
description: "Maximale Verzögerungszeit, bevor das Gerät geschaltet wird."
default: 600
selector:
number:
min: 1
max: 10000
unit_of_measurement: seconds
actions_on:
name: Aktionen nach Einschalten
description: "Liste von Aktionen, die nach dem Einschalten des Gerätes ausgeführt werden."
default: []
selector:
action: {}
actions_off:
name: Aktionen nach Ausschalten
description: "Liste von Aktionen, die nach dem Ausschalten des Gerätes ausgeführt werden."
default: []
selector:
action: {}
variables:
schedule: !input schedule_entity
target: !input target_entity
delay_min_val: !input delay_min
delay_max_val: !input delay_max
delay_time: "{{ range(delay_min_val | int, delay_max_val | int) | random }}"
is_switch: "{{ target.startswith('switch.') }}"
is_light: "{{ target.startswith('light.') }}"
trigger:
- platform: state
entity_id: !input schedule_entity
to: "on"
id: "on"
- platform: state
entity_id: !input schedule_entity
to: "off"
id: "off"
action:
- choose:
- conditions:
- condition: trigger
id: "on"
sequence:
- delay:
seconds: "{{ delay_time }}"
- choose:
- conditions:
- condition: template
value_template: "{{ is_switch }}"
sequence:
- service: switch.turn_on
target:
entity_id: !input target_entity
- conditions:
- condition: template
value_template: "{{ is_light }}"
sequence:
- service: light.turn_on
target:
entity_id: !input target_entity
- delay: "00:00:30"
- choose: []
default: !input actions_on
- conditions:
- condition: trigger
id: "off"
sequence:
- delay:
seconds: "{{ delay_time }}"
- choose:
- conditions:
- condition: template
value_template: "{{ is_switch }}"
sequence:
- service: switch.turn_off
target:
entity_id: !input target_entity
- conditions:
- condition: template
value_template: "{{ is_light }}"
sequence:
- service: light.turn_off
target:
entity_id: !input target_entity
- delay: "00:00:30"
- choose: []
default: !input actions_off
mode: parallel
max: 3
Da es mein erster „professionelle“ Blueprint ist und ich da echt lange gebraucht habe, bis alles funktioniert, hoffe ich, dass es euch gefällt und es funktioniert
VG