[Neues Modul DOIFtools] Logfile, readingsGroup, nextTimer, EVENT-Statistik

Begonnen von Ellert, 03 Januar 2017, 07:32:21

Vorheriges Thema - Nächstes Thema

Ellert

Ich möchte das Modul 98_DOIFtools.pm vorstellen.

DOIFtools Bedienungsanleitung im FHEM-Wiki: https://wiki.fhem.de/wiki/DOIFtools

Das Modul enthält Funktionen zur Unterstützung des Benutzers im Umgang mit DOIF:

  • erstellen von readingsGroup Definitionen, zur Beschriftung von Frontendelementen.
  • erstellen eines Debug-Logfiles, in dem mehrere DOIF und zugehörige Geräte geloggt werden.
  • optionales DOIF-Listing bei jeder Status und Wait-Timer Aktualisierung im Debug-Logfile.
  • Navigation zwischen den DOIF-Listings im Logfile, wenn es über DOIFtools geöffnet wird.
  • erstellen von userReadings in DOIF-Geräten zur Anzeige des realen Datums bei Wochentag behafteten Timern.
  • löschen von benutzerdefinierten Readings in DOIF-Definitionen über eine Mehrfachauswahl.
  • erfassen statistischer Daten über Events.
  • zeitliche Begrenzung der Datenerfassung
  • erstellen eines Statistikreports.
  • Liste aller DOIF-Definitionen in probably associated with und Lookup-Fenster ffür Details der Geräte.
  • Zugriff auf DOIFtools aus jeder DOIF-Definition über die Liste in probably associated with.
  • Zugriff aus DOIFtools auf vorhandene DOIFtoolsLog-Logdateien.
  • einblenden des Event-Monitor in der DOIFtools-Detailansicht.
    Es werden Operanden für DOIF aus einem Event abgeleitet.
    Mit einem ausgewählten Operanden kann eine neue DOIF Definition erzeugt werden
  • ermöglicht den Zugriff auf den Event Monitor in der DOIF-Detailansicht.
    Es werden Operanden für DOIF aus einem Event abgeleitet.
    Mit einem ausgewählten Operanden kann eine bestehende DOIF Definition ergänzt werden
  • prüfen der DOIF Definitionen mit Empfehlungen.
  • erstellen eigener Shortcuts.
  • erstellen eines FHEM-Menüeintrag per Attribut
  • anzeigen der laufenden "wait_timer"
  • Die Ausgabesprache richtet sich nach der Einstellung des globalen Attributes language
  • Auflistung der Subs, die vom User im Package DOIF deklariert wurden.


Definition

define DOIFtools DOIFtools
Es ist nur eine Definition je FHEM-Installation erlaubt.

Definitionsvorschlag für den Import mit Raw definition

defmod DOIFtools DOIFtools
attr DOIFtools DOIFtoolsEventMonitorInDOIF 1
attr DOIFtools DOIFtoolsExecuteDefinition 1
attr DOIFtools DOIFtoolsExecuteSave 1
attr DOIFtools DOIFtoolsMenuEntry 1
attr DOIFtools DOIFtoolsMyShortcuts ##My Shortcuts:,,list DOIFtools,fhem?cmd=list DOIFtools
attr global language DE


DOIFtools wird über das offizielle Update verteilt.

automatisierer

macht einen sehr nützlichen Eindruck!
Erste Tests sind in Ordnung. Alle Funktionen habe ich noch nicht verstanden.
werde heute Abend mal weiter Testen...

Damian

Gute Idee, so können wir den Funktionsteil (DOIF) von den Tools trennen. Damit kannst deine Ideen zur besseren Handhabung unmittelbar umsetzen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Es gibt eine aktualisierte Version im ersten Post.

neu: Statistikreport, Logfileanzeige in der Detailansicht, wie bei FileLog, Hilfe überarbeitet, kleine Fehler bereinigt.

@Damian: Ja, ich wollte nicht immer in Deinem Modul herum basteln.

Vielleicht könntest Du in dem 2. angepinnten Beitrag zwei Links zufügen, einmal auf Wiki-CodeSnippets (dort gibt es auch DOIF Beispiele, die nicht in HOWTOS verlinkt sind) und auf diesen Beitrag.

https://wiki.fhem.de/wiki/Kategorie:Code_Snippets
https://forum.fhem.de/index.php/topic,63938.0.html

Ellert

Es gibt eine aktualisierte Version im ersten Post.

neue Funktion: einblenden des Event-Monitor in der Detailansicht.

kumue

Kannst Du bitte das 98_DOIFtools.pm nochmal hochladen ?
Im ersten Post sehe ich nur 98_DOIF.pm.
Danke

Ellert


Ellert

Es gibt eine aktualisierte Version im ersten Post.

neue Funktion: ermöglicht den Zugriff auf den Event Monitor in der Detailansicht von DOIF (experimentell).

@Damian, falls Du Bedenken hast, würde ich das wieder abschalten. DOIFtools setzt optional eine "FW_detailFn" mit
$modules{DOIF}->{FW_detailFn} = "DOIFtools_eM"

Damian

Zitat von: Ellert am 06 Januar 2017, 12:07:37
Es gibt eine aktualisierte Version im ersten Post.

neue Funktion: ermöglicht den Zugriff auf den Event Monitor in der Detailansicht von DOIF (experimentell).

@Damian, falls Du Bedenken hast, würde ich das wieder abschalten. DOIFtools setzt optional eine "FW_detailFn" mit
$modules{DOIF}->{FW_detailFn} = "DOIFtools_eM"

Interessanter Ansatz. Gut wäre gleich die richtigen Filter (passend zum Modul) zu setzen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Passende Filter sind so eine Sache. Was passend ist, hängt auch von der Absicht ab, mit der man in den Event-Monitor sieht.

Ich würde den EM auch öffnen, wenn ich DOIF erweitern möchte und nicht genau weiss welche Events es gibt. Dafür steht kein Vorwissen bereit,  um einen Filter abzuleiten.

Ellert

Es gibt eine aktualisierte Version im ersten Post.

zeitliche Begrenzung der Datenerfassung
optimierter Zugriff auf die holiday-Datei bei der Berechnung des echten Datums
mehr Aussage im Report, Hinweis, ob in einem Gerät "event-on-..." gesetzt ist
anzeigen von DOIF-Version und FHEM-Revision

Ellert

Es gibt eine aktualisierte Version im ersten Post.


neu:
Check der DOIF Definitionen, mit Empfehlungen.

Bei schwer auffindbaren Fehlern, kann ein DOIF-Listing ins Debug-Logfile eingeschaltet werden. Das Listing wird bei Status und Wait-Timer Aktualisierung geschrieben.

Ellert

Es gibt eine aktualisierte Version im ersten Post.

neu:
Navigation zwischen den DOIF-Listings im Logfile, wenn es über DOIFtools geöffnet wird.
Einige Shortcuts zugefügt
Es kann nur eine DOIFtools Instanz angelegt werden.
checkDOIF auf timerWithWait erweitert und Hinweis, wo ggf. do always fehlt.

Damit sind dann erstmal meine Ideen umgesetzt.

DOIFtools könnte ein offizielles Modul werden, das hängt auch von den Erfahrungen ab, die Ihr damit macht.
Schreibt doch mal Eure Meinung zu DOIFtools, vielleicht gibt es ja auch noch Ideen.

Damian

Zitat von: Ellert am 14 Januar 2017, 21:38:27
Es gibt eine aktualisierte Version im ersten Post.

neu:
Navigation zwischen den DOIF-Listings im Logfile, wenn es über DOIFtools geöffnet wird.
Einige Shortcuts zugefügt
Es kann nur eine DOIFtools Instanz angelegt werden.
checkDOIF auf timerWithWait erweitert und Hinweis, wo ggf. do always fehlt.

Damit sind dann erstmal meine Ideen umgesetzt.

DOIFtools könnte ein offizielles Modul werden, das hängt auch von den Erfahrungen ab, die Ihr damit macht.
Schreibt doch mal Eure Meinung zu DOIFtools, vielleicht gibt es ja auch noch Ideen.

Ich denke, solange ein Modul nicht zum Standard gehört, wird es nicht die Aufmerksamkeit finden, die es verdient hätte. Wenn du der Meinung bist, dass es reif für den "produktiven" Einsatz ist, dann lasse es einfach zum Standard-Modul werden. Dann wird auch die dazugehörige Doku in der Commandref gelesen. Da durch das Tool nur Änderungen von außen stattfinden, ist die Stabilität des funktionalen Teils, also der DOIF-Module nicht in Gefahr.


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

automatisierer

Zitat von: Ellert am 14 Januar 2017, 21:38:27
DOIFtools könnte ein offizielles Modul werden, das hängt auch von den Erfahrungen ab, die Ihr damit macht.
Schreibt doch mal Eure Meinung zu DOIFtools, vielleicht gibt es ja auch noch Ideen.

Ich finde das Tool sehr nützlich! Mit Hilfe des Tool habe ich mein Event-Aufkommen (alleine bei HM-Devices - mit event-on-change-reading .* !) von 2100/h um 2/3 auf ca. 650/h reduziert.

Pro HM-ES-PMSw1-Pl Messsteckdose zum überwachen des Waschmaschinen Status, wurden bei aktiver Waschmaschine alleine ~2000/h Events erzeugt (bei 2 Waschmaschinen und einem Trockner dann schon ~6000) da binich nun nach der anpassung von event-on-change-reading .* auf nur die readings die ich tatsächlich benötige auf 200/h

Da wurd einem beim betrachten des Event-Monitor schon schwindelig...

Anfangs ist es bei ein paar wenigen Devices nicht so wichtig auf die passenden Filter zu achten - wenn mit der Zeit die FHEM Installation mehr und mehr wächst, kommt man dann wohl nicht mehr drum herum, Devices die übermäßig viele Events erzeugen auszubremsen.


Was ich noch nützlich fände, wenn man bei den statisticTYPEs außer .* und TYPE= auch Device Namen mit regex eingeben könnte.

Ansonsten ein sehr hilfreiches Analysetool und sollte mMn auf jeden Fall 'offizielles Modul' werden.

Gruß
Ingo