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

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

Moderator: Co-Administratoren

RouvenE
Beiträge: 141
Registriert: 11.06.2013, 19:54

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

Beitrag von RouvenE » 18.11.2018, 13:23

Hallo Thorsten,

Danke für die Hilfe... soweit ich es verstehe, muss es mit zPNP zusammenhängen. Die Skripte sind 1:1 copy&paste. Die Variablen hatte ich von Hand manuell eingetragen.

Ich kommen drauf, weil... CuXD meldet bei der Initialisierung:

Code: Alles auswählen

Nov 18 09:47:33 ccu3-webui daemon.info cuxd[277]: INIT 'xmlrpc_bin://127.0.0.1:1999' '1783'
Führe ich die Test-Skripte aus, passiert nämlich folgendes:

Code: Alles auswählen

Nov 18 09:47:12 ccu3-webui daemon.warn cuxd[277]: process_rpc_request(127.0.0.1) - illegal XMLRPC(listDevices) request
Nov 18 09:47:13 ccu3-webui daemon.warn cuxd[277]: process_rpc_request(127.0.0.1) - illegal XMLRPC(init) request
Nov 18 09:47:23 ccu3-webui local0.err ReGaHss: Error: IseXmlRpc::CallXmlrpcMethod: execute result isFault; method =getValue Params = {"000A55699D7280:1","SMOKE_DETECTOR_ALARM_STATUS"} result= [faultCode:-5,faultString:"Unknown Parameter value for value key: SMOKE_DETECTOR_ALARM_STATUS"] [iseXmlRpc.cpp:2605]
Nov 18 09:47:23 ccu3-webui local0.err ReGaHss: Error: IseXmlRpc::CallGetValue: CallXmlrpcMethod failed [iseXmlRpc.cpp:1432]
Nov 18 09:47:23 ccu3-webui local0.err ReGaHss: Error: IseHssDP::ReadValue: CallGetValue failed; sVal = 0 [iseDOMdpHSS.cpp:130]
Nov 18 09:47:33 ccu3-webui daemon.info cuxd[277]: INIT 'xmlrpc_bin://127.0.0.1:1999' '1783'
Nov 18 09:48:51 ccu3-webui daemon.info ntpd[219]: Listen normally on 5 eth0 [fd00::c82f:e5ff:febf:cdad]:123
Nov 18 09:48:51 ccu3-webui daemon.info ntpd[219]: Listen normally on 6 eth0 [2003:d0:bf27:ea00:c82f:e5ff:febf:cdad]:123
Hier werden "iilegale requests" aufgerufen. Dann plötzlich redet das Log vom Alarm-Status des Rauchmelders... Dachte, beim Test wäre der Rauchmelder irrelevant.

Dein Rauchmelder-Skript habe ich aber auch bereits als eigenes Programm angelegt. Dabei habe ich festgestellt, dass Du dort die Rauchmelder-Gruppe ansprichst, die es ja bei meinen HM-IP-Rauchmeldern gar nicht mehr innerhalb der CCU gibt. Auch wird in Deinem Skript "Rauch erkannt" geprüft, was es ebenfalls beim HM-IP-Detektor nicht mehr gibt. Dort heißt es vielmehr "lokaler Alarm", meine ich. Heißt das nun, dass Dein Skript deshalb aussteigt und keine Nachrichten versendet werden ?

dtp
Beiträge: 5829
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

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

Beitrag von dtp » 19.11.2018, 07:58

Kann es sein, dass du da zu viel auf einmal machst? Bevor du irgendwelche Skripte kopierst, die das zPNP aufrufen, solltest du erst mal sicherstellen, dass es bei dir funktioniert. Wie das geht, habe ich ja in den ersten drei, vier Postings dieses Threads geschrieben.

Zudem sind die von mir im Eingangsposting verlinkten Programme und Skripte nur beispielhaft für den Aufruf des zPNP gedacht. Nicht alle davon können 1:1 auf die eigene CCU kopiert werden, insbesondere, wenn sie nur ganz spezielle Aktoren und Sensoren abfragen. Da musst du dann entsprechende Anpassungen vornehmen.

Aber du bist ja immerhin schon so weit gekommen, dass das der Aufruf deines zPNS-xx keine Fehlermeldungen mehr ausspuckt. Jetzt würde ich einfach mal mit der "Skript testen"-Funktion der CCU dies hier ausprobieren:

Code: Alles auswählen

! Namen der verwendeten Systemvariablen
string svPushText = "CCU SV Push Text"; ! gem. zPNS-xx, obligatorisch

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

! +++++ Erzeugen der Test-Nachricht +++++
string message = "<font color=orange>Dies</font> ist eine <font color=green>gewöhnliche</font> Test-Nachricht.";

! +++++ zPNP ausführen +++++
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushText)).State(message);
(dom.GetObject(ID_PROGRAMS).Get(zPNP)).ProgramExecute();

WriteLine("Nachricht gesendet");
Da sollte - sofern alles korrekt eingerichtet ist - dann eine Nachricht ankommen.

RouvenE
Beiträge: 141
Registriert: 11.06.2013, 19:54

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

Beitrag von RouvenE » 19.11.2018, 19:44

Es ist so frustrierend...

Als ich zPNP vor Jahren aufsetzte, gab es kaum Probleme und lief dann zuverlässig.
Führe ich Dein Script von heute aus, so passiert absolut gar nichts.

Code: Alles auswählen

Nov 19 19:38:38 ccu3-webui daemon.info cuxd[277]: CUx-Daemon restart(1)
Nov 19 19:38:38 ccu3-webui daemon.info cuxd[277]: remove(/var/cache/cuxd_proxy.ini)
Nov 19 19:38:38 ccu3-webui daemon.info cuxd[277]: save paramsets(/usr/local/addons/cuxd/cuxd.ps) size:591
Nov 19 19:38:38 ccu3-webui daemon.info cuxd[2945]: write_pid /var/run/cuxd.pid [2945]
Nov 19 19:38:38 ccu3-webui daemon.info cuxd[2945]: CUx-Daemon(2.1.0) on CCU(3.37.8) start PID:2945
Nov 19 19:38:38 ccu3-webui daemon.info cuxd[2945]: load paramsets(/usr/local/addons/cuxd/cuxd.ps) size:591 update(0s):Mon Nov 19 19:38:38 2018
Nov 19 19:38:38 ccu3-webui daemon.info cuxd[2945]: 1 device-paramset(s) loaded ok!
Nov 19 19:38:38 ccu3-webui daemon.info cuxd[2945]: write_proxy /var/cache/cuxd_proxy.ini (2945 /usr/local/addons/cuxd/ 2.1.0 3.37.8 0)
Es haut nicht hin...

Habe, ehrlich gesagt, gestern Abend noch eine alternative Push-Benachrichtigung aus dem Forum hier aufgesetzt... Es nutzt auch CuXD2801001:1... Denke, beide werden das Gerät schon nicht parallel nutzen wollen. Aber dass nun CuXD bei Deinem Script sich gar nicht mehr rührt, ist merkwürdig.

Hatte die IP-Rauchmelder damals eigens gekauft, um im Fall der Fälle benachrichtigt werden zu können. Die damaligen HM-SEC waren sehr nervös und fehlalarm-anfällig.

dtp
Beiträge: 5829
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

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

Beitrag von dtp » 20.11.2018, 07:57

Bevor wir jetzt die Pferde scheu machen, teste doch mal eben folgendes Skript, wobei du natürlich deine Systemvariablen-Namen unter svPushText und zPNP einträgst:

Code: Alles auswählen

! Namen der verwendeten Systemvariablen
string svPushText = "CCU SV Push Text"; ! gem. zPNS-xx, obligatorisch

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

! +++++ Erzeugen der Test-Nachricht +++++
string message = "<font color=orange>Dies</font> ist eine <font color=green>neue</font> Test-Nachricht.";

! +++++ zPNP ausführen +++++
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushText)).State(message);
(dom.GetObject(ID_PROGRAMS).Get(zPNP)).ProgramExecute();

WriteLine("Nachricht gesendet");
Poste danach doch mal bitte die Inhalte deiner zPNP-Systemvariablen.

RouvenE
Beiträge: 141
Registriert: 11.06.2013, 19:54

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

Beitrag von RouvenE » 20.11.2018, 18:58

Hallo,

die Variablen musste ich meiner Meinung nach in Deinem Skript nicht anpassen...
Bildschirmfoto 2018-11-20 um 18.56.46.png
Hoffe, das hilft... Wie sieht es bei den Variablen CCU Push Text und CCU SV Push Text aus ?

dtp
Beiträge: 5829
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

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

Beitrag von dtp » 21.11.2018, 08:29

Jetzt stellt sich mir zunächst die Frage, wo die beiden Systemvariablen "CCU Push Text" und "CCU SC Push Text Ref" herkommen? Lösche die mal bitte wieder. Hattest du die irrtümlich angelegt?

Zudem ist "CCU SV Push Prio" mit -2 zum Testen zu niederwertig angelegt. Die sollte auf 0 oder 1 gesetzt sein.

Teste es doch bitte noch mal mit diesem Skript hier:

Code: Alles auswählen

! 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 svPushService = "CCU SV Push Dienst"; ! gem. zPNS-xx, optional
string svPushoverSound = "CCU SV Pushover Sound"; ! gem. zPNS-Po, optional

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

! +++++ Erzeugen der Test-Nachricht +++++
string message = "<font color=orange>Dies</font> ist noch eine <font color=red>neue</font> Test-Nachricht.";

! +++++ Auswahl des Push-Dienstes +++++
if(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushService)){(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushService)).State("1");}

! +++++ Setzen der Priorität für die Push-Nachricht +++++
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushPrio)).State("1");

! +++++ Sound für Pushover-Nachricht +++++
if(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)){(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)).State("gamelan");}

! +++++ zPNP ausführen +++++
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushText)).State(message);
(dom.GetObject(ID_PROGRAMS).Get(zPNP)).ProgramExecute();

WriteLine("Nachricht gesendet");
Falls es dann immer noch nicht geht, schicke mir doch bitte mal per PN deine zPNP-Skripte und einen Screenshot deiner CUxD-Geräte (ausgeklappt nach Klick auf das Plus-Zeichen).

Gruß,

Thorsten

EckartS
Beiträge: 202
Registriert: 13.11.2012, 23:11
Wohnort: Nürnberg

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

Beitrag von EckartS » 28.11.2018, 12:48

Hallo,

ich mühe mich gerade ab, das Bild einer Hikvision Kamera (HiWartch I430) mit zPNP 3.# per Pushover zu senden und komme da nicht weiter.
Ich habe folgende Tipps beherzigt: viewtopic.php?f=31&t=26282&hilit=zpnp+b ... &start=740 Aber erfolglos.

Die Kamera liefert im Browser zuverlässig ein Stillbild mit 2688x1520px mit der Zeile
http://user:password@192.168.##.##:81/I ... 01/picture, also habe ich im Script eingesetzt:

Code: Alles auswählen

string url = "http://user:password@192.168.##.##:81/ISAPI/Streaming/channels/101/picture";

Das Ergebnis ist, dass in /tmp eine Datei "image.jgp" ohne Inhalt angelegt wird und die Textnachricht ohne Bild gesendet wird.

Hat jemand sonst so ein Problem schon gehabt oder besser noch schon gelöst?

Viele Grüße, EckartS
480 Kanäle in 90 Geräten und 35 CUxD-Kanäle in 10 CUxD-Geräten

dtp
Beiträge: 5829
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

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

Beitrag von dtp » 28.11.2018, 13:54

Dein Problem hat eigentlich nichts mit dem zPNP zu tun, sondern ist eine Frage der Zugriffsberechtigung. Evtl. hilft dir das hier weiter. Ansonsten würde ich dir empfehlen, mal hier im Forum nach ähnlich gelagerten Problemen mit dem Zugriff auf Webcams zu suchen.

Benutzeravatar
blackhole
Beiträge: 1514
Registriert: 21.07.2015, 14:03

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

Beitrag von blackhole » 28.11.2018, 15:00

dtp hat geschrieben:
28.11.2018, 13:54
sondern ist eine Frage der Zugriffsberechtigung
Im Verzeichnis /tmp? Eher nicht:

Code: Alles auswählen

drwxrwxrwt    7 root     root           220 Nov 28 10:19 tmp
Da darf jeder rein und lesen/erstellen/schreiben.

Meine Skripte legen Snapshots übrigens auch (erfolgreich und ausschließlich) temporär in /tmp/ ab um den Flashspeicher nicht unnötig zu belasten.
 
Anwesenheit BT v2 (Raspbian>CCU3) | CCU-Protect v2 (CCU3) | Mini SV-Datalogger v2 (CCU3) | Servicemeldungen SV v2 (CCU3) | BLGSH (Y)
 


Antworten

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