Nachdem meine Todo-Liste bezüglich Notifications endlich abgearbeitet ist, hier eine kleine Zusammenfassung.
In HA gibt es ja eine ganze Menge an Möglichkeiten, Nachrichten zu verschicken, ich habe folgende davon kennengelernt.
persistent_notification: Diese Meldungen werden nur im Benachrichtigungs-Panel von HA angezeigt.
mobile-notifications werden als Push-Nachricht aufs Handy gesendet, wenn dieses mit HA verbunden ist.
e-mail über einen SMTP-Server
Pushover über die Pushover App (kostet 5$)
Telegram Bot zum senden und empfangen über die Telegram App
Die Persistent-Notification muss nicht extra eingerichtet sondern kann gleich direkt verwendet werden, hier ein Beispiel.
Ich verwende diese Nachrichten recht gerne zum debuggen von Automatisierungen.
Wenn man die letzten beiden Zeilen mit Templates (also "{{ xx }}") weglässt, dann kann man die Nachricht auch über die Entwicklerwerkzeuge | Aktionen ausprobieren.
Wenn man die Notification nicht einzeln löschen (siehe dismiss) oder mit einem Trigger darauf reagieren möchte, kann man die notification_id auch weglassen und alternativ auch notify.persistent_notification verwenden.
mobile-notifications können an alle angemeldeten Handys geschickt werden, sofern diese irgendwie mit HA in Verbindung stehen, also entweder lokal, über VPN oder die HA-Cloud verbunden sind.
Die Registrierung erfolgt über die Default-Integration Mobile-App.
Entweder hab ich es übersehen, oder der generierte Name wird tatsächlich nicht angezeigt, aber egal,
einfach bei Entwicklerwerkzeuge | Aktionen im UI-Modus die Aktion "notify.mobile" eintippen, dann wird der Name gefunden und ergänzt.
Genauso einfach wie eine Textnachricht kann man sich auch eine Sprachnachricht schicken lassen, und dazu muss man auch gar nichts weiter installieren.
Um e-mail Nachrichten senden zu können, müssen wir einen SMTP-Server verbinden.
In meiner configuration.yaml hab ich folgende Zeile eingefügt:
notify: !include notify.yaml
Im File notify.yaml hab ich folgenden Eintrag:
Im File secrets.yaml sind folgende Einträge:
HA einmal neu starten, und schon ist der Eintrag übernommen und gültig.
Die nächsten 2 Varianten sind etwas aufwändiger einzurichten, wobei sich der Aufwand aber immer noch sehr in Grenzen hält.
Zuerst die Pushover Variante, wo man nach Ablauf einer 30-tägigen Testphase einmalig 5$ zahlt.
Bei der Registrierung erhält man einen User-Key (Benutzerschlüssel) und eine xxxxxxxxxx@pomail.net Mail-Adresse, weiters benötigt man noch ein API-Token (API-Schlüssel).
In HA installiert man die Pushover Integration (diesmal nicht über HACS) und gibt die zuvor erhaltenen Daten ein, das war's auch schon, also doch nicht so kompliziert.
Je nachdem, welchen Namen man hier vergibt, bei notify wird dieser Name dann einfach verwendet.
Die letzte Variante ist jetzt wirklich etwas aufwändiger, dafür kann sie auch mehr.
Man findet im Internet gleich 3 Integrationen über Telegram, in HA findet man dann nur 2 davon, und beide melden, dass sie nicht über das UI installiert werden können.
Ich beschreibe hier die Telegram bot Integration, denn Telegram broadcast kann nur senden, und ich wollte hier mal die aufwändigere Lösung ausprobieren.
Ich hab folgende Anleitung gefunden, die recht gut beschreibt, was man alles machen muss.
In Telegram sucht man nach @BotFather, erzeugt mit /newbot einen neuen Bot und erhält dafür ein API-Token, nicht vergessen, den Bot wie beschrieben auch zu starten.
Dann muss man noch über den GetIDs Bot (@getidsbot) die 9-stellige ID herausfinden, klingt komplizierter als es ist.
Der Rest muss jetzt in HA und zwar über YAML erledigt werden.
Achtung: Seit HA 2025.7 wird Telegram nicht mehr über YAML konfiguriert, siehe Post 4
# configuration.yaml:
Wenn der folgende Eintrag noch fehlt, dann auch gleich einfügen.
notify: !include notify.yaml
Weiter geht es in
# notify.yaml:
# secrets.yaml (muss nicht in configuration.yaml included werden)
Den Telegram-Bot-Namen in HA kann man nennen wie man will, Telegram kennt ja nur API-Key und Chat-ID.
Testen können wir es wieder über: Entwicklerwerkzeuge | Aktionen
Um den Telegram Bot zu testen hab ich in automations.yaml einige Test-automations erstellt. Es sind die gleichen, die es auch in der Doku gibt.
Dabei hab ich festgestellt, dass es gleich 2 action-Befehle gibt, um Nachrichten zu senden.
notify.your_telegram_bot_name # funktioniert bei mir verlässlich
telegram_bot.send_message # soll zwar mehr können, funktioniert bei mir aber nicht immer
# automations.yaml
Interessant sind die Beispiele, wo man keyboard Befehle mitsendet, mit denen man dann antworten kann.
Ich bin mir zwar noch nicht sicher, ob ich es auch verwenden werden, aber zum ersten kennenlernen war es mal recht interessant.
Zuletzt können wir noch Notification Groups bilden, damit können wir mit einem notify Befehl gleich mehrere Notifications senden.
# notify.yaml
action: notify.to_all
sendet jetzt 5 Nachrichten auf allen Kanälen.
Es gibt noch unzählige weitere Varianten (z.B. notify.events, discord), die ich aber nicht mehr ausprobiert habe, denn mir reichen die 5 genannten bisher völlig.
Weitere Beiträge dieser Serie:
HACS Wetterkarte
HACS Sonne & Mond (inkl. Tipps zur configuration.yaml)
HACS Schieberegler (inkl. Möglichkeiten der Icon Farbanpassung & erste Vorstellung Farbschema)
HACS Gauges (Tachoanzeigen, inkl. senkrechte Balken-Cards)
HACS stack-in-card für Raum-Card
HACS Graph-Cards
HACS Thermostat-Cards
HACS Entity Cards (inkl. stacking Beispiele mit der custom:button-card)
HACS Reminder (trash-card, atomic-calendar-revive)
HACS Person- & Öffi-Card (inkl. Geschichte zu ChatGPT)
HA-Behaglichkeits-Diagramm
HA Kurzeinführung
HACS Sidebar & Dashboard-Entwurf
HACS Bewässerung
HA & Node-Red
HA Recorder, SQLite, InfluxDB, Grafana
HA Python Scripts
In HA gibt es ja eine ganze Menge an Möglichkeiten, Nachrichten zu verschicken, ich habe folgende davon kennengelernt.
persistent_notification: Diese Meldungen werden nur im Benachrichtigungs-Panel von HA angezeigt.
mobile-notifications werden als Push-Nachricht aufs Handy gesendet, wenn dieses mit HA verbunden ist.
e-mail über einen SMTP-Server
Pushover über die Pushover App (kostet 5$)
Telegram Bot zum senden und empfangen über die Telegram App
Die Persistent-Notification muss nicht extra eingerichtet sondern kann gleich direkt verwendet werden, hier ein Beispiel.
HTML-Code:
action: persistent_notification.create data: notification_id: "1234567890" title: 'Warnung' message: > Nachricht {{- '\n' -}} Zeitpunkt: {{ now().strftime('%Y-%m-%d %H:%M') }}
Wenn man die letzten beiden Zeilen mit Templates (also "{{ xx }}") weglässt, dann kann man die Nachricht auch über die Entwicklerwerkzeuge | Aktionen ausprobieren.
Wenn man die Notification nicht einzeln löschen (siehe dismiss) oder mit einem Trigger darauf reagieren möchte, kann man die notification_id auch weglassen und alternativ auch notify.persistent_notification verwenden.
HTML-Code:
action: persistent_notification.dismiss data: notification_id: "1234567890"
HTML-Code:
action: notify.persistent_notification data: message: Nachricht
Die Registrierung erfolgt über die Default-Integration Mobile-App.
Entweder hab ich es übersehen, oder der generierte Name wird tatsächlich nicht angezeigt, aber egal,
einfach bei Entwicklerwerkzeuge | Aktionen im UI-Modus die Aktion "notify.mobile" eintippen, dann wird der Name gefunden und ergänzt.
HTML-Code:
action: notify.mobile_app_handyname data: message: Nachricht
HTML-Code:
action: notify.mobile_app_handyname data: message: TTS data: ttl: 0 priority: high media_stream: alarm_stream tts_text: Das ist eine Sprachnachricht
In meiner configuration.yaml hab ich folgende Zeile eingefügt:
notify: !include notify.yaml
Im File notify.yaml hab ich folgenden Eintrag:
HTML-Code:
- name: "email_Mein_Name" platform: smtp server: "smtp.gmail.com" encryption: starttls port: 587 # default 587 für tls (443 für ssl wird von HA nicht unterstützt) timeout: 15 # default: 5 s username: !secret email_username password: !secret email_password sender: !secret email_username sender_name: "Mein Name" recipient: - !secret email_username
HTML-Code:
email_username: "Mein.Name@gmail.com" email_password: "abcd efgh ijkl mnop" # App-Password, hier generiert: https://myaccount.google.com/apppasswords
HTML-Code:
action: notify.email_Mein_Name data: message: Nachricht
Zuerst die Pushover Variante, wo man nach Ablauf einer 30-tägigen Testphase einmalig 5$ zahlt.
Bei der Registrierung erhält man einen User-Key (Benutzerschlüssel) und eine xxxxxxxxxx@pomail.net Mail-Adresse, weiters benötigt man noch ein API-Token (API-Schlüssel).
In HA installiert man die Pushover Integration (diesmal nicht über HACS) und gibt die zuvor erhaltenen Daten ein, das war's auch schon, also doch nicht so kompliziert.
Je nachdem, welchen Namen man hier vergibt, bei notify wird dieser Name dann einfach verwendet.
HTML-Code:
action: notify.pushover data: title: Home Assistant message: Nachricht
Man findet im Internet gleich 3 Integrationen über Telegram, in HA findet man dann nur 2 davon, und beide melden, dass sie nicht über das UI installiert werden können.
Ich beschreibe hier die Telegram bot Integration, denn Telegram broadcast kann nur senden, und ich wollte hier mal die aufwändigere Lösung ausprobieren.
Ich hab folgende Anleitung gefunden, die recht gut beschreibt, was man alles machen muss.
In Telegram sucht man nach @BotFather, erzeugt mit /newbot einen neuen Bot und erhält dafür ein API-Token, nicht vergessen, den Bot wie beschrieben auch zu starten.
Dann muss man noch über den GetIDs Bot (@getidsbot) die 9-stellige ID herausfinden, klingt komplizierter als es ist.
Der Rest muss jetzt in HA und zwar über YAML erledigt werden.
Achtung: Seit HA 2025.7 wird Telegram nicht mehr über YAML konfiguriert, siehe Post 4
# configuration.yaml:
HTML-Code:
telegram_bot: - platform: polling api_key: !secret telegram_api_token allowed_chat_ids: - !secret telegram_chat_id
notify: !include notify.yaml
Weiter geht es in
# notify.yaml:
HTML-Code:
- name: "your_telegram_bot_name" platform: telegram chat_id: !secret telegram_chat_id
HTML-Code:
telegram_api_token: "9876543210:ABCDEFGHIJKLMNOPRSTUVWXYZabcdefghij" telegram_chat_id: "123456789"
Testen können wir es wieder über: Entwicklerwerkzeuge | Aktionen
HTML-Code:
action: notify.your_telegram_bot_name data: title: "HA" message: "Inhalt der Nachricht"
Dabei hab ich festgestellt, dass es gleich 2 action-Befehle gibt, um Nachrichten zu senden.
notify.your_telegram_bot_name # funktioniert bei mir verlässlich
telegram_bot.send_message # soll zwar mehr können, funktioniert bei mir aber nicht immer
# automations.yaml
HTML-Code:
- alias: "Telegram ping pong" id: telegram_ping_pong description: "Telegram bot that reply pong to ping" triggers: - trigger: event event_type: telegram_command event_data: command: "/ping" actions: - action: notify.your_telegram_bot_name data: message: "pong"
HTML-Code:
- alias: "Telegram Start" id: telegram_start description: "Telegram bot Start-Sequenz" triggers: - trigger: event event_type: telegram_command event_data: command: "/start" actions: - action: notify.your_telegram_bot_name data: message: "commands added" data: one_time_keyboard: false resize_keyboard: true keyboard: - "/ping, /stop" - "/light_on, /light_off"
Zuletzt können wir noch Notification Groups bilden, damit können wir mit einem notify Befehl gleich mehrere Notifications senden.
# notify.yaml
HTML-Code:
- name: to_all platform: group services: - service: persistent_notification - service: mobile_app_handyname - service: email_Mein_Name - service: pushover - service: your_telegram_bot_name
sendet jetzt 5 Nachrichten auf allen Kanälen.
Es gibt noch unzählige weitere Varianten (z.B. notify.events, discord), die ich aber nicht mehr ausprobiert habe, denn mir reichen die 5 genannten bisher völlig.
Weitere Beiträge dieser Serie:
HACS Wetterkarte
HACS Sonne & Mond (inkl. Tipps zur configuration.yaml)
HACS Schieberegler (inkl. Möglichkeiten der Icon Farbanpassung & erste Vorstellung Farbschema)
HACS Gauges (Tachoanzeigen, inkl. senkrechte Balken-Cards)
HACS stack-in-card für Raum-Card
HACS Graph-Cards
HACS Thermostat-Cards
HACS Entity Cards (inkl. stacking Beispiele mit der custom:button-card)
HACS Reminder (trash-card, atomic-calendar-revive)
HACS Person- & Öffi-Card (inkl. Geschichte zu ChatGPT)
HA-Behaglichkeits-Diagramm
HA Kurzeinführung
HACS Sidebar & Dashboard-Entwurf
HACS Bewässerung
HA & Node-Red
HA Recorder, SQLite, InfluxDB, Grafana
HA Python Scripts
Kommentar