Ausführbare Benachrichtigungen in Home Assistant

  • Beitrags-Kommentare:0 Kommentare

Ausführbare Benachrichtigungen sind ein wichtiges Werkzeug in Home Assistant. Sie können dazu verwendet werden, um über aktuelle Ereignisse oder Änderungen im Smart Home zu informieren. Standardmäßig enthalten Benachrichtigungen in Home Assistant nur Text. Mit Ausführbaren Benachrichtigungen können jedoch auch Schaltflächen hinzugefügt werden, mit denen Aktionen in einer Automatisierung gestartet werden ohne Home Assistant zu öffnen.

Vorteile von Ausführbaren Benachrichtigungen in Home Assistant

Ausführbare Benachrichtigungen bieten eine Reihe von Vorteilen gegenüber Standardbenachrichtigungen. Sie ermöglichen es sofort auf Benachrichtigungen zu reagieren, ohne Home Assistant öffnen zu müssen. Dies kann besonders hilfreich sein, wenn Benachrichtigungen verwendet werden, um zum Beispiel Alarme oder Warnungen zu senden.

Darüber hinaus können Ausführbare Benachrichtigungen verwendet werden, um Aktionen zu automatisieren. Beispielsweise können Benachrichtigung mit Schaltern erstellen werden, die eine bestimmte Aktion innerhalb einer Automation starten. Dies kann hilfreich sein, um beispielsweise Entscheidungen zu treffen, wie eine Automatisierung reagieren soll.

Im Folgenden zeige ich zwei Beispiele aus der Praxis, wie ausführbare Benachrichtigungen umgesetzt werden können.

Home Assistant Grundlagen Kurs fuer Einsteiger

Definition von Actions

Actions sind das zentrale Attribut für ausführbare Benachrichtigungen. Der Action Name referenziert stets die Aktion, die ausgeführt werden soll. Der Name (Title) der Action kann frei gewählt werden. Es ist der Name, der auf dem Smartrphone und-/oder Smartwatch angezeigt wird. Der Auslöser einer Action ist also ein Ereignis (Event), dass über den Service mobile_app_notification_action ausgelöst (Trigger) wird

Haustür per Actionable Notification öffnen

In diesem Beispiel habe ich eine Automatisierung gebaut, welche eine Benachrichtigung sendet, wenn es an der Haustür klingelt. Es wird ein Vorschaubild angezeigt des Besuchers angezeigt. Anschließend kann entschieden werden, ob die Haustür direkt über ausführen einer Aktion geöffnet wird. Technisch verwenden ich dazu eine Netatmo Türklingel als auch ein Nuki 3.0 Pro Smart Lock.

Damit nicht versehentlich die Haustür von unterwegs geöffnet wird soll dies nur möglich sein, wenn die Person in der Home Zone, also zu Hause ist.

Automatisierung

alias: "Benachrichtigung: Tür öffnen bei Klingel"
description: ""
trigger:
  - platform: event
    event_type: netatmo_event
    event_data:
      type: incoming_call
    alias: Es klingelt an der Haustuer
condition: []
action:
  - delay:
      hours: 0
      minutes: 0
      seconds: 2
      milliseconds: 0
  - service: notify.mobile_app_udos_iphone
    data:
      message: Es klingelt - Tür öffnen?
      title: Ding Dong
      data:
        actions:
          - action: KLINGEL
            title: Tür öffnen
  - wait_for_trigger:
      - platform: event
        event_type: mobile_app_notification_action
        event_data:
          action: KLINGEL
    timeout:
      hours: 0
      minutes: 2
      seconds: 0
      milliseconds: 0
    continue_on_timeout: false
  - if:
      - condition: zone
        entity_id: person.udo
        zone: zone.home
    then:
      - service: lock.open
        target:
          entity_id: lock.tuerschloss
        data: {}
mode: single

Ausführbare Benachrichtigung mit wiederkehrender Aktion

Als nächstes ein komplexeres Beispiel, dass aus 3 Automatisierungen besteht. Es geht um das leeren der Waschmaschine oder des Trockners. Die Idee dahinter ist so lange eine Erinnerung zu senden, bis die Aufgabe erledigt ist.

Automation 1: Benachrichtigung und Definition der Actions

alias: "Benachrichtigung: Wäsche fertig"
description: ""
trigger:
  - type: turned_off
    platform: device
    device_id: bd2a7be5b56d01270fc2effb91030e0b
    entity_id: binary_sensor.waschmaschine_door_lock
    domain: binary_sensor
condition: []
action:
  - service: notify.mobile_app_udos_iphone
    data:
      message: Waschmaschine fertig
      title: Wäsche
      data:
        actions:
          - action: WAMALEER
            title: Trommel geleert
          - action: WAMAVOLL
            title: Trommel später leeren
  - service: tts.cloud_say
    data:
      message: Die Waschmaschine ist fertig, bitte Trommel leeren
      cache: false
      entity_id: media_player.media_player_all
    enabled: true
mode: restart

Automation 2: Status eines Helfer setzen

Damit die Benachrichtigung regelmäßig gesendet wird benötigt es ein Kriterium, ob die Wäsche noch in der Waschmaschine oder dem Trockner ist. Ich habe diese über einen Helfer gelöst, der den Status Voll oder Leer definiert. Eine andere Lösung ist zum Beispiel über einen Tür-/Fenster Kontakt.

alias: "Ereignis: Wäsche Helfer"
description: ""
trigger:
  - platform: event
    event_type: mobile_app_notification_action
    event_data:
      action: WAMAVOLL
    id: trommel-voll
  - platform: event
    event_type: mobile_app_notification_action
    event_data:
      action: WAMALEER
    id: trommel-leer
condition: []
action:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - trommel-voll
        sequence:
          - service: input_boolean.turn_on
            target:
              entity_id:
                - input_boolean.waschetrommel
              device_id: []
              area_id: []
            data: {}
      - conditions:
          - condition: trigger
            id:
              - trommel-leer
        sequence:
          - service: input_boolean.turn_off
            target:
              entity_id: input_boolean.waschetrommel
            data: {}
mode: restart

Automation 3: Prüfen ob Helfer An ist

In der dritten Automatisierung wird definiert in welchem Intervall die Benachrichtigung gesendet wird. Darüber soll die Benachrichtigung nur unter der Bedingung gesendet werden, wenn einer der Helfer für die Waschmaschine oder Trockner An ist.

alias: "Benachrichtigung: Wäsche leeren Erinnerung"
description: ""
trigger:
  - platform: time_pattern
    minutes: /30
condition:
  - condition: state
    entity_id: input_boolean.waschetrommel
    state: "on"
action:
  - service: script.turn_on
    target:
      entity_id: script.mobile_benachrichtigung_wasche
    data: {}
mode: single

Skript zur Definition der Benachrichtigung

Zur Vereinfachung um nicht in jeder Automation die Art der Benachrichtigung neu definieren zu müssen habe ich dies in einem Skript verpackt. Die Benachrichtigung erfolgt sowohl auf mobile Geräte als auch per Audio Ausgabe.

alias: "Mobile: Benachrichtigung Wäsche"
sequence:
  - service: notify.mobile_app_udos_iphone
    data:
      message: Waschmaschine fertig
      title: Wäsche
      data:
        actions:
          - action: WAMALEER
            title: Trommel geleert
          - action: WAMAVOLL
            title: Trommel voll
  - service: tts.cloud_say
    data:
      message: Die Waschmaschine ist fertig, bitte Trommel leeren
      cache: false
      entity_id: media_player.media_player_all
    enabled: true
mode: single

Schreibe einen Kommentar