Servicemeldungen *allinclusive* Script

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

Moderator: Co-Administratoren

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 20.02.2022, 20:41

Was soll ich da erklären?

Die Ausgabe des Scriptes wird in der Systemvariablen gespeichert (sofern diese vorhanden und die Funktion aktiviert ist)
in der 222 sofern es sich um eine neue Servicemeldung handelt in der 223 sofern es sich um eine alte Servicemeldung handelt.
Hab mir das Script schon lange nicht mehr richtig angeschaut.

Mit einen Usertest hat das gar nix zu tun :oops:

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.

411er
Beiträge: 39
Registriert: 09.10.2020, 08:54
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 13 Mal
Danksagung erhalten: 1 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von 411er » 04.03.2022, 12:28

Hallo Zusammen,

vielen Dank für das Script @alchy!

Ich habe die InThread Suche bemüht jedoch nichts gefunden, deshalb frage ich so:

Ist es möglich, dass man nur "Gerätekommunikation gestört" Meldungen ausblendet?
Hintergrund ist bei mir, dass leider manche HM IP Geräte auf Kante in der Reichweite sind und ich leider technisch keine Lösung habe, dass aktuell zu verbessern. Somit habe ich häufiger für Zeit X diese Servicemeldung stehen. Somit bekomme ich dann immer wieder PushNachrichten, die dann auf Dauer nerven.

Bislang habe ich dann das komplette Gerät geblacklisted. Dies hat nur leider zur Folge, dass ich ja auch besonders die "Batterie leer" Meldungen nicht mehr erhalte (die ich als wichtige Nutzung von dem Script sehe).

Deshalb die Frage, wie bzw. ob es möglich ist, nur die Servicemitteilungen raus zu filtern, die "Gerätekommunikation gestört" aufweisen?

Besten Dank!

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 04.03.2022, 21:14

Auch das sollte problemlos möglich sein. Am einfachsten wahrscheinlich mittels Ausnutzung von collect.

[EDIT]
z.B. das Einfügen von:

Code: Alles auswählen

if ((sdesc == "UNREACH")) { collect = false;}
oberhalb der Zeile

Code: Alles auswählen

if ( (BLOCK.Find(sserial)<0) && (collect) ) {
sollte für das Gewünschte sorgen.
[/EDIT]

Alchy
Zuletzt geändert von alchy am 04.03.2022, 21:31, insgesamt 1-mal geändert.
Grund: [EDIT]

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.

NoRisk
Beiträge: 66
Registriert: 19.03.2015, 17:11

Re: Servicemeldungen *allinclusive* Script

Beitrag von NoRisk » 12.03.2022, 17:42

Guten Abend Alchy!

Auch von mir ganz herzlichen Dank für das tolle Script und den umfangreichen Support.
Habe versucht, mich aufmerksam durch die 172 Seiten zu lesen und die aktuellste Version des Scripts auf meiner CCU2 auch erfolgreich installiert.
Bei den ersten Tests ist mir aufgefallen, dass die bereits aufgezeigte Problematik mit dem korrekten Befüllen der Systemvariablen bei identischen
Servicemeldungen noch nicht gelöst sein dürfte.
Ich hätte jedoch noch ein zweites Anliegen:
Nachdem ich den Inhalt der Systemvariablen in WisuWin anzeigen möchte und in Homeputer keine Möglichkeit gefunden habe, bei Aktualisierung
einer Systemvariablen eine Aktion auszulösen, bleibt aus meiner Sicht nur die Option, den Inhalt der Systemvariablen periodisch auszulesen.
Um dabei keine Servicemeldungen zu "übersehen" da diese ja unregelmäßig erzeugt werden, wäre es erforderlich, dass die Servicemeldungen nicht
überschrieben werden sondern erhalten bleiben und die neue Servicemeldung an die bestehende Meldung angehängt wird.
Der Inhalt der Systemvariablen sollte bei Bedarf manuell oder nach einer gewissen Anzahl von Servicemeldungen gelöscht werden.

Kannst Du oder ein anderer Profi in diesem Forum mir bitte bei der Realisierung behilflich sein oder mir Tipps für eine andere geeignete Lösung geben?

Vielen Dank
Gert

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 15.03.2022, 21:36

NoRisk hat geschrieben:
12.03.2022, 17:42
Bei den ersten Tests ist mir aufgefallen, dass die bereits aufgezeigte Problematik mit dem korrekten Befüllen der Systemvariablen bei identischen
Servicemeldungen noch nicht gelöst sein dürfte.
Da musst du genauer werden.
NoRisk hat geschrieben:
12.03.2022, 17:42
Ich hätte jedoch noch ein zweites Anliegen:
das rollende Speichern von Strings in einer Systemvariabel hatte ich hier mal veröffentlicht.
Reicht das?

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.

NoRisk
Beiträge: 66
Registriert: 19.03.2015, 17:11

Re: Servicemeldungen *allinclusive* Script

Beitrag von NoRisk » 16.03.2022, 09:53

Guten Morgen Alchy!

Vielen Dank für die Rückmeldung und den Link.
Werde versuchen damit eine Lösung zu "basteln", wird jedoch nicht ganz so einfach sein ...

Vorab ein Beispiel zu dem, was ich mit dem Befüllen der Variablen gemeint habe:
Es besteht eine Servicemeldung wegen Verbindungsfehler Gerät XXX und ich erhalte wie erwartet eine Meldung mit "ALTE Servicemeldung ... Verbindungsfehler Gerät XXX".
Abgesehen davon, dass die Meldung ja nicht unbedingt "ALT" ist wäre das aus meiner Sicht auch alles in Ordnung.
Nun behebe ich diese Fehlermeldung nicht und erzeuge eine neue Meldung, indem ich eine Sabotage auslöse.
Dann erhalte ich eine Sevicemeldung mit "NEUE Servicemeldung mit darauffolgender Angabe des alten Gerätes und erst nach dem Zeilenvorschub die Sabotagemeldung des neu erzeugten Events.
Erwarten würde ich hier eigentlich, dass das Gerät auf das sich die neue Fehlermeldung bezieht, direkt hinter dieser Meldung steht und erst im zweiten Block das Gerät zur älteren Meldung.

Mein Wunschziel wäre aber zu erreichen, dass im ersten Block die jeweils neueste Fehlermeldung steht und wenn diese behoben wurde das dort ebenfalls vermerkt wird. In den folgenden Blöcke würde ich gern alle bisherigen Servicemeldungen (egal ob aufrecht oder behoben aber möglichst mit Hinweis wenn das Problem noch besteht) in chronologischer Reihenfolge listen und das solange, bis die Systemvariable manuell gelöscht wird.
Vielleicht gelingt es mir ja das mithilfe der Informationen aus Deinem Link zu lösen, freue mich jedoch wenn Du mir dazu Tipps geben kannst.

Vielen Dank
Gert

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 16.03.2022, 22:42

Das hier gepostete Script reagiert nur auf Servciemeldungen und bildet diese ab.
Grob eigentlich eben genau das was du in der Klickibunti oben rechts beim Klick auf Servicemeldungen eben auch lesen kannst. Mit ein wenig mehr Informationen vielleicht.
NoRisk hat geschrieben:
16.03.2022, 09:53
Erwarten würde ich hier eigentlich, dass das Gerät auf das sich die neue Fehlermeldung bezieht, direkt hinter dieser Meldung steht und erst im zweiten Block das Gerät zur älteren Meldung
Also die Anordnung in der Ausgabe meines Scriptes nach alt oder neu zu sortieren?
Den Gefallen macht dir das Script nicht, das stimmt.

NoRisk hat geschrieben:
16.03.2022, 09:53
Mein Wunschziel wäre aber zu erreichen,
Dein Wunschziel sollte sein, keine Servicmeldung zu haben.
Natürlich kann man die Ausgabe des Sciptes in einer Variablen rollend speichern.
Aber in diesem Speicher dann bei jedem Aufruf gespeicherte Meldungen auch noch zu editieren, chronologisch zu sortieren usw. halte ich für eher überzogen. Vielleicht verstehe ich aber auch nur den Sinn dahinter nicht.

Mal sehen. Aber es gibt ja hier auch noch andere Programmierer.

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.

NoRisk
Beiträge: 66
Registriert: 19.03.2015, 17:11

Re: Servicemeldungen *allinclusive* Script

Beitrag von NoRisk » 16.03.2022, 23:40

Vielen Dank Alchy!

Die Funktion Deines wirklich tollen Scripts glaube ich verstanden zu haben und es ist auch mein Bestreben möglichst keine Servicemeldungen zu haben. Eben auch darum, um bei längerer Abwesenheit auch ohne LOG-Datei einen Überblick zu erhalten um eventuelle Fehler im Projekt gezielt beheben zu können, möchte ich die Servicemeldungen protokollieren.

Wenn ich Dein Script zusammen mit einem Script einsetze, welches mit einiger Verzögerung insbesondere auch batteriebetriebene Geräte, welche einen Verbindungsfehler gemeldet haben, nochmals anspricht und damit die häufigsten Probleme "selbst" behebt, hätte ich darüber ohne Prokokollierung keine Information.

Ich werde daher versuchen, für die aktuelle Meldung die Reihenfolge der Servicemeldungen anzupassen, indem ich die zweite Meldung vor die erste stelle und nicht an die bestehende "anhänge". Und für die Protokollierung habe ich mir überlegt, eine separate Systemvariable zu befüllen, deren Inhalt ich nach Bedarf leeren kann.

Nochmals vielen Dank für die wirklich tolle Arbeit und noch einen schönen Abend
Gert

alchy
Beiträge: 10754
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 673 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 17.03.2022, 20:42

NoRisk hat geschrieben:
16.03.2022, 23:40
Die Funktion Deines wirklich tollen Scripts glaube ich verstanden zu haben
Will ich dir nicht absprechen.
NoRisk hat geschrieben:
16.03.2022, 23:40
Ich werde daher versuchen, für die aktuelle Meldung die Reihenfolge der Servicemeldungen anzupassen, indem ich die zweite Meldung vor die erste stelle und nicht an die bestehende "anhänge".
Mein Script gibt die Servicemeldungen anhand ihrer ISE_ID in der Auflistung an.
Hat die neue Servicemeldung eine niedrigere ISE_ID wie die alte dann steht sie oberhalb, ansonsten eben unterhalb. (wenn wir mal nur von 2 ausgehen) :mrgreen:
NoRisk hat geschrieben:
16.03.2022, 23:40
Und für die Protokollierung habe ich mir überlegt, eine separate Systemvariable zu befüllen, deren Inhalt ich nach Bedarf leeren kann.
Das hatte ich dir oben ja schon verlinkt und angeboten. Einfach rollend speichern.



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.

NoRisk
Beiträge: 66
Registriert: 19.03.2015, 17:11

Re: Servicemeldungen *allinclusive* Script

Beitrag von NoRisk » 17.03.2022, 22:37

Vielen Dank auch für die Erklärung zur Reihenfolge der Servicemeldungen.

Wünsche noch einen schönen Abend
Gert

Antworten

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