Homematic Meldungen als Push Nachricht via Pushover an das Smartphone schicken

Das Versenden von Push Nachrichten über die CCU2 an das eigene Smartphone, ist ein wichtiges Thema bei Homematic. Vielleicht kennt ihr auch meinen Artikel, in dem ich beschreibe, wie sich Push Nachrichten via Telegram verschicken lassen, oder ihr seid von diesem Artikel weitergeleitet worden. Als ich damals den Artikel verfasst habe, ging es mir darum, mit so wenig Zusatzsoftware wie möglich aus zu kommen. Daher habe ich auf eine Messenger App gesetzt, die viele User bereits installiert haben. Außerdem wollte ich auf Zusatzsoftware auf der CCU2 verzichten.

Push Benachrichtungen von der Homematic CCU2 über Pusher senden - Titelbild

Bei mir hat das auch immer astrein funktioniert, aber laut den Kommentaren, kann das auch schlechter funktionieren. Daher werde ich in diesem Artikel den CUx Daemon einsetzen (auf der CCU2) und als Push-Dienstleister Pushover verwenden. Ein großer Vorteil von Pushover ist, dass der Dienst viel mehr Möglichkeiten bietet, als der Telegram Bot.

Vorteile von Pushover gegenüber Telegram

Der Telegram Bot ist auch nicht schlecht, aber nicht für jede Situation geeignet. Bei mir kamen Push Nachrichten gelegentlich start verzögert an. Somit war es nicht gerade geeignet für kritische Meldungen. Die Vorteile von Pushover sind meiner Meinung nach:

  • Einrichtung des Dienstes ist einfacher als bei Telegram Bots (viele User hatten damit Probleme)
  • Beim Versand der Nachrichten, kann aus einem vordefiniertem Pool an Sounds gewählt werden.
  • Versand an mehrere Geräte/Benutzer ganz einfach über den Webdienst konfigurierbar. Anpassungen am Homematic Skript sind nicht nötig.
  • Konfiguration sogenannter „Quiet Hours„, in denen man nicht genervt werden will.
  • Festlegung einer Nachrichtenpriorität möglich.
  • Priorität „Emergency“ ignoriert die „Quiet Hour“ und schickt die Nachricht in vordefinierten Intervallen erneut an das Handy (z.B. 3 Stunden lang wird alle 30 Sekunden eine Nachricht geschickt). Die Nachricht muss (!) vom User bestätigt werden, damit das Smartphone Ruhe gibt.
  • Jeder User erhält eine e-Mail Adresse, die per Push an die App weitergeleitet wird. Somit lassen sich sehr einfach auch andere Systeme einbinden.
  • Wird von vielen anderen Webdiensten unterstützt (z.B. IFTTT).

Natürlich gibt es auch einen ganz kleinen Nachteil: Die App auf dem Smartphone kostet nach einer 7-Tägigen Testphase einmalig etwa 5$.

Einrichten des Pushover Accounts

Um Pushover nutzen zu können, muss ein Konto unter https://pushover.net/login eingerichtet werden.

Nach der Einrichtung, zeigt die Startseite direkt den User Key:

Diesen User Key benötigen wir später im Skript. Er wird dauerhaft angezeigt, also nur im Hinterkopf behalten wo er zu finden ist ;) Zusätzlich können auch Geräte, „Quiet Hours“ und die e-Mail Adressen Konfiguriert werden. Wie das geht, findet bestimmt jeder selbst heraus.

Als nächstes muss noch eine neue Anwendung hinzugefügt werden, bzw. ein API Token erstellt werden. Dieser API Token wird auch später im Skript benötigt (!). Ein Klick auf „Apps & Plugins“ öffnet die App Verwaltung. Ein weiterer Klick auf „Create a New Application / API Token“ erzeugt den Token.

Die Felder im Dialog „Create New Application“Plugin“ werden wie folgt ausgefüllt:

  • Name: Frei Wählbar, wird in der Weboberfläche und der App angezeigt.
  • Type: Bitte „Application“ wählen
  • Description: Freitext
  • URL: -frei lassen-
  • Icon: Optional kann ein Icon hochgeladen werden, das sollte auch in der App angezeigt werden. Habe ich nicht getestet.
  • Dann noch die AGB lesen und falls einverstanden, Akzeptieren.

Der folgende Screenshot zeigt das Endergebnis und den Weg zur Tokenerstellung:

Pushover create API Token

 

Nach dem Bestätigen, wird direkt der API Token angezeigt (bitte entschuldigt, dass sich der Name in den Screenshots unterscheidet):

 

pushover API Token

 

Der Token kann jederzeit erneut über „Apps & Plugins“ angezeigt werden. Er muss also nicht gesichert werden.

Somit haben wir jetzt den User Token und den API Token. Beide ändern sich nie und müssen geheim gehalten werden! Die Übertragung zum Pushover Server später aus dem Skript heraus, erfolgt natürlich verschlüsselt.

Das Homematic Script

Ganz wichtig ist, dass der CUx Daemon auf der CCU2 installiert ist un ein Exec-Device mit der Seriennummer „1“ existiert. Falls die Seriennummer abweicht, muss das Skript entsprechend angepasst werden. Wer nicht weiß, wie sich ein Exec-Device einrichten lässt, kann das in meinem Artikel über die HUE Ansteuerung nachlesen.

Kommen wir direkt zu Sache. Dieses, liebevoll von mir gebastelte Skript, wird einfach in ein Homematic Programm kopiert.

Dabei wird in der Variable po_api_user der User Key aus dem ersten Schritt eingetragen. Die Variable po_api_token erhält den API Token aus dem zweiten Schritt. Also einfach das aaaa und bbbb ersetzen. Alle Sonderzeichen müssen natürlich erhalten beleiben.

!Pushover - Skript by technikkram.net
!------------------------------

!__Pushover Keys
string po_api_user="aaaaaaa";
string po_api_token="bbbbbb";

!__Nachricht
string po_title="Beispieltitel";
string po_message="Beispieltext";
string po_sound="none";
string po_priority="0";

!___Nur benoetigt wenn Prioritaet auf Emergency (2) gesetzt ist
string po_retry="30";
string po_expires="3600";

!___Erlaeuterungen
! Sounds: pushover, bike, bugle, cashregister, classical, cosmic, falling, gamelan, incoming, intermission, magic, mechanical, pianobar, siren, spacealarm, tugboat, alien, climb, persistent, echo, updown, none
!Prioritaeten: 0=Normal; 1=High (AudioVibration auch waehrend quiet hour); 2=Emergency (Meldung Muss bestätigt werden, solange sound/Vibration); -1=Low ; -2=Lowest
! Bei Prio 2: po_retry gibt an (in sekunden), wie hauefig eine Nachricht vom Server geschickt wird (z.B. alle 30s)
! Bei Prio 2: po_expires gibt an (in Sekunden), wie lange nachrichten geschickt werden sollen. Bestätigt der User, stoppt die Benachrichtigung. Beispiel: Alle 30 sekunden wird eine Nachricht geschickt, das passiert eine Stunde lang (1 Stunde = 3600 sekunden).

!------ NICHT MODIFIZIEREN-------
string po_request;
if(po_priority=="2"){
po_request="/usr/local/addons/cuxd/curl -X POST -k -H \"Content-Type: application/x-www-form-urlencoded\" -d \"token=" # po_api_token # "&user=" # po_api_user # "&title=" # po_title # "&priority="# po_priority # "&sound=" # po_sound # "&retry="# po_retry # "&expire=" # po_expires # "&message=" # po_message # "\" https://api.pushover.net/1/messages.json";
}
else{
po_request="/usr/local/addons/cuxd/curl -X POST -k -H \"Content-Type: application/x-www-form-urlencoded\" -d \"token=" # po_api_token # "&user=" # po_api_user # "&title=" # po_title # "&priority="# po_priority # "&sound=" # po_sound # "&message=" # po_message # "\" https://api.pushover.net/1/messages.json";
}
dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State(po_request);

Nun kann direkt die Nachricht eingegeben werden, dazu einfach diesen Block im Skript anpassen:

!__Nachricht
string po_title=“Beispieltitel„;
string po_message=“Beispieltext„;
string po_sound=“none„;
string po_priority=“0„;

Ein wichtiger Hinweis noch: Der Text muss URL kodiert werden. Das bedeutet, dass Umlaute wie folgt ersetzt werden müssen:

Ä 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

Genaugenommen muss auch das Leerzeichen durch ein %20 ersetzt werden, es funktioniert aber auch, wenn man das nicht macht. Wer es sich einfach machen will, verwendet einfach einen online URL Encoder, wie z.B. diesen hier. Einfach den Text normal eingeben und auf „Encode“ klicken. Das Ergebnis dann in das Skript kopieren.

Erläuterungen

Ich habe bereits ein paar einfache Erläuterungen in das Skript gepackt, damit sie genau dort sind, wo man sie benötigt, falls das Skript später angepasst werden soll. Die detaillierte Erklärung, insbesondere zu den Prioritäten erfolgt aber hier.

Prioritäten

Beim Versand einer Nachricht, wird eine Priorität festgelegt. Die Prioritäten werden wie folgt interpretiert:

  • Priorität -2 (Lowest Priority): Es wird keine Benachrichtigung auf dem Smartphone erzeugt. Bei iOS wird aber der Zähler an dem App Icon erhöht.
  • Priorität -1 (Low Priority): Es wird kein Sound oder Vibration erzeugt, jedoch eine Notification in der Notification bar. Meldungen, die in einer Quiet Hour gesendet werden, werden wie Priorität -1 behandelt.
  • Priorität 0 (Normal Priority): Akustische Benachrichtung bzw. Vibration und Notifaction in der Notification Bar. Letztendlich wie eine WhatsApp Nachricht.
  • Priorität 1 (High Priority): Die Quiet Hour wird ignoriert, es wird trotzdem ein Sound abgespielt, bzw. die Vibration erfolgt. Zusätzlich wird die Nachricht Rot hervorgehoben.
  • Priorität 2 (Emergency Priority): Wie bei Prio 1. Zusätzlich wird die Nachricht in einem vordefiniertem Intervall (variable po_retry, Zeit in Sekunden) permanent an das Handy geschickt, bis der User sie bestätigt. Das ganze passier über eine definierte Zeitdauer (Variable po_expires, Zeit in Sekunden). Somit wird sichergestellt, dass der BEnutzer definitiv reagiert, wenn ein kritisches Ereignis eintritt. Z.B.: Einbruc, Rohrbuch oder Regen wenn ein Fenster geöffnet ist.

Sounds

Standardmäßig wird ein default Sound abgespielt. Dieser kann im Smartphone auch verändert werden. Über den Sound-Parameter kann jedoch ein vordefinierter Sound abgespielt werden. Die genaue Liste aller Möglichkeiten steht im Skript. Einfach rumspielen…

Fazit

Dadurch dass Pushover ausschließlich auf den Versand von Push-Nachrichten ausgelegt ist, liefert der Dienst auch wesentlich bessere Features. Insbesondere das Verwalten mehrerer Geräte und das Setzen von Prioritäten gefällt mir sehr gut. Somit kann sichergestellt werden, dass kritische Situationen im Schlaf nicht verpasst werden.

Der Einsatz von CUxD trägt deutlich zur Stabilität bei, daher sollte er verwendet werden.

Insgesamt kann man sich auf diesem Wege sehr komfortabel von Homematic benachrichtigen lassen, natürlich nur solange eine Internetverbindung besteht ;) Wer komplett auf Nummer sicher gehen will und nicht dem Internetzugang vertrauen möchte, sollte zusätzlich über eine Innensirene nachdenken. Als Alarmanlage macht sie definitiv Sinn und in Kombination mit der Push Nachricht, ist man meiner Meinung nach sehr gut auf alle Situationen vorbereitet.

 

94 Kommentare
  1. Steffen
    Steffen sagte:

    Bin nun auch auf die CCU umgestiegen von ehemals Access Point. Schon etwas schwieriger die Sache aber mit solchen Anleitungen dann doch erfolgreich zu installieren. Vielen Dank für die Mühen.
    Sehe ich das dann aber richtig, dass man für jede Nachricht Alarm an/ Alarm aus/ Licht an/ Licht aus, etc. ein eigenes Programm/Skript benötigt?

    Antworten
  2. Gerd
    Gerd sagte:

    Ich habe Pushover – mit hilfe deiner Anleitung – seit Jahren am Laufen. Super Sache!!! Vielen Dank!

    Ich möchte jetzt in der MItteilung gerne eine Variable mit ausgeben. Z.B. die Windgeschwindigkeit, gemessen von meiner Wetterstation.

    Hast Du da ein Beispiel Snippet?

    Wäre super. Da könnte man sich dann entlang hangeln :-)

    Antworten
  3. oppey
    oppey sagte:

    hi!
    läuft bei mir nur wie kann ich an ein bestimmtes Handy Nachrichten verschicken? Die zwei Handys sind eingerichtet etc. leider bekommen immer beide sämtliche Nachrichten.

    Antworten
    • Christian
      Christian sagte:

      wenn ich das richtig sehe müsste ja nur das „device“ mit eingebaut werden. Leider kenne ich mich mit der Programmierung nicht aus.

      Antworten
  4. Marc Schulte
    Marc Schulte sagte:

    Hallo zusammen, ich bekomme schon einige Zeit keine Push-Over Nachrichten mehr. Von der Pushover-Website kommt die Nachricht durch aber keine meiner Nachrichten aus der CCU2. Ich habe nichts verändert und das ganze lief jetzt seit Jahren ohne Probleme. Habt ihr eine Idee was ich kontrollieren könnte? Danke vorab Marc

    Antworten
  5. Torsten U.
    Torsten U. sagte:

    Danke für das Script.
    Leider habe ich das Probleme, dass keine Pushover-Meldung ankommt. Ich vermute es liegt an der Bezeichnung des CUxDaemon. Im CUxDaemon hat das angelegte Gerät folgende Bezeichnung:

    CUX2801005 (x) HM-RC-19 CUX2801005 *KEY

    Im Script habe ich dann („CUxD.CUX2801005:1.CMD_EXEC“) eingetragen.
    Ist da etwas falsch?
    Gruß Torsten U.

    Antworten
  6. Manfred
    Manfred sagte:

    Hallo,
    ich versuche meine HomeMatic Programme mit Pushover scripts zu versehen. Dazu habe ich das aus dieser Seite aufgeführte script implementiert. Soweit sogut…….
    Auf dem Andriod Smartphone ist die Pushover App komplett installiert und funktioniert. Ich kann sowohl von einem Email Programm and die App senden, als auch mir selbst push Nachrichten
    Im Script sollte jetzt „aaaaaaa“ und „bbbbbbbb“ eingetraken werden. Statt a habe ich den von Pushover erhaltenen langen USER-KEY eingetragen.
    Was soll ich bloß unter b eintragen ???? (pro_api_token). Wo bekomme ich den her ?? In der App auf dem Smartfone ist er jedenfalls NICHT zu generieren. Oder ich finde die Stelle nicht.
    Für Hilfe wäre ich sehr dankbar. Sonst kann ich das script nicht benutzen
    LG
    Manfred

    Antworten
  7. Martin S
    Martin S sagte:

    Hallo,

    super Anleitung! Hat alles auf anhieb funktioniert.
    Ich habe mir bei eingestellt, dass ich eine um 60min verzögerte Nachricht bekomme wenn das Fenster geöffnet ist. Allerdings wird die Nachricht auch gesendet wenn das Fenster inzwischen wieder geschlossen wurde.
    Hat einer einen Tipp für mich? Hat zwar eher mit Homematic selbst zu tun aber vielleicht hat hier trotzdem jemand eine Lösung parat :)

    Gruß Martin

    Antworten
    • Torsten
      Torsten sagte:

      Hallo Martin,
      setze nach 60 Minuten eine Systemvariable. Dann machst Du ein kleines Programm das durch diese Systemvariable getriggert wird. Dann kannst Du den Fensterstatus noch einmal abfragen und wenn noch immer offen dann Push Nachricht senden. Denke daran dabei die Systemvariable wieder zurück zu setzen.
      Gruß Torsten

      Antworten
      • Martin S
        Martin S sagte:

        Vielen Dank! Habs hinbekommen. Finde ich allerdings recht aufwendig wenn ich mal 10 Fenster damit ausstatten möchte.
        Kann ich aus deinem Skript heraus den Fensterstatus abfragen? Dann könnte man sich die Systemvariable und das 2. Programm sparen.

        Gruß Martin

        Antworten
        • Torsten
          Torsten sagte:

          Ja klar. Du könntest mit einer Systemvariable und im Script alle Fenster abfragen und mit einer entsprechenden Pushnachricht dann sogar sagen welche Fenster noch offen sind.

          Antworten
  8. Markus Stroink
    Markus Stroink sagte:

    Hallo,

    super Anleitung, aber offensichtlich hat sich sehr sehr viel in der zwischenzeit geändert.

    U.a. ist die Prio2 (Alarm muss bestätigt werden) mittlerweile nicht mehr existent. Die Folge: Es erfolgt gar KEINE Alarmierung mehr. Wer das nicht im Rahmen von Tests bemerkt, der hat irgendwann ein Nachsehen…

    Ich rate dringend zur Änderung der Anleitung oder entsprechendem Hinweis.

    Schade, dass Ihr Eure Anleitungen nicht pflegt, denn es gibt ja mehrere Hinweise hier in den Kommentaren.

    Gruß
    Markus

    Antworten
    • Thomas
      Thomas sagte:

      Ja das stimmt allerdings, ich habe alle möglichen Änderungen ausprobiert die hier diskutiert wurden. Alle ohne Erfolg… Habe so langsam das Gefühl das der Push Service über CuxD tot ist. Man kann aber nirgends aktuelle Stimmen in Foren oder so finden. Sehr komisch.
      Wäre sehr erfreut wenn jemand was dazu sagen kann, oder der Betreiber dieser sehr informativen HP sein vorgestelltes Skript aktualisiert.

      Antworten
        • Thomas
          Thomas sagte:

          OK, habe es zwischenzeitlich hinbekommen.
          Den Post habe ich anscheinend aus Frust geschrieben. Mein Fehler lag bei den Triggern fürs Programm nicht im Skript.

          Habe beim rumprobieren rausgefunden das auch das originale Skript noch funktioniert. Habe aber, zukunftssicher, den Suchpfad trotzdem entfernt.

          Antworten
  9. Gerald
    Gerald sagte:

    Hi Philipp
    Super Anleitung – danke dafür.
    Im Schritt zur Erstellung des „API Token“ finde ich jedoch auf der Pushover-Webseite die Homematic-Applikation nicht. Auch die erwähnte Menuposition „Apps & Plugins“ gibt es dort nicht (mehr). Kannst Du da helfen bzw. allenfalls die Beschreibung anpassen? Danke.
    Gerald

    Antworten
  10. chris
    chris sagte:

    hi,
    wenn ich den pfad meiner webcam von der haustür einfüge, kürzt PO mir die url…..
    wie kann ich die komplette url senden?
    es klingelt an der tür, po schickt ne nachricht mit bild von der cam…..

    Antworten
  11. Michael
    Michael sagte:

    Hallo zusammen,
    ich habe pushover erfolgreich für Alarmmeldungen (Alarmanlage) eingerichtet.
    Nun würde ich gerne das auslösende Gerät (wie Fensterkontakt) der Meldung mitgeben.
    Gibt es hierzu eine (simple) Lösung?

    Viele Grüsse
    Michael

    Antworten
  12. UNO4711
    UNO4711 sagte:

    Hi Philipp,

    super Anleitung! Herzlichen Dank! Eine sehr einfache Frage: Wie verknüpfe ich in der Message Text und Variablen? Nur die Temperatur des Kellers angeben funktioniert, aber ich würde die Info gerne mit weiterem Text verknüpfen.

    So funktioniert es:

    var tKeller = (datapoints.Get(„HmIP-RF.000E99A441C311:1.ACTUAL_TEMPERATURE“)).Value();
    string po_message=tKeller;

    So möchte ich es haben – siehe Fragezeichen.

    var tKeller = (datapoints.Get(„HmIP-RF.000E99A441C311:1.ACTUAL_TEMPERATURE“)).Value();
    string po_message=“Temperatur Keller: “ ?was muss hier hin? tKeller;

    Antworten
  13. xebo
    xebo sagte:

    Besten Dank für die sehr gute Erklärung, Habe es auf einer CCU3 installiert und mit Android 10 funktioniert es tiptop.

    Antworten
  14. Oliver
    Oliver sagte:

    Hey,

    wie kann ich Servicemeldungen über Pushover anzeigen lassen. Und weis einer warum
    HM-Sen-MDIR-O-2 Bewegungsmelder keine Option „Batterie leer“ hat wie bspw. HM-Sec-SC-2 und wie ich dieses per Pushover anzeigen lasse für den Bewegungsmelder

    Antworten
  15. Steffen
    Steffen sagte:

    Hi, zuerst auch von meiner Seite einen Dank für das toille skript.
    Ich hatte es Mitte Januar als alarmmeldung aufgesetzt und damals hatte es funktioniert. Skript getestet, nachricht empfangen. Leider passiert seither nichts mehr und ich kann nicht einmal mehr das Skript testen…

    es fällt wahrscheinlich auf, denn ich bin ein blutiger Neuling in der Thematik.. aber was zur Hölle mach ich falsch?
    Danke für eure Ratschläge… evtl ist auch was auf der CCU nicht ganz korrekt? Der schalter über CuXD ist eingerichtet..

    Danke euch.
    VG

    Hier das Skript:
    string po_api_user=“aaaaaaa“;
    string po_api_token=“bbbbbbb“;

    string po_title=“Einbruchsalarm“;
    string po_message=“es wurde Alarm ausgeloest“;
    string po_sound=“siren“;
    string po_priority=“2″;

    string po_retry=“15″;
    string po_expires=“1800″;

    string po_request;
    if(po_priority==“2″){
    po_request=“/usr/local/addons/cuxd/curl -X POST -k -H \“Content-Type: application/x-www-form-urlencoded\“ -d \“token=“ # po_api_token # „&user=“ # po_api_user # „&title=“ # po_title # „&priority=“# po_priority # „&sound=“ # po_sound # „&retry=“# po_retry # „&expire=“ # po_expires # „&message=“ # po_message # „\“ https://api.pushover.net/1/messages.json„;
    }
    else{
    po_request=“/usr/local/addons/cuxd/curl -X POST -k -H \“Content-Type: application/x-www-form-urlencoded\“ -d \“token=“ # po_api_token # „&user=“ # po_api_user # „&title=“ # po_title # „&priority=“# po_priority # „&sound=“ # po_sound # „&message=“ # po_message # „\“ https://api.pushover.net/1/messages.json„;
    }
    dom.GetObject(„CUxD.CUX2801001:1.CMD_EXEC“).State(po_request);

    Antworten
      • Steffen
        Steffen sagte:

        Hi Bernd, danke Dir für den Hinweis und den Link. ICh habe mir den Thread durchgelesen und die Änderungen am Pfad vorgenommen, also statt bisher
        po_request=“/usr/local/addons/cuxd/curl -X POST…

        steht da nun

        po_request=“curl -X POST…

        und zwar 2mal. Leider tut sich gar nichts.

        Gibt es noch ein anderes Skiript das ich testen kann?=

        Antworten
  16. Alexander
    Alexander sagte:

    Hallo, ich bin neu in der Welt der Homematic. In unserem Neubau wurden Homeatic komponenten verbaut und eingestellt.
    Um pushnachrichten zu empfangen hat der Elektriker und ein Ma von Homematic alles so vorbereitet, das wir nur noch user und Token eingeben müssen. Dies habe ich gemacht und ich bekomme keine nachricht aufs Handy. Für Hilfe wäre ich echt dankbar!

    Antworten
    • Thomas06308
      Thomas06308 sagte:

      Bei mir funktioniert das modifizierte Pushover-Script leider nicht. Hab ich etwas falsch modifiziert?
      CCU2 FW 2.49.18 mit CuXD 2.3.3

      !Pushover – Skript by technikkram.net
      !——————————

      !__Pushover Keys
      string po_api_user=“**************************“;
      string po_api_token=“****************************“;

      !__Nachricht
      string po_title=“Heizung“;
      string po_message=“Heizung%20wurde%20aktiviert!“;
      string po_sound=“none“;
      string po_priority=“0″;

      !___Nur benoetigt wenn Prioritaet auf Emergency (2) gesetzt ist
      string po_retry=“30″;
      string po_expires=“3600″;

      !___Erlaeuterungen
      ! Sounds: pushover, bike, bugle, cashregister, classical, cosmic, falling, gamelan, incoming, intermission, magic, mechanical, pianobar, siren, spacealarm, tugboat, alien, climb, persistent, echo, updown, none
      !Prioritaeten: 0=Normal; 1=High (AudioVibration auch waehrend quiet hour); 2=Emergency (Meldung Muss bestätigt werden, solange sound/Vibration); -1=Low ; -2=Lowest
      ! Bei Prio 2: po_retry gibt an (in sekunden), wie hauefig eine Nachricht vom Server geschickt wird (z.B. alle 30s)
      ! Bei Prio 2: po_expires gibt an (in Sekunden), wie lange nachrichten geschickt werden sollen. Bestätigt der User, stoppt die Benachrichtigung. Beispiel: Alle 30 sekunden wird eine Nachricht geschickt, das passiert eine Stunde lang (1 Stunde = 3600 sekunden).

      !—— NICHT MODIFIZIEREN——-
      string po_request;
      if(po_priority==“2″){
      po_request=“/usr/bin/curl -X POST -k -H \“Content-Type: application/x-www-form-urlencoded\“ -d \“token=“ # po_api_token # „&user=“ # po_api_user # „&title=“ # po_title # „&priority=“# po_priority # „&sound=“ # po_sound # „&retry=“# po_retry # „&expire=“ # po_expires # „&message=“ # po_message # „\“ https://api.pushover.net/1/messages.json„;
      }
      else{
      po_request=“/usr/bin/curl -X POST -k -H \“Content-Type: application/x-www-form-urlencoded\“ -d \“token=“ # po_api_token # „&user=“ # po_api_user # „&title=“ # po_title # „&priority=“# po_priority # „&sound=“ # po_sound # „&message=“ # po_message # „\“ https://api.pushover.net/1/messages.json„;
      }
      dom.GetObject(„CUxD.CUX2801001:3.CMD_EXEC“).State(po_request);

      Antworten
  17. andre
    andre sagte:

    Gerade getestet :
    Ersetze : po_request=“/usr/local/addons/cuxd/curl -X POST -k -H
    Durch : po_request=“/usr/bin/curl -X POST -k -H

    Info : ist 2x im Script .

    Gruß

    Antworten
  18. Michael
    Michael sagte:

    Hallo,

    Anscheinend dürfte das skript mit der neuesten Software 2.49.18 für die CCU 2 nicht mehr funktionieren. Es werden keine Pushnachrichten mehr versendet. Auch das Ersetzen von „extra/curl“ durch „/usr/bin/curl“ im Skript bringt leider keinen Erfolg.

    Vielleicht könnten Sie mir weiterhelfen

    Antworten
    • starfish
      starfish sagte:

      laut homematic-forum soll eine Änderung des Pfades genügen. Bei mir ist das auch nicht der Fall. Manueller Aufruf von pushover über /usr/bin/curl in der ccu2 konsole funktioniert; über cuxd exec gehts aber nicht. gibts da neue erkenntnisse?

      Antworten
      • starfish
        starfish sagte:

        ich habe nirgends extra/curl stattdessen habe ich im original-script den curl aufruf an 2 Stellen wie folgt abgeändert: po_request=“curl -s -k -d token='“#po_api_token#“‚ -d user='“#po_api_user#“‚ -d device='“#po_device#“‚ -d title='“#po_title#“‚ -d message='“#po_message.ToUTF8()#“‚ -d priority='“#po_priority#“‚ -d sound='“#po_sound#“‚ -d retry='“#po_retry#“‚ -d expire='“#po_expires#“‚ https://api.pushover.net/1/messages.json„;
        .
        seit der neusten ccu-firmware müsste nicht mal mehr ein Pfad angegeben werden. beide Varianten funktionieren hier nicht. wahrscheinlich klemmts beim cuxd – exec

        Antworten
  19. Timo Schmidt
    Timo Schmidt sagte:

    Wieder mal eine super Anleitung die ich problemlos umsetzen konnte. So viel besser als das Handy ständig über VPN verbunden haben zu müssen.
    Vielen vielen Dank!

    Antworten
  20. mfo906
    mfo906 sagte:

    Hallo,
    leider klappt bei mir die Benachrichtigung per Pushover nicht.
    Verwendete Systeme:
    CUxD: 2.3.3
    piVCCU3: 3.47.15

    Hier die Fehlermeldung im Syslog (api key und token habe ich hier geändert):
    Sep 2 10:51:01 homematic-raspi local0.err ReGaHss: ERROR: ScriptRuntimeError: !Pushover – Skript by technikkram.net !—————————— !__Pushover Keys string po_api_user=“sdfjslödfjlsaöj“; string po_api_token=“sdfsadfasd“; !Pushover – Skript by technikkram.net !—————————— !__Nachricht string po_title=“Wasseralarm“; string po_message=“Heizungskeller“; string po_sound=“none“; string po_priority=“0″; !___Nur benoetigt wenn Prioritaet a
    f Emergency (2) gesetzt ist string po_retry=“30″; string po_expires=“3600″; !___Erlaeuterungen ! Sounds: pushover, bike, bugle, cashregister, classical, cosmic, falling, gamelan, incoming, intermission, magic, mechanical, pianobar, siren, spacealarm, tugboat, alien, climb, persistent, echo, updown, none !Prioritaeten: 0=Normal; 1=High (AudioVibration auch waehrend quiet hour); 2=Emergency (Meldung Muss bestätigt werden, solange sound/Vibration); -1=Low ; -2=Lowest ! Bei Prio 2: po_retry gibt an (in sekun
    en), wie hauefig eine N

    Irgend eine Idee?

    Vielen Dank
    Manfred

    Antworten
  21. Markus
    Markus sagte:

    Hi, ich habe auf dem iPhone8 pocketControl laufen. Leider kann ich Programme nicht bearbeiten, in denen ein Skript mit „\“ läuft.
    Ich habe die CCU2, leider.
    Gibt es ein alternatives Skript?
    Gruß, Markus

    Das schreibt pocketControl:
    Das Script enthält den Backslash \ . Die Bearbeitung von Skripten mit Backslash ist seit Version 10.0 möglich, wenn man eine CCU3 mit Firmware ab 3.47.x verwendet. Vorher ist durch einen Bug der Firmware die Verwendung nicht möglich.
    Script ohne Backslash können schon immer bearbeitet werden

    Antworten
  22. Georg Roithmayr
    Georg Roithmayr sagte:

    Hallo
    Danke für den tollen Beitrag funktioniert wunderbar.
    Ist es möglich noch eine sekundengenaue Zeitangabe in die Nachricht einzubauen? timestamp?
    Gruss

    Antworten
  23. Christian
    Christian sagte:

    Hallo.

    Ich weiß zwar nicht ob meine Frage noch gelesen wird, versuche es aber dennoch.
    Eine ähnliche Frage wurde weiter oben schon gestellt, jedoch leider nicht beantwortet.

    Ich habe die Push Benachrichtigung mit der Anleitung erfolgreich eingerichtet. Nun möchte ich aber das im Falle einer Abwesenden Person diese die Nachricht NICHT erhält. (Programm zur Fenster offen Erkennung )

    Bei Pushover habe ich gelesen das ich es mit „device“ steuern kann welches Gerät die Nachricht. Ob beide, oder nur das gerade anwesende.

    Habe mehrere Varianten ausprobiert. Habe auch versucht einen separaten API Token anzulegen. Jedoch ohne Erfolg. Was muss ich im Skript ändern?

    Gruß

    Christian

    Antworten
  24. Michael
    Michael sagte:

    Hallo zusammen,

    vielen Dank für die wirklich super tolle Beschreibung, noch einfach geht es echt nicht! :)
    Das einzie was mir nun wirklich noch fehlt.
    Wie implementiere ich das ganze. Welche Settings müssen der CCU mitgeteilt werden.
    Ich gehe hier wahrscheinlich über die Funktion „Programme und Verknüpfungen-> Programme und Zentrallenverknüfungen“
    Jedoch wie geht es dann weiter.. ??
    Kann man mich hier auch so toll unterstützen? Vor allem worher weiß das Script was es auslesen soll?

    Danke euch im voraus
    Gruß
    MIcha

    Antworten
    • Michael
      Michael sagte:

      Sehr schade, bei mir funktioniert es leider nicht.
      Habe es wie oben beschrieben getestet. Auch habe ich folgendes Versucht.

      Geräte -> Thermostat ausgewähl „Batterie leer“ bei Status Änderung auslösen.
      Dann dann Skript hinter leget..
      Leider keine Meldungen via PushOver. Es wäre sehr schön hilfe zu erhalten.
      Ich konnte nun auch in weiteren Foren lesen das eine Variable benötigt wird…
      – Ist das richtig?
      – Wenn ja welche?

      über hilfe wäre ich euch echt dankbar.

      Antworten
  25. Tim
    Tim sagte:

    Moin,
    Hatte es schonmal jemand das keine Push naricht gesendet wird. Habe alles versucht vergeblich. Habe Raspimatic die Aktuelle Version.
    Und alles genau so wie in der Beschreibung gemacht.
    Um Hilfe wäre ich sehr dankbar.
    Gruß Tim

    Antworten
      • Tim
        Tim sagte:

        Moin,
        habe nach dem Letzten Software update vom 11.5.2019 das Problem das keine Push narichten mehr versenden wird. Habe aber nichts verändern oder neu eingestellt.
        Woran könnte das liegen hat jemand ähnliche Probleme??
        Gruß Tim

        Antworten
  26. Werner Wagner
    Werner Wagner sagte:

    Hallo Philipp,
    ich habe Pushover eingerichtet. Alles funktioniert sehr gut. Nun möchte ich auch den Text formatieren und farblich gestalten. Hierzu wird die Option „-d html=1“ erwartet. Der Nachrichentext würde z. Bsp. folgendermaßen aussehen:
    „AUSSENTEMPERATUR“
    Wie und wo muß die Option „-d html=1“ eingefügt werden damit der formatierte Text in der App dargestellt wird?

    Vielen Dank und Gruß Werner

    Antworten
  27. Max
    Max sagte:

    Hallo,
    danke fuer den tollen und vorallem fuer mich als Anfaenger wirklich sehr hilfreichen Artikel!
    Was mich einige Zeit gekostet hat war die Tatsache das „emergency notifications“ nur alle 30s verschickt werden koennen.
    Siehe: https://pushover.net/api
    […]This parameter must have a value of at least 30 seconds between retries.[…]

    prio 0 Nachrichten funktionierten ohne Probleme, prio 2 Nachrichten gar nicht.

    Ich hatte den Timer von 30s auf 10s reduziert, mit dem Ergebnis das gar nichts mehr ging.

    Vielleicht ist das ja fuer jemanden hilfreich der vor einem aehnlichen Problem stand wie ich.

    Skript wird jetzt einfach drei mal hintereinander mit je 10s Versatz ausgefuehrt… funktioniert :)

    Gruß
    Max

    Antworten
  28. Tobi
    Tobi sagte:

    Tolles Script, vielen Dank!
    Ich habe eine Frage: Wie kann ich in durch das Script nur ein bestimmtes Smartphone meines pushover-Accounts ansteuern? Mit
    string po_device=“TobiS8″;
    unter PushoverKeys funktioniert es nicht.
    Für Hilfe wäre ich dankbar.
    LG Tobi

    Antworten
    • Bastian
      Bastian sagte:

      Hab das auch benötigt und entsprechend erweitert:

      !__Nachricht
      string po_device=“beispielhandynameauspushoverdeviceliste“; ‚-> können auch mehrere per Komma getrennt angegeben werden

      !—— NICHT MODIFIZIEREN——-
      im if als auch im else zweig dies ergänzen:
      „&device=“ # po_device #

      Grüße, Bastian

      Antworten
  29. Bernd
    Bernd sagte:

    Hallo Philipp,
    herzlichen Dank für die tolle Beschreibung.
    Bin seit gestern neuer Pushover User.
    Es hat alles sofort geklappt.

    Im Moment versuche ich mir Nachrichten bei leeren Batterien per Pushover zu senden, aber das bekomme ich nicht hin.
    Vielleicht kannst Du das irgendwann auch mal so toll erklären :-)
    Grüße von Bernd

    Antworten
  30. Sascha
    Sascha sagte:

    Hallo Philipp,
    Ich habe den Pushdienst vor einem halben Jahr eingerichtet und er läuft wirklich gut. Ich nutze ihn für die Waschmaschine, Bewegungsmelder usw. Allerdings habe ich nie auf die Uhrzeiten der Pushmeldungen geachtet und jetzt ist mir aufgefallen, das sie um 5 Stunden verschoben sind. Die Waschmaschine ist Fertig um 15:10 Uhr und die Pushmeldung zeigt an 20:10 Uhr. Die Zeit der CCU stimmt, muss die Zeit in Cux ein gestellt werden, oder woher nimmt der die Zeit?

    Gruß Sascha

    Antworten
  31. Bernd
    Bernd sagte:

    Hallo Philipp,
    ich bin neu in der Welt der CCU2, daher hab ich alles nach deiner Anleitung umgesetzt.
    Nur bekomme ich keine Nachrichten auf mein Handy, wenn ich in Pushover eine Test Mail schreibe kommt diese an.
    Ich bin etwas Ratlos.
    Gruß bernd

    Antworten
  32. Sabine
    Sabine sagte:

    Hi,
    lieben Dank erst einmal für die tolle Anleitung. Habe alles eingerichtet und bekomme auch Pushnachrichten bei verschiedenen geöffneten Fenstern. Habe auch Deine Anleitung „Waschmaschine fertig“ für Waschmaschine und Trockner befolgt und das Telegramm-Skript gegen ein Pushover-Skript ausgetauscht, hier kommt aber leider nichts an. Hast Du eine Idee an was das liegen könnte?
    Herzlichen Dank schon mal im Voraus und liebe Grüsse

    Antworten
    • Sabine
      Sabine sagte:

      Nachtrag: Habe das Problem selbst lösen können, indem ich statt, wie in der „Waschmaschinen-Push-Telegramm-Anleitung“ beschrieben, den Kanal 4 mit mAh, den Kanal 2 mit W genutzt habe. Jetzt funktioniert es ohne Probleme und sendet mir schön die Nachrichten aufs Handy

      Antworten
  33. Stephan
    Stephan sagte:

    Hallo Phiipp,

    ich habe deine Anleitung umgesetzt und funktioniert auch perfekt, dank für das Tutorial
    aber eine Frage noch, es gibt ja Mittlerweile bei Pushover die Möglichkeit auch ein Bild mit zu senden, wie würde da die Änderung in deinem Script aussehen, kriege es leider nicht hin. ein Bild von homematic liegt ja auf jeder CCU unter „/www/ise/img/homematic_logo_small_gray.jpg“;

    Gruß Stephan

    Antworten
  34. Fabrice
    Fabrice sagte:

    Hallo,
    ich habe CuxD wie in deinen Artikeln beschrieben auf meiner RaspberryMatic eingerichtet, ein neues Gerät an der CCU angelegt und die CCU neu gestartet. Anschließend habe ich das Script in ein Programm kopiert, alle Daten wie beschrieben eingegeben. Ich bekomme allerdings bei Befehl Skript ausführen keine Nachricht auf mein Iphone. Ich habe im letzten Teil deines Skripts der unter Nicht modifizieren steht gesehen, dass die Seriennummer der bei mir neu angelegten Fernbedienung nicht exakt die gleiche ist, wie die in deinem Skript. Ich habe meine so in das Skript einkopiert CUxD.CUX2800001:1.CMD_EXEC“).State(po_request) – bekomme allerdings immer noch keine Nachrichten. Kannst Du mir bitte weiterhelfen? Vielen Dank, Fabrice

    Antworten
  35. Andy
    Andy sagte:

    Hallo Philipp, ich habe es heute auch versucht zu installieren. Die Meldungen kommen auch, aber es gibt zum einen auch keinen Ton und die Push bleibt auch dunkel auf dem Smartphone.

    Zudem zählt es irgendwie einen Zähler hoch, denn bei jedem auslösen bekomme ich eine Meldung mehr. Also pro Auslösung sind es jetzt 6 Push auf einen Streich.

    Kannst du mir bitte helfen.

    Danke

    Gruß Andy

    Antworten
  36. Michael
    Michael sagte:

    Hallo Philipp,

    danke für dein gutes Tutorial. Bei mir hängt es gerade an dem CUx-Deamon. Wenn ich hier wie in deinem anderen Tutorial beschrieben ein Gerät einrichte, wird dieses auch unter „Info“ im Syslog-Fenster angezeigt. Im Posteingang der CCU2 wird aber kein neues Gerät gefunden.
    Hast du eine Idee, woran das liegen kann?

    Antworten
  37. Markus
    Markus sagte:

    Hallo Philipp,

    bekomme ich auch irgendwie einen variablen Text in das Skript? Ich lasse mir zum Beispiel Alarmmeldungen schicken, wenn einer unserer Rauchmelder auslöst. Ich bekomme es aber nicht hin, dass mir das System den initial auslösenden Melder zusendet.

    Gruß

    Markus

    Antworten
    • Philip
      Philip sagte:

      Hey Markus,

      ich habe ein variablen Text in mein Pushover Skript integriert. Ich schreibe ein Dokumentation und poste es mit dem Skript.

      Antworten
    • Philip
      Philip sagte:

      Hello Markus,

      Sorry, dass es so lange gedauert hat. Aber nun mal die benötigte Information zu wie ich der tolle Skript aus dieser Beitrag von Philipp angepasst habe, damit man variablen Messages mit PushOver senden kann.

      Am besten ist ist, wenn man zuerst PushOver so wie Phillip in diese Beitrag beschrieben hat einrichtet, und sich erfolgreich eine Nachricht gesendet hat, damit man weis dass alles funktioniert.

      Nun sollte man ein Programm erstellen namens „POMessageSenden“ z.B.:
      http://boone.de/POMessage/POMessageSenden.png
      und im Aktivität meine modifizierte Skript hier:
      http://boone.de/POMessage/POMessagSkript.txt
      einfügt. Bitte denkt daran, die eigene Pushover API Key und Token muss vorher in das Skript an der richtige Stelle eingefügt werden (so wie bei Philipp’s Skript). Der Stelle steht auf der 6. und 7. Zeile, und sieht so aus:
      string po_api_user=“DEINE API USER KEY HIER“;
      string po_api_token=“DEINE API TOKEN HIER“;

      Nun folgende System variablen erzeugen:
      http://boone.de/POMessage/POSysVars.png
      Hier die Namen (für Copy & Paste): POMessage, POMessagePrio, POMessageSound, POMessageTitle, POMRequest, POMResultat, SendPOMessage
      (Hinweis: in POMRequest und POMResultat stehen immer der letzte Aufruf und Ergebnis drin. Die Variablen sind im Skript beschrieben)

      (Tipp: Im Skript sind auch die Werte für die zwei „Wertlist“ Variablen. Einfach Copy und Paste :) )

      Nun kann man überall wo man will, folgende Aktivitäten zu jegliche Programm hinzufügen (die hier abgebildete Aktivitäten z.B.:, werden verwendet wenn ich nicht zu hause bin, und es klingelt):
      http://boone.de/POMessage/POMessageAufbau.png

      Man kann hiermit bei jeden Bedingung die Message, Prio und Sound (Titel ist bei mir Statik), bequem und schnell im Web Oberfläche setzen, ohne an das Skript ran gehen zu müssen. Und, falls man doch was im Skript ändern möchte, muss man es nur an eine Stelle machen.

      Ich hoffe ihr findet meine Modifizierung nützlich. Ich stehe gerne für Fragen zur Verfügung.

      Antworten
      • Philip
        Philip sagte:

        Ups. eine kleine Fehler… Bitte die Schritte „Programm ‚POMessageSenden‘ erstellen“ und „System Variablen anlegen“ tauschen. Das heisst, bitte zuerst die System Variablen anlegen und dann das Programm erstellen. Ansonsten steht bei der Erstellen des Programms, die darin benötige Variable noch nicht zur Verfügung.

        Antworten
  38. Michael Krenz
    Michael Krenz sagte:

    Hallo Phillipp,
    vielen Dank für diese super Anleitung. Ich habe alles soweit eingerichtet und bekomme in der Pushover-App auf meinem iPhone auch die Nachricht in den Posteingang aber ich bekomme keinen Sound und auch keine Mitteilung in der Mitteilungszentrale oder auf dem Sperrbildschirm. Nun habe ich schon einen Sound in dem Script hinterlegt aber auch dann kommt kein Sound auf meinem iPhone an. Es ist einfach nur still und ich sehe die Pushnaricht nur, wenn ich in die Pushover-App gehe. Sonst rein gar nichts. Hast du eine Idee wo das Problem ist? Ich habe natürlich der App die Mitteilungen, Töne usw. in den iPhone-Einstellungen unter Mitteilungen erlaubt. Quiet hours ist ebenfalls ausgeschaltet. Was kann ich denn da übersehen haben?
    Vielen Dank im Voraus! Michael

    Antworten
  39. Max
    Max sagte:

    Hallo
    weiß jemand ob ich für Pushover einmalig die Gebühr zahlen muss und (wenn das gleiche Google-Konto) dann auf mehreren Geräten frei nutzen kann?

    Antworten
    • Philip
      Philip sagte:

      Hi, ja einmalig 5€. Damit kann man 7500 Messages pro Monat senden. Ja man kann das gleiche Konto auf mehrere Geräte verwenden. Trotzdem ist wirklich nur ein mal 5€ zu zahlen. auf den weiteren geräten verwendet man „einkäufe wiederherstellen“ Hauptsache man meldet sich auf allen Geräten mit der gleiche Konto an natürlich. Und auch wenn man mehrere Geräten verwendet zählt jede Message nur als eins von den 7500.

      Antworten
  40. Maik
    Maik sagte:

    Hi Philipp,
    dank solcher Tutorials wie dieses und dank solcher Seiten wie Technikkram.net wird auch für Noobies der Einstieg in Homematic (und allem was da so drum rum noch ist) deutlich einfacher.
    Mit dem Thema „Push-Benachrichtigung wenn der Trockner fertig ist“ konnte ich meiner Frau praxisnah einen weiteren Vorteil von Hausautomation näher bringen :D
    Tatsächlich bastel ich jetzt aber schon viele Tage an der Umsetzung, bekomme es aber leider nicht zum laufen.
    Pushover ist wie beschrieben installiert und das Skript funktioniert soweit auch (wenn ich es teste). Darüber hinaus funktioniert auch die Leistungsmesssteckdose einwandfrei und zeichnet mir den Stromaufnahmeverlauf zuverlässig auf.
    Was nicht klappt ist aber – ich bekomme keine Benachrichtigung wenn der Trockner fertig ist.
    Ich bin das nötige Programm (welches hier an anderer Stelle beschrieben ist) jetzt schon mehrfach durch, komme aber nicht auf den Fehler.
    Mir ist klar dass das jetzt nur eine wage Beschreibung ist, aber kannst du mir hier in irgendeiner Form Hilfestellung geben?
    Würde mich tierisch freuen!
    VG, Maik

    Antworten
    • Philip
      Philip sagte:

      Hello Maik,

      ich habe eine ähnliches verhalten mit eine meine Geräte. Das Gerät ist direkt mit ein anderes verknüpft. Vielleicht hast du das selbe Problem. Kannst du ein Abbild deines Programs posten was anhand die Messung die eine Message senden soll?
      vg
      Philip B.

      Antworten
  41. Philip
    Philip sagte:

    Hallo Lieber Philipp,

    Vielen Lieben Dank für diese Anleitung! Ich habe es erfolgreich in meine HomeMatik integrieren können. Ich habe für „po_message“ (Zeichenkette), „po_sound“ (Wertliste) und „po_priority“ (Wertliste) jeweils einen System Variable angelegt. Dann im Programmen die nach eigenem ermessen getriggert werden, setze ich die Variablen wie benötigt, setze ein weitere System Variable namnes „POMessageSenden“ (LogikWert) auf Wahr, welche dann das Programm triggert die deine (etwas modifizierten) Skript ausführt. Dort wird dann die oben genante System Variablen eingesetzt um den String für curl (po_request) aufzubauen. Auf diese Art und Weise, muss dein Skript nur in einem Programm eingesetzt werden wobei es jedes mal mit anderen Werten je ach bedarf aufgerufen werden kann… Ich habe „po_sound“ und „po_priority“ mit dem möglichen Werten als Wertlisten hinterlegt, damit ich beim Programmieren die gerade gewünschte Wert auswählen kann. Damit der richtige Wert (anstatt der Index) des Wertes im po_request String zur Verfugung steht, verwende ich der „web.webGetValueFromList“ Befehl.

    Ich verwendete seit etwa ein Jahr dein Telegram Anleitung (Vielen Danke auch dafür), und ich bin auch deine Meinung, dass Pushover der bessere Wahl ist. Durch die unbegrenzte Messages bei Telegram war ich in „Messaging Wahn“ und kriegte in der Tat mehr als 7500 Messages im Monat hin… was das aussortieren von wichtige Meldungen schwierig gemacht hat.. daher ist der Einschränkung von 7500 mit Pushover genau das richtige :) Es zwingte mich positiver weise meine Meldungs-Logik zu überdenken. Es ist eine echte Vorteil, den Priorität von Messages setzen zu können! Noch mals vielen Dank!

    Aber :) ich habe eine Frage: Ich bin selbst Software Entwickler, und ein bischen Kontrol Freaky (wie man bei den monatlichen > 7500 Telegram Nachrichten lesen kann). Daher habe ich eine SystemVariable angelegt welche immer den letzte „po_request“ zur Kontrolle bzw. Fehlerbehebung abspeichert.. soweit so gut… aber, was ich nicht geschafft habe ist der Ergebnis des curl aufrufst in ein System Variable abzuspeichern :(
    Wie du sicherlich weißt, wenn mal den „po_request“ mit curl selber aufrufst, bekommt man den Antwort der Pushover API zurück. Z.B.:
    {„receipt“:“rkag4r4h7x7sgavu89mjkzt8ntkfhp“,“status“:1,“request“:“ff290fdd-7e48-4599-89a6-59290ddcc2bc“}
    Das möchte ich in ein System Variable abspeichern…

    Kannst du mir da bitte auf den richtigen Spur zeigen?
    Vielen Dank
    Philip
    P.S. Ich bin Ami und hoffe du kommst mit mein gebrochenes Deutsch zurecht.

    Antworten
    • Philip
      Philip sagte:

      Hallo,

      habe die Lösung zu meine Frage selbst herausgefunden. Dazu habe ich die CuXD Dokumentation gelesen :) (JRTFM)
      Ich habe die folgende Zeile im Sktipt:
      dom.GetObject(„CUxD.CUX2801001:1.CMD_EXEC“).State(po_request);

      mit folgenden Zeilen ausgetauscht:
      ! CuXD Gerät Eigenschaft „CMD_SETS“ mit dem „po_request“ String setzen
      dom.GetObject(„CUxD.CUX2801001:1.CMD_SETS“).State(po_request);

      ! CuXD Gerät Query durchführen
      dom.GetObject(„CUxD.CUX2801001:1.CMD_QUERY_RET“).State(1);

      ! CuXD Gerät Query Resultat abrufen
      var RequestResultat = dom.GetObject(„CUxD.CUX2801001:1.CMD_RETS“).State();

      ! Verweis auf meine System Variable „POMResultat“ holen
      var PO_Resultat_VAR = dom.GetObject(„POMResultat“);

      ! Wert der Variable „POMResultat“ mit dem Request Ergebnis setzen
      PO_Resultat_VAR.Variable(RequestResultat);

      Viele Grüße
      Philip

      Antworten
      • Philip
        Philip sagte:

        Nur noch eine kleine Korrektur. Habe die Methode „Variable“ zu „State“ in meine Zeilen geändert, damit sie Protokolliert werden (Protokoll Häkchen der Variablen gesetzt)

        ! CuXD Geraet Eigenschaft „CMD_SETS“ mit dem „po_request“ String setzen
        dom.GetObject(„CUxD.CUX2801001:1.CMD_SETS“).State(po_request);

        ! CuXD Gerät Query durchführen
        dom.GetObject(„CUxD.CUX2801001:1.CMD_QUERY_RET“).State(1);

        ! CuXD Gerät Query Resultat abrufen
        var RequestResultat = dom.GetObject(„CUxD.CUX2801001:1.CMD_RETS“).State();

        ! Verweis auf meine System Variable „POMResultat“ holen
        var PO_Resultat_VAR = dom.GetObject(„POMResultat“);

        ! Wert der Variable „POMResultat“ mit dem Request Ergebnis setzen
        PO_Resultat_VAR.State(RequestResultat);

        Antworten
        • Philipp
          Philipp sagte:

          Hi,
          da warst du schneller als ich. Ich wollte noch auf einen anderen Artikel verweisen, in dem ich auf die Rückgabewerte zugegriffen habe: https://technikkram.net/2017/05/zustand-eines-yamaha-receivers-per-homematic-auslesen Aber das hat sich jetzt ja erledigt ;)
          Jetzt muss ich aber doch mal Fragen: Was lässt du dir mit 7500 Benachrichtigungen alles schicken? Da könnte man ja schon fast über ein eigenes Protokollsystem auf nem Pi nachdenken ;)

          Viele Grüße
          Philipp

          Antworten
          • Philip
            Philip sagte:

            Hey,

            Danke für die Link zum Artikel.

            Also, wie schaft man (fast) 7500 Telegrams im Monat: ( (2 * Funk-Tür-/ Fensterkontakt) + (4 * Funk-Rollladenaktor) + (1 * Funk-Fenster-/ Drehgriffkontakt) ) * 3 Kinder
            Ich habe mir jede Änderung die oben genante Sensoren per Telegram senden lassen… (Tür auf/zu, Rollo hoch/runter usw.)… du glaubst nicht wie oft die Tür auf und zu geht (im Sommer) mit drei Kinder im haus. Der Durchschnitt liegt bei etwa 200 am Tag. :) Wie gesagt.. Wahnsinn. Naja da war ein Grund dahinter, zumindest wegen Tür auf/zu. Wir haben viele Haustiere die nicht raus dürfen, sonst wären sie vielleicht weg. Es war aber nicht Sinnvoll Meldung zu senden wenn die Tür auf/zu geht weil es erförderte, dass man jede Mitteilung achtet… also wenn Tür auf, dann achten bis Tür zu… wenn nicht, dann zuhause anrufen und hoffen(ungslos), dass eine Ran geht. *kinder*

            Durch den neuen Meldungen-Logik, kriege ich Meldungen nur wenn was nicht in Ordnung ist. Z.B. wenn ein Tür länger als 15 Sekunden auf bleibt. (Mit CUxD Timer realisiert), oder wenn der Rollo beim Dunkelheit nicht runtergeht usw. Jedenfalls ist dieser Art und Weise Meldungen zu senden viel praktischer und bestimmt so wie es gedacht war :)

            Trotzdem, habe ich schon oft überlegt mir selber ein Push Meldungen App für iPhone zu machen. Mir stehen dafür alle benötigte Ressourcen zur Verfügung… außer Zeit… dafür habe ich leider nie genug. Und, solange ich über Pushover den Aufgabe kostenlos erledigen kann, bin ich glücklich.

            Viele Grüße
            Philip

  42. Marcel
    Marcel sagte:

    Hallo zusammen die Anleitung ist super geschrieben. Leider funktioniert es bei mir nicht. Ich habe alles laut Anleitung gemacht. Mit CUxD habe ich aber keine Einstellungen vorgenommen. Habe das Skript im Programm der ccu2 kopiert und eingefügt und die aaaaa und bbbb variable getauscht. Leider funktioniert es nicht. Kann mir jemand helfen?

    Antworten
    • Philipp
      Philipp sagte:

      Hi, du musst im CUxD ein cmd.exec device anlegen. Sonst kommt der Befehl nicht an. In dem Tutorial habe ich auch darauf verwiesen ;)

      Antworten
  43. Guido
    Guido sagte:

    Hallo
    Ich habe mal eine Frage zum Beitrag.
    Ich habe wie im Beitrag unter CUx Daemon die Einstellungen so übernommen mit dem 19 fachen Taster usw.

    Ich möchte mir aber mein Fensterkontakt überwachen und anzeigen lassen auf mein Handy.

    Wie muss ich das im Skrypt einstellen?
    Muss ich mein Fensterkontakt oder den 19 Taster auswählen usw.

    Ich würde mich sehr freuen, wenn Sie mir mal Helfen könnten.

    Antworten
  44. Torsten
    Torsten sagte:

    Hi Philipp,
    du hast oben im Text folgendes geschrieben :
    Jeder User erhält eine e-Mail Adresse, die per Push an die App weitergeleitet wird. Somit lassen sich sehr einfach auch andere Systeme einbinden.

    Kannst Du das noch mal erläutern? Vielleicht habe ich das falsch verstanden aber ich hätte gedacht das ich eine E-Mail an eine bestimmte Adresse senden kann die dann als Push Nachricht auf der App ankommt. Ich habe aber keine E-Mail Adresse gefunden in meinen Einstellungen.

    Antworten
    • Philipp
      Philipp sagte:

      Hi Torsten,
      du hast das richtig verstanden. Die e-Mail Adresse findest du auf der Startseite. Auf meinem ersten Screenshot mit dem User Key siehst du den Bereich „Your E-Mail Aliases“.
      Gruß, Philipp

      Antworten
  45. Mathias
    Mathias sagte:

    Sehr interessantes Thema.
    Man kann sich so viele Apps generieren, wie man will.
    Ich finde es toll, damit man den Überblick nicht verliert.
    Zum einen verwende ich die App „Action“. Da kommt alles rein, was sich bewegt. Waschmaschine, Geschirrspülmaschine, Trockner.
    Als nächste App habe ich „Alarn“. Da habe ich alles rund um die Alarmanlage drin. Verschluß, Überschreitung des Duty Cycle, Alarn scharf/unscharf und natürlich die Einbruch-Meldung.
    Dann habe ich noch Homematic. Da kommen alle ServiceMeldungen rein wie gestörte Kommunikation, Batterielevel etc.
    Gruß, Mathias

    Antworten
    • Philipp
      Philipp sagte:

      Hi Mathias, danke für den Kommentar! Aber ist dir dass nicht zu umständlich? Dann musst du schließlich die verschiedenen API keys verwalten. Klar kann man das so machen und man hat halt verschiedene Icons in der App, aber gedacht ist es so nicht. Mir hat bis jetzt die Möglichkeit des eigenen Titels und nem separaten Text in Verbindung mit den Prioritäten gereicht…. Versteh mich nicht falsch, ist eine nette Idee, aber relativ umständlich.
      Gruß, Philipp

      Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

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