Autor Thema: [Neues Modul DOIFtools] Logfile, readingsGroup, nextTimer, EVENT-Statistik  (Gelesen 14906 mal)

Online Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3191
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

Definition

define DOIFtools DOIFtoolsEs 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.
« Letzte Änderung: 21 März 2017, 16:19:29 von Ellert »
Gefällt mir Gefällt mir x 7 Liste anzeigen

Offline automatisierer

  • Sr. Member
  • ****
  • Beiträge: 855
macht einen sehr nützlichen Eindruck!
Erste Tests sind in Ordnung. Alle Funktionen habe ich noch nicht verstanden.
werde heute Abend mal weiter Testen...

Online Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 5754
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 mit uiTable, DOIF-Perl, THRESHOLD, FHEM-Befehl: IF

Online Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3191
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

Online Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3191
Es gibt eine aktualisierte Version im ersten Post.

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

Online kumue

  • Sr. Member
  • ****
  • Beiträge: 917
Kannst Du bitte das 98_DOIFtools.pm nochmal hochladen ?
Im ersten Post sehe ich nur 98_DOIF.pm.
Danke
RPi3 als FHEM-Server mit DBLog und configdb
Homematic mit HMLAN, HMUSB und paar Sensoren und Aktoren

Online Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3191
@kumue: erledigt, Danke für den Hinweis.

Online Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3191
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"
« Letzte Änderung: 06 Januar 2017, 12:33:28 von Ellert »

Online Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 5754
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 mit uiTable, DOIF-Perl, THRESHOLD, FHEM-Befehl: IF

Online Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3191
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.

Online Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3191
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
« Letzte Änderung: 09 Januar 2017, 11:19:59 von Ellert »

Online Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3191
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.

Online Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3191
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.

Online Damian

  • Moderator
  • Hero Member
  • ***
  • Beiträge: 5754
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.


« Letzte Änderung: 14 Januar 2017, 22:42:05 von Damian »
Programmierte FHEM-Module: DOIF mit uiTable, DOIF-Perl, THRESHOLD, FHEM-Befehl: IF

Offline automatisierer

  • Sr. Member
  • ****
  • Beiträge: 855
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