[BLUEPRINT] Abwesenheitsschutz: Automatische Zeitschaltuhr

Hallo zusammen,
ich möchte meinen ersten „richtigen“ Blueprint mit euch teilen :slight_smile:
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.

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

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 :slight_smile:

VG

5 „Gefällt mir“