Howto - zentrales Push-Nachrichten-Programm zPNP

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

Moderator: Co-Administratoren

TSNr1
Beiträge: 89
Registriert: 22.12.2015, 19:53
Hat sich bedankt: 5 Mal

Re: Howto - zentrales Programm für Push-Nachrichten

Beitrag von TSNr1 » 26.01.2016, 12:21

dtp hat geschrieben:Kurz noch eine ergänzende Frage. Hast Du Erfahrungen mit Pushalot unter Windows 10? Hab mir gestern Abend mal die App installiert, weiß aber noch nicht, ob sie reibungslos funktioniert. Push-Nachrichten auf meinem Win10-Rechner wären schon eine feine Sache.

Gruß,

Thorsten
Viele Erfahrungen leider nicht, ich hatte mir mal nen API mit ein paar testnachrichten auf WP10 und Win10 geschickt, lief auch alles recht gut durch! Das OnlineInterface is etwas verwirrend aber wenn man sich mal so halbwegs reingefuchst hat gehts!

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 Programm für Push-Nachrichten

Beitrag von dtp » 26.01.2016, 20:49

Dieses Posting wurde in einen separaten Thread ausgelagert.
Zuletzt geändert von dtp am 29.07.2021, 07:40, insgesamt 24-mal geändert.
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.

Cash
Beiträge: 1184
Registriert: 09.01.2016, 17:42
Wohnort: Sauerland
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: Howto - zentrales Programm für Push-Nachrichten

Beitrag von Cash » 26.01.2016, 22:10

Gerade die Push Info Variable finde ich sehr gut.

Was ich bei mir noch ergänzt habe eine Variable für den Titel bei Pushover.

Als Titel wähle ich dann meist Strom, Heizung, Erinnerung usw.

Was ich noch gut fände wäre die Aufnahme von Device Namen.

Meine Frau und ich teilen uns den gleichen Pushover Key. Über denDevicenamen kann ich somit lenken welche Nachricht meine Frau bekommt. Um flexibel zu sein werde ich das auch über eine Variable lösen, so kann ich bei allen dezentralen Programmen genau sagen wer was kriegt.

Und wenn das System dann läuft deaktiviere ich die Push Info und werde nur noch bei wichtigen Sachen informiert.

SMA
Beiträge: 95
Registriert: 16.04.2015, 13:28

Re: Howto - zentrales Programm für Push-Nachrichten

Beitrag von SMA » 27.01.2016, 00:30

Die neue Version sieht ja super aus (aber noch nicht getestet). Hat dich meine Idee doch irgendwo inspiriert? :-)

Die Push Info SV versteh ich aber immer noch nicht, also den sinn dahinter. Wenn ich die Nachricht abschalte, also dies auch so übergebe, warum überhaupt versuchen sie abzusetzen :D Naja egal.

Wegen pushalot. Wie geschrieben, die UTF8 konvertierung kommt genau so an, also z.B. Löschen = "L%C3%B6schen"... Das muss anders konvertiert werden, heißt die Umlaute komplett raus bzw. wie von mir oben erwähnt ersetzt (da aufgrund eines mir unbekannten Fehlers die SV für das Skript zwar richtig ausgelesen wird, aber der Umlaut "pur" nicht abgesetzt werden kann. Auch da, siehe mein Thread oben).

Grüße
SMA
Privat
1 Kanäle in 1 Geräten und 16 CUxD-Kanäle in 1 CUxD-Geräten:
1x CUX28, 1x HM-Sec-SCo


Ehemalig studentische Projektgruppe
Übersicht des Haus-Projekts (Neubau)
1x CCU2 (Untergeschoss/Stahlbau) || 2x LAN-Gateway (Erdgeschoss/Dachgeschoss)

527 Kanäle in 238 Geräten und 64 CUxD-Kanäle in 17 CUxD-Geräten:
9x HM-Sen-MDIR-O-2, 16x CUX90, 12x HM-LC-Sw2-FM, 18x HM-PB-6-WM55, 33x HM-Sec-SCo, 21x HM-Sec-SD, 19x HM-LC-Bl1PBU-FM, 24x HM-LC-Sw1PBU-FM, 16x HM-TC-IT-WM-W-EU, 19x HM-LC-Sw1-FM, 9x HM-PBI-4-FM, 3x HM-Sec-SD-Team, 1x HM-Sec-TiS, 10x HM-Sec-SC-2, 3x HM-CC-VG-1, 5x HM-Sec-MDIR-2, 2x HM-LC-Sw4-SM, 1x HM-Sen-Wa-Od, 5x HM-LC-RGBW-WM, 1x CUX28, 1x HM-Sen-EP, 3x HM-LC-Dim1T-FM, 1x HM-LC-Sw4-DR, 1x HM-LC-Dim1TPBU-FM, 2x HM-WDS10-TH-O, 1x HM-Sec-WDS-2, 2x HM-ES-PMSw1-Pl, 14x HMW-LC-Sw2-DR, 1x HM-WDS100-C6-O, 2x HMW-IO-12-Sw7-DR

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 Programm für Push-Nachrichten

Beitrag von dtp » 27.01.2016, 07:32

SMA hat geschrieben:Die neue Version sieht ja super aus (aber noch nicht getestet).

Wegen pushalot. Wie geschrieben, die UTF8 konvertierung kommt genau so an, also z.B. Löschen = "L%C3%B6schen"... Das muss anders konvertiert werden, heißt die Umlaute komplett raus bzw. wie von mir oben erwähnt ersetzt (da aufgrund eines mir unbekannten Fehlers die SV für das Skript zwar richtig ausgelesen wird, aber der Umlaut "pur" nicht abgesetzt werden kann. Auch da, siehe mein Thread oben).
Probier das Skrip mal aus! Auch die Pushalot-Nachrichten werden korrekt mit Umlauten angezeigt. Da muss nichts anders konvertiert werden. Zumindest bei mir funktioniert's einwandfrei.

Ein Problem ist aber noch, dass ich sämtliche Push-Nachrichten wegen Pushover mit HTML-Tags versehen habe, um z.B. die Schrift farbig darzustellen. Diese HTML-Tags werden von Prowl und Pushalot 1:1 mit durchgeschleift. Daher meine Intention, die Variable message nach dem Pushover-Versand nach "<...>" und "</...>" zu durchsuchen und diese Strings für das Versenden von Nachrichten per Prowl und Pushalot zu löschen.

Wer Push-Nachrichten bisher eh schon ohne diese HTML-Tags erzeugt hatte, wird mit der jetzigen Version des Skripts keine Probleme erkennen. Hoffe ich zumindest. ;)
SMA hat geschrieben:Die Push Info SV versteh ich aber immer noch nicht, also den sinn dahinter. Wenn ich die Nachricht abschalte, also dies auch so übergebe, warum überhaupt versuchen sie abzusetzen :D Naja egal.
Der Sinn dieser Variablen liegt, wie Cash schon ganz richtig erkannt hat, in der Möglichkeit, das Senden von Push-Nachrichten mit niedrigeren Prioritäten (-2, -1, 0) unterdrücken zu können. Ich werde mich da aber noch mal dran setzen, da ich ja mittlerweile die Sperrdauer für identische Push-Nachrichten eingeführt habe. Daher werde ich die Funktionalität von "CCU SV Push Info" noch entsprechend anpassen. Wie erwähnt, sollte das Skript aber auch komplett ohne diese Systemvariable laufen. Sie ist also optional. Aber das muss ich noch mal testen.

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.

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 Programm für Push-Nachrichten

Beitrag von dtp » 27.01.2016, 07:52

Cash hat geschrieben: Was ich bei mir noch ergänzt habe eine Variable für den Titel bei Pushover.

Als Titel wähle ich dann meist Strom, Heizung, Erinnerung usw.
Dann bräuchte man aber noch wieder eine zusätzliche Systemvariable zur Übergabe des Titels. Das wollte ich im Moment aus Kompatibilätsgründen vermeiden. Zudem möchte ich die Anzahl der notwendigen Systemvariablen für das zentrale Push-Programm so gering wie möglich halten. Ich persönlich definiere einen entsprechenden Titel immer in der Nachricht selbst. So sieht das dann z.B. am Ende des Allinclusive-Skripts aus:

Code: Alles auswählen

    ! Erzeugen der Nachricht
    message = "Servicemeldung!";
    message = message # slist;
    dom.GetObject("CCU SV Push Text").State(message);

    ! Programm "CCU PRG Push-Nachrichten" ausführen
    dom.GetObject("CCU PRG Push-Nachrichten").ProgramExecute();
Cash hat geschrieben: Was ich noch gut fände wäre die Aufnahme von Device Namen.
Aktuell steuere ich das Übertragen von Push-Nachrichten an mich und meine Frau über die Priorität. Alarm- und Warnungs-Nachrichten mit Prio 2 und 1 können nicht unterdrückt werden und gehen prinzipiell an beide. Normale Push-Nachrichten mit Prio -2, -1 und 0 können für den zweiten User über die Varialbe "prio_min_pushover" und "prio_min_prowl" gesteuert werden. Gibt man hier z.B. 0 ein, dann erhält User2 nur Push-Nachrichten mit Prio >= 0. Push-Nachrichten mit Prio -2 und -1 werden unterdrückt.

Pushalot arbeitet nicht mit Prios. Daher habe ich das noch nicht vorgesehen. Aber es gibt hier die Parameter "IsImportant" und "IsSilent", so dass ich geneigt bin, folgende Transformation einzuführen:

Prio -2, -1: IsImportant=False, IsSilent=True
Prio 0: IsImportant=False, IsSilent=False
Prio 1, 2: IsImportant=True, IsSilent=False

Bis dann,

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.

SMA
Beiträge: 95
Registriert: 16.04.2015, 13:28

Re: Howto - zentrales Programm für Push-Nachrichten

Beitrag von SMA » 27.01.2016, 11:09

dtp hat geschrieben: Probier das Skrip mal aus! Auch die Pushalot-Nachrichten werden korrekt mit Umlauten angezeigt. Da muss nichts anders konvertiert werden. Zumindest bei mir funktioniert's einwandfrei.

Ein Problem ist aber noch, dass ich sämtliche Push-Nachrichten wegen Pushover mit HTML-Tags versehen habe, um z.B. die Schrift farbig darzustellen. Diese HTML-Tags werden von Prowl und Pushalot 1:1 mit durchgeschleift. Daher meine Intention, die Variable message nach dem Pushover-Versand nach "<...>" und "</...>" zu durchsuchen und diese Strings für das Versenden von Nachrichten per Prowl und Pushalot zu löschen.

Wer Push-Nachrichten bisher eh schon ohne diese HTML-Tags erzeugt hatte, wird mit der jetzigen Version des Skripts keine Probleme erkennen. Hoffe ich zumindest. ;)
Wenn ich heute Abend in der Nähe meiner TestCCU und eines WP-Gerätes bin, werde ich den neuen Befehl zum absetzen der Pushnachricht mal testen!

Ok, wenn nun jemand pushover und prowl/pushalot nutzt, dann müsste hier gefiltert werden, das ist richtig. Aber auch dieser lässt sich ja mit Split sicher auch raus kürzen.
dtp hat geschrieben: Der Sinn dieser Variablen liegt, wie Cash schon ganz richtig erkannt hat, in der Möglichkeit, das Senden von Push-Nachrichten mit niedrigeren Prioritäten (-2, -1, 0) unterdrücken zu können. Ich werde mich da aber noch mal dran setzen, da ich ja mittlerweile die Sperrdauer für identische Push-Nachrichten eingeführt habe. Daher werde ich die Funktionalität von "CCU SV Push Info" noch entsprechend anpassen. Wie erwähnt, sollte das Skript aber auch komplett ohne diese Systemvariable laufen. Sie ist also optional. Aber das muss ich noch mal testen.

Gruß,

Thorsten
Die Funktionalität von SV Push Info kann komplett entfallen. Dazu werden, wie du geschrieben hast, einfach nur 4 Zeilen gelöscht. Ich würde eine neue Variable use_pushinfo = true/false nehmen und dann ne if mit der abgefragt wird wie der zustand ist. An entsprechender Stelle wird dann mit if/else gearbeitet.

Ich hatte dir ja mal eine Nachricht geschickt wegen der API-Keys. Ich finde, das Skript ist immer noch sehr limitierend und wird natürlich umso größer, je mehr Nutzer dazu kommen. Da kann dann auch leicht etwas übersehen werden. Ich wollte versuchen das ganze so DAU-freundlich wie möglich zu halten. Leider hast du dich nicht dazu geäußert.

Viele Grüße
SMA
Privat
1 Kanäle in 1 Geräten und 16 CUxD-Kanäle in 1 CUxD-Geräten:
1x CUX28, 1x HM-Sec-SCo


Ehemalig studentische Projektgruppe
Übersicht des Haus-Projekts (Neubau)
1x CCU2 (Untergeschoss/Stahlbau) || 2x LAN-Gateway (Erdgeschoss/Dachgeschoss)

527 Kanäle in 238 Geräten und 64 CUxD-Kanäle in 17 CUxD-Geräten:
9x HM-Sen-MDIR-O-2, 16x CUX90, 12x HM-LC-Sw2-FM, 18x HM-PB-6-WM55, 33x HM-Sec-SCo, 21x HM-Sec-SD, 19x HM-LC-Bl1PBU-FM, 24x HM-LC-Sw1PBU-FM, 16x HM-TC-IT-WM-W-EU, 19x HM-LC-Sw1-FM, 9x HM-PBI-4-FM, 3x HM-Sec-SD-Team, 1x HM-Sec-TiS, 10x HM-Sec-SC-2, 3x HM-CC-VG-1, 5x HM-Sec-MDIR-2, 2x HM-LC-Sw4-SM, 1x HM-Sen-Wa-Od, 5x HM-LC-RGBW-WM, 1x CUX28, 1x HM-Sen-EP, 3x HM-LC-Dim1T-FM, 1x HM-LC-Sw4-DR, 1x HM-LC-Dim1TPBU-FM, 2x HM-WDS10-TH-O, 1x HM-Sec-WDS-2, 2x HM-ES-PMSw1-Pl, 14x HMW-LC-Sw2-DR, 1x HM-WDS100-C6-O, 2x HMW-IO-12-Sw7-DR

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 Programm für Push-Nachrichten

Beitrag von dtp » 27.01.2016, 11:44

Hallo SMA!
SMA hat geschrieben: Die Funktionalität von SV Push Info kann komplett entfallen. Dazu werden, wie du geschrieben hast, einfach nur 4 Zeilen gelöscht. Ich würde eine neue Variable use_pushinfo = true/false nehmen und dann ne if mit der abgefragt wird wie der zustand ist. An entsprechender Stelle wird dann mit if/else gearbeitet.
Aber genau diese Funktionalität hat "CCU SV Push Info" doch. Der Vorteil einer Systemvariablen ist einfach der, dass ich sie sehr einfach ferngesteuert über z.B. pocket Control setzen kann. Wie gesagt wird das Skript aber nun eh derart abgeändert, dass diese Systemvariable optional angelegt werden kann. Ist sie nicht vorhanden, wird Skript intern eine Variable "info_flag" auf true gesetzt. Wer will, kann das auch einfach ändern, indem er diese Variable auf false setzt.
SMA hat geschrieben: Ich hatte dir ja mal eine Nachricht geschickt wegen der API-Keys. Ich finde, das Skript ist immer noch sehr limitierend und wird natürlich umso größer, je mehr Nutzer dazu kommen. Da kann dann auch leicht etwas übersehen werden. Ich wollte versuchen das ganze so DAU-freundlich wie möglich zu halten. Leider hast du dich nicht dazu geäußert.
Sorry, dass ich Dir noch nicht auf Deine PN zu den API-Keys geantwortet habe. Im Prinzip ist die foreach-Schleife eine gute Idee. Aber das funktioniert so eigentlich nur bei Prowl recht reibungslos. Bei Pushover kann man ja zum API-Key noch zusätzliche Tokens definieren. Auch da würde eine foreach-Schleife kein wirkliches Problem darstellen, da der API-Key des Users obligatorisch ist. Komplizierter wird's dann bei Pushalot, wo man für einzelne Apps entsprechende APIs erhält und dann die User-API nicht mehr erforderlich ist. Wenn man nun je nach Prio unterschiedliche Apps mit unterschiedlichen APIs einrichtet, dann wird es schon deutlich schwieriger, dies in einer foreach-Schleife korrekt zu erfassen, da die Nutzung der APIs von der Prio abhängt.

Das wäre dann mal was für die Version 1.1 oder nachfolgende.

Übrigens habe ich die Rohfassung der 1.0 soweit fertig. Muss sie heute Abend dann noch mal ausgiebig testen, bevor ich sie hier poste.

Bis dann,

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.

TSNr1
Beiträge: 89
Registriert: 22.12.2015, 19:53
Hat sich bedankt: 5 Mal

Re: Howto - zentrales Programm für Push-Nachrichten

Beitrag von TSNr1 » 27.01.2016, 18:58

Hmmmm komisch,

pushalot läuft nicht durch, das kleine Testprogramm was eigentlich ans Push-Center weitergeben soll, tut das auch, aber irgendwie scheinen die nachrichten nicht an meine Geräte geschoben zu werden.

wie sind denn deine Pushalot einstellung für den KEY

Edit: Hat sich erledigt. Läuft alles! Geiles Skript! Danke nochmal für deine Mühe
Zuletzt geändert von TSNr1 am 27.01.2016, 22:52, insgesamt 1-mal geändert.

Benutzeravatar
Murmelbaerchen69
Beiträge: 274
Registriert: 01.12.2013, 22:55
Wohnort: @home

Re: Howto - zentrales Programm für Push-Nachrichten

Beitrag von Murmelbaerchen69 » 27.01.2016, 19:46

Hallo,

habe eine Frage, da ich in den Pushover Nachrichten mir im Moment so den Tag und die Uhrzeit mit senden lasse:

Code: Alles auswählen

string tmsA = "Gartenhaus wurde am " # system.Date("%d.%m.%Y %H:%M:%S") # " Uhr wieder <font color='#00CD00'>geschlossen</font>."; 
Würde die Variable "system.Date" nun korrekt in der CCU SV Push Text eingetragen werden? oder wie bekomme ich dann die Systemzeit mit versendet?

Gruß Ralf
Das soll ein neuer Computer sein ? Warum steht den auf der Tastatur "ALT" ?

Antworten

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