Howto - zentrales Push-Nachrichten-Programm zPNP

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

Moderator: Co-Administratoren

Benutzeravatar
robbi77
Beiträge: 13847
Registriert: 19.01.2011, 19:15
System: CCU
Wohnort: Landau
Hat sich bedankt: 181 Mal
Danksagung erhalten: 738 Mal

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

Beitrag von robbi77 » 26.12.2015, 09:38

1. Post
1. Absatz
Letzten 3 Sätze.


Gruß
Roberto
Bei Risiken und Nebenwirkungen fragen Sie den Elektriker Ihres geringsten Mißtrauens!
http://www.eq-3.de/service/downloads.html
Tips und Tricks für Anfänger: viewtopic.php?t=22801
Programmlogik: viewtopic.php?f=31&t=4251
Webui-Handbuch: https://www.eq-3.de/downloads/download/ ... h_eQ-3.pdf
Script und Linksammlung: viewtopic.php?f=26&t=27907
Troll des Forums ...

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

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

Beitrag von SMA » 27.12.2015, 18:03

Hallo, danke für die Erweiterung des Skripts...

Mir ist aufgefallen, dass du keine Variable für "push" mehr angelegt hast wie im alten Skript, du sie aber beschreibst
"string push"
und eine Überflüssige Variable drin ist, die im Skript gar nicht noch mal auftaucht.
"string push_info"

EDIT: Hab es mal mit stop_time = 15 versucht. Auch nach 2min kommt diesselbe Nachricht nicht noch mal an. Sollte ja eigentlich nicht so sein, da ich sie ja will :-) Hab extra nicht mit State gearbeitet. Also irgendwas funktioniert da nicht richtig!

EDIT2: Nehme doch lieber wieder V1.0 ... Irgendetwas funktioniert da definitiv nicht so wie es sollte :-( Ich glaube es sollte noch eine Systemvariable gesetzt werden, z.B. CCU SV Push Check oder so, die im Programm gesetzt wird und im Hauptskript, falls diese gesetzt ist, wird mit Stoptime gearbeitet. Aber wie gesagt, auch da, es funktioniert ja jetzt schon nicht... Zumindest bei mir!

EDIT3: Die Integerwerte sind auch merkwürdig... Würde erklären, warum wohl nie ne Nachricht kommen wird^^

integer diff1 = dom.GetObject("CCU SV Push Text").Timestamp().ToInteger();
integer diff2 = dom.GetObject("CCU SV Push Text Alt").Timestamp().ToInteger();
integer diff3 = dom.GetObject("CCU SV Push Text").Timestamp().ToInteger() - dom.GetObject("CCU SV Push Text Alt").Timestamp().ToInteger();
WriteLine(diff1);
WriteLine(diff2);
WriteLine(diff3);

1449758027
1451238445
-1480418

EDIT4: Bin zurück aufs alte Skript. Ist nun eine Weile her und es kamen wie gewohnt Push-Messages. Die Werte von oben aus den verschiedenen diffs sind noch immer gleich! Das wären die Timestamps. Klar kommt da eine große Differenz zusammen. Ich glaube es ist definitiv eine Anpassung nötig...

diff1: 2015-12-10 15:33:47
diff2: 2015-12-27 18:47:25

EDIT5: Oder keine Anpassung, dann sollte aber der Hinweis erfolgen das in allen Skripten absofort mit ".State" gearbeitet werden muss!


Hier noch mal das angepasste Skript für prowl

EDIT: Ohne den push_info kram, da ich den Sinn nicht sehe :-) Auch das Anlegen der Variable ist unnötig. So wie es vorher war und ich es im Skript verstanden habe, muss bei Prio -2, -1, 0 noch zusätzlich die SV Push Info gesetzt werden (true, false) im jeweiligen Programm. Ansonsten würde die Info nicht gesendet werden. Also wozu? Wissen doch das -2 bis 0 Info ist und wenn ich keine Info will (also false) warum überhaupt das Skript ausführen? :D

EDIT: Altes Skript entfernt
Zuletzt geändert von SMA am 30.01.2016, 17:37, insgesamt 3-mal geändert.
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: 10658
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 » 28.12.2015, 12:29

SMA hat geschrieben:Hallo, danke für die Erweiterung des Skripts...

Mir ist aufgefallen, dass du keine Variable für "push" mehr angelegt hast wie im alten Skript, du sie aber beschreibst
"string push"
und eine Überflüssige Variable drin ist, die im Skript gar nicht noch mal auftaucht.
"string push_info"
Danke für den Hinweis. Da ist mir in der Tat ein Fehler unterlaufen. Ich hatte nämlich die Variable push durch push_info ersetzen wollen. Hier das korrigierte Skript, in dem ich auch die beiden Nutzer durch User1 und User2 ersetzt habe.

Korrekt. Vielleicht ist das hier nicht so klar rübergekommen. Damit die neue Version funktionieren kann, müssen die Zeitstempel der Variablen korrekt gesetzt sein. Und das funktioniert nur, wenn in allen Skripten, die die entsprechenden Push-Systemvariablen aufrufen, statt ".Variable(xxx)" ".State(xxx)" verwendet wird. Gant wichtig für's Funktionieren ist natürlich auch die zusätzliche Systemvariable "CCU SV Push Text Alt".

Gruß,

Thorsten
Zuletzt geändert von dtp am 31.01.2016, 10:05, insgesamt 1-mal geändert.

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

Howto - Energiezähler

Beitrag von dtp » 28.12.2015, 12:44

Und hier noch ein Beispiel, wie man den Strom- und den Gaszählersensor einbinden kann.
Zuletzt geändert von dtp am 25.04.2016, 07: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.

dtp
Beiträge: 10658
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 » 28.12.2015, 13:02

Gnadenloos hat geschrieben:Mir ist der Aufbau und die Wirkungsweise nicht so ganz klar. Ich lese oftmals im www, dass User bestehende Prowl Probleme dadurch gelöst haben, dass sie sich auf mein-homatic (kostenpflichtig) angemeldet haben.
Sinn und Zweck des zentralen Push-Nachrichtenskripts ist ein deutlich vereinfachter Aufruf mit entsprechend größerer Übersichtlichkeit in den Skripten, die die eigentlichen Nachrichten erzeugen. Hinzu kommt, dass nur noch an einer zentralen Stelle Änderungen, die den Push-Dienst betreffen, einzupflegen sind. Somit sinkt das Risiko, dass man etwas übersehen hat.

Ich habe ungefähr 20 bis 30 verschiedene WebUI-Programme und Skripte, die entsprechende Push-Nachrichten erzeugen (unter anderem eine entsprechend geänderte Version von Alchys tollem Allinclusive-Skript). Das sieht dann in der Pushover-App auf meinem iPhone z.B. so aus:
Pushover_01.jpg
Pushover_02.jpg
Wenn sich nun etwas an der UTF-8-Codierung, an den Usern oder am Push-Dienst (z.B. Wechsel von Pushover zu Prowl oder dergleichen) ändern, dann brauche ich mich nur noch im zentralen Skript darum zu kümmern. Auch die Änderung des neuen Skripts zur Vermeidung unnötig wiederholter Push-Nachrichten war dank des zentralen Push-Nachrichten-Programms schnell und einfach umgesetzt. Mit einzelnen Skripten wäre das eine ziemliche Fummelei geworden.

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.

Joker971
Beiträge: 126
Registriert: 22.12.2015, 22:01
Danksagung erhalten: 2 Mal

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

Beitrag von Joker971 » 04.01.2016, 21:38

Hi dtp,

erstmal vielen Dank für das Script! Funktioniert soweit gut...aber...nach ein paar Messages mit verschiedenen Sounds spielt die App auf dem Handy gar kein Sound mehr ab ! Die Nachrichten kommen rein aber eben ohne Ton :shock: :?:
Öffne ich dann das Programm mit dem Hauptscript und das Script selbst und gehe mit OK wieder raus funktioniert es wieder ein paar mal gut. Das tritt echt nur auf wenn ich einige Nachrichten mit verschiedenen Sounds ein paar mal verschicke. Was kann das sein :?: Ich benutze die Töne Bike (Prio-2-0), Siren(Prio 1) und Persistent(Prio 2).

dtp
Beiträge: 10658
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 » 05.01.2016, 12:58

Welche Version des Skripts nutzt Du denn? Falls es die neuere ist, setze mal "push_reset" auf 0 und schaue Dir den Inhalt der Systemvariablen "CCU SV Push Prio" und "CCU SV Push Sound" im WebUI an. Steht da immer was drin?

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.

Joker971
Beiträge: 126
Registriert: 22.12.2015, 22:01
Danksagung erhalten: 2 Mal

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

Beitrag von Joker971 » 06.01.2016, 09:18

Hi dtp,

ich nutze die 1-User Variante.
Gut ich werde das mit den Variablen testen, bin gespannt.

Franzens
Beiträge: 147
Registriert: 18.04.2014, 17:11
Hat sich bedankt: 15 Mal

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

Beitrag von Franzens » 09.01.2016, 16:30

Hallo dtp,

erstmal vielen Dank für das Skript. habs weitestgehend zum Laufen gebracht. Teste das Ganze gerade - bei Nachrichten mit Prio 1 und 2 klappts, bei Nachrichten mit Prio 0 und kleiner komischerweise nicht. Hatte erstmal den API-Key im Verdacht - aber wenn ich den mit Alchys All-incl.-Skript einsetze funktionierts auch.
Wo könnte mein Denkfehler liegen?

Darüberhinaus beschäftigen mich folgende weiteren Frage:
Wo / wie konkret muss ich Alchys Skript anpassen?

Danke für die Hilfe
RasberryMatic auf Synology-VM - Sonos - pocket Control HM - CuL V2 868mHz & Somfy RTS Anbindung - Pushover - hm-pdetect - homebridge - homeassistant - Alexa - Netatmo - Shelly - hue...; 373 Kanäle in 100 Geräten und 209 CUxD-Kanäle in 18 CUxD-Geräten

dtp
Beiträge: 10658
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 » 12.01.2016, 10:14

Franzens hat geschrieben:Teste das Ganze gerade - bei Nachrichten mit Prio 1 und 2 klappts, bei Nachrichten mit Prio 0 und kleiner komischerweise nicht.
Ist bei Dir "CCU SV Push Info" auf "aktiv" gesetzt? Falls nicht, könnte dies die Ursache Deines Problems sein. Ansonsten einfach mal die entsprechende if-Abfrage im Skript auskommentieren. Dann sollten auch Push-Nachrichten mit allen Prios gesendet werden.
Franzens hat geschrieben: Darüberhinaus beschäftigen mich folgende weiteren Frage:
Wo / wie konkret muss ich Alchys Skript anpassen?
Siehe hier!
Zuletzt geändert von dtp am 17.02.2016, 13:01, insgesamt 6-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.

Antworten

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