Wie du mit Home Assistant Benachrichtigungen auf deinem Handy nicht nur Infos erhältst, sondern direkt Aktionen auslösen kannst – und das alles ohne ständiges App-Hopping. Lass uns mit Actionable Notifications dein SmartHome gemeinsam auf das nächste Level heben! 🚀📱
Inhaltsverzeichnis
Voraussetzungen
App
Die Home Assistant App muss außerdem auf deinem Endgerät installiert sein und du musst die Rechte zum Anzeigen von Benachrichtigungen in den Einstellungen von iOS erteilt haben.
Basiswissen – Wie kann man Benachrichtigungen über Home Assistant senden?
Das Senden von Notifications in Home Assistant kannst du entweder über den Dienst notify.notify machen, oder über den jeweiligen Notify-Dienst der Geräte, auf denen die Home Assistant app installiert ist (den benutzte ich in den Beispielen immer).
Der Dienst notfy.notify sollte generell gesprochen nicht verwendet werden, da er sich abgekürzt erklärt, häufig unvorhersehbar verhält.
So kannst du über eine Home Assistant Aktion eine Benachrichtigung schicken, geht in den Automationen natürlich genau gleich 👇

Im Video oben sowie im Folgenden Beitrag geht es ja aber um das nächste Level der Benachrichtigungen, nämlich um Actionable Notifications 😉
Ressourcen für Actionable Notifications
| Doku von HA, falls du etwas selbst nachlesen möchtest | https://companion.home-assistant.io/docs/notifications/actionable-notifications/ |
| iOS-Icons | https://github.com/andrewtavis/sf-symbols-online |
Automation-Codes
Hier die Automationen aus dem Video sowie 2 weitere Beispiele, damit du möglichst viel kopieren kannst! Natürlich musst du die Entitäten-IDs und Notifikations-Dienste durch deine eigenen ersetzen.
Garage offen → Schließen
Hier zuerst mal ein einfaches Beispiel: Wenn die Garage längere Zeit offen ist, wird eine Benachrichtigung verschickt, ob man diese nicht schließen will. Ohne Fancy Variablen, sondern ganz einfach gehalten und unterstützt insofern auch keine Parallelen Läufe (wäre hier ja auch nicht sinnvoll).

alias: Garage 1.OG ist offen
description: ""
triggers:
- trigger: state
entity_id:
- cover.garage_door
to: open
from: closed
for:
hours: 0
minutes: 20
seconds: 0
conditions: []
actions:
- data:
title: Garage 1.OG offen
message: Die Garage ist noch offen (bitte gedrückt halten)
data:
actions:
- action: CLOSE_GARAGE_1OG
title: Garage schließen
icon: sfsymbols:square.and.arrow.down
- action: URI
title: Kamera-Dashboard
uri: /1-og/cctv
icon: sfsymbols:arrow.up.right.video.fill
action: notify.notify
- wait_for_trigger:
- event_type: mobile_app_notification_action
event_data:
action: CLOSE_GARAGE_1OG
trigger: event
timeout:
hours: 0
minutes: 30
seconds: 0
continue_on_timeout: false
- data: {}
target:
entity_id: cover.garage_door
action: cover.close_cover
mode: single
Zuhause ankommen → Türen öffnen
Beispiel aus dem Video 😉

alias: Türen öffnen
description: Öffnet die Haustür und Wohnungstür bei Ankunft
mode: parallel
max: 2
triggers:
- entity_id:
- sensor.sh42_arabella_oberstedt_fahrtrichtung
from: towards
to: arrived
enabled: true
id: Arabella
trigger: state
- entity_id:
- sensor.sh42_simon_muller_fahrtrichtung
from: towards
to: arrived
enabled: true
id: Simon
trigger: state
conditions:
- condition: or
conditions:
- type: is_not_open
condition: device
device_id: b3fb6caba13b81df5afabbc1aebe8859
entity_id: 9e4d8f62d11768ac2436a1c546031d2b
domain: binary_sensor
- type: is_not_open
condition: device
device_id: 795e199c81d2255ddbe001c597158154
entity_id: 1ecef2a94711e81ecaf8ff58be049885
domain: binary_sensor
- condition: template
value_template: >-
{{ state_attr("automation.turen_offnen", "last_triggered") == None or (
as_timestamp(now()) -
as_timestamp(state_attr("automation.automation.turen_offnen",
"last_triggered")) |int(0) ) > 300 }}
alias: Automation wurde nicht in den letzten 5 Minuten ausgeführt
enabled: false
actions:
- variables:
action_open: "{{ 'OPEN_' ~ context.id }}"
action_no: "{{ 'NO_' ~ context.id }}"
- choose:
- conditions:
- condition: trigger
id:
- Simon
sequence:
- data:
message: Möchtest du, dass ich die Türen öffne? (Geht 5 Min.)
data:
actions:
- action: "{{ action_open }}"
title: Öffnen
- action: "{{ action_no }}"
title: Nein
title: Bitte gedrückt halten!
action: notify.mobile_app_iphone16psimon
- wait_for_trigger:
- event_type: mobile_app_notification_action
event_data:
action: "{{ action_open }}"
trigger: event
continue_on_timeout: false
timeout:
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
- parallel:
- if:
- type: is_not_open
condition: device
device_id: b3fb6caba13b81df5afabbc1aebe8859
entity_id: 9e4d8f62d11768ac2436a1c546031d2b
domain: binary_sensor
then:
- if:
- condition: device
device_id: 4c80468524dc95931a283f24a61e7243
domain: lock
entity_id: dadad051515ba437b2a664b07b7c15e6
type: is_unlocked
then:
- device_id: 4c80468524dc95931a283f24a61e7243
domain: lock
entity_id: dadad051515ba437b2a664b07b7c15e6
type: lock
- delay:
hours: 0
minutes: 0
seconds: 4
milliseconds: 0
- device_id: 4c80468524dc95931a283f24a61e7243
domain: lock
entity_id: dadad051515ba437b2a664b07b7c15e6
type: unlock
else:
- device_id: 4c80468524dc95931a283f24a61e7243
domain: lock
entity_id: dadad051515ba437b2a664b07b7c15e6
type: unlock
alias: Wohnungstür Aktionen bedingt ausführen
- alias: Haustür Aktionen bedingt ausführen
if:
- type: is_not_open
condition: device
device_id: 795e199c81d2255ddbe001c597158154
entity_id: 1ecef2a94711e81ecaf8ff58be049885
domain: binary_sensor
then:
- if:
- condition: device
device_id: 6cea6c4d797de7ed9bc3bb8cbdf5005d
domain: lock
entity_id: f9dc4db3d2b6a972f63a0dcfcb67d982
type: is_unlocked
then:
- device_id: 6cea6c4d797de7ed9bc3bb8cbdf5005d
domain: lock
entity_id: f9dc4db3d2b6a972f63a0dcfcb67d982
type: lock
- delay:
hours: 0
minutes: 0
seconds: 4
milliseconds: 0
- device_id: 6cea6c4d797de7ed9bc3bb8cbdf5005d
domain: lock
entity_id: f9dc4db3d2b6a972f63a0dcfcb67d982
type: unlock
else:
- device_id: 6cea6c4d797de7ed9bc3bb8cbdf5005d
domain: lock
entity_id: f9dc4db3d2b6a972f63a0dcfcb67d982
type: unlock
Bewegung bei Abwesenheit erkannt → Alarm/Kameras
Das 2. Beispiel aus dem Video 🎉

alias: Abwesenheit - Benachrichtigung bei Bewegung
description: ""
triggers:
- trigger: state
entity_id:
- binary_sensor.bewegungsmelder_bad_motion
to: "on"
from: "off"
id: test
- trigger: state
entity_id:
- binary_sensor.hmip_smi55_2_00319d899ed9aa_motion
to: "on"
from: "off"
- trigger: state
entity_id:
- binary_sensor.garage_hinten_bewegung
to: "on"
from: "off"
- trigger: state
entity_id:
- binary_sensor.hue_bewegungsmelder_occupancy
to: "on"
from: "off"
- trigger: state
entity_id:
- binary_sensor.bewegungsmelder_flur_occupancy
to: "on"
from: "off"
conditions:
- condition: numeric_state
entity_id: zone.home
below: 1
alias: Home Zone ist unter 1 (keiner zuhause)
enabled: true
actions:
- variables:
action_alarm: "{{ 'ALARM_' ~ context.id }}"
action_silence: "{{ 'SILENCE_' ~ context.id }}"
- action: notify.mobile_app_iphone16psimon
metadata: {}
data:
message: Bewegung zuhause von {{ trigger.to_state.name }} erkannt
data:
push:
interruption-level: time-sensitive
actions:
- action: "{{ action_alarm }}"
title: Alarm aktivieren
icon: sfsymbols:bell
- action: "{{ action_silence }}"
title: Alarm deaktivieren
icon: sfsymbols:bell.slash
- action: URI
title: Kamera-Dashboard
uri: /1-og/cctv
icon: sfsymbols:arrow.up.right.video.fill
- wait_for_trigger:
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_alarm }}"
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: "{{ action_silence }}"
timeout:
hours: 0
minutes: 10
seconds: 0
continue_on_timeout: false
- choose:
- conditions:
- condition: template
value_template: "{{ wait.trigger.event.data.action == action_alarm }}"
sequence:
- action: select.select_option
metadata: {}
data:
option: alarm
target:
entity_id: select.aqara_smart_smoke_detector_buzzer
- conditions:
- condition: template
value_template: "{{ wait.trigger.event.data.action == action_silence }}"
sequence:
- action: select.select_option
metadata: {}
data:
option: mute
target:
entity_id: select.aqara_smart_smoke_detector_buzzer
mode: single
Fazit
Actionable Notifications sind mehr als nur eine technische Spielerei – sie sind der Schlüssel zu einem intuitiven, responsiven Smarthome. Sie reduzieren Komplexität, sparen Zeit und machen die Hausautomatisierung endlich so einfach, wie sie immer sein sollte: unsichtbar und selbstverständlich.
Home Assistant macht’s möglich – und wir sind mittendrin in dieser spannenden Entwicklung. Der größte Gewinn? Mehr Kontrolle, weniger Aufwand und einfache Benutzung auch für Nichttechniker → Genau das ist die Essenz moderner Smarthome-Technologie.



Wie immer ein super Video!
Sehr verständlich erklärt.
Ich würde das ganze aber gerne “einen Schritt weiter” machen, komme nur nicht drauf wie.
Folgende Ausgangssituation:
Ich meiner “Wohnung verlassen”-Automation gibt es den Step, dass ich eine Benachrichtigung bekommen wenn ein Fenster geöffnet ist (Aqara Sensoren). Diese zeigt mir an welche/s offen ist:
Jetzt wäre es natürlich super, dass ich die Möglichkeit habe über die Notification den bzw. die Rollläden zu öffnen/schließen bei den geöffneten Fenster.
In einer anderen Automation, zum Öffnen der Rollläden wenn ein Fenster geöffnet wird nutze, ich Variablen um herauszufinden bei welchem Fenster welcher Rollladen sich öffnen soll:
ich würde jetzt natürlich gern beides kombinieren, damit ich in der Notification einfach nur auf “öffnen” oder “schließen” gehen muss und den Rollladen am geöffneten Fenster bzw. den geöffneten Fenstern auf/zu geht.
Da ich ja aber
{{ expand('binary_sensor.sensor_windows_all')|selectattr('state', 'eq', 'on')|map(attribute='name')|list|join(', - ') }}in der Notification nutze, ist das glaube ich nicht so einfach, bzw. komme ich nicht drauf.Hat da jemand eine Idee?
sollte jemand hier drüber stolpern und das gleiche vor haben:
die notification:
die automation:
Hallo Simon, hallo Community,
Warum zum Henker nimmt er keine der beiden Optionen? Ich habe den Code 1:1 kopiert und entsprechend meiner Konfiguration angepasst.

wieder einmal danke für dieses tolle Video.
Ich habe für einen anderen Anwendungsfall die Actionable Notification hergenommen. Allerdings überspringt er zum Schluss IMMER eine der beiden Auswahlmöglichkeiten und beendet die Automation und ich sitze seit drei Stunden hier und komme einfach nicht weiter.
Vielleicht findet ja jemand den Fehler.
Danke für eure Hilfe.
Liebe Grüße
Kevin
EDIT:
Ich konnte das Problem in der Zwischenzeit lösen.
Ich habe die Variablen-Definition weggelassen, die Variablen in der ActionableNotification einfacher gehalten und entsprechend im “Wait-Trigger” ergänzt.
Für die, die es interessiert anbei der Code.
@simon42
Ich hoffe mal das das Video “längst überfällig” und nicht “längst überflüssig” ist.
Ich löse das mit den Messages ohne Variablen, nämlich so:
und mit einem Trigger springe ich wieder in dieselbe Automation rein. (Weil man 10min Zeit hat zu reagieren)
So muss die Automation nicht warten.
Wenn man einen “Tag” in der “Frage”-Message hinterlegt, kann man auch so witzige Sachen machen wie die Nachricht wieder von den Geräten die nicht gedrückt haben zu löschen.
Das hoffe ich doch auch

Danke fürs Teilen deiner Automation