Push
Um Push-Benachrichtigungen über die Smartha App zu erhalten, werden zwei Dinge benötigt: Ein CloudMatic Account und die Smartha App.
Es wird kein aktives CloudMatic-Paket (keinen Zugang) benötigt, der Account muss lediglich mit der Zentrale verknüpft sein. Wie die Registrierung durchgeführt werden kann, ist im Abschnitt CloudMatic-Konto erstellen beschrieben. Wie der Account mit der Zentrale verknüpft werden kann, ist im Abschnitt CloudMatic-Konto mit einer Zentrale verknüpfen beschrieben.
Sollte die Smartha App noch nicht auf dem Smartphone installiert sein, muss diese zuerst installiert werden. Die Smartha App kan kostenfrei im jeweiligen Store erworben werden.
Push unter Windows nicht vorhanden
Die Funktion "Push" steht auf der Plattform Windows nicht zur Verfügung!
Einrichtung der App
Sobald die Smartha App gestartet ist, muss über das Hauptmenü der Menüpunkt Push
gewählt werden. Nach erfolgreicher Anmeldung wird ein API-Key generiert, mit dem Nachrichten an dieses Endgerät versendet werden können.
Eine detaillierte Beschreibung über den Prozess findet sich in der Smartha App Dokumentation.
API-Key als Variable
Die Smartha App bietet nach der erfolgreichen Generierung des API-Key die Möglichkeit diesen als eine Variable auf der Zentrale zu speichern. Dieser Vorgang ist zu empfehlen.
API-Key manuell auf der Zentrale speichern
Zuerst wird eine neue Variable auf der Zentrale erstellt. In der WebUI der CCU wird der Punkt "Einstellungen" > "Systemvariable" geöffnet und anschließend auf "Neu" geklickt. Ein Name (z.B. "PushKeySmartphone") wird vergeben und als Typ "Zeichenkette" ausgewählt.
Es ist erforderlich, den API-Key in die Variable zu schreiben. Hierfür wird ein neues Programm auf der Zentrale unter "Programme und Verknüpfungen" > "Programme & Zentralenverknüpfung" erstellt. Die WENN-Bedingung bleibt leer, in der Aktivität DANN wird die neu erstellte Variable ausgewählt. Der API-Key wird als Wert eingetragen. Anschließend wird auf "OK" gedrückt.
Nach dem Klicken auf "OK" wird das Programm ausgeführt und der Wert für die Variable festgelegt. Das Programm kann nun über die Checkbox in der letzten Spalte der Programmliste deaktiviert werden. Bei jeder Aktivierung wird es aufgrund der fehlenden Bedingung sofort ausgeführt.
Unter "Status und Bedienung" > "Systemvariablen" sollte nun die neue Variable mit Ihrem Schlüssel angezeigt werden.
Wenn sich der API-Key des verwendeten Endgeräts ändert, kann das zuvor erstellte Programm geöffnet und der neue API-Key als Wert für die Variable eingetragen werden. Anschließend kann auf "OK" geklickt werden. Um das Programm auszuführen, wird es einmalig über die Checkbox in der letzten Spalte der Programmtabelle aktiviert und danach wieder deaktiviert.
Versenden einer Push-Nachricht
HomeMatic
Um nun eine Push-Nachricht an das Endgerät zu versenden, muss ein Programm auf der HomeMatic erstellt werden. Um ein neues Programm auf der Zentrale anzulegen, muss in der WebUI der Zentrale zum Punkt Programme und Verknüpfungen > Programme & Zentralenverknüpfung
navigiert werden. Einem neuen Programm sollte ein aussagekräftiger Name zugewiesen werden. Des Weiteren sollte eine Wenn-Bedingung definiert werden. Für die Dann-Bedingung kann eines der beiden folgenden Skripte vollständig kopiert werden.
! Ersetzen Sie 'PushKeySmartphone' durch den Namen Ihrer Systemvariable
string APIKey = 'ESY:' # dom.GetObject('PushKeySmartphone').Value();
! Hier den Betreff der Nachricht angeben
string event = 'ACHTUNG: Alarm!';
! Hier den Inhalt der Nachricht angeben
string PushText = 'Die Haustür wurde geöffnet!';
! Alles ab hier bitte UNVERÄNDERT übernehmen
string stdout;
string stderr;
string teilstr;
string sendtext = "";
string sendevent = "";
foreach(teilstr, event.Split(" ")) {
sendevent = sendevent # "+" # teilstr;
}
foreach(teilstr, PushText.Split(" ")) {
sendtext = sendtext # "+" # teilstr;
}
system.Exec('/bin/sh /etc/config/addons/mh/prowl.sh ' # APIKey # ' ' # sendevent # ' ' # sendtext, &stdout, &stderr);
! Ersetzen Sie 'Push...' durch die Namen Ihrer Systemvariablen
string PushMichaHandy = 'ESY:' # dom.GetObject('PushMichaHandy').Value();
string PushDirkTablet = 'ESY:' # dom.GetObject('PushDirkTablet').Value();
string PushEddyPixel = 'ESY:' # dom.GetObject('PushEddyPixel').Value();
string PushBueroTablet = 'ESY:' # dom.GetObject('PushBueroTablet').Value();
! Hier den Betreff und Inhalt der Nachricht angeben
string event = 'ACHTUNG: Alarm!';
string PushText = 'Die Haustür wurde geöffnet!';
string stdout;
string stderr;
string teilstr;
string sendtext = "";
string sendevent = "";
foreach(teilstr, event.Split(" ")) {
sendevent = sendevent # "+" # teilstr;
}
foreach(teilstr, PushText.Split(" ")) {
sendtext = sendtext # "+" # teilstr;
}
! Hier für jedes Gerät eine eigene Zeile mit dem Namen der Systemvariable erstellen
system.Exec('/bin/sh /etc/config/addons/mh/prowl.sh ' # PushMichaHandy # ' ' # sendevent # ' ' # sendtext, &stdout, &stderr);
system.Exec('/bin/sh /etc/config/addons/mh/prowl.sh ' # PushDirkTablet # ' ' # sendevent # ' ' # sendtext, &stdout, &stderr);
system.Exec('/bin/sh /etc/config/addons/mh/prowl.sh ' # PushEddyPixel # ' ' # sendevent # ' ' # sendtext, &stdout, &stderr);
system.Exec('/bin/sh /etc/config/addons/mh/prowl.sh ' # PushBueroTablet # ' ' # sendevent # ' ' # sendtext, &stdout, &stderr);
Sonderzeichen
Sonderzeichen und Steuerbefehle müssen escaped werden!
Verschiedene Töne
Die Smartha App ermöglicht es verschiedene Push-Töne zu empfangen. Dazu muss im Titel einfach das entsprechende Präfix mitgesendet werden.
Zur Verfügung stehen derzeit:alarm
, alarm2
, alarm3
, bell
, jingle
Wichtig für die Plattform Android
Ab Android 7
kann nur der Benutzer selbst die Alarmbenachrichtigungen aktivieren. In den Android-System-Einstellungen der Smartha App unter Benachrichtigungen
muss der entsprechende Kanal angetippt und die Option Bitte nicht stören ignorieren
aktiviert werden.
Forum Beitrag
Diese Funktion ist aufgrund des Feedbacks der Nutzer im Forum entstanden.
Bild in der Push-Nachricht
Die Smartha App ermöglicht es ab der Version 2.4.0 eine Push-Nachricht mit einem Bild zu empfangen. Dazu muss beim Senden im Titel der entsprechende Präfix mit der Bild-URL mitgesendet werden. Die Bild-URL muss aus dem Internet erreichbar sein.
Push-Beispiel
Die WENN-Bedingung kann durch eine Abfrage definiert werden. In der DANN-Bedingung wird die Option "Skript" ausgewählt, woraufhin das Push-Skript eingefügt wird.
In diesem Beispiel wird nun eine Push-Nachricht empfangen, wenn der Duty Cycle der Zentrale größer oder gleich 70 Prozent ist.
Wichtig
Der Systemvariablenname im Skript muss durch den Namen der erstellten Systemvariable getauscht werden.
smartha home
Um eine Push-Nachricht zu versenden, muss der Node-Blue
Knoten Push
in der Kategorie CloudMatic
verwendet werden.