Zum Inhalt

Benachrichtigungen

Die Integration schickt bei einem Statuswechsel selbst eine Benachrichtigung – über die Benachrichtigungswege von Home Assistant. Eine Automation brauchst du dafür nicht.

Es gibt zwei Wege:

  • Eingebaut (Optionen): Ziele und Ereignisse ankreuzen, fertig. Der Text ist fest.
  • Blueprint: für eigene Texte, eigene Bedingungen und die Extras der Home-Assistant-App.

Nur einen Weg einschalten

Schaltest du Benachrichtigungen in den Optionen ein und zusätzlich über den Blueprint oder eine eigene Automation, bekommst du jede Meldung zweimal.

Eingebaute Benachrichtigungen

Einrichten

  1. Einstellungen → Geräte & Dienste → Paket Tracker → Konfigurieren öffnen und den Bereich „Benachrichtigungen“ aufklappen.
  2. Ziele: ein oder mehrere Ziele aus der Liste wählen. Ohne Ziel wird nichts gesendet.
  3. Ereignisse: ankreuzen, wobei benachrichtigt wird.

Der Schalter „Benachrichtigungen aktiv“ schaltet sich mit dem ersten Ziel von selbst ein. Schaltest du ihn ein, ohne ein Ziel zu wählen, bekommst du einen Hinweis im Formular. Ausschalten (oder alle Ziele entfernen) beendet die Benachrichtigungen.

Ziele

Home Assistant kennt zwei Arten von Zielen. Beide stehen in derselben Auswahl und lassen sich mischen:

  • Benachrichtigungs-Entitäten (notify.…): der neuere Weg. In der Auswahl stehen sie mit ihrem Namen, z. B. „Tablet Wohnzimmer“. Sie stehen oben in der Liste.
  • Klassische Dienste: der ältere Weg, den viele Integrationen weiterhin nutzen – zum Beispiel Pushover. In der Auswahl stehen sie als „Dienst notify.…“, z. B. „Dienst notify.pushover“. Der Sammeldienst notify.notify steht am Ende der Liste.

Home-Assistant-App: Das Handy steht als „Dienst notify.mobile_app_<gerät>“ in der Auswahl, je nach Home-Assistant-Version zusätzlich als Entität. Gibt es für dasselbe Gerät beides, wähl nur eines von beiden – sonst kommt jede Meldung doppelt. Über den klassischen Dienst ersetzt eine neue Meldung die frühere zum selben Paket (siehe Frühere Meldung ersetzen).

Pushover: Richte Pushover zuerst in Home Assistant als Integration ein (Einstellungen → Geräte & Dienste → Integration hinzufügen → Pushover). Erst danach gibt es den Dienst. Er erscheint in der Auswahl als „Dienst notify.<name>“ – mit dem Namen, den du der Pushover-Integration gegeben hast. Dasselbe gilt für andere Integrationen, die nur einen klassischen Dienst mitbringen.

Ziel verschwunden: Ein gewähltes Ziel, das es in Home Assistant nicht mehr gibt (Gerät entfernt, Integration gelöscht oder gerade nicht geladen), bleibt gewählt und steht mit dem Zusatz „nicht mehr vorhanden“ in der Auswahl, bis du es abwählst. Beim Senden wird es übersprungen, ebenso ein Ziel, das gerade nicht verfügbar ist.

An wen geht die Meldung?

Sind Personen eingerichtet, hängt das Ziel vom Besitzer des Pakets ab:

  • Hat der Besitzer eigene Ziele (Benachrichtigungen an im Formular der Person), geht die Meldung nur dorthin.
  • Hat er keine, oder gehört das Paket allen, gehen die Meldungen an die oben gewählten Ziele, wie ohne Personen.
  • Liegen Bestellungen zweier Personen in einem Paket (gleiche Sendungsnummer), bekommt jede Person die Meldung einmal. Dieselbe Person bekommt sie nicht doppelt.

Welche Ereignisse gemeldet werden, gilt für alle gleich.

Ereignisse

Ereignis Voreingestellt (ab v0.3.26)
In Zustellung ja
Zugestellt ja
Abholbereit ja
Problem nein

Hast du die Benachrichtigungen schon vor v0.3.26 eingerichtet, behältst du deine Auswahl.

So sehen die Texte aus

Der Titel ist „Paket Tracker“, der Text eine Zeile:

Ereignis Beispiel
In Zustellung 📦 Kopfhörer (DHL) ist in Zustellung – heute 14:00–16:00 Uhr
In Zustellung, mit Zoll 📦 Kopfhörer (DHL) ist in Zustellung – Einfuhrabgaben 12,34 € bar bereithalten
Zugestellt ✅ Kopfhörer (DHL) wurde zugestellt
Abholbereit 📍 Kopfhörer (DHL) liegt zur Abholung bereit – Bonn bis 06.10.
Problem ⚠️ Kopfhörer (DHL): Problem bei der Zustellung
  • Das Zeitfenster steht nur da, wenn eines für heute bekannt ist.
  • Einfuhrabgaben (Zoll) stehen nur bei „In Zustellung“ da, und nur wenn eine DHL-Mail den Betrag genannt hat: Einfuhrabgaben 12,34 € bar bereithalten, bei einer anderen Zahlart Einfuhrabgaben 12,34 € bei Zustellung. Sie stehen nach dem Zeitfenster. Ohne bekannten Betrag steht nichts da. Meldet die DHL-Abfrage (mit API-Key) „In Zustellung“, bevor die Mail mit dem Betrag da ist, geht die Meldung ohne Zoll raus, und die spätere Mail löst keine zweite aus; der Betrag steht dann trotzdem auf der Karte und in den Attributen.
  • Abholort und letzter Abholtag stehen da, wenn der Paketdienst oder eine Abholmail sie nennt (Amazon „Paket zur Abholung bereit“, bei DHL nur der Abholort). Der Ort ist höchstens 40 Zeichen lang.
  • Genannt wird der Name des Pakets (bei Paketen aus Mails der Artikeltitel, höchstens 40 Zeichen).
  • Hat ein Paket keinen Namen, steht dort Paket …2557 mit den letzten vier Stellen der Nummer.
  • Mit Namen ausblenden steht dort statt eines Namens aus einer Mail DHL-Paket …2557, ohne den Paketdienst dahinter.

Nie im Text

Der Zustell-Code, die vollständige Sendungsnummer, eine Adresse, ein Ablageort und die Ereignistexte des Paketdienstes stehen nie in einer Benachrichtigung. Eine Benachrichtigung verlässt Home Assistant (bei der App über den Push-Dienst von Apple oder Google), deshalb bleibt sie so knapp.

Wann wird gesendet?

Gesendet wird genau dann, wenn auch das Event parcel_tracker_status_changed feuert – egal, ob der neue Status vom Paketdienst oder aus einer Mail kommt. Also nicht doppelt für denselben Status und nicht, wenn ein Paketdienst nach 17track mit einem älteren Stand antwortet.

  • Der allererste Status eines neuen Pakets wird nicht gemeldet. Eine Ausnahme: Legt eine „Zugestellt“-Mail eines Paketdienstes ein neues Paket an und nennt sie einen Shop oder eine Firma, wird diese Zustellung einmal gemeldet – aber nur, wenn die Mail höchstens 24 Stunden alt ist.
  • Während eines Neustarts geht nichts verloren: Wechselt ein Paket den Status, während Home Assistant neu startet oder die Integration neu lädt, folgen Event und Benachrichtigung genau einmal, sobald Home Assistant fertig gestartet ist – spätestens zwei Minuten nachdem die Integration geladen wurde. Nach einem Neuladen im laufenden Betrieb sofort. Eine noch ausstehende Meldung wird mit dem Paket gespeichert: Sie übersteht auch ein erneutes Neuladen und einen weiteren Neustart, bevor sie gesendet wurde.
  • Mehrere Wechsel in dieser Zeit werden zu einer Meldung vom alten zum neuesten Status.
  • Angenommene Zustellung: Schließt die Integration eine Amazon-, eBay-, AliExpress- oder Eventim-Bestellung, für die keine „Zugestellt“-Mail kam („Abgeschlossen ohne Zustellbestätigung“, siehe Bestellungen ohne Zustellmail), feuert das Event mit dem Feld assumed auf true. Es geht aber keine Benachrichtigung raus – weder über die Optionen noch über den Blueprint.
  • Von Hand erhalten: Markierst du ein Paket mit „Erhalten“ selbst als erhalten, feuert das Event mit dem Feld manual auf true. Eine Benachrichtigung gibt es auch dafür nicht.
  • Storniert: Storniert ein Shop eine Bestellung, feuert das Event mit new_status cancelled. Eine Benachrichtigung gibt es nicht: Weder die Optionen noch der Blueprint bieten diesen Status an.
  • Mehrere Bestellungen in einem Paket (AliExpress): Das Event feuert für jede Bestellung, die Benachrichtigung aus den Optionen geht für das Paket einmal raus.

Schlägt das Senden fehl, steht eine Warnung ohne Paketdaten im Log. Die Paketabfrage läuft unverändert weiter.

Frühere Meldung ersetzen

Über den klassischen Dienst der Home-Assistant-App („Dienst notify.mobile_app_<gerät>“) ersetzt eine neue Meldung die frühere zum selben Paket. Auf dem Handy steht dann nur der neueste Stand statt „in Zustellung“ und „zugestellt“ untereinander.

Dafür schickt die Integration ein Kennzeichen mit (data.tag, ein Hash der Sendungsnummer, nie die Nummer selbst). Alle anderen Ziele bekommen nur Titel und Text.

Was dieser Weg nicht kann

  • Der Dienst notify.send_message für Benachrichtigungs-Entitäten kennt nur Titel und Text. Ersetzen geht darüber nicht.
  • Dass sich beim Antippen ein Dashboard öffnet, geht nur über den Blueprint.
  • Eigene Texte und eigene Bedingungen gehen nur über den Blueprint oder eine eigene Automation.

Blueprint

Für eigene Texte, eigene Bedingungen und die Extras der Home-Assistant-App gibt es einen Blueprint.

Importieren

Blueprint in Home Assistant importieren

Der Knopf importiert paket_benachrichtigung.yaml aus dem Repository. HACS installiert Blueprints nicht mit.

Danach legst du unter Einstellungen → Automationen & Szenen → Blueprints eine Automation daraus an.

Eingaben

Eingabe Bedeutung Standard
Status Bei welchen neuen Status benachrichtigt wird. Wählbar: Angekündigt, Unterwegs, Im Zustelldepot, In Zustellung, Abholbereit, Zugestellt, Problem. In Zustellung, Zugestellt, Abholbereit
Benachrichtigungsdienst Ein klassischer Dienst als Text, z. B. notify.mobile_app_mein_handy. notify.notify
Titel Überschrift der Benachrichtigung. Paket Tracker
Text Vorlage für den Text, siehe unten. {{ text }}
Dashboard-Pfad (nur Home-Assistant-App) Öffnet sich beim Antippen, z. B. /lovelace/pakete (data.url für iOS, data.clickAction für Android). Für andere Dienste leer lassen. leer
Frühere Meldung ersetzen (nur Home-Assistant-App) Eine neue Meldung ersetzt die frühere zum selben Paket (data.tag, ein Hash der Sendungsnummer, nie die Nummer selbst). aus
Zusätzliche Bedingungen Z. B. nur tagsüber oder nur, wenn jemand zu Hause ist. keine

Sind Dashboard-Pfad und Ersetzen nicht gesetzt, schickt der Blueprint nur Titel und Text und passt damit zu jedem Benachrichtigungsdienst.

Variablen für den Text

Variable Inhalt
name Name des Pakets; ohne Namen „Paket …“ und die letzten vier Stellen der Nummer
carrier Anzeigename des Paketdienstes, z. B. DHL
new_status neuer Status, z. B. out_for_delivery
old_status vorheriger Status
text der fertige Standardsatz, z. B. „Kopfhörer (DHL) ist in Zustellung“

Ein Beispiel für das Feld Text:

{{ name }} kommt mit {{ carrier }}

Die Sendungsnummer, der Zustell-Code und der Ort stehen in keinem der voreingestellten Texte. Bestellungen, die ohne Zustellmail abgeschlossen wurden (assumed), und Pakete, die von Hand als erhalten markiert wurden (manual), meldet der Blueprint nicht.

Nach dem Update einmal neu importieren

Home Assistant aktualisiert einen importierten Blueprint nicht von selbst. Der Blueprint prüft assumed seit v0.3.20 und manual seit v0.3.30. Eine Automation aus einer älteren Fassung meldet eine Markierung von Hand als „wurde zugestellt“ – vor v0.3.20 auch eine abgeschlossene Bestellung.

Importier den Blueprint nach dem Update auf 0.3.30 oder neuer einmal neu: Einstellungen → Automationen & Szenen → Blueprints, im Menü des Blueprints Blueprint erneut importieren. Deine Automationen daraus bleiben und nutzen danach die neue Fassung. Für eigene Automationen, die auf new_status == delivered filtern, steht die Bedingung unter Automationen.

Der Blueprint braucht Home Assistant 2024.10 oder neuer.