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

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

Moderator: Co-Administratoren

Depechem
Beiträge: 73
Registriert: 21.10.2018, 07:33
Wohnort: Dresden

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

Beitrag von Depechem » 20.12.2018, 09:00

Hallo ich mit dem zPNP V3.0 eingestiegen und hätte 2 Fragen
Bis jetzt habe ich laut Anleitung alles wie beschrieben abgearbeitet.
Ich besitzte die Programme:
- CCU PRG Push-Nachrichten
- CCU PRG Servicemeldungen (Servicemeldungen werden mir auch an alle Devices gesandt)

Um nur ein bestimmtes Device mit speziellem Ton eine Servicenachricht zu senden hab ich jetzt folgendes gemacht:
im Skript "CCU PRG Push-Nachrichten"

Code: Alles auswählen

! +++++ Namen der optionalen Systemvariablen (auf "" setzen, wenn nicht benötigt) +++++
string svPushPrio = "CCU SV Push Prio"; ! Prioritäten der Push-Nachrichten, Voreinstellung: "CCU SV Push Prio"
string svPushService = "CCU SV Push Dienst"; ! Push-Dienste, Voreinstellung: "CCU SV Push Dienst"
string svPushImage = "CCU SV Push Bild"; ! Link auf ein anzufügendes Bild (z.B. "CCU SV Push Bild"), Voreinstellung: ""
string svPushoverSound = "CCU SV Pushover Sound"; ! Sound der Nachricht (z.B. "CCU SV Pushover Sound"), Voreinstellung: ""
string svPushoverTitle = "CCU SV Pushover Titel"; ! Titel der Nachricht (z.B. "CCU SV Pushover Titel"), Voreinstellung: "" 
string svPushoverDevice = "CCU SV Pushover Gerät"; ! Pushover-Gerät (z.B. "CCU SV Pushover Gerät"), Voreinstellung: ""
im Skript "CCU PRG Servicemeldungen"

Code: Alles auswählen

string svPushoverDevice = "CCU.SV_Pushover.Gerät"; ! Pushover-Gerät (z.B. "CCU SV Pushover Gerät"), Voreinstellung: ""

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################
! +++++ Sound für Pushover- bzw. Pushsafer-Nachrichten
if(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)){(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)).State("intermission");}

! +++++ Auswahl des Push-Devices (nur, wenn "CCU SV Push Device" vorhanden)
dom.GetObject("CCU SV Pushover Gerät").State("iPhoneThomas");
Laut Beschreibung habe ich es aber in dem Code geändert bei dem eigentlich expliziert steht

Code: Alles auswählen

ab hier bitte keine weiteren Einstellungen mehr vornehmen 
es funktioniert auch, nur sollte ich dies eher an anderer Stelle eintragen. Falls ja wo und wie.
Mit Prioritätenalarmen möchte ich nicht einzelne Devices ausklammern sondern nur direkt über die Devicezuordnung bzw. über verschiedene API-Schlüssel Zuordnungen nur kann ich in Pushover selbst ja die verschiedenen Applications(API-Schlüssel) nicht nur bestimmten Devices zuordnen.
-----------------------------------------------------------------------------------------------------------------------------------------
und als zweites möchte ich gern in den Pushover Titel nicht wie im Moment mit dem API-Schlüssel-Namen befüllen sondern mit dem ersten Teil der Nachricht. Also im Beispiel einer Servicemeldung der Kommunikation sollte im Titel "Kommunikationsstörung" stehen, im Beispiel einer Servicemeldung der Batterie sollte im Titel "batteriealarm"

wo und wie könnte ich dies umsetzen
mein "CCU PRG Servicemeldungen" Skript:

Code: Alles auswählen

! Löschen bestätigbarer Kommunikationsstörungen (1 = an, 0 = aus)
integer autoAck = 1;

! 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 svPresent = "Haus SV Anwesenheit"; ! optional
string svPushoverSound = "CCU SV Pushover Sound"; ! gem. zPNS-Po, optional
string svPushoverDevice = "CCU.SV_Pushover.Gerät"; ! Pushover-Gerät (z.B. "CCU SV Pushover Gerät"), Voreinstellung: ""

! Name des zentralen Push-Nachrichten-Programms
string zPNP = "CCU PRG Push-Nachrichten"; ! obligatorisch
Vielen Dank im voraus
Gruß Thomas
Raspimatic auf RPI3b+
HM & HMiP
FHEM

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

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

Beitrag von dtp » 20.12.2018, 11:21

Was mir direkt auffällt...

Warum benutzt du zwei unterschiedliche Systemvariablen-Namen für "svPushoverDevice" in deinen Skripten?

Code: Alles auswählen

string svPushoverDevice = "CCU SV Pushover Gerät"; ! Pushover-Gerät (z.B. "CCU SV Pushover Gerät"), Voreinstellung: ""

Code: Alles auswählen

string svPushoverDevice = "CCU.SV_Pushover.Gerät"; ! Pushover-Gerät (z.B. "CCU SV Pushover Gerät"), Voreinstellung: ""
Und bitte nicht die Begriffe Skript und Programm durcheinander bringen. Das führt nur zu Verwirrungen.

Zudem hat es schon seinen Grund, weshalb ich in den Skripten eine Trennung zwischen Bedien- und Ausführungsteil gezogen habe. Bitte nur etwas unterhalb dieser Trennlinie editieren, wenn man weiß, was man tut. Zudem kann ich dann keinen Support mehr liefern, weil das dann irgendwann im Chaos enden würde.

Gruß,

Thorsten

Depechem
Beiträge: 73
Registriert: 21.10.2018, 07:33
Wohnort: Dresden

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

Beitrag von Depechem » 20.12.2018, 11:39

Dank, habe ich geändert.
Ist auch verständlich wenn du keinen Support für jeden hier durchführen kannst.

Vieleicht kann mir hier jemad anders helfen.
Daher nochmal meine ungefähre Frage wie oben.
Durch den string

Code: Alles auswählen

string svPushoverDevice = "CCU SV Pushover Gerät"; ! Pushover-Gerät (z.B. "CCU SV Pushover Gerät"), Voreinstellung: ""
ist die Funktion einer Auswahl eines Device ja Grundlegend gegeben.
Nur wo gebe ich das Device für den entsprechende Meldung überhaupt an. Also wenn bei allen Servicemeldungen nur "iPhone Thomas" die Meldung bekommen soll muss irgendwo im Skript dies ja mit angegeben werden :roll:

Liebe Grüße
Thomas
Raspimatic auf RPI3b+
HM & HMiP
FHEM

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

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

Beitrag von dtp » 20.12.2018, 12:19

Na, das machst du mit dem aufrufenden Skript:

Code: Alles auswählen

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

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

! Name des Pushover-Geräts, an das die Nachricht gesendet werden soll
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverDevice)).State("Hier den Gerätenamen eingeben");

! +++++ 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");
Auf keinen Fall soll das im zPNS-Po gemacht werden, weil das ja dann dem Ziel der zentralen Verwaltung entgegen wirkt.

Depechem
Beiträge: 73
Registriert: 21.10.2018, 07:33
Wohnort: Dresden

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

Beitrag von Depechem » 20.12.2018, 19:04

dtp hat geschrieben:
20.12.2018, 12:19
Na, das machst du mit dem aufrufenden Skript:

Code: Alles auswählen

! Name des Pushover-Geräts, an das die Nachricht gesendet werden soll
(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverDevice)).State("Hier den Gerätenamen eingeben");
Auf keinen Fall soll das im zPNS-Po gemacht werden, weil das ja dann dem Ziel der zentralen Verwaltung entgegen wirkt.
Danke dir für deine Mühe.
Ich habe es jetzt im "CCU PRG Push-Nachrichten" hinzugefügt und es geht

Wenn ich all meine eventuellen Alarmmeldungen auch per Pushover bekommen möchte muss ich mir noch einen eigenen neuen Skript bauen. Gefunden habe ich hier im Forum nichts fertiges!?
Falls da jemand was haben sollte würde ich gern den Skrit haben wollen

Gruß Thomas
Raspimatic auf RPI3b+
HM & HMiP
FHEM

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

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

Beitrag von dtp » 21.12.2018, 07:30

Was heißt denn "alle meine eventuellen Alarmmeldungen"?

Ich habe für das zPNP das Allinclusive-Skript von Alchy modifiziert. Das ist zumindest aus Servicemeldungen ausgerichtet und findet sich hier.

Ansonsten, musst du dir da in der Tat was eigenes zusammenbasteln. 8)
Depechem hat geschrieben:
20.12.2018, 19:04
Ich habe es jetzt im "CCU PRG Push-Nachrichten" hinzugefügt und es geht
Da gehört das aber eigentlich nicht hin. Es gehört in das aufrufende Skript, das innerhalb eines anderen Programms getriggert wird und dann das zPNP auslöst.

Benutzeravatar
cobbek
Beiträge: 4
Registriert: 02.04.2014, 13:47

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

Beitrag von cobbek » 26.12.2018, 15:33

Hallo zusammen - frohes Fest!
Danke an alle die sich hier im Forum so einbringen. Ich bin seit geraumer Zeit "Mitleser" und habe hier so einiges mit nehmen können.
Ich habe das zPNP mit Telegram erfolgreich umgesetzt und in das gesamte System integriert. Meine Push-Nachrichten werde über 3 Bots auf mein Mobiltelefon gesendet: Nur CCU System -Nachrichten wie Reboot, Service-Nachrichten wie Briefkasten (mit Bild) oder Schelle (mit Bild), Heizungsänderungen und die Alarmanlage mit Hüllschutz, Vollschutz, Bewegung innen und aussen je mit Bild.

Alles funktioniert , ausser: Meine Alarmnachrichten gehen an den Alarmbot, die Alarmbilder aber an den ServiceBot.
Warum?
Mein zPNP-TG mit den Einstellungen:

Code: Alles auswählen

! Push-Nachrichten per Telegram senden
! weitere Informationen unter http://homematic-forum.de/forum/viewtopic.php?f=31&t=26282
! Version 3.0.3, Autor: dtp
! ACHTUNG: dieses Skript benötigt eine CCU-Firmware ab Version 2.29.22
! Hinweis: nicht vorhandene Systemvariablen werden automatisch mit erstmaligem Aufruf dieses Skripts angelegt

! +++++ User-Daten +++++
! In den nachfolgenden Listen werden die User-Daten durch "xx|" eingeleitet und durch EINEN Leerschritt voneinander getrennt. 
! HMServiceBot API-Schlüssel (Bot-Token) für Info-Meldungen. Beispiel: "01|xxxxKey1xxxx 02|xxKey2xx"
string HMinfoList = "01|XXX";      ! HMServiceBot nur Service Briefkasten, Schelle 
string HMwarnungList = "01|XXX";   ! HMSafeBot nur Alamanlage, Bewegung, 
string HMalarmList = "01|XXX";     ! CCUServerBot nur CCU2 Systemnachrichtenz.B Reboot
string chatIdList = "01|XXX";      ! Chat-IDs der User. Beispiel: "01|xxxxxxxxx 02|xxxxxxxxx"
string prioMinList = "01|-2";      ! Prioritäten, ab der die User Nachrichten erhalten sollen. Beispiel: "01|-2 02|0" Standard. -2
     
! +++++ Dauer in Sekunden, innerhalb der keine identischen Push-Nachrichten gesendet werden sollen +++++
integer stopRepeat = 0;
     
! +++++ Namen der zwingend benötigten Systemvariablen +++++
string svPushText = "CCU SV Push Text"; ! Text der aktuell zu übertragenden Push-Nachricht, Voreinstellung: "CCU SV Push Text"
string svPushTextRef = "CCU SV Push Text Ref"; ! Text der vorherigen Push-Nachricht als Referenz, Voreinstellung: "CCU SV Push Text Ref"

! +++++ Namen der optionalen Systemvariablen (auf "" setzen, wenn nicht benötigt) +++++
string svPushPrio = "CCU SV Push Prio"; ! Prioritäten der Push-Nachrichten, Voreinstellung: "CCU SV Push Prio" 
string svPushService = "CCU SV Push Dienst"; ! Push-Dienste, Voreinstellung: "CCU SV Push Dienst"
string svPushImage = "CCU SV Push Bild"; ! Link auf ein anzufügendes Bild (z.B. "CCU SV Push Bild"), Voreinstellung: ""

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

...
Mein Script im Programm

Code: Alles auswählen

!+++++ Bild versenden zPNP-TG + PRIO 1 
! Namen der verwendeten Systemvariablen
string svPushText = "CCU SV Push Text"; ! gem. zPNS-xx, obligatorisch
string svPushImage = "CCU SV Push Bild"; ! Link auf ein anzufügendes Bild, default: ""

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

! +++++ Setzen der Priorität für die Push-Nachricht +++++
dom.GetObject("CCU SV Push Prio").State("1");

! +++++ Auswahl des Push-Dienstes (nur, wenn "CCU SV Push-Dienst" vorhanden)
dom.GetObject("CCU SV Push Dienst").State("Telegram");

! +++++ Erzeugen der Test-Nachricht +++++
string message = "<b>Bewegung</b><font color=green>auf Vorderseite</font>.";

! +++++ Verzeichnis auf der CCU, in dem das Bild gespeichert werden soll +++++
string image = "/tmp/bwv.jpg";

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

und mein Programm

Bild


Danke im voraus für Tipps

Gruss cobbek
Dateianhänge
ccuprg1.png
CCU2 | Firmware: 2.35.16 mit 188 Kanäle in 51 Geräten und 24 CUxD-Kanäle in 3 CUxD-Geräten:
3x HM-RC-19, 1x HM-LC-Sw2-FM, 2x HmIP-SPI, 1x HM-WDS30-OT2-SM-2, 3x HM-Sec-SCo, 10x HM-CC-RT-DN, 2x HmIP-STH, 1x HM-RC-4-3, 11x HM-Sec-SC-2, 4x HM-LC-Bl1PBU-FM, 1x HM-LC-Dim1TPBU-FM, 1x HM-Sen-DB-PCB, 1x HM-OU-CFM-TW, 1x HM-PB-2-WM55-2, 2x HM-Sec-RHS, 1x HmIP-SMO-A, 1x HmIP-STHO-A, 2x HM-CC-VG-1, 1x HM-CC-TC, 2 x CUxD2801, 1 x CUxD9002 |

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

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

Beitrag von dtp » 03.01.2019, 12:50

Kurzer Hinweis. Ich habe mein Servicemeldungen-Skript überarbeitet. Es kann hier in der Version 2.5.1 heruntergeladen werden.

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

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

Beitrag von dtp » 03.01.2019, 14:42

Hi,

ich habe zwei neue Versionen des zPNS-Po und des zPNS-Tg zum Testen.

zPNS-Po V.3.1.1
zPNS-Po311.txt
(11.38 KiB) 12-mal heruntergeladen
zPNS-Tg V3.1
zPNS-Tg31.txt
(9.35 KiB) 16-mal heruntergeladen
Bei beiden Skripten kam die URI-Umwandlung hinzu. Zudem wurde im zPNS-Po eine Wandlung des Farbstrings "orange" in den Farbcode "#ffa500" für Android-Geräte (wirkt sich auf iOS nicht negativ aus) implentiert. Bitte prüft mal, ob soweit alles funktioniert.

Zum Update einfach nur alles unterhalb von

Code: Alles auswählen

! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################
per Copy & Paste überschreiben und den Kopf der Skripte unverändert lassen.

Gruß,

Thorsten

dft601
Beiträge: 46
Registriert: 15.04.2014, 23:57

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

Beitrag von dft601 » 04.01.2019, 09:30

Hallo Thorsten,

ich versuche immer noch seit gestern ein Bild per Pushover zu verschicken, bekomme aber immer nur die Nachricht ohne angehängtem Bild.
Habe die Bilddateien aber auf der CCU3 im /tmp/ drin... Auch mit einer direkten URL bekomme ich kein Bild. Weder Pushover noch Telegram.
Ich hoffe ich finde des Rätsels Lösung....

Habe dann eben deine neue Version 3.1.1. für Pushover gefunden und ausprobiert. Bei mir kommt deine Test-Nachricht für Bilder nun nicht mehr korrekt an. (oberste Nachricht)
Screenshot_20190104-092647_Pushover.jpg
Mike

Antworten

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