HomeMatic Tutorial

HomeMatic – Pushnachrichten mit Pushover an Android bzw. iOS

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 by sTeRn AV ist ein rein privates Projekt. Support kann ich daher nur im Rahmen meiner begrenzten Freizeit leisten, hierfür bitte ich um Verständnis. Meine Hinweise, Anleitungen, Schaltungen und Software werden so angeboten, „wie sie sind“. Die Verwendung erfolgt auf eigenes Risiko, ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung.
Creative Commons Lizenzvertrag
Copyright © Jens-Peter Stern | SMART WOHNEN by sTeRn AV | smart-wohnen.org
  1. Vielen Dank!!! Klappt super!

Schreibe einen Kommentar

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

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere