Direkt zum Hauptinhalt

Push Notifactions / Benachrichtigungen

Beschreibung:

Wenn man die Home Assistant Companion App installiert hat auf Android oder iOS kann man benachrichtungen senden.
Natürlich kann man auch andere Geräte Nachrichten senden, das hängt davon ab, welche Entität (Device) ausgewählt wurde, was die Benachrichtigung erhalten soll.

Kanäle für Benachrichtungen  Android:

Es gibt zwei Arten von Kanälen

  • Push Benachrichtungskanäle (Nur auf Android)
    • General: Für allgemeine Benachrichtigungen, die keine spezielle Kategorisierung benötigen.

    • Camera: Benachrichtigungen, die mit Kameras oder Bildern verknüpft sind (z. B. Snapshot von einer Sicherheitskamera).

    • Location: Benachrichtigungen im Zusammenhang mit Standortaktualisierungen (z. B. Standortänderungen des Geräts).

    • Alert: Dringende Warnungen, die Aufmerksamkeit erfordern (visuell, aber ohne spezifische Audio-Streams).
    • Progress: Für Benachrichtigungen, die den Fortschritt eines Prozesses darstellen (z. B. Updates oder Installationen).

    • Eigene Kanäle, es können auch Kanäle selbst erstellt werden.


Hinweis:

Push Töne werden auf den Medianausgabe Streams ausgegben
Push Töne funktionieren nicht im Lautlosmodus, selbst wenn bei Push Benachrichtung im Channel,
auch bei Bitte nicht stören, melden angehakt ist.
Dies bezieht sich nur auf das Anzeigen der Benachrichigung, nicht auf den Ton!

Workaround: Die Lautstärke per Befehl vorher hochstellen kommen wir später zu..
Hier schon mal der Befehl fürs laut stellen des Benachrichtungs Media Stream

data:
      message: command_volume_level
      title: "100"
      data:
        channel: notification_stream
        
        
Als JSON Data für den Service in Node Red

{
    "message": "command_volume_level",
    "data": {
        "command": 100,
        "media_stream": "notification_stream"
    }
}
  • Medien Ausgabe Kanäle für Akustik (Nur Android)
    • alarm_stream: Stelle die Lautstärke für den Alarm-Stream ein.
    • call_stream: Stelle die Lautstärke für den Anruf-Stream ein.
    • dtmf_stream: Stelle die Lautstärke für DTMF-Töne ein.
    • music_stream: Stelle die Lautstärke für den Musik-Stream ein.
    • notification_stream: Stelle die Lautstärke für den Benachrichtigungs-Stream ein.
    • ring_stream: Stelle die Lautstärke für den Klingel-Stream ein.
    • system_stream: Stelle die Lautstärke für den System-Stream ein.
    • Anything else: Die Benachrichtigung wird als normale Benachrichtigung gepostet und der Befehl wird nicht verarbeitet.

Kanäle für Benachrichtungen iOS:

Auf iOS gibt es Keine Kanäle in diesem Sinne wie bei Android. Hier können wir zwischen 3 Kategorien wählen

Die drei Kategorien sind:

  1. notification (Standard)

    • Beschreibung: Dies ist die Standardkategorie. Die Benachrichtigung wird in der Mitteilungszentrale angezeigt, spielt eventuell einen Ton ab (abhängig von den Geräteeinstellungen) und erscheint als Banner.
      Wird keine Category angegeben, wird sowieo notifiction benutzt. Ist also Standard
    • Geeignet für: Allgemeine Benachrichtigungen, die keine besondere Aufmerksamkeit erfordern.
    • Beispiel:
      {
        "message": "Neue Nachricht erhalten.",
        "data": {
          "push": {
            "category": "notification"
          }
        }
      }
      

  2. alarm

    • Beschreibung: Diese Kategorie priorisiert die Benachrichtigung stark. Sie wird auch dann abgespielt, wenn der Nicht stören-Modus aktiv ist, und ein lauter Ton wird abgespielt (vorausgesetzt, die Benachrichtigung hat einen Ton definiert).
    • Geeignet für: Kritische Alarme wie Rauchmelder, Einbruchalarm oder medizinische Warnungen.
    • Beispiel:
      {
        "message": "Rauchmelder-Alarm! Bitte überprüfen!",
        "data": {
          "push": {
            "category": "alarm"
          }
        }
      }
      




  3. silent

    • Beschreibung: Die Benachrichtigung wird still gesendet, ohne Banner, Ton oder Mitteilung in der Mitteilungszentrale. Sie wird nur in Home Assistant verarbeitet.
    • Geeignet für: Hintergrundaufgaben, stille Benachrichtigungen oder Datenübertragungen an Home Assistant.
    • Beispiel:
      {
        "message": "Daten aktualisiert.",
        "data": {
          "push": {
            "category": "silent"
          }
        }
      }
      

Benachrichtung TTS Android only

Um TTS Benachrichtungen zu senden, erstelle wir einen Service call.
Wählen notify bei Domäne aus und service wenn es ein rundruf an alle werden soll notify aus explicit das Gerät.
Über die 3 Punkte erstellen wir die Nachricht

Auswahl_424.png

Quelltext

{
    "message": "TTS",
    "data": {
        "priority": "high",
        "media_stream": "alarm_stream",
        "tts_text": "Rauchmelder Fahrradschuppen Rauch erkannt"
    }
}

Parameter

Parameter Typ Beschreibung Beispiel
message String Der Haupttext der Benachrichtigung, der dem Benutzer angezeigt wird. Hier wird TTS als Befehl ausgewertet und es erscheint keine Benachrichtung, da die TTS einfach abgespielt wird.
"TTS"
data Objekt Zusätzliche Daten und Einstellungen für die Benachrichtigung. Siehe unten.
 priority String Die Wichtigkeit der Benachrichtigung. high sorgt dafür, dass die Benachrichtigung mit hoher Priorität gesendet wird. "high"
 media_stream String Gibt an, welcher Audiokanal für die Benachrichtigung verwendet wird. alarm_stream spielt sie über den Alarmkanal ab. Dieser Kanal ist auch im Silent modus erreichbar und kann auch nicht gemuted werden.
"alarm_stream"
 tts_text String Text, der über Text-to-Speech (TTS) wiedergegeben werden soll. "Rauchmelder Fahrradschuppen Rauch erkannt"

Benachrichtung mit Aktionen

Man kann auch Benachrichtungen mit Buttons erstellen, die Aktionen ausführen wie Seiten öffnen oder variablen ändern in node red.

Dazu legen wir uns eine Benachrichtigung an mit zwei Buttons.
Dazu wieder einen call service reinziehen und vom typ notify auswählen.
Dann unter service notify für alle Geräte oder das Gerät an das gesendet werden soll, explicit auswählen.
Dann auf die 3 Punkte um unseren Inhalt der Benachrichtung zu definieren

Auswahl_424.png

Der Quelltext

{
    "message": "Rauchmelder-Alarm! Bitte überprüfen!",
    "data": {
        "channel": "Alarm",
        "priority": "high",
        "ttl": 0,
        "actions": [
            {
                "action": "SNOOZE",
                "title": "Rauchmelder Stoppen",
                "icon": "mdi:bell-alert"
            },
            {
                "action": "IRGENDWAS",
                "title": "IRGENDWAS Stoppen",
                "icon": "mdi:bell-alert"
            }
        ]
    }
}

Beschreibung der Parameter

Parameter Typ Beschreibung Beispiel
message String Die Hauptnachricht der Benachrichtigung, die dem Benutzer angezeigt wird. "Rauchmelder-Alarm! Bitte überprüfen!"
data Objekt Enthält zusätzliche Informationen und Konfigurationen für die Benachrichtigung. Siehe unten.
 channel String Der Benachrichtigungskanal, der für Android verwendet wird. Kanäle steuern Benachrichtigungseigenschaften wie Ton oder Priorität. "Alarm"
 priority String Die Priorität der Benachrichtigung. high sorgt für eine dringende Benachrichtigung mit Ton und Pop-up (sofern aktiviert). "high"
 ttl Integer Time-to-Live (TTL), wie lange die Benachrichtigung aktiv bleibt, wenn sie nicht zugestellt werden kann. 0 bedeutet keine Ablaufzeit. 0
 actions Array Eine Liste von Aktionen, die in der Benachrichtigung angezeigt werden. Siehe Aktionen unten.
 action String Der interne Schlüssel für die Aktion, der in Automatisierungen verwendet wird, wenn die Schaltfläche gedrückt wird.
Das ist auch der Wert den wir dann auswerten.
"SNOOZE"
 title String Der Text des Button, der in der Benachrichtigung angezeigt wird. "Rauchmelder Stoppen"
 icon String (Optional) Ein Icon, das mit der Aktion verknüpft ist. iOS unterstützt dies, aber Android zeigt normalerweise keine Icons an. "mdi:bell-alert"