Howto - zentrales Push-Nachrichten-Programm zPNP

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

Moderator: Co-Administratoren

dtp
Beiträge: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

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
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Depechem
Beiträge: 93
Registriert: 21.10.2018, 07:33
Wohnort: Dresden
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

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: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

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.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Depechem
Beiträge: 93
Registriert: 21.10.2018, 07:33
Wohnort: Dresden
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

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: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

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.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
cobbek
Beiträge: 28
Registriert: 02.04.2014, 13:47
System: CCU und Access Point
Wohnort: Gelsenkirchen
Hat sich bedankt: 3 Mal

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
CCU3 | RaspberryMatic mit aktueller Firmware und vielen Geräten

dtp
Beiträge: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

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.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

dtp
Beiträge: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

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) 58-mal heruntergeladen
zPNS-Tg V3.1
zPNS-Tg31.txt
(9.35 KiB) 58-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
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

dft601
Beiträge: 56
Registriert: 15.04.2014, 23:57
Hat sich bedankt: 3 Mal

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

dtp
Beiträge: 10655
Registriert: 21.09.2012, 08:09
System: CCU
Wohnort: Stuttgart
Hat sich bedankt: 320 Mal
Danksagung erhalten: 501 Mal

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

Beitrag von dtp » 04.01.2019, 10:24

Hallo Mike,

habe den Fehler auch gerade bemerkt. Bitte einfach noch mal die neue Version 3.1.1 herunterladen. Sorry.

Das mit dem Bild hört sich eher nach Rechte- und/oder Pfadproblemen an.

Gruß,

Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Antworten

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