{"id":1525,"date":"2026-08-05T13:00:46","date_gmt":"2026-08-05T11:00:46","guid":{"rendered":"https:\/\/www.coremind.ch\/wordpress\/?p=1525"},"modified":"2026-08-05T13:00:46","modified_gmt":"2026-08-05T11:00:46","slug":"persistent-notifications-in-ha-aufs-handy-holen","status":"publish","type":"post","link":"https:\/\/www.coremind.ch\/wordpress\/persistent-notifications-in-ha-aufs-handy-holen\/","title":{"rendered":"Persistent Notifications in HA aufs Handy holen"},"content":{"rendered":"<p>Home Assistant meldet vieles \u00fcber sein eigenes Bordmittel: die Persistent Notifications im Frontend. Ein fehlgeschlagenes Backup, eine Integration, die neu eingerichtet werden will, ein Ger\u00e4t, das nicht mehr antwortet \u2013 all das landet als gelber Hinweis in der Seitenleiste. Das Problem: Wer die Oberfl\u00e4che gerade nicht offen hat, sieht diese Meldungen tagelang nicht. Dieser Beitrag zeigt, wie Sie die Systemhinweise z\u00e4hlen, auf dem Dashboard sichtbar machen und wichtige Meldungen sofort aufs Handy pushen.<\/p>\n<h2>Die Idee: Systemmeldungen nicht mehr \u00fcbersehen<\/h2>\n<p>Persistent Notifications sind bewusst hartn\u00e4ckig \u2013 sie bleiben stehen, bis jemand sie wegklickt. Genau deshalb eignen sie sich f\u00fcr Dinge, die Aufmerksamkeit brauchen. Nur n\u00fctzt die Hartn\u00e4ckigkeit nichts, wenn niemand hinschaut. Das Ziel ist deshalb zweigeteilt: erstens ein Sensor, der jederzeit anzeigt, wie viele Meldungen offen sind, und zweitens eine Automation, die bei jeder neuen Meldung eine Push-Nachricht auf Ihr iPhone schickt.<\/p>\n<h2>Schritt 1: Offene Meldungen als Sensor z\u00e4hlen<\/h2>\n<p>Home Assistant f\u00fchrt intern eine Liste aller aktiven Persistent Notifications. \u00dcber ein Template l\u00e4sst sich daraus ein Z\u00e4hler bauen. Legen Sie dazu in Ihrer <code>configuration.yaml<\/code> \u2013 oder in einer ausgelagerten <code>template.yaml<\/code> \u2013 einen Template-Sensor an:<\/p>\n<pre><code>\ntemplate:\n  - sensor:\n      - name: \"Offene Systemmeldungen\"\n        unique_id: offene_systemmeldungen\n        icon: mdi:bell-alert\n        state: >\n          {{ states.persistent_notification | list | count }}\n        attributes:\n          titel: >\n            {{ states.persistent_notification\n               | map(attribute='attributes.title') | list | join(', ') }}\n<\/code><\/pre>\n<p>Der Sensor <code>sensor.offene_systemmeldungen<\/code> zeigt nun die Anzahl offener Meldungen, und im Attribut <code>titel<\/code> stehen deren \u00dcberschriften. Auf einem Dashboard gen\u00fcgt eine schlichte Entities- oder Mushroom-Karte, um die Zahl dauerhaft im Blick zu behalten. Steht dort eine Null, ist alles sauber; jede andere Zahl heisst: nachsehen.<\/p>\n<p>Ein Hinweis zur Robustheit: Da der Sensor direkt auf die interne Objektliste zugreift, bleibt er auch dann korrekt, wenn Sie Meldungen manuell wegklicken oder eine Automation sie automatisch quittiert. Er braucht keine zus\u00e4tzliche Datenbank und keinen externen Dienst \u2013 ein leichtgewichtiger W\u00e4chter, der bei jedem Neustart sofort wieder den aktuellen Stand liefert.<\/p>\n<h2>Schritt 2: Bei neuer Meldung sofort pushen<\/h2>\n<p>Seit HA die Persistent-Notification-Trigger kennt, muss man den Zustand nicht mehr pollen. Der Trigger feuert, sobald eine Meldung hinzukommt, sich \u00e4ndert oder verschwindet. F\u00fcr die Push-Benachrichtigung interessiert uns der Typ <code>added<\/code>:<\/p>\n<pre><code>\nautomation:\n  - alias: \"Systemmeldung aufs Handy\"\n    trigger:\n      - trigger: persistent_notification\n        update_type:\n          - added\n    action:\n      - action: notify.mobile_app_mikes_iphone_17_pro\n        data:\n          title: \"HA-Systemmeldung\"\n          message: >\n            {{ trigger.notification.title | default('Neue Meldung') }} \u2013\n            {{ trigger.notification.message | default('') | truncate(120) }}\n          data:\n            push:\n              interruption-level: time-sensitive\n            tag: \"ha_persistent_{{ trigger.notification.notification_id }}\"\n<\/code><\/pre>\n<p>Der Trigger stellt unter <code>trigger.notification<\/code> gleich Titel, Text und die <code>notification_id<\/code> bereit. \u00dcber das <code>tag<\/code> verhindern Sie doppelte Push-Nachrichten f\u00fcr dieselbe Meldung, und <code>interruption-level: time-sensitive<\/code> sorgt daf\u00fcr, dass die Nachricht auch bei aktiviertem Fokus durchkommt \u2013 ohne die Nachtruhe komplett zu durchbrechen.<\/p>\n<h2>Schritt 3: Rauschen filtern und aufr\u00e4umen<\/h2>\n<p>Nicht jede Systemmeldung ist ein Notfall. Wollen Sie nur bei bestimmten Ereignissen benachrichtigt werden, pr\u00fcfen Sie im <code>action<\/code>-Block per Bedingung den Titel oder die <code>notification_id<\/code> und brechen bei unwichtigen Meldungen ab. So bleibt der Push-Kanal f\u00fcr das reserviert, was wirklich z\u00e4hlt. Ein typischer Fall: Meldungen der Integration <code>hacs<\/code> \u00fcber verf\u00fcgbare Updates d\u00fcrfen ruhig warten, w\u00e4hrend der Titel \u00abBackup fehlgeschlagen\u00bb sofort auf den Schirm geh\u00f6rt. Zwei, drei solcher Regeln gen\u00fcgen meist, um das Rauschen dauerhaft im Griff zu haben.<\/p>\n<p>Praktisch ist ausserdem ein Aufr\u00e4um-Knopf auf dem Dashboard, der alle Meldungen auf einmal quittiert:<\/p>\n<pre><code>\nscript:\n  systemmeldungen_loeschen:\n    alias: \"Alle Systemmeldungen l\u00f6schen\"\n    sequence:\n      - action: persistent_notification.dismiss_all\n<\/code><\/pre>\n<p>Wer die Systemhinweise nicht nur pushen, sondern als dauerhaft \u00fcberwachte Zust\u00e4nde behandeln will, kombiniert das Ganze mit der Alert-Integration. Wie Warnungen dort so lange wiederholt werden, bis Sie wirklich reagieren, beschreibt der Beitrag <a href=\"https:\/\/www.coremind.ch\/wordpress\/alert-integration-in-ha-warnungen-die-dranbleiben\/\">Alert-Integration in HA: Warnungen, die dranbleiben<\/a>.<\/p>\n<h2>Fazit<\/h2>\n<p>Mit einem Z\u00e4hler-Sensor, einem Push per Persistent-Notification-Trigger und einem Aufr\u00e4um-Skript verwandeln Sie das leicht \u00fcbersehene Bordmittel von Home Assistant in ein zuverl\u00e4ssiges Fr\u00fchwarnsystem. Fehlgeschlagene Backups, hakende Integrationen oder anstehende Neukonfigurationen erreichen Sie so, wo Sie ohnehin hinschauen: auf dem Handy. Ein kleiner Baustein \u2013 aber einer, der verhindert, dass eine wichtige Systemmeldung wochenlang unbemerkt in der Seitenleiste schlummert.<\/p>\n<p>&#8212;<\/p>\n<p>Blog: https:\/\/www.coremind.ch\/wordpress\/ \u00b7 Autor: Mike Neuburger<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Home Assistant meldet vieles \u00fcber sein eigenes Bordmittel: die Persistent Notifications im Frontend. Ein fehlgeschlagenes Backup, eine Integration, die neu eingerichtet werden will, ein Ger\u00e4t, das nicht mehr antwortet \u2013 all das landet als gelber Hinweis in der Seitenleiste. Das Problem: Wer die Oberfl\u00e4che gerade nicht offen hat, sieht diese Meldungen tagelang nicht. Dieser Beitrag &#8230; <a title=\"Persistent Notifications in HA aufs Handy holen\" class=\"read-more\" href=\"https:\/\/www.coremind.ch\/wordpress\/persistent-notifications-in-ha-aufs-handy-holen\/\" aria-label=\"Mehr Informationen \u00fcber Persistent Notifications in HA aufs Handy holen\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1525","post","type-post","status-publish","format-standard","hentry","category-ha"],"_links":{"self":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1525","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=1525"}],"version-history":[{"count":1,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1525\/revisions"}],"predecessor-version":[{"id":1603,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/posts\/1525\/revisions\/1603"}],"wp:attachment":[{"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=1525"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=1525"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coremind.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=1525"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}