Ntfy: Unterschied zwischen den Versionen
(Erste Version, Seite in Arbeit) |
KKeine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
==📬 NTFY.sh: Push Nachrichten an iOS, Android, PC, Command-Line, E-Mail & Telefon== | ==📬 NTFY.sh: Push Nachrichten an iOS, Android, PC, Command-Line, E-Mail & Telefon== | ||
[https://NTFY.sh 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. | [https://NTFY.sh 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 | Öffnet testweise diesen Link, dort tauchen die Nachrichten auch in der PWA (Webapp) auf: https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer | ||
===Anbindung per externem Modul=== | ===Anbindung per externem Modul=== | ||
Es gibt ein FHEM-Device, mit dem man NTFY nutzen kann: [https://rm.byterazor.de/projects/fhem-ntfy fhem-ntfy] | |||
===='''Schritte um fhem-ntfy einzurichten:'''==== | |||
Das externe Device kann man wie folgt in FHEM einbinden: | |||
<pre> | |||
update add https://rm.byterazor.de/upd-fhem-ntfy/controls_byterazor-fhem-ntfy.txt | |||
update | |||
</pre> | |||
Nachdem man das Modul in FHEM hat, sollte FHEM einmal neugestartet werden: | |||
<pre> | |||
shutdown restart | |||
</pre> | |||
Danach kann man ein Device anlegen: | |||
<pre> | |||
defmod NTFY0 NTFY_CLIENT https://ntfy.sh | |||
attr NTFY0 defaultPriority default | |||
attr NTFY0 defaultTopic FreundlichenGruesseAnAlleFHEMNutzer | |||
attr NTFY0 room Experimente | |||
</pre> | |||
===='''Senden einer Nachricht'''==== | |||
mit einem curl-Befehl: | |||
< | <pre> | ||
curl -d "Your message content here" \ | |||
-H "Title: Bla" \ | |||
https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer | |||
</pre> | |||
Das Gleiche nur mit WGET: | |||
<pre> | |||
< | wget --method=POST \ | ||
--body-data="Your message content here" \ | |||
--header="Title: Bla" \ | |||
https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer -q -O - | |||
</pre> | |||
Oder, wenn es ein reines HTTP-GET als Webhook sein soll: | |||
<pre> | |||
< | https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer/publish?message=Your%20message%20content%20here&title=Bla | ||
</pre> | |||
< | Oder aus FHEM an den Server eine Nachricht senden mit: | ||
< | |||
< | <pre> | ||
set NTFY0 publish @FreundlichenGruesseAnAlleFHEMNutzer Testnachricht! | |||
</pre> | |||
Im '''Event-Log''' taucht dann folgendes auf, darauf kann man mit notify oder DOIF reagieren: | |||
<pre> | |||
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"} | |||
</pre> | |||
Testen kannst man direkt gegen die bekannteste NTFY-Installation: | |||
<pre> | |||
https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer | |||
https://ntfy.sh/FreundlichenGruesseAnAlleFHEMNutzer/publish?message=Blubb&title=Bla | |||
</pre> | |||
===Anbindung per HTTPMOD und Websocket=== | ===Anbindung per HTTPMOD und Websocket=== | ||
Zeile 41: | Zeile 82: | ||
====Senden mit HTTPMOD==== | ====Senden mit HTTPMOD==== | ||
<pre> | |||
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 👾 | |||
</pre> | |||
====Empfangen | Oder man hat nur den Titel im User-Attribut "Title", falls das Muster Title="irgendwas" nicht im Parameter der set Nachricht auftaucht: | ||
< | |||
<pre> | |||
set NTFY message Meine kurze Nachricht, Titel aus UserAttr Title genutzt | |||
</pre> | |||
==== Empfangen mit Websocket==== | |||
<pre> | |||
defmod NTFY_RECEIVE dummy | defmod NTFY_RECEIVE dummy | ||
attr NTFY_RECEIVE userattr URL last_seen_max_age password username | attr NTFY_RECEIVE userattr URL last_seen_max_age password username | ||
attr NTFY_RECEIVE URL wss:ntfy.sh:443/FreundlichenGruesseAnAlleFHEMNutzer/ws | attr NTFY_RECEIVE URL wss://ntfy.sh:443/FreundlichenGruesseAnAlleFHEMNutzer/ws | ||
attr NTFY_RECEIVE alias NTFY_RECEIVE | attr NTFY_RECEIVE alias NTFY_RECEIVE | ||
attr NTFY_RECEIVE devStateIcon opened:general_ok@green:stop disconnected:rc_STOP@red:start | attr NTFY_RECEIVE devStateIcon opened:general_ok@green:stop disconnected:rc_STOP@red:start | ||
Zeile 56: | Zeile 105: | ||
attr NTFY_RECEIVE group Experimente | attr NTFY_RECEIVE group Experimente | ||
attr NTFY_RECEIVE icon hue_filled_plug | attr NTFY_RECEIVE icon hue_filled_plug | ||
attr NTFY_RECEIVE password superGeheimesPasswort | attr NTFY_RECEIVE password superGeheimesPasswort | ||
attr NTFY_RECEIVE readingList cmd | attr NTFY_RECEIVE readingList cmd | ||
attr NTFY_RECEIVE setList cmd | attr NTFY_RECEIVE setList cmd | ||
attr NTFY_RECEIVE userReadings connect:cmd:.connect { | attr NTFY_RECEIVE userReadings connect:cmd:.connect { DevIo_OpenDev($defs{$name}, 0) } | ||
} | |||
attr NTFY_RECEIVE username Torxgewinde | attr NTFY_RECEIVE username Torxgewinde | ||
attr NTFY_RECEIVE verbose 1 | attr NTFY_RECEIVE verbose 1 | ||
attr NTFY_RECEIVE webCmd start:stop | attr NTFY_RECEIVE webCmd start:stop | ||
</ | </pre> |
Version vom 15. Februar 2025, 09:29 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 fhem-ntfy einzurichten:
Das externe Device kann man wie folgt in FHEM einbinden:
update add https://rm.byterazor.de/upd-fhem-ntfy/controls_byterazor-fhem-ntfy.txt update
Nachdem man das Modul in FHEM hat, sollte FHEM einmal neugestartet werden:
shutdown restart
Danach kann man ein Device anlegen:
defmod NTFY0 NTFY_CLIENT https://ntfy.sh attr NTFY0 defaultPriority default attr NTFY0 defaultTopic FreundlichenGruesseAnAlleFHEMNutzer attr NTFY0 room Experimente
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