Benachrichtigungen mit PushOver einrichten

Benachrichtigungen im SmartHome sind Basisfunktionen, mit denen man immer auf dem aktuellen Stand ist, wenn sich Zustände im Haus ändern. Für HomeMatic kann dies mit einem Programm umgesetzt werden, dass die Benachrichtigungen über „PushOver“ versendet.

Vorwort

Für den Versand von Benachrichtigungen habe ich die Umsetzung mit Telegram und PushOver ausprobiert . Bei meinen Tests kamen die Telegram-Nachrichten aber schneller an und die App ist auch noch kostenlos. Zur Vollständigkeit aber hier auch nochmals die Umsetzung mit PushOver.

Mit der folgenden Anleitung wird für den PushOver-Versand ein zusätzliches Programm angelegt, das den Nachrichtentext aus einer Systemvariable sendet. Die eigentlichen Benachrichtigungsprogramme enthalten bei mir nur noch das Befüllen der Systemvariable mit einem Text. Ist diese befüllt, stößt das PushOver-Versand-Programm den Versand an. Somit kann ich an zentraler Stelle in der HomeMaticCCU das Versandskript anpassen und zentral warten. Somit ist auch ein schneller Wechsel der Benachrichtigungsdienste möglich.

PushOver einrichten

Zur Nutzung von PushOver als Nachrichtendienst muss ein bei PushOver Nutzerkonto eingerichtet werden. Anschließen wird ein Application-Token eingerichtet sein und man muss seine eigene User-ID kennen.

Eine tolle Anleitung zur Einrichtung von PushOver findet sich bei Erhard Simdorn.

CUxD einrichten

Weiterhin muss auf der CCU das Plugin Cux-Daemon installiert werden, damit die instabile navtive Funktion system.Exec() nicht genutzt werden muss. Folgende Seiten sind hierfür sehr hilfreich:

Nach der Installation wird ein neues CuxD-Gerät im Plugin angelegt und das Gerät im Posteingang der CCU bestätigt. Im neuen Gerät merkt man sich die Seriennummer wie z.B. CUX2801001:1

Systemvariable einrichten

Nachdem man das CUxD-Gerät hinzugefügt hat, muss noch eine Systemvariable angelegt werden. Der Typ der neuen Systemvariablen ist „Zeichenkette“, der Name ist „Telegram“. Der Name wird auch bei allen Beispielen hier auf den Seiten genutzt, aber prinzipiell ist er frei wählbar. Sollte man sich für einen anderen Namen entscheiden, muss der Variablenname in den jeweiligen Skripten auch angepasst werden.

Variable „Telegram“ in der CCU

CCU-Programm anlegen

Das Programm zum Absenden einer Nachricht muss wie folgt erstellt werden:
WENN „Systemzustand“ Telegramm = <leer> „bei Aktualisierung auslösen“
DANN <passiert nichts>
SONST
„Skript“ ausführen „verzögert um 2 Sekunden“

CCU Programm zum Versandt von Benachrichtigungen per Pushover

Ich lasse hier bewusst das Skript verzögert senden, da bei meiner CCU2 bei sofortigem Versand viele Nachrichten leider nicht ankamen, wo auch immer sie hängen geblieben sind. Mit der eingebauten Verzögerung gab es keine Probleme mehr.

Als Skript nutze ich eine angepasste Version des Versands von Telegram-Nachrichten von Christian Lütgens.

! HomeMatic-Script
! PushOver-FRAMEWORK
! based on http://www.christian-luetgens.de/homematic/telegram/telegramframework/T-Framework.htm

object o_msg = dom.GetObject("Telegram");
if (o_msg.Value() != "") {
  string s_cmd = "LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl -s -k -d token=application-token-von-pushover -d user=eigene-user-id-von-pushover -d message="# o_msg.Value() #"' -d priority=1 https://api.pushover.net/1/messages.json";
  dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(s_cmd);
  o_msg.State ("");
}

!  Ende des Scripts

Angepasst werden muss der Application-Token und die eigene User-ID von Pushover. Ggf. muss noch die CuxD-Gerätenummer angepasst werden.

Die Nachricht, die später in der Variable gespeichert und gesendet wird ist frei definierbar, aber Umlaute und Sonderzeichen (Ä, Ö, Ü, ä, ö, ü, ß, &) dürfen nicht genutzt werden, diese werden in der PushOver-App nicht korrekt angezeigt.

4 Antworten auf „Benachrichtigungen mit PushOver einrichten“

  1. Eine kleine Korrektur möchte ich hier noch anfügen.
    Sonderzeichen können doch genutzt werden! Sie müssen nur folgendermaßen ersetzt werden:

    ! Nachricht URL-kodiert:
    ! Ä wird ersetzt durch %C3%84
    ! ä wird ersetzt durch %C3%A4
    ! Ö wird ersetzt durch %C3%96
    ! ö wird ersetzt durch %C3%B6
    ! Ü wird ersetzt durch %C3%9C
    ! ü wird ersetzt durch %C3%BC
    ! ß wird ersetzt durch %C3%9F
    ! ° wird ersetzt durch %C2%B0%0A

    Mit diesem En-/Decoder können ggf. noch andere Ersetzungen ermittelt werden:
    https://meyerweb.com/eric/tools/dencoder/

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.