Howto - zentrales Push-Nachrichten-Programm (zPNP) V3.1

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

dtp
Beiträge: 6664
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart
Hat sich bedankt: 4 Mal
Danksagung erhalten: 18 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V3.1

Beitrag von dtp » 17.05.2019, 10:23

Belei hat geschrieben:
17.05.2019, 09:28
Gibt es eine Möglichkeit die Medungen auch per All in One Script zuversenden?
Ich nutze dtps Script.
Was meinst du denn konkret mit "All in One Script"? Kannst du mal ein Beispiel verlinken?

Im Grunde genommen kann jedes Skript an das zPNP bzw. zPNS-xx angepasst werden.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Belei
Beiträge: 59
Registriert: 20.07.2016, 21:57

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V3.1

Beitrag von Belei » 17.05.2019, 10:31

Ich meinte das ich deinen AiO Script nutze, hier die ersten beiden Zeilen:

! Servicemeldungen auslesen und senden mittels zPNP
! Version 2.2, Autor: dtp (auf Basis des *allinclusive*-Skripts von Alchy)

Aber der schickt mir aktuell ja "nur" (über zPNP)die Servive Meldungen nicht die Alarm Meldungen.

dtp
Beiträge: 6664
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart
Hat sich bedankt: 4 Mal
Danksagung erhalten: 18 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V3.1

Beitrag von dtp » 17.05.2019, 10:55

Nun ja, das All-Inclusive-Skript ist eigentlich auf die Systemvariable 41 beschränkt. Daher nenne ich es auch lieber Servicemeldungen-Skript. Die Alarmmeldungen laufen dagegen über die Systemvariable 40. Dafür sollte dann ein separates Skript erzeugt werden. Damit habe ich mich aber bisher noch nicht beschäftigt.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

stan23
Beiträge: 616
Registriert: 13.12.2016, 21:14
Wohnort: Altmühltal
Hat sich bedankt: 32 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V3.1

Beitrag von stan23 » 17.05.2019, 19:20

Ich lasse mir die Alarmmeldungen folgendermaßen schicken:
Alarmmeldungen_Programm.PNG

Code: Alles auswählen

EDIT: von dtp angepasstes Skript in nächsten Beitrag
Es war bei mir bisher aber erst ein Mal im Einsatz, mag sein dass da noch Bugs drin sind.
Zuletzt geändert von stan23 am 13.06.2019, 09:44, insgesamt 1-mal geändert.
Viele Grüße
Marco

RaspberryMatic
~60 Geräte (HM, HmIP, HMW, HBW, AskSin)

dtp
Beiträge: 6664
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart
Hat sich bedankt: 4 Mal
Danksagung erhalten: 18 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V3.1

Beitrag von dtp » 21.05.2019, 10:08

Hallo Marco,

danke für das Skript. Ich schau mir das noch mal an. Sieht aber auf den ersten Blick schon ganz gut aus.

Kleiner Hinweis:

Code: Alles auswählen

! stan23: "orange" replaced by '#FF9900'
Das ist seit Version 3.x des zPNP nicht mehr nötig, da das automatisch umgewandelt wird. Allerdings wandel ich in "#ffa500" um. 8)

Hab's mal eben auf die Schnelle angepasst, aber selbst noch nicht getestet.

Code: Alles auswählen

! Alarmmeldungen auslesen und senden mittels zPNP
! Version 1.0, Autor: dtp (basierend auf einem Entwurf von stan23)

! Löschen bestätigbarer Kommunikationsstörungen (true = an, false = aus)
boolean autoAckFlag = true;

! Nur im Falle zusätzlicher Servicemitteilungen senden (true = an, false = aus)
boolean addFlag = true;

! Namen der verwendeten Systemvariablen
string svPushText = "CCU SV Push Text"; ! gem. zPNS-xx, obligatorisch
string svPushPrio = "CCU SV Push Prio"; ! gem. zPNS-xx, obligatorisch
string svPushoverSound = "CCU SV Pushover Sound"; ! gem. zPNS-Po, optional
string svPushsaferSound = "CCU SV Pushsafer Sound"; ! gem. zPNS-Ps, optional

! Name des zentralen Push-Nachrichten-Programms
string zPNP = "CCU PRG Push-Nachrichten"; ! obligatorisch

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################

! +++++ Deklaration weiterer Variablen +++++
string message; string list = ""; string serviceTmp;
integer valueDiff = 0;

! +++++ Sound für Pushover- bzw. Pushsafer-Nachrichten
if(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)){(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)).State("siren");}
if(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushsaferSound)){(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushsaferSound)).State("25");}

! +++++ Prüfen, ob neue Alarmmeldungen hinzugekommen sind, falls addFlag = true
if(addFlag){valueDiff = dom.GetObject(40).Value() - dom.GetObject(40).LastValue();}
else{valueDiff = 1;}

if(dom.GetObject(ID_SYSTEM_VARIABLES)){
  if(valueDiff > 0){
    foreach(serviceTmp, dom.GetObject(ID_SYSTEM_VARIABLES).EnumIDs()) {
      if(dom.GetObject(serviceTmp).IsTypeOf(OT_ALARMDP) && (dom.GetObject(serviceTmp).AlState() == asOncoming)){
        message = dom.GetObject(serviceTmp).DPInfo();

        ! +++++ Meldungen über bestätigbare Kommunikationsstörungen automatisch löschen +++++
        if(autoAckFlag){dom.GetObject(serviceTmp).AlReceipt();}

        list = list # "\n" # dom.GetObject(serviceTmp).Name() # ": " # message;
      }
    }

    ! +++++ Setzen der Systemvariablen svPushPrio für die Push-Nachricht +++++
    (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushPrio)).State(2);

    ! +++++ Erzeugen der Nachricht +++++
    message = "<font color=red>Alarmmeldung!</font>";
    message = message#list;

    ! +++++ zPNP ausführen +++++
    (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushText)).State(message);
    (dom.GetObject(ID_PROGRAMS).Get(zPNP)).ProgramExecute();
  }
}
Zuletzt geändert von dtp am 21.05.2019, 10:33, insgesamt 1-mal geändert.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

stan23
Beiträge: 616
Registriert: 13.12.2016, 21:14
Wohnort: Altmühltal
Hat sich bedankt: 32 Mal
Danksagung erhalten: 16 Mal
Kontaktdaten:

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V3.1

Beitrag von stan23 » 21.05.2019, 10:12

Hi Thorsten,
du kannst es gerne weiterverwenden, in dein Servicemeldungen-Skript integrieren oder separat dazustellen.
dtp hat geschrieben:
21.05.2019, 10:08
Das ist seit Version 3.x des zPNP nicht mehr nötig, da das automatisch umgewandelt wird.
Das war mir entgangen, allerdings bin ich mir nichtmal sicher ob ich auf die V3 umgestiegen bin :)
Viele Grüße
Marco

RaspberryMatic
~60 Geräte (HM, HmIP, HMW, HBW, AskSin)

mbhomie007
Beiträge: 63
Registriert: 13.02.2018, 19:23

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V3.1

Beitrag von mbhomie007 » 23.06.2019, 13:58

stan23 hat geschrieben:
17.05.2019, 19:20
Ich lasse mir die Alarmmeldungen folgendermaßen schicken:

Alarmmeldungen_Programm.PNG

Code: Alles auswählen

EDIT: von dtp angepasstes Skript in nächsten Beitrag
Es war bei mir bisher aber erst ein Mal im Einsatz, mag sein dass da noch Bugs drin sind.
Hallo zusammen,

Ich habe das Skript von stan23/dtp getestet, so weit so gut. :)

Ich habe mir das gleiche Programm zum triggern des zPNP anglegt.

Wenn jetzt z.B. ein Fensterkontakt zweimal hintereinander die Alarmvariable auslöst, bekommt man leider nur die erste Alarmmeldung zugesendet.
Die zweite Alarmauslösung triggert nicht das zPNP-Programm.
Der Zähler der CCU-Alarmmeldungen steigt nicht an. Nur die Anzahl der Auslösungen steigt.
Das zPNP-Programm wird nicht gestarten, obwohl Alarmmelungen "bei Aktualisierung auslösen" ausgewählt ist.

Hat jemand eine Idee, wie man jede Auslösung der Alarmvariable triggern kann?

Grüße Marco
Dateianhänge
Alarmmeldungen_Programm.PNG
Alarmmeldungen_Programm.PNG (44.42 KiB) 478 mal betrachtet

mbhomie007
Beiträge: 63
Registriert: 13.02.2018, 19:23

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V3.1

Beitrag von mbhomie007 » 22.07.2019, 12:58

Hallo zusammen,

hier nochmal ein Screenshot.
Kann mir jemand sagen,wie ich das Skript abändern muss um bei jeder Alarmauslösung das Programm zu triggern?
Dateianhänge
Alarm.png

dtp
Beiträge: 6664
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart
Hat sich bedankt: 4 Mal
Danksagung erhalten: 18 Mal

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V3.1

Beitrag von dtp » 23.07.2019, 08:06

Auf was steht denn bei dir "addFlag" im Skript? Wenn diese lokale Variable auf "true" gesetzt ist, erfolgt eine Meldung nur dann, wenn ein neuer Alarm hinzugekommen ist. Macht bei den Alarmmeldungen vermutlich nicht so viel Sinn. Setze ihn daher mal auf "false".
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

mbhomie007
Beiträge: 63
Registriert: 13.02.2018, 19:23

Re: Howto - zentrales Push-Nachrichten-Programm (zPNP) V3.1

Beitrag von mbhomie007 » 23.07.2019, 12:46

dtp hat geschrieben:
23.07.2019, 08:06
Auf was steht denn bei dir "addFlag" im Skript? Wenn diese lokale Variable auf "true" gesetzt ist, erfolgt eine Meldung nur dann, wenn ein neuer Alarm hinzugekommen ist. Macht bei den Alarmmeldungen vermutlich nicht so viel Sinn. Setze ihn daher mal auf "false".
Vielen Dank für deinen Beitrag!
Ich habe dies ausprobiert, ohne Erfolg.

Das Programm wird erst gar nicht getriggert, also wird das Skript auch nicht ausgelöst.


"Alarmmeldungen, größer gleich 0, Auslösen bei Aktualisierung" löst nicht das Programm aus, wenn mehrmals eine Alarmmeldung ausgelöst wird.
Der Counter erhöht sich auch nicht oben rechts bei Alarmmeldungen (roter Punkt), nur "Anzahl der Auslösungen" erhöht sich.
Dateianhänge
Alarm.png

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“