Servicemeldungen *allinclusive* Script
Moderator: Co-Administratoren
-
- Beiträge: 507
- Registriert: 26.10.2016, 16:08
- System: CCU
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 15 Mal
Re: Servicemeldungen *allinclusive* Script
Hallo Alchy,
ich wollte dich schon länger mal danach fragen..... und da sich irgendwie die Geräte mit NICHT-Meldungen häufen....
Wäre es evtl. eine Idee das Skript so umzubauen, dass die Systemvariable zwingend benötigt wird und diese abgefragt wird?
Da die SV ja scheinbar immer befüllt wird mit der richtigen Meldung (nur halt ohne "ALTE Servicemeldung")
Wie gesagt.. nur eine Idee. Ob gut oder schlecht darfst du entscheiden
Gruß Tino
ich wollte dich schon länger mal danach fragen..... und da sich irgendwie die Geräte mit NICHT-Meldungen häufen....
Wäre es evtl. eine Idee das Skript so umzubauen, dass die Systemvariable zwingend benötigt wird und diese abgefragt wird?
Da die SV ja scheinbar immer befüllt wird mit der richtigen Meldung (nur halt ohne "ALTE Servicemeldung")
Wie gesagt.. nur eine Idee. Ob gut oder schlecht darfst du entscheiden
Gruß Tino
Re: Servicemeldungen *allinclusive* Script
also zu den 2 Ausführungen des Programms erkläre ich wie folgt:
habe zur Sabotage den BM aus der Halterung genommen -> 1. durchlauf
dann habe ich mails aktualisiert ( leider keine bekommen )
dann 30 sek später den BM in seine Halterung zurück gesteckt. Ist dabei der 2. Durchlauf entstanden?
Habe nun die Verzögerung des Scriptes auf sofort umgestellt und dann die Sabotage nocheinmal durchgespielt. Habe zwischen der Sabotage und dem zurückstecken in die Halterung des BM 3 Minuten gewartet.
Änderung in CCU2 auf sofort:
CUxD meldet nichts.
Ich ziehe einen BM aus der Halterung:
Dann wird die Servicemeldung in der Variable siehe anlage abgespeichert.
Die Frage ist, warum steht hier "ALTE Servicemeldung" obwohl diese Servicemeldung ja
just in diesem Augenblick entstanden ist.
Die CUxD meldet folgendes
Ich aktualisiere meine Mails:
KEINE Email auch nicht nach 3 Minuten warten.
Dann habe ich den BM wieder reingesteckt:
Servicemeldung in der Variable bleibt unverändert.
Die CUxD meldet wieder:
verstehe nicht warum das Script nach dem in die Halterung stecken nun Abbruch und Start in der CUxD meldet. Dies tut es mal in der Reihenfolge Abbruch / Start und auch Start / Abbruch.
Ich habe die BM in einem anderen Programm laufen wo mir die "Bewegung erkannt" gemeldet wird, dies passiert ebenfalls über 1sek verzögerung und da klappt auch die Benachrichtigung super und fehlerfrei.
Vielen Dank vorab.
habe zur Sabotage den BM aus der Halterung genommen -> 1. durchlauf
dann habe ich mails aktualisiert ( leider keine bekommen )
dann 30 sek später den BM in seine Halterung zurück gesteckt. Ist dabei der 2. Durchlauf entstanden?
Habe nun die Verzögerung des Scriptes auf sofort umgestellt und dann die Sabotage nocheinmal durchgespielt. Habe zwischen der Sabotage und dem zurückstecken in die Halterung des BM 3 Minuten gewartet.
Änderung in CCU2 auf sofort:
CUxD meldet nichts.
Ich ziehe einen BM aus der Halterung:
Dann wird die Servicemeldung in der Variable siehe anlage abgespeichert.
Die Frage ist, warum steht hier "ALTE Servicemeldung" obwohl diese Servicemeldung ja
just in diesem Augenblick entstanden ist.
Die CUxD meldet folgendes
Code: Alles auswählen
Apr 6 15:24:44 homematic-ccu2 user.debug script: [ALCHY ALLINScript START]
Apr 6 15:24:44 homematic-ccu2 user.debug script: [ALCHY ALLINScript ENDE]
KEINE Email auch nicht nach 3 Minuten warten.
Dann habe ich den BM wieder reingesteckt:
Servicemeldung in der Variable bleibt unverändert.
Die CUxD meldet wieder:
Code: Alles auswählen
Apr 6 15:28:27 homematic-ccu2 user.debug script: [ALCHY ALLINScript Abbruch BLOCK]
Apr 6 15:28:27 homematic-ccu2 user.debug script: [ALCHY ALLINScript START]
Ich habe die BM in einem anderen Programm laufen wo mir die "Bewegung erkannt" gemeldet wird, dies passiert ebenfalls über 1sek verzögerung und da klappt auch die Benachrichtigung super und fehlerfrei.
Vielen Dank vorab.
- Dateianhänge
-
- Bild Sabotage auslösen
- Bildschirmfoto 2018-04-06 um 15.25.04.png (21.85 KiB) 2630 mal betrachtet
Re: Servicemeldungen *allinclusive* Script
Hallo Alchy,
ich muss die Fehlerbeschreibung nocheinmal korrigieren:
Gestern hat der BM an dem ich die Sabotage getestet habe,
"kommunikation ist gestört" gemeldet.
Die Systemvariable enthielt nun "Neue Servicemeldung .... "
Ich habe eine korrekte eMail erhalten. mit dem Inhalt:
Die CUxD hat folgendes gemeldet:
Ich nehme an, dass dies der richtige Ablauf des Scriptes sein soll, oder?
Davon mal abgesehen, dieser BM ist ca. 2m von der CCU2 entfernt und hat nagelneue Batterien drin.
Wieso ist bei diesem die Kommunikation gestört, und warum wird diese nicht von allein nach geraumer wiederhergestellt?
Habe heute morgen den BM aus der Halterung gehoben, danach war diese Servicemeldung wieder weg bzw. die Kommunikation war nicht mehr gestört.
Bei diesem "Sabotage" -Akt zur Beseitigung der Servicemeldung ist aber weiterhin gleiches nicht richtig ausgeführtes Allinclusive Script ( keine Email und die Variable enthält automatisch ALTE Servicemeldung) wie aus dem Post zuvor beschrieben, "ausgeführt" worden.
Kann es sein das der Status "Sabotage" bei dem HmIP anders ist ist als bei den nicht IP modellen?
ich muss die Fehlerbeschreibung nocheinmal korrigieren:
Gestern hat der BM an dem ich die Sabotage getestet habe,
"kommunikation ist gestört" gemeldet.
Die Systemvariable enthielt nun "Neue Servicemeldung .... "
Ich habe eine korrekte eMail erhalten. mit dem Inhalt:
Code: Alles auswählen
NEUE Servicemeldung
BM_Server_Raum : hat Kommunikationsfehler seit: 09.04.18 13:53(09.04.18 13:53)
Code: Alles auswählen
Apr 9 13:53:41 homematic-ccu2 user.debug script: [ALCHY ALLINScript START]
Apr 9 13:53:41 homematic-ccu2 user.debug script: [ALCHY ALLINScript ENDE]
Davon mal abgesehen, dieser BM ist ca. 2m von der CCU2 entfernt und hat nagelneue Batterien drin.
Wieso ist bei diesem die Kommunikation gestört, und warum wird diese nicht von allein nach geraumer wiederhergestellt?
Habe heute morgen den BM aus der Halterung gehoben, danach war diese Servicemeldung wieder weg bzw. die Kommunikation war nicht mehr gestört.
Bei diesem "Sabotage" -Akt zur Beseitigung der Servicemeldung ist aber weiterhin gleiches nicht richtig ausgeführtes Allinclusive Script ( keine Email und die Variable enthält automatisch ALTE Servicemeldung) wie aus dem Post zuvor beschrieben, "ausgeführt" worden.
Kann es sein das der Status "Sabotage" bei dem HmIP anders ist ist als bei den nicht IP modellen?
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Servicemeldungen *allinclusive* Script
Es ist einfach so, das manche Geräte den Zähler für die Servicemeldungen nach meinen Tests nicht "richtig" setzen.
Oft handelt es sich dabei um IP Geräte, natürlich immer wieder welche, welche ich persönlich nicht habe. Aber das ist ein anderes Thema.
Begonnen naht eigentlich alles damit, das ich leider den Anspruch hatte, das die Systemvariable immer den Systemzustand abbilden sollte.
Und das eben auch, wenn du z.B. 3 Servicemeldungen hast, und eine geht weg. Dann will keiner eine Nachricht haben....
Nehmen wir an du hast eine alte Servicemeldung. Nun meldet ein weiteres Geräte eine neue Servicemeldung.
Lastvalue = 1 Value= 2 also NEUE Servicemeldung also versenden des Scriptdurchlaufes.
Soweit die Theorie und lange so "normal".
Plötzlich tauchten Probleme damit auf, Tests ergaben das manche Geräte dabei den Zähler verunstalten in dem sie den Zähler erst hoch und dann wieder runter setzen noch bevor das Script startete.bzw. Lastvalue eben nicht den Zähler enthielt vor der neu hinzugekommenen Meldung usw. Das alles habe ich aber schon irgendwo im Thread hier geschrieben.
Du kannst in der Zeile
if ( dom.GetObject(41).Value() > dom.GetObject(41).LastValue() )
ändern auf >=
das ist aber keine allgemein gültige Lösung und wird daher von mir hier nicht integriert.
Ich hatte immer noch die Hoffnung, das das komische Verhalten mancher Geräte von EQ3 gefixt wird, dies scheint jedoch nicht zu passieren.
Alchy
Oft handelt es sich dabei um IP Geräte, natürlich immer wieder welche, welche ich persönlich nicht habe. Aber das ist ein anderes Thema.
Begonnen naht eigentlich alles damit, das ich leider den Anspruch hatte, das die Systemvariable immer den Systemzustand abbilden sollte.
Und das eben auch, wenn du z.B. 3 Servicemeldungen hast, und eine geht weg. Dann will keiner eine Nachricht haben....
Nehmen wir an du hast eine alte Servicemeldung. Nun meldet ein weiteres Geräte eine neue Servicemeldung.
Lastvalue = 1 Value= 2 also NEUE Servicemeldung also versenden des Scriptdurchlaufes.
Soweit die Theorie und lange so "normal".
Plötzlich tauchten Probleme damit auf, Tests ergaben das manche Geräte dabei den Zähler verunstalten in dem sie den Zähler erst hoch und dann wieder runter setzen noch bevor das Script startete.bzw. Lastvalue eben nicht den Zähler enthielt vor der neu hinzugekommenen Meldung usw. Das alles habe ich aber schon irgendwo im Thread hier geschrieben.
Du kannst in der Zeile
if ( dom.GetObject(41).Value() > dom.GetObject(41).LastValue() )
ändern auf >=
das ist aber keine allgemein gültige Lösung und wird daher von mir hier nicht integriert.
Ich hatte immer noch die Hoffnung, das das komische Verhalten mancher Geräte von EQ3 gefixt wird, dies scheint jedoch nicht zu passieren.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 76
- Registriert: 08.09.2011, 15:48
Sonderzeichen in Gerätenamen
Ich hatte Schwierigkeiten mit Pushbullet, wenn sich in Gerätenamen Sonderzeichen befanden (keine Nachricht erhalten, wohingegen E-Mail funktioniert hat).
Nach etwas Recherche und Ausprobieren habe ich dann die folgende Passage im Skript
ersetzt durch
Vielleicht hilft das ja dem einen oder anderen.
Beste Grüße,
Frank
Nach etwas Recherche und Ausprobieren habe ich dann die folgende Passage im Skript
Code: Alles auswählen
! 04.04.2017
! alte langsame Uebersetzung entfernt Leerzeichen kein Problem mehr bei Mail/Pushover/Telegram/ aber bei Pushbullet & Prowl?
! Sonderzeichen u.U. problematisch bei Pushover & Telegram daher Texte umgestellt
! 02.05.2017 neue Uebersetzung hinzugefügt
string Ersetzen = " ;ü;ä;ö;Ü;Ä;Ö;ß";
string ErsetzenDurch = "%20;%C3%BC;%C3%A4;%C3%B6;%C3%9C;%C3%84;%C3%9F";
string message = slist;integer Pos = 0;integer Index = 0;string Split = "";boolean Loop = true;
foreach (Split, Ersetzen.Split(";")) {
Loop = true;
while (Loop) {
Pos = message.Find(Split);
if (Pos == -1) { Loop = false;
}else{message = message.Substr(0,Pos) # ErsetzenDurch.StrValueByIndex(";",Index) # message.Substr(Pos + Split.Length() , ((message.Length() - Pos) - Split.Length()) );
}}
Index = Index + 1;
}]
Code: Alles auswählen
slist = slist.ToUTF8();
Vielleicht hilft das ja dem einen oder anderen.
Beste Grüße,
Frank
-
- Beiträge: 507
- Registriert: 26.10.2016, 16:08
- System: CCU
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 15 Mal
Re: Servicemeldungen *allinclusive* Script
Im Original von Alchy fehlt die Umwandlung vom "Ö", vielleicht war auch das die Ursache.
Richtig wäre....
aber... funzt ja scheinbar auch
Gruß Tino
Richtig wäre....
Code: Alles auswählen
string Ersetzen = " ;ü;ä;ö;Ü;Ä;Ö;ß";
string ErsetzenDurch = "%20;%C3%BC;%C3%A4;%C3%B6;%C3%9C;%C3%84;%C3%96;%C3%9F";
Code: Alles auswählen
slist = slist.ToUTF8();
Gruß Tino
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Servicemeldungen *allinclusive* Script
Natürlich funktioniert die neue Funktion auch. Das ist aber abhängig vom benutzten Dienst und vor allen von der benutzten Rega Version und deshalb nicht eingebaut.
Alchy
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 57
- Registriert: 15.04.2018, 08:34
- Wohnort: 56329 St. Goar
- Hat sich bedankt: 3 Mal
Re: Servicemeldungen *allinclusive* Script
Hallo zusammen,
ich hatte Probleme mit Umlauten in einem Fenster-offen - Script, welches mir (bei aktiver Heizungsregelung, also Winter) nach 30 min. offener Fenster (Kontakte) eine Pushover - Nachricht aufs Handy schickt.
Per eMail lange das Problem mit den Umlauten gelöst, nun endlich auch über Pushover.
Vielen Dank an alle, vor Allem aber an Alchy!!!
Gruß
beckerpa
ich hatte Probleme mit Umlauten in einem Fenster-offen - Script, welches mir (bei aktiver Heizungsregelung, also Winter) nach 30 min. offener Fenster (Kontakte) eine Pushover - Nachricht aufs Handy schickt.
Per eMail lange das Problem mit den Umlauten gelöst, nun endlich auch über Pushover.
Vielen Dank an alle, vor Allem aber an Alchy!!!
Gruß
beckerpa
Raspi 3B mit RaspberryMatic mit 104 Geräten HmIP, 29 Geräten HM, CUxD, hm_pdetect, 98 Programmen
Raspi 4B mit ioBroker
HmIP AP mit 79 Geräten
Raspi 4B mit ioBroker
HmIP AP mit 79 Geräten
-
- Beiträge: 143
- Registriert: 15.10.2014, 20:04
Re: Servicemeldungen *allinclusive* Script
Hallo, Alchy,
vielen Dank für Deine neue Version 1.96.
Ich habe eine Wetterdaten-Anzeige WA100HM von ELV installiert; sie zeigt aber keine leeren Batterien an; finde sie auch nicht im Script.
ELV Homematic Komplettbausatz Wetterdaten-Anzeige WA100HM für Smart Home / Hausautomation
Bestell-Nr. 68-13 04 52
Es werden 2 Micro AAA / LR03 benötigt.
Kann ich diese selbst im Script nachtragen und wie muß die Zeile dann aussehen ?
Vielen Dank für Deine Hilfe
Gruß
Hubiherzog
vielen Dank für Deine neue Version 1.96.
Ich habe eine Wetterdaten-Anzeige WA100HM von ELV installiert; sie zeigt aber keine leeren Batterien an; finde sie auch nicht im Script.
ELV Homematic Komplettbausatz Wetterdaten-Anzeige WA100HM für Smart Home / Hausautomation
Bestell-Nr. 68-13 04 52
Es werden 2 Micro AAA / LR03 benötigt.
Kann ich diese selbst im Script nachtragen und wie muß die Zeile dann aussehen ?
Vielen Dank für Deine Hilfe
Gruß
Hubiherzog
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Servicemeldungen *allinclusive* Script
Und das Teil ist an der CCU angelernt und erzeugt auch eine Servicemeldung bei leeren Batterien?
Alchy
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.