Stell dir vor, du schaust kurz aufs Handy – und siehst ohne Entsperren direkt auf dem Sperrbildschirm: „Waschmaschine – noch 23 Minuten“, inklusive Fortschrittsbalken. Oder beim E-Auto: „Laden · 62 %“. Genau das machen Live Activities (iPhone) und Live Updates (Android) mit der Home-Assistant-App. Kein Suchen im Dashboard, kein Benachrichtigungs-Spam – nur eine kleine Karte, die sich von selbst aktualisiert.
In diesem Guide richten wir das Ganze Schritt für Schritt ein: vom ersten Test in zwei Minuten bis zur fertigen Waschmaschinen-Automation mit smarter Steckdose. Du brauchst keine Programmierkenntnisse – nur ein bisschen Copy & Paste.
Was sind Live Activities überhaupt?
Du kennst das von Lieferdiensten oder der Sport-App: Oben im Sperrbildschirm (und in der Dynamic Island beim iPhone) klebt eine kleine Karte, die den aktuellen Stand anzeigt – ohne dass ständig neue Benachrichtigungen aufploppen. Home Assistant kann das mit der aktuellen Companion-App auch. Die Karte wird per Push-Nachricht aus deinen Automationen gefüttert und lebt maximal 8 Stunden (Apple-Limit).
- iPhone: Karte auf dem Sperrbildschirm + Dynamic Island (ab iPhone 14 Pro / alle iPhone 15 und neuer). Auf dem iPad gibt es keine Live Activities (Apple-Einschränkung).
- Android: Angepinnt in der Benachrichtigungsleiste, auf dem Sperrbildschirm, dem Always-On-Display und als kleiner Chip in der Statusleiste.
Typische Einsätze: Waschmaschine/Trockner/Spülmaschine, Saugroboter, E-Auto-Ladung, 3D-Drucker, Alarmanlagen-Status, Paketlieferung, Timer aller Art.
Voraussetzungen (bitte kurz abhaken)
- Home Assistant Core 2026.7 oder neuer (Einstellungen → Über prüfen).
- Companion-App auf dem aktuellen Stand (App Store / Play Store).
- iPhone: iOS 17.2 oder neuer. Unter iOS-Einstellungen → Home Assistant → Live-Aktivitäten muss der Schalter an sein.
- Android: Android 16 oder neuer. Bei Samsung ggf. in den Entwickleroptionen „Live-Benachrichtigungen für alle Apps“ aktivieren.
- Erreichbarkeit: Die App muss Home Assistant erreichen können, um Token auszutauschen – also entweder zuhause im WLAN oder unterwegs per Fernzugriff (Nabu Casa, VPN, eigene Domain). Ohne Verbindung startet keine Live Activity.
Schritt 1: Den Namen deines Handys herausfinden
Jede Nachricht geht an eine Aktion namens notify.mobile_app_<dein_gerät>. Den Namen hast du beim Verbinden der App vergeben – meist so etwas wie notify.mobile_app_iphone_von_torsten.
- Öffne in Home Assistant Entwicklerwerkzeuge → Aktionen.
- Tippe in das Suchfeld „mobile_app“ – die Liste zeigt dir alle deine Handys.
- Merk dir den Namen deines Geräts. Den setzen wir gleich überall dort ein, wo unten
notify.mobile_app_dein_handysteht.
Alternativ findest du ihn in der App unter Einstellungen → Companion App → Server & Geräte.
Schritt 2: Der 2-Minuten-Test
Bevor wir eine Automation bauen, testen wir die Live Activity direkt in den Entwicklerwerkzeugen. Wechsle bei Entwicklerwerkzeuge → Aktionen oben rechts in den YAML-Modus und füge das ein:
action: notify.mobile_app_dein_handy
data:
title: „Waschmaschine"
message: „Programm gestartet"
data:
tag: waschmaschine
live_update: trueAuf „Aktion ausführen“ klicken – und auf dem Sperrbildschirm erscheint die Karte. Zwei Dinge sind hier entscheidend:
live_update: truesagt der App: „Zeig das als Live Activity, nicht als normale Benachrichtigung.“tagist der Name der Karte. Schickst du später eine Nachricht mit demselben Tag, wird die vorhandene Karte aktualisiert statt eine neue erstellt. Erlaubt sind Buchstaben, Zahlen, Bindestrich und Unterstrich (max. 64 Zeichen).
Android-Hinweis: Ohne title landet die Nachricht als normale Benachrichtigung. Also immer einen Titel setzen.
Schritt 3: Fortschrittsbalken und Timer dazu
Jetzt wird’s hübsch. Mit progress / progress_max bekommst du einen Balken, mit chronometer + when einen laufenden Countdown, der direkt auf dem Handy zählt – ganz ohne weitere Push-Nachrichten:
action: notify.mobile_app_dein_handy
data:
title: „Waschmaschine"
message: „Spülen · 1 von 2"
data:
tag: waschmaschine
live_update: true
progress: 900 # aktueller Wert (z. B. 900 Sekunden vergangen)
progress_max: 3600 # Maximalwert (z. B. 3600 Sekunden = 1 Stunde)
chronometer: true # laufender Timer anzeigen
when: 2700 # Restzeit in Sekunden …
when_relative: true # … ab jetzt gerechnet
notification_icon: mdi:washing-machine
notification_icon_color: „#22d3ee" # iPhone: Icon- und Balkenfarbe
color: „#22d3ee" # Android: Icon-FarbeZeile für Zeile erklärt:
- progress / progress_max: Nur wenn beide gesetzt sind, erscheint der Balken. 900 von 3600 = 25 %.
- chronometer + when + when_relative: „Zähle ab jetzt 2700 Sekunden (45 Minuten) runter.“ Der Timer läuft lokal auf dem Handy – du musst nichts nachschicken.
- notification_icon: Jedes Material-Design-Icon funktioniert, z. B.
mdi:robot-vacuum,mdi:ev-station,mdi:dishwasher. - Farben: iPhone nutzt
notification_icon_color, Androidcolor. Einfach beides setzen.
Schritt 4: Karte aktualisieren
Zum Aktualisieren schickst du einfach nochmal eine Nachricht mit demselben tag. Die Karte ändert sich still – kein Banner, kein Ton:
action: notify.mobile_app_dein_handy
data:
title: „Waschmaschine"
message: „Fertig – bitte ausräumen"
data:
tag: waschmaschine
live_update: true
progress: 3600
progress_max: 3600
notification_icon: mdi:washing-machine
notification_icon_color: „#a3e635"
color: „#a3e635"Achtung: Der title wird nur beim Start gesetzt – Updates können ihn nicht mehr ändern. Der message-Text dagegen schon.
Schritt 5: Karte beenden
Fertig ist fertig – irgendwann soll die Karte verschwinden. Dafür schickst du den Befehl clear_notification mit dem passenden Tag (funktioniert auf iPhone und Android):
action: notify.mobile_app_dein_handy
data:
message: „clear_notification"
data:
tag: waschmaschinePraxisbeispiel 1: Waschmaschine mit smarter Steckdose
Das Klassiker-Setup: Die Waschmaschine hängt an einer Steckdose mit Verbrauchsmessung. Läuft die Maschine, steigt die Leistung; ist sie fertig, fällt sie auf fast null. Genau das nutzen wir als Auslöser. Ich verwende dafür den Shelly Plug S – zuverlässig, WLAN, lokal in Home Assistant und misst sauber:
Der Shelly Plug S Gen3 misst den Verbrauch zuverlässig, läuft komplett lokal über WLAN in Home Assistant und schaltet bis 2500 W – mehr als genug für Waschmaschine oder Trockner. Der Leistungssensor daraus ist genau der Auslöser für die Automation unten.
Ersetze in der Automation sensor.waschmaschine_leistung durch den Leistungs-Sensor deiner Steckdose (in Watt) und notify.mobile_app_dein_handy durch dein Gerät. Die Schwellenwerte (5 W / 3 W) passen für die meisten Maschinen – schau dir im Verlauf deiner Steckdose an, was deine im Leerlauf zieht.
alias: Waschmaschine Live Activity
description: Zeigt den Waschmaschinen-Status auf dem Sperrbildschirm
mode: single
triggers:
- trigger: numeric_state
entity_id: sensor.waschmaschine_leistung
above: 5
id: gestartet
- trigger: numeric_state
entity_id: sensor.waschmaschine_leistung
below: 3
for:
minutes: 3
id: fertig
actions:
- choose:
- conditions:
- condition: trigger
id: gestartet
sequence:
- action: notify.mobile_app_dein_handy
data:
title: „Waschmaschine"
message: „Läuft gerade"
data:
tag: waschmaschine
live_update: true
chronometer: true
when: 5400 # typische Laufzeit: 90 Minuten
when_relative: true
progress_bar_direction: increasing
notification_icon: mdi:washing-machine
notification_icon_color: „#22d3ee"
color: „#22d3ee"
url: /lovelace/haushalt # iPhone: öffnet diese Ansicht beim Tippen
- conditions:
- condition: trigger
id: fertig
sequence:
- action: notify.mobile_app_dein_handy
data:
title: „Waschmaschine"
message: „Fertig – Wäsche ausräumen"
data:
tag: waschmaschine
live_update: true
progress: 100
progress_max: 100
notification_icon: mdi:washing-machine
notification_icon_color: „#a3e635"
color: „#a3e635"
- delay:
minutes: 15
- action: notify.mobile_app_dein_handy
data:
message: „clear_notification"
data:
tag: waschmaschineWas passiert hier? Steigt der Verbrauch über 5 W, startet die Karte mit einem 90-Minuten-Countdown, dessen Balken sich füllt (progress_bar_direction: increasing). Bleibt der Verbrauch 3 Minuten lang unter 3 W, wechselt die Karte auf „Fertig“ in Lime-Grün – und räumt sich nach 15 Minuten selbst weg. Das for: minutes: 3 ist wichtig, weil viele Maschinen zwischendurch kurz pausieren (z. B. beim Einweichen).
Praxisbeispiel 2: Saugroboter mit Akku-Fortschritt
Beim Saugroboter nehmen wir den Status der vacuum-Entität als Auslöser und zeigen den Akku als Balken. Damit iOS nicht überfordert wird, aktualisieren wir nicht bei jedem Akku-Prozent, sondern nur bei Statuswechseln:
alias: Saugroboter Live Activity
mode: queued
triggers:
- trigger: state
entity_id: vacuum.roborock
to:
- cleaning
- returning
- docked
- error
actions:
- choose:
- conditions: „{{ trigger.to_state.state == ‚docked' }}"
sequence:
- action: notify.mobile_app_dein_handy
data:
message: „clear_notification"
data:
tag: saugroboter
default:
- action: notify.mobile_app_dein_handy
data:
title: „Saugroboter"
message: >-
{% set s = trigger.to_state.state %}
{{ {‚cleaning': ‚Saugt gerade', ‚returning': ‚Fährt zurück zur Station', ‚error': ‚Fehler – bitte nachsehen'}[s] }}
data:
tag: saugroboter
live_update: true
critical_text: „{{ state_attr(‚vacuum.roborock', ‚battery_level') }} %"
progress: „{{ state_attr(‚vacuum.roborock', ‚battery_level') | int(0) }}"
progress_max: 100
notification_icon: mdi:robot-vacuum
notification_icon_color: „{{ ‚#f87171' if trigger.to_state.state == ‚error' else ‚#22d3ee' }}"
color: „{{ ‚#f87171' if trigger.to_state.state == ‚error' else ‚#22d3ee' }}"Der critical_text ist der kleine Text oben rechts in der Karte bzw. im Android-Statusleisten-Chip – hier der Akkustand. Bei einem Fehler wird das Icon rot.
Praxisbeispiel 3: E-Auto laden (in 5-%-Schritten)
Der Ladestand ändert sich ständig – würden wir bei jeder Änderung pushen, würde iOS die Updates drosseln. Deshalb nur alle 5 %:
alias: E-Auto Ladung Live Activity
mode: queued
triggers:
- trigger: state
entity_id: sensor.eauto_ladestand
conditions:
- condition: template
value_template: „{{ trigger.to_state.state | int(0) % 5 == 0 }}"
- condition: state
entity_id: binary_sensor.eauto_laedt
state: „on"
actions:
- action: notify.mobile_app_dein_handy
data:
title: „E-Auto lädt"
message: „Laden · {{ states('sensor.eauto_ladestand') }} %"
data:
tag: eauto-laden
live_update: true
critical_text: „{{ states('sensor.eauto_ladestand') }} %"
progress: „{{ states('sensor.eauto_ladestand') | int(0) }}"
progress_max: 100
notification_icon: mdi:ev-station
notification_icon_color: „#a3e635"
color: „#a3e635"
silent: trueDazu eine zweite kleine Automation, die bei binary_sensor.eauto_laedt → off die Karte per clear_notification beendet. silent: true lässt iOS die Updates stromsparend bündeln – perfekt für alles, was nicht dringend ist.
Praxisbeispiel 4: Spülmaschine oder 3D-Drucker per Timer
Viele Geräte melden keinen Fortschritt, aber du kennst die Laufzeit. Dann reicht ein Countdown – eine einzige Nachricht, der Rest läuft auf dem Handy:
action: notify.mobile_app_dein_handy
data:
title: „Spülmaschine"
message: „Eco-Programm läuft"
data:
tag: spuelmaschine
live_update: true
chronometer: true
when: 10800 # 3 Stunden
when_relative: true
notification_icon: mdi:dishwasher
notification_icon_color: „#22d3ee"
color: „#22d3ee"Wenn deine Spülmaschine an einer Zigbee-Steckdose mit Verbrauchsmessung hängt, kannst du das Ganze natürlich wie bei der Waschmaschine automatisch starten und beenden. Ich nutze in der Küche gern die Aqara-Steckdose – klein, Zigbee (also kein zusätzliches WLAN-Gerät im Netz) und mit Leistungsmessung:
Die Aqara Smart Plug funkt über Zigbee (kein zusätzliches WLAN-Gerät), misst den Verbrauch und ist klein genug, um hinter der Spülmaschine nicht zu stören. Mit Zigbee2MQTT oder ZHA in wenigen Sekunden eingebunden.
Die wichtigste Regel: Nicht zu oft aktualisieren
Jedes Update ist eine Push-Nachricht. iOS hat dafür ein Budget: Wer zu oft schickt, wird gedrosselt – Updates kommen verspätet oder gar nicht mehr an. Darum:
- ✅ Auslösen bei echten Statuswechseln (läuft → fertig), nicht bei jedem Sensor-Tick.
- ✅ Für Zeiten den
chronometernutzen – der zählt auf dem Gerät. - ✅ Kontinuierliche Werte auf sinnvolle Schritte runden (alle 5 %, alle 10 Minuten).
- ❌ Kein
time_patternim Sekundentakt. - ❌ Nicht direkt auf Leistungs- oder Temperatursensoren triggern, die sich alle paar Sekunden ändern.
Profi-Trick „Entprellen“: Setze die Automation auf mode: restart und packe ein delay vor die Nachricht. Jeder neue Auslöser startet die Wartezeit neu – am Ende geht nur ein Update mit dem aktuellsten Wert raus:
mode: restart
triggers:
- trigger: state
entity_id: sensor.haeufig_wechselnder_wert
actions:
- delay: „00:00:30"
- action: notify.mobile_app_dein_handy
data:
title: „Mein Wert"
message: „{{ states('sensor.haeufig_wechselnder_wert') }}"
data:
tag: mein-wert
live_update: trueDesign: Farben, Antippen, Balkenrichtung (iPhone)
Standardmäßig ist die Karte schwarz mit hellem Text. Du kannst sie in deine Farben tauchen – hier passend zum mastershort-Dark-Look:
action: notify.mobile_app_dein_handy
data:
title: „Waschmaschine"
message: „Fertig"
data:
tag: waschmaschine
live_update: true
background_color: „#0a0e14"
text_color: „#e6edf3"
progress_bar_color: „#22d3ee"
url: /lovelace/haushalt- background_color / text_color: Hintergrund und Textfarbe der Sperrbildschirm-Karte. Lässt du
text_colorweg, wählt die App automatisch eine kontrastreiche Farbe. - progress_bar_color: Balkenfarbe getrennt vom Icon.
- url: Was beim Antippen passiert – ein relativer Pfad wie
/lovelace/haushaltöffnet diese Dashboard-Ansicht in der App, einehttps://-Adresse den Browser. Der Wert gilt jeweils nur für das Update, mit dem er geschickt wird. - progress_bar_direction:
increasing(füllt sich) oderdecreasing(leert sich). Standard: Fortschritt füllt, Countdown leert.
Die Dynamic Island behält übrigens immer ihren dunklen System-Look – die Farben gelten für die Karte auf dem Sperrbildschirm.
Alle Felder auf einen Blick
title und message stehen direkt unter data:, alles andere im inneren data:-Block.
| Feld | Bedeutung | Plattform |
|---|---|---|
tag | Eindeutiger Name der Karte (Pflicht). Gleicher Tag = Update. | beide |
live_update | true = als Live Activity anzeigen | beide |
title | Überschrift, nur beim Start setzbar | beide (Android: Pflicht) |
message | Haupttext | beide |
critical_text | Kurzer Zusatztext (oben rechts / Statusleisten-Chip) | beide |
progress / progress_max | Fortschrittsbalken (nur wenn beide gesetzt) | beide |
chronometer + when + when_relative | Laufender Timer; when in Sekunden ab jetzt (relative) oder als Unix-Zeitstempel | beide |
notification_icon | MDI-Icon, z. B. mdi:washing-machine | beide |
notification_icon_color | Icon-/Balkenfarbe (Hex) | iPhone |
color | Icon-Farbe (Hex) | Android |
silent | Update ohne Ton, stromsparend gebündelt | iPhone |
url | Ziel beim Antippen | iPhone |
background_color / text_color / progress_bar_color | Eigene Farben der Karte | iPhone |
progress_bar_direction | increasing oder decreasing | iPhone |
alert_once | Ton/Vibration nur einmal | Android |
sticky | Bleibt beim Antippen bestehen | Android |
Fehlerbehebung: Wenn nichts erscheint
- iPhone – Schalter prüfen: iOS-Einstellungen → Home Assistant → Live-Aktivitäten aktiv? Und den einmaligen Datenschutz-Hinweis in der App bestätigt?
- Verbindung: Erreicht die App deinen Home Assistant gerade (zuhause oder Fernzugriff)? Ohne Verbindung klappt der Token-Austausch nicht – die Automation läuft dann zwar „erfolgreich“ durch, aber am Handy passiert nichts.
- Zu viel getestet? iOS begrenzt, wie oft neue Karten per Push gestartet werden dürfen. Wer beim Basteln zehnmal startet und beendet, verbraucht dieses Budget – danach starten neue Karten still nicht mehr. Kein Fehler im Log, kein Hinweis. Das Budget füllt sich von selbst wieder (Minuten bis Stunden); ein Neustart des Handys hilft nicht. Also: beim Testen lieber updaten als ständig neu starten.
- Karte hängt: Einmal
clear_notificationmit dem Tag schicken, dann neu starten – oder einen anderen Tag verwenden. - Updates kommen nicht an: Automation aktualisiert zu häufig → siehe Regel oben.
- Android – normale Benachrichtigung statt Karte: Fehlt der
title? Android 16 installiert? Samsung: „Live-Benachrichtigungen für alle Apps“ in den Entwickleroptionen. - Übersicht in der App: Unter Einstellungen → Live Activities (iPhone) siehst du, ob die Funktion aktiv ist, und kannst laufende Karten manuell beenden.
Häufige Fragen
Brauche ich Nabu Casa? Nein. Du brauchst nur einen Weg, wie dein Handy Home Assistant erreicht. Nabu Casa ist der bequemste, ein VPN (z. B. WireGuard) oder eine eigene Domain funktionieren genauso.
Geht das auf der Apple Watch? Die Live Activity selbst läuft auf dem iPhone; auf der Watch erscheinen die normalen Benachrichtigungen der App. Mit einem iPhone ohne Dynamic Island (bis iPhone 14) siehst du die Karte nur auf dem Sperrbildschirm.
Warum verschwindet die Karte nach ein paar Stunden? Apple beendet Live Activities spätestens nach 8 Stunden. Für sehr lange Vorgänge (z. B. Laden über Nacht) startest du sie einfach per Automation erneut.
Kann ich mehrere Karten gleichzeitig haben? Ja – einfach unterschiedliche tag-Werte verwenden. In der Dynamic Island teilen sich zwei Aktivitäten den Platz (minimale Darstellung).
Kostet das etwas? Nein, die Funktion ist Teil der kostenlosen Companion-App. Nur der Fernzugriff kann je nach Lösung Geld kosten.
Fazit
Live Activities sind für mich eines der praktischsten Features der letzten Zeit: Ein Blick aufs Handy reicht, um zu wissen, ob die Wäsche fertig ist oder das Auto voll – ganz ohne Benachrichtigungs-Flut. Der Einstieg dauert zwei Minuten, die Waschmaschinen-Automation oben ist in zehn Minuten eingerichtet. Wichtigste Regel: Statuswechsel statt Sekundentakt, dann läuft’s stabil.
Wenn du noch ganz am Anfang stehst, hilft dir mein Home-Assistant-Starter-Guide. Die Steckdosen und Sensoren, die ich selbst nutze, findest du in meiner Ausstattung – und für ein Dashboard im gleichen Look wie deine neuen Sperrbildschirm-Karten gibt’s mein gratis Icon-Pack mit 259 Smart-Home-Icons, wenn du dich unten für den Newsletter einträgst.
