Blog Obsolet

Homematic – Pushnachrichten mit Pushover an Android bzw. iOS

Letzte Aktualisierung am 8. Dezember 2023

Dieser Beitrag aus dem Jahr 2013 ist zwischenzeitlich veraltet. Er wird nicht mehr aktualisiert. Das beschriebene Verfahren sollte aber unverändert funktionieren. Die Kommentare wurden geschlossen.

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.

Registrierung

Zunächst muss man sich auf der Internetseite des Dienstes kostenlos registrieren 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 wird ein Token-Code generiert, der diese „App“ identifiziert. Jede App kann kostenlos nur eine begrenzte Anzahl an Nachrichten verschicken. 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.

Nachrichtenversand

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:

Homematic Pushnachrichten mit Pushover

Beispiel

Wenn es funktioniert, schaut es in etwa so aus…

Homematic Pushnachrichten mit Pushover
Homematic Pushnachrichten mit Pushover

Tipps


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:
[code]
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");
[/code]

Und noch etwas:
Bei Verwendung einer aktuellen Version des CUxD kann alternativ zu dem etwas langen Aufruf…
[code]
LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl
[/code]
…auch einfach nur…
[code]
extra/curl
[/code]
…eingegeben werden. In Gänze…
[code]
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");
[/code]
HomeMatic-Forum

Zum korrespondierenden Beitrag im…

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 meiner Hinweise, Anleitungen, Schaltungen und Software 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 | sternshaus.de
  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.

Kommentare sind geschlossen.

WordPress Cookie Plugin von Real Cookie Banner