Howto - zentrales Push-Nachrichten-Programm zPNP

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

Moderator: Co-Administratoren

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

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

Beitrag von dtp » 07.11.2017, 19:42

So,

hier dann mal die Version 2.1.1 des zPNS-Po mit Titel-Übergabe.

Bitte mal kurz testen.

Gruß,

Thorsten
Zuletzt geändert von dtp am 08.11.2017, 09:28, insgesamt 2-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.

Tharanis
Beiträge: 119
Registriert: 15.04.2015, 11:39
Hat sich bedankt: 2 Mal
Danksagung erhalten: 5 Mal

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

Beitrag von Tharanis » 07.11.2017, 19:58

Hallo Thorsten,

mir ist beim Titel noch eine Verbesserung aufgefallen. Mein Wetterwarnscript hat doch tatsächlich Umlaute in den Titel geschmissen, welche unsauber verschickt wurden. In Deinem Script nutzt Du

Code: Alles auswählen

    ! ----- Umwandlung von Sonderzeichen gem. UTF-8 -----
    message = message.ToUTF8();
Dies könnte man noch ergänzen:

Code: Alles auswählen

    ! ----- Umwandlung von Sonderzeichen gem. UTF-8 -----
    message = message.ToUTF8();
    title = title.ToUTF8();
Ein kurzer Test mit meiner Wäschmaschine :lol: verlief erfolgreich^^

Viele Grüße
Tharanis
DWD-Unwetterwarnscript v1.32.b03 (RaspberryMatic) - Lüftungswarnung auf Temperatur-Basis

RaspberryMatic (3.65.11.20221005) - Längste Laufzeit bislang: 48 Tage (RaspberryMatic), 72 Tage (CCU2), >100 Tage (CCU1)

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

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

Beitrag von Cash » 07.11.2017, 20:12

Es fehlt auch noch ein svPushTitelRef.

Wenn nur der Text verglichen wird, kann es vorkommen das eine Push verschluckt wird.

Beispiel Text: Fenster geöffnet. Bitte schließen.

Der Unterschied ist nur im Titel einmal Bedezimmerfenster und einmal Schlafzimmerfenster.

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

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

Beitrag von dtp » 08.11.2017, 09:33

Was die UTF8-Konvertierung im Titel angeht, habe ich das noch eingebunden. Die Versionsnummer lautet nun aber 2.1.2. Aus der obigen 2.2 habe ich eine 2.1.1 gemacht. Sorry für die möglichen Irritationen, aber so bleibt es konsistent mit den übrigen zPNS-Nummerierungen.

Was ich allerdings nicht einbinden werden, ist eine Systemvariable für eine Titel-Referenz, da die nicht mit den übrigen zPNS-xx konform geht. Da müsst ihr dann entweder einen eindeutigen Nachrichteninhalt wählen, oder es selbst umsetzen.

Ebenso habe ich mich entschlossen, keine Version für die system.Exec-Unterstützung anzubieten, weil ich CUxD nach wie vor für extrem hilfreich auf der CCU2 halte, was sich erst kürzlich wieder in Verbindung mit dem Zeitumstellungscrash zeigte. Selbstverständlich kann das jeder für sich ändern. Der Lösungsweg wurde ja hier im Thead gezeigt.

Gruß,

Thorsten
Dateianhänge
zPNS-Po212.txt
(9.75 KiB) 77-mal heruntergeladen
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.

Tharanis
Beiträge: 119
Registriert: 15.04.2015, 11:39
Hat sich bedankt: 2 Mal
Danksagung erhalten: 5 Mal

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

Beitrag von Tharanis » 08.11.2017, 13:08

dtp hat geschrieben:[...]Was ich allerdings nicht einbinden werden, ist eine Systemvariable für eine Titel-Referenz, da die nicht mit den übrigen zPNS-xx konform geht. Da müsst ihr dann entweder einen eindeutigen Nachrichteninhalt wählen, oder es selbst umsetzen.[...]
Kann ich gut verstehen. In einem erste Versuch habe ich Cashs Anregung versucht umzusetzen, bin aber bislang daran gescheitert.
DWD-Unwetterwarnscript v1.32.b03 (RaspberryMatic) - Lüftungswarnung auf Temperatur-Basis

RaspberryMatic (3.65.11.20221005) - Längste Laufzeit bislang: 48 Tage (RaspberryMatic), 72 Tage (CCU2), >100 Tage (CCU1)

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

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

Beitrag von dtp » 08.11.2017, 15:09

Tharanis hat geschrieben: Kann ich gut verstehen. In einem erste Versuch habe ich Cashs Anregung versucht umzusetzen, bin aber bislang daran gescheitert.
Damit das funktioniert, müsste auch das "SetPushTextRef"-Skript entsprechend angepasst werden. Ziel dieses Skripts ist aber ja die Unterdrückung von identischen Push-Nachrichten innerhalb einer festlegbaren Zeitspanne. Mit den Titeln wird das dann problematisch, weil die sich ja eher wenig unterscheiden. So würde dann alles unterdrückt werden, was innerhalb der Zeitspanne denselben Titel trägt, auch wenn sich der Inhalt der Nachrichten unterscheidet. Das kann's irgendwie nicht sein.

Oder habe ich da vielleicht was falsch verstanden?
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 Push-Nachrichten-Programm (zPNP) V2.1

Beitrag von Cash » 08.11.2017, 19:04

Ich hatte das schon lange bei mir eingebunden. Genau wie die Konvertierung. Da ich noch eine alte Firmware nutze allerdings mit der alten eher umständlichen Methode. War nur als Hinweis.

Ich habe es so gelöst das die Nachricht immer dann kommt wenn entweder Titel oder Text unterschiedlich ist. Also wird bei mir nur unterdrückt wenn wirklich beide Variablen identisch sind.

Tharanis
Beiträge: 119
Registriert: 15.04.2015, 11:39
Hat sich bedankt: 2 Mal
Danksagung erhalten: 5 Mal

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

Beitrag von Tharanis » 08.11.2017, 22:19

dtp hat geschrieben:[...]Oder habe ich da vielleicht was falsch verstanden?
Ich denke nicht^^. Ich denke auch, dass zumindest bei mir eher selten sich nur der Titel, aber nicht die Nachricht ändern wird. So genau zum gleichen Zeitpunkt kann ich eigentlich nicht meine Fenster öffnen :wink:

Und trotzdem @ cash interessiert mich Deine Lösung, hast Du die Unterscheidung ins Abschlussscript gepackt?

Viele Grüße Tharanis
DWD-Unwetterwarnscript v1.32.b03 (RaspberryMatic) - Lüftungswarnung auf Temperatur-Basis

RaspberryMatic (3.65.11.20221005) - Längste Laufzeit bislang: 48 Tage (RaspberryMatic), 72 Tage (CCU2), >100 Tage (CCU1)

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

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

Beitrag von Cash » 09.11.2017, 09:39

Da ich nur Pushover nutze. Nutze ich kein Abschlusscript sondern habe das setzen der Ref-Variablen in das Pushover Script gepackt.

Der Vergleich sieht bei mir so aus:

Code: Alles auswählen

   ! +++++ Vermeidung identischer Push-Nachrichten innerhalb stop_repeat Sekunden +++++
      diff = dom.GetObject("CCU SV Push Text").Timestamp().ToInteger() - dom.GetObject("CCU SV Push Text Ref").Timestamp().ToInteger();
      if(diff < stop_repeat){
        if((message == dom.GetObject("CCU SV Push Text Ref").Value()) && (titel == dom.GetObject("CCU SV Push Titel Ref").Value())){send_flag = 0;}
      }
Ich verwende dort aber noch die alte Schreibweise also anstatt

Code: Alles auswählen

dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushTextRef)...
dies

Code: Alles auswählen

dom.GetObject("CCU SV Push Text Ref")...
Meine Systemvariablen heißen auch anders.

Tharanis
Beiträge: 119
Registriert: 15.04.2015, 11:39
Hat sich bedankt: 2 Mal
Danksagung erhalten: 5 Mal

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

Beitrag von Tharanis » 09.11.2017, 20:26

Danke Dir.
Gruß Tharanis
DWD-Unwetterwarnscript v1.32.b03 (RaspberryMatic) - Lüftungswarnung auf Temperatur-Basis

RaspberryMatic (3.65.11.20221005) - Längste Laufzeit bislang: 48 Tage (RaspberryMatic), 72 Tage (CCU2), >100 Tage (CCU1)

Antworten

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