Servicemeldungen *allinclusive* Script

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

Moderator: Co-Administratoren

Benutzeravatar
HM-Villa
Beiträge: 488
Registriert: 24.01.2022, 10:13
System: CCU
Hat sich bedankt: 28 Mal
Danksagung erhalten: 113 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von HM-Villa » 24.01.2022, 11:40

@Alchy: Danke für dein tolles Script. Habe noch den Türschlosssensor HmIP-DLS mit 1x CR2032 und den Touch-Sensor HmIP-STI mit 2x LR6 gefunden.
______________________________________________________
950 Kanäle in 201 Geräten und 39 CUxD-Kanäle in 5 CUxD-Geräten

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

Re: Servicemeldungen *allinclusive* Script

Beitrag von alchy » 24.01.2022, 21:22

be.pe hat geschrieben:
19.01.2022, 12:24
die HMIP-Fernbedienung HmIP-KRCA aufnehmen bei den Batterien LR3 mit einer Batterie.
War drin oder ich habe es zwischendurch mal eingefügt. :cry:

HM-Villa hat geschrieben:
24.01.2022, 11:40
Habe noch den Türschlosssensor HmIP-DLS mit 1x CR2032 und den Touch-Sensor HmIP-STI mit 2x LR6 gefunden.
Dankeschön, habe die 2 Geräte hinzugefügt. Versionsnummer wird aber nicht erhöht. :-)

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.

schlichi
Beiträge: 385
Registriert: 26.08.2016, 19:26
System: Alternative CCU (auf Basis OCCU)
Wohnort: Erding
Hat sich bedankt: 60 Mal
Danksagung erhalten: 26 Mal

Re: Servicemeldungen *allinclusive* Script

Beitrag von schlichi » 20.02.2022, 20:19

Hallo Alchy,

.. aber das mußt Du mir erklären. Soweit sind meine Fähigkeiten noch nicht :roll:
Oder war das ein Test um festzustellen wie weit wir User uns einarbeiten. :)

Code: Alles auswählen

! Servicemeldungen auslesen und weiter verarbeiten
! v1.995 (c) by alchy https://homematic-forum.de/forum/viewtopic.php?f=31&t=24618
...
! Zeile 222 
if ( (USE_SYSVAR == "ja") && (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME) ){ (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME).State(slist); }
! Zeile 223
} else { if ( (USE_SYSVAR == "ja") && (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME) ){ (dom.GetObject(ID_SYSTEM_VARIABLES)).Get(SYSVAR_NAME).State(slist); }}
Grüße
schlichi (der verwarnte) :wink:
... inzwischen autodidakter, fortgeschrittener Anfänger mit bestandener Einstiegsprüfung für den Expertenmodus Teil 3 (erfahrener Anwender) :roll:

alchy
Beiträge: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 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: 38
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: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 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: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 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: 10752
Registriert: 24.02.2011, 01:34
System: CCU
Hat sich bedankt: 65 Mal
Danksagung erhalten: 672 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.

Antworten

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