Ntfy: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
|||
Zeile 7: | Zeile 7: | ||
Es gibt ein FHEM-Device, mit dem man NTFY nutzen kann: [https://rm.byterazor.de/projects/fhem-ntfy fhem-ntfy] | Es gibt ein FHEM-Device, mit dem man NTFY nutzen kann: [https://rm.byterazor.de/projects/fhem-ntfy fhem-ntfy] | ||
===='''Schritte um | ===='''Schritte um NTFY_CLIENT einzurichten:'''==== | ||
Den Quelltext für das NTFY_CLIENT-Device kann man von Extern wie folgt in FHEM laden: | |||
<pre> | <pre> | ||
Zeile 15: | Zeile 15: | ||
</pre> | </pre> | ||
Nachdem man | Nachdem man den Quelltext in FHEM hat, sollte FHEM einmal neugestartet werden: | ||
<pre> | <pre> | ||
Zeile 21: | Zeile 21: | ||
</pre> | </pre> | ||
Danach kann man ein Device anlegen: | Danach kann man ein NTFY_CLIENT-Device anlegen: | ||
<pre> | <pre> | ||
Zeile 29: | Zeile 29: | ||
attr NTFY0 room Experimente | attr NTFY0 room Experimente | ||
</pre> | </pre> | ||
Senden kann man dann ganz einfach mit: | |||
<pre> | |||
set NTFY0 publish @FreundlichenGruesseAnAlleFHEMNutzer Testnachricht! | |||
</pre> | |||
Die genaue Nutzung sind in dem Hilfetext zum Device zu finden. Das "@" setzt zum Beispiel das Topic für NTFY. | |||
===='''Senden einer Nachricht'''==== | ===='''Senden einer Nachricht'''==== |
Version vom 15. Februar 2025, 10:23 Uhr
📬 NTFY.sh: Push Nachrichten an iOS, Android, PC, Command-Line, E-Mail & Telefon
NTFY.sh bietet Push-Dienste auf iOS, Android, Console, E-Mail, ja sogar als Anruf auf ein Telefon an. Es ist damit ähnlich zu dem, was man mit PushOver, PushBullet oder auch Gotify anstellen kann, wobei NTFY auch Kriterien wie "Self-hosted" und echte "iOS-Pushnachrichten" erfüllt. Man kann damit von FHEM aus alle diese Kanäle mit einer Push-Nachricht erreichen. Die Nutzung ist extrem einfach, man setzt einen HTTP-Aufruf ab, um eine Push-Nachricht zu versenden. NTFY.sh betreibt sogar einen Gratis-Server, den man nutzen darf. Man kann den Server auch selber hosten, wenn man will.
Öffnet testweise diesen Link, dort tauchen die Nachrichten auch in der PWA (Webapp) auf: https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer
Anbindung per externem Modul
Es gibt ein FHEM-Device, mit dem man NTFY nutzen kann: fhem-ntfy
Schritte um NTFY_CLIENT einzurichten:
Den Quelltext für das NTFY_CLIENT-Device kann man von Extern wie folgt in FHEM laden:
update add https://rm.byterazor.de/upd-fhem-ntfy/controls_byterazor-fhem-ntfy.txt update
Nachdem man den Quelltext in FHEM hat, sollte FHEM einmal neugestartet werden:
shutdown restart
Danach kann man ein NTFY_CLIENT-Device anlegen:
defmod NTFY0 NTFY_CLIENT https://ntfy.sh attr NTFY0 defaultPriority default attr NTFY0 defaultTopic FreundlichenGruesseAnAlleFHEMNutzer attr NTFY0 room Experimente
Senden kann man dann ganz einfach mit:
set NTFY0 publish @FreundlichenGruesseAnAlleFHEMNutzer Testnachricht!
Die genaue Nutzung sind in dem Hilfetext zum Device zu finden. Das "@" setzt zum Beispiel das Topic für NTFY.
Senden einer Nachricht
mit einem curl-Befehl:
curl -d "Your message content here" \ -H "Title: Bla" \ https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer
Das Gleiche nur mit WGET:
wget --method=POST \ --body-data="Your message content here" \ --header="Title: Bla" \ https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer -q -O -
Oder, wenn es ein reines HTTP-GET als Webhook sein soll:
https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer/publish?message=Your%20message%20content%20here&title=Bla
Oder aus FHEM an den Server eine Nachricht senden mit:
set NTFY0 publish @FreundlichenGruesseAnAlleFHEMNutzer Testnachricht!
Im Event-Log taucht dann folgendes auf, darauf kann man mit notify oder DOIF reagieren:
2024-10-29 19:01:16.714 NTFY_TOPIC NTFY0_FreundlichenGruesseAnAlleFHEMNutzer nrReceivedMessages: 7 2024-10-29 19:01:16.715 NTFY_CLIENT NTFY0 subscriptions: FreundlichenGruesseAnAlleFHEMNutzer 2024-10-29 19:01:16.715 NTFY_CLIENT NTFY0 nrReceivedMessages: 7 2024-10-29 19:01:16.715 NTFY_CLIENT NTFY0 lastReceivedTitle: Bla 2024-10-29 19:01:16.715 NTFY_CLIENT NTFY0 lastReceivedData: Your message content here 2024-10-29 19:01:16.715 NTFY_CLIENT NTFY0 lastReceivedRawMessage: {"id":"oU5iqrdSFoeY","time":1730224876,"expires":1730268076,"event":"message","topic":"FreundlichenGruesseAnAlleFHEMNutzer","title":"Bla","message":"Your message content here"}
Testen kannst man direkt gegen die bekannteste NTFY-Installation:
https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer/publish?message=Blubb&title=Bla
Anbindung per HTTPMOD und Websocket
Senden mit HTTPMOD
set NTFY message Title="mein Titel aus dem Set heraus" Meine Nachricht set NTFY message Title="" Meine Nachricht ohne Titel set NTFY message Title="✅ Emojis 🚀" 📝 Meine Nachricht mit Emojis 👾
Oder man hat nur den Titel im User-Attribut "Title", falls das Muster Title="irgendwas" nicht im Parameter der set Nachricht auftaucht:
set NTFY message Meine kurze Nachricht, Titel aus UserAttr Title genutzt
Empfangen mit Websocket
defmod NTFY_RECEIVE dummy attr NTFY_RECEIVE userattr URL last_seen_max_age password username attr NTFY_RECEIVE URL wss://ntfy.sh:443/FreundlichenGruesseAnAlleFHEMNutzer/ws attr NTFY_RECEIVE alias NTFY_RECEIVE attr NTFY_RECEIVE devStateIcon opened:general_ok@green:stop disconnected:rc_STOP@red:start attr NTFY_RECEIVE eventMap /cmd connect:start/cmd disconnect:stop/ attr NTFY_RECEIVE group Experimente attr NTFY_RECEIVE icon hue_filled_plug attr NTFY_RECEIVE password superGeheimesPasswort attr NTFY_RECEIVE readingList cmd attr NTFY_RECEIVE setList cmd attr NTFY_RECEIVE userReadings connect:cmd:.connect { DevIo_OpenDev($defs{$name}, 0) } attr NTFY_RECEIVE username Torxgewinde attr NTFY_RECEIVE verbose 1 attr NTFY_RECEIVE webCmd start:stop