Blog Tutorial

HomeMatic – Pushnachrichten mit Pushover an Android bzw. iOS

Letzte Aktualisierung am 15. Januar 2023

Neben andern Apps, wie z.B. „Notify my Android“ oder „Prowl“, kann man von der HomeMatic-Zentrale (CCU) auch Pushnachrichten über Pushover (https://pushover.net) an Android- bzw. Apple-Geräte versenden. Pushover bring bereits einige nützliche PlugIns mit, z.B. ein E-Mail Gateway. Darüber hinaus ergeben sich durch die direkte IFTTT „if this, then that“ (https://ifttt.com) Implementierung weitere, sehr interessante Möglichkeiten. Hier eine kurze Anleitung.

Zunächst muss man sich auf der Internetseite des Dienstes kostenlos registrieren und und erhält einen „User-Code“. Anschließend ist (mindestens) eine „App“ zu erstellen. Der Name „App“ ist an dieser Stelle ein wenig verwirrend, beim Erstellen einer „App“ genügt die Eingabe eines Namens, z.B. HomeMatic. Als Ergebnis erhält man einen Token-Code, der diese „App“ identifiziert. Über jede „App“ können monatlich derzeit 7500 Nachrichten kostenlos verschickt werden. Falls das nicht reicht, legt man einfach mehrere „Apps“ an. Über optionale „Device Codes“ lassen sich Nachrichten gezielt auf bestimmte Endgeräte pushen.

Darüber hinaus wird auf jedem Endgeräte die kostenpflichtige Pushover-App benötigt.

Beim Versand einer Nachricht sind folgende Parameter zwingend:

token (required)
– your application’s API token

user (required)
– the user key (not e-mail address) of your user (or you), viewable when logged into the dashboard

message (required)
– your message

Ergänzend können optionale Parameter definiert werden:

device (optional)
– your user’s device identifier to send the message directly to that device, rather than all of the user’s devices

title (optional)
– your message’s title, otherwise uses your app’s name

url (optional)
– a supplementary URL to show with your message

url_title (optional)
– a title for your supplementary URL

priority (optional)
– set to „1“ to display as high-priority and bypass quiet hours, or „-1“ to always send as a quiet notificationtimestamp (optional) – set to a Unix timestamp to have your message show with a particular time, rather than now

sound (optional)
– set to the name of one of the sounds supported by device clients to override the user’s default sound choice

Das Versenden der Nachricht erfolgt über einen POST Aufruf über die folgende URL:


http://api.pushover.net/1/messages.json

Zum Aufruf lässt sich am Besten der „Client for URL“  (CURL) verwenden, der in den neueren CUxD-Versionen enthalten ist. Als Voraussetzung hierfür muss lediglich der CUxD auf der CCU installiert sein.

Aus der CCU heraus erfolgt der Aufruf dann z.B. mit einem kleinen Script über die – ebenfalls vom CUxD bereitgestellte – „CMD_EXEC“-Funktion:

string nachricht = "Hallo Welt";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -d token=TOKEN -d user=USER -d message='"#nachricht#"' -d sound=bike http://api.pushover.net/1/messages.json");

Für priorisierte Nachrichten (rot hinterlegt und Umgehen der Ruhezeiten) muss vor der URL der Parameter…


-d priority=1

…ergänzt werden.

Vor Nutzung der „CMD_EXEC“-Funktion muss im CUxD ein „System“-Gerät mit der Funktion „Exec“ angelegt werden,  z.B. so:

Zwischenablage01

Wenn es funktioniert, schaut es in etwa so aus…

Screenshot_2013-09-01-00-19-12

Screenshot_forum


Tipp:
Umlaute lassen sich bei Bedarf ebenfalls pushen. Hierzu kann man die Texte mit einem URL Decoder/Encoder umwandeln. Statt „Müller“ gibt man ganz einfach „M%C3%BCller“ ein und schon funktioniert es.

Noch ein Tipp:
Man kann an Stelle des „http://“ API-Aufrufes auch „https://“ verwenden. Damit das funktioniert muss aber der Parameter „-k“ ergänzt werden:

string nachricht = "Hallo Welt";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k -d token=TOKEN -d user=USER -d message='"#nachricht#"' -d sound=bike https://api.pushover.net/1/messages.json");


Und noch etwas:
Bei Verwendung einer aktuellen Version des CUxD kann alternativ zu dem etwas langen Aufruf…

LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl

…auch einfach nur…

extra/curl

…eingegeben werden. In Gänze…

string nachricht = "Hallo Welt";
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("extra/curl -s -k -d token=TOKEN -d user=USER -d message='"#nachricht#"' -d sound=bike https://api.pushover.net/1/messages.json");

Zum korrespondierenden Beitrag im…
HomeMatic-Forum

 

Bitte beachten...

SMART WOHNEN in Stern's Haus ist ein rein privates, nicht kommerzielles Projekt. Meine Hinweise, Anleitungen, Schaltungen und Software werden so angeboten, „wie sie sind“, Support kann ich nur im Rahmen meiner begrenzten Freizeit leisten, hierfür bitte ich um Verständnis.
Die Verwendung erfolgt auf eigenes Risiko, ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung! Für die Einhaltung der einschlägigen technischen Vorschriften ist jeder Anwender selbst verantwortlich!
Creative Commons Lizenzvertrag
Copyright © Jens-Peter Stern | SMART WOHNEN in Stern's Haus | smart-wohnen.org
  1. Vielen Dank!!! Klappt super!

  2. Großartiger Artikel. Gut erklärt. Im Vergleich zu url-encode-decode.com. Es gibt ein hervorragendes Tool zum Codieren / Decodieren, das ich bei meiner Online-Suche nach URL-Codierungsressourcen gefunden habe
    https://url-decode.com/
    Dieses Tool decodiert / codiert nicht nur URLs, bietet Base64-Decodierung / -Codierung, sondern auch Dutzende anderer Webdienstprogramme. Sie müssen es überprüfen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert