Home Assistant: Benachrichtigung aufs Handy mit Aktionen
Push aus Home Assistant aufs iPhone oder Android-Handy: einfache Nachricht, Kamerabild, Knöpfe zum Antworten und kritische Alarme.
Von Nathan Base
Eine Benachrichtigung aufs Handy ist oft der eigentliche Nutzen eines Smart Homes: Die Waschmaschine ist fertig, die Haustür steht offen, der Rauchmelder schlägt an. Home Assistant schickt solche Meldungen über seine eigene Companion App aufs iPhone oder Android-Handy, und zwar nicht nur als Text, sondern auf Wunsch mit Kamerabild, mit Knöpfen zum Antworten oder als kritischen Alarm, der auch im Lautlos-Modus klingelt.
Diese Anleitung zeigt die vier Fälle, die im Alltag am häufigsten gebraucht werden, jeweils als fertige Automation zum Anpassen. Sie gilt für Home Assistant 2026.11 und die aktuelle Companion App für iOS und Android. Die YAML-Beispiele nutzen die aktuelle Schreibweise mit triggers und actions, und ich habe sie mit der Konfigurationsprüfung von Home Assistant 2026.11 kontrolliert. Am echten Handy lassen sich Push-Nachrichten nicht automatisch testen, das Verhalten auf den Geräten stützt sich auf die offizielle Dokumentation der Companion App.
Companion App einrichten
Installiere die App Home Assistant aus dem App Store oder aus Google Play. Beim ersten Start sucht sie Deinen Server im Heimnetz, oder Du gibst die Adresse von Hand ein, etwa http://homeassistant.local:8123. Melde Dich an und erlaube der App im folgenden Dialog, Benachrichtigungen zu senden. Auf dem iPhone fragt die App dabei auch nach kritischen Hinweisen. Erlaube sie gleich mit, falls Du später Alarme brauchst, die den Lautlos-Modus durchbrechen.
Nach der Anmeldung legt Home Assistant für Dein Handy ein Gerät an und stellt eine Aktion bereit, über die Du es benachrichtigst. Die Push-Nachrichten selbst laufen über den Benachrichtigungsdienst der App und erreichen Dein Handy auch unterwegs. Damit aber Bilder geladen werden und Knöpfe in der Benachrichtigung funktionieren, muss das Handy Deinen Home-Assistant-Server erreichen können. Unterwegs brauchst Du dafür einen Fernzugriff, den Home Assistant von unterwegs: Tailscale oder Cloudflare einrichtet.
Den richtigen notify-Dienst finden
Jedes Handy bekommt eine eigene Aktion mit dem Namen notify.mobile_app_ und dahinter dem Gerätenamen, wobei Leerzeichen und Sonderzeichen zu Unterstrichen werden. Aus einem iPhone namens „Annas iPhone“ wird so notify.mobile_app_annas_iphone. Den genauen Namen findest Du in den Entwicklerwerkzeugen auf dem Reiter Aktionen. Seit Home Assistant 2026.2 stehen die Entwicklerwerkzeuge nicht mehr in der Seitenleiste, sondern unter Einstellungen. Tipp dort mobile_app in das Suchfeld, dann erscheinen alle Handys.
Am selben Ort testest Du den Dienst. Wähle Dein Handy aus, wechsle in den YAML-Modus, trag message: Test ein und klick auf Aktion ausführen. Ein paar Sekunden später muss die Nachricht auf dem Handy erscheinen. Klappt das, funktioniert die Strecke, und alle Beispiele unten laufen auch.
In allen folgenden Beispielen ersetzt Du notify.mobile_app_dein_handy durch den Namen, den Du gerade gefunden hast, und die Entitäten wie binary_sensor.haustuer durch Deine eigenen.
Fall 1: eine einfache Nachricht
Die Automation meldet, wenn die Haustür länger als fünf Minuten offen steht. Leg sie unter Einstellungen > Automationen & Szenen > Automation erstellen an, öffne oben rechts über das Drei-Punkte-Menü In YAML bearbeiten und ersetze den Inhalt durch:
alias: Haustür steht offen
triggers:
- trigger: state
entity_id: binary_sensor.haustuer
to: "on"
for:
minutes: 5
actions:
- action: notify.mobile_app_dein_handy
data:
title: Haustür
message: Die Haustür steht seit 5 Minuten offen.
data:
tag: haustuerPflicht ist nur message, der Titel ist optional. Achte auf das doppelte data: Das äußere enthält die Nachricht, das innere die Zusatzoptionen der App. Der tag sorgt dafür, dass eine neue Meldung mit demselben Tag die alte ersetzt, statt sich darunter zu stapeln. Willst Du die Nachricht wieder entfernen, sobald die Tür zu ist, schickst Du als message den Text clear_notification mit demselben Tag.
Fall 2: Nachricht mit Kamerabild
Bei der Türklingel willst Du sehen, wer davor steht. Hier unterscheiden sich iPhone und Android. Unter Android hängst Du ein aktuelles Bild der Kamera über die Adresse /api/camera_proxy/ und die Entität an:
alias: Klingel mit Bild (Android)
triggers:
- trigger: state
entity_id: binary_sensor.klingel
to: "on"
actions:
- action: notify.mobile_app_dein_handy
data:
message: Es hat geklingelt.
data:
image: /api/camera_proxy/camera.haustuerAuf dem iPhone nennst Du stattdessen die Kamera als entity_id. Die App zeigt dann ein Vorschaubild, und wenn Du die Benachrichtigung lange drückst, das Live-Bild:
actions:
- action: notify.mobile_app_dein_handy
data:
message: Es hat geklingelt.
data:
entity_id: camera.haustuerDer Rest der Automation bleibt gleich. Anhänge dürfen laut Dokumentation bei Bildern bis zu 10 MB groß sein. Wenn Du Kamerabilder ohnehin lokal auswertest, liefert Dir Frigate mit Home Assistant: Kameras lokal auswerten die passenden Auslöser, etwa „Person erkannt“ statt „Bewegung“.
Fall 3: Nachricht mit Knöpfen zum Antworten
Jetzt wird es spannend: Die Benachrichtigung fragt „Garagentor schließen?“, und ein Tipp auf den Knopf schließt das Tor. Dafür schickt die App beim Tippen ein Ereignis namens mobile_app_notification_action an Home Assistant, auf das die Automation wartet.
alias: Garagentor offen, nachfragen
mode: single
triggers:
- trigger: state
entity_id: cover.garagentor
to: open
for:
minutes: 15
actions:
- variables:
aktion_schliessen: "{{ 'SCHLIESSEN_' ~ context.id }}"
aktion_ignorieren: "{{ 'IGNORIEREN_' ~ context.id }}"
- action: notify.mobile_app_dein_handy
data:
title: Garagentor
message: Das Garagentor ist seit 15 Minuten offen. Schließen?
data:
tag: garagentor
actions:
- action: "{{ aktion_schliessen }}"
title: Schließen
- action: "{{ aktion_ignorieren }}"
title: Offen lassen
- wait_for_trigger:
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: "{{ aktion_schliessen }}"
- trigger: event
event_type: mobile_app_notification_action
event_data:
action: "{{ aktion_ignorieren }}"
timeout:
minutes: 30
continue_on_timeout: false
- if:
- condition: template
value_template: "{{ wait.trigger.event.data.action == aktion_schliessen }}"
then:
- action: cover.close_cover
target:
entity_id: cover.garagentorSo funktioniert das Zusammenspiel:
- Der Block
variableserzeugt für jeden Lauf eindeutige Kennungen für die beiden Knöpfe. Ohne die angehängtecontext.idkönnte ein Tipp auf eine alte Benachrichtigung von gestern das Tor heute schließen. Diese Technik empfiehlt die Dokumentation der Companion App ausdrücklich. - Die Benachrichtigung bekommt unter
actionsdie beiden Knöpfe mit ihren Kennungen und den sichtbaren Beschriftungen. wait_for_triggerwartet bis zu 30 Minuten auf genau diese beiden Kennungen. Kommt keine Antwort, endet die Automation dankcontinue_on_timeout: falseeinfach.- Der
if-Block prüft, welcher Knopf es war, und schließt nur beim richtigen das Tor.
Android zeigt höchstens drei Knöpfe pro Benachrichtigung, iOS etwa zehn. Für Aktionen mit Sicherheitsbezug wie Tür oder Tor setzt Du beim Knopf zusätzlich authenticationRequired: true. Dann muss das Handy entsperrt sein, bevor der Tipp zählt.
Eine Sache solltest Du wissen: Solange die Automation wartet, läuft sie. Mit mode: single wird sie in dieser Zeit nicht ein zweites Mal gestartet. Das ist hier gewollt, damit Du nicht mehrere Nachfragen für dasselbe offene Tor bekommst.
Fall 4: kritischer Alarm, der lautlos durchbricht
Normale Benachrichtigungen schweigen im Lautlos-Modus und unter einem Fokus. Für Rauch, Wasser oder einen Einbruchsalarm willst Du aber geweckt werden. Auf dem iPhone heißt das kritischer Hinweis:
alias: Rauchalarm aufs iPhone
triggers:
- trigger: state
entity_id: binary_sensor.rauchmelder_flur
to: "on"
actions:
- action: notify.mobile_app_dein_iphone
data:
title: Rauchalarm
message: Der Rauchmelder im Flur hat ausgelöst.
data:
push:
sound:
name: default
critical: 1
volume: 1.0critical: 1 macht die Meldung kritisch, volume: 1.0 spielt den Ton in voller Lautstärke, unabhängig von der Einstellung am Gerät. Voraussetzung ist, dass Du der App kritische Hinweise erlaubt hast, sonst kommt die Meldung als normale Nachricht an. Prüfen kannst Du das unter Einstellungen > Mitteilungen > Home Assistant.
Unter Android ersetzt Du den Block unter dem inneren data durch:
data:
ttl: 0
priority: high
channel: alarm_streamttl: 0 und priority: high sorgen dafür, dass die Nachricht sofort zugestellt wird, auch wenn das Handy im Energiesparmodus schläft. channel: alarm_stream spielt den Ton über den Wecker-Kanal und damit auch bei stumm geschaltetem Klingelton. Den Modus „Bitte nicht stören“ überwindet das laut Dokumentation standardmäßig nicht. Wenn Du das willst, erlaubst Du der App in den Android-Einstellungen unter „Bitte nicht stören“ eine Ausnahme.
Benutze kritische Alarme sparsam. Wer bei jeder offenen Tür aus dem Schlaf gerissen wird, schaltet sie irgendwann ab und verpasst dann den echten Notfall.
An mehrere Personen gleichzeitig
Sollen alle Handys im Haushalt den Rauchalarm bekommen, legst Du eine Benachrichtigungsgruppe an. Das geht für die mobile_app-Dienste nur in der configuration.yaml. Öffne sie, zum Beispiel mit dem File Editor aus den Add-ons, und ergänze:
notify:
- platform: group
name: alle_handys
services:
- action: mobile_app_annas_iphone
- action: mobile_app_bens_pixelDie Namen stehen hier ohne das vorangestellte notify.. Starte Home Assistant danach unter Einstellungen > System über das Menü oben rechts neu. Anschließend schickst Du Nachrichten mit action: notify.alle_handys an alle auf einmal. Gibt es im Haushalt iPhones und Android-Handys, und brauchst Du plattformspezifische Optionen wie den kritischen Alarm, legst Du am einfachsten je eine Gruppe pro Plattform an.
Wenn keine Benachrichtigung ankommt
Der Test aus den Entwicklerwerkzeugen kommt nicht an: Prüf in den Systemeinstellungen des Handys, ob die App Mitteilungen senden darf. Auf Android-Handys kann zusätzlich ein aggressiver Energiesparmodus die App schlafen legen. Nimm die Home-Assistant-App dort von der Akkuoptimierung aus.
Die Aktion notify.mobile_app_… fehlt: Das Handy ist nicht oder nicht mehr verbunden. Öffne in der App Einstellungen > Companion App, prüfe die Serververbindung und melde Dich notfalls neu an. Nach einer Neuanmeldung kann der Name einen Zusatz wie _2 bekommen. Pass die Automationen dann an oder entferne das alte Gerät.
Die Benachrichtigung kommt, die Automation reagiert aber nicht auf den Knopf: Unterwegs erreicht das Handy Home Assistant nicht, oder die Automation wartet gar nicht mehr, weil timeout abgelaufen ist. Zu Hause im WLAN testen grenzt das schnell ein.
Die Automation löst gar nicht aus: Dann liegt das Problem vor der Benachrichtigung. Wie Du mit den Traces herausfindest, woran es hängt, zeigt Home Assistant: Automation löst nicht aus, Fehlersuche.
Wer Benachrichtigungen ganz ohne die Companion App und unabhängig von Google und Apple verschicken will, etwa von einem Server aus, findet in Push-Benachrichtigungen selbst hosten mit ntfy die passende Alternative.
Weiterlesen.
-
Raspberry Pi & LinuxHome Assistant: Automation löst nicht aus, Fehlersuche
Deine Home-Assistant-Automation tut nichts? Mit Traces findest Du die Ursache: Trigger, Bedingung, Modus Einzeln, nicht verfügbare Entität oder Zeitzone.
Nathan Base -
Raspberry Pi & LinuxHome Assistant von unterwegs: Tailscale oder Cloudflare
Home Assistant ohne Portfreigabe von unterwegs erreichen, auch mit DS-Lite: Tailscale, Cloudflare Tunnel und Nabu Casa im Vergleich, mit Anleitung.
Nathan Base -
Selfhosting & WebPush-Benachrichtigungen selbst hosten mit ntfy
ntfy mit Docker und Caddy selbst hosten, absichern und Meldungen von Skripten, Uptime Kuma und Home Assistant aufs iPhone und Android-Handy schicken.
Nathan Base -
Raspberry Pi & LinuxFrigate mit Home Assistant: Kameras lokal auswerten
Frigate erkennt Personen, Autos und Tiere auf Deinen Kameras lokal ohne Cloud-Abo. Hardware, Kamerawahl, Installation und Anbindung an Home Assistant.
Nathan Base -
Raspberry Pi & LinuxHeizung smart mit Home Assistant: Thermostate und Fenster
Heizkörperthermostate lokal in Home Assistant: passende Zigbee-Modelle, Heizplan per Zeitplan-Helfer, Fenster-offen-Automation, externer Sensor.
Nathan Base -
Raspberry Pi & LinuxMatter-Geräte in Home Assistant und Apple Home nutzen
Ein Matter-Gerät in Apple Home und Home Assistant zugleich: was über Matter geht, Multi-Admin Schritt für Schritt und aktuelle Probleme mit Thread.
Nathan Base