DOIFtools: Unterschied zwischen den Versionen

Aus FHEMWiki
Keine Bearbeitungszusammenfassung
Zeile 25: Zeile 25:
* ermöglicht den Zugriff auf den Event Monitor in der Detailansicht von DOIF.
* ermöglicht den Zugriff auf den Event Monitor in der Detailansicht von DOIF.
* prüfen der DOIF Definitionen mit Empfehlungen.
* prüfen der DOIF Definitionen mit Empfehlungen.
* erstellen eigener Shortcuts


Das Modul kann hier heruntergeladen werden: {{Link2Forum|Topic=63938|LinkText=Forenthread}}
Das Modul kann hier heruntergeladen werden: {{Link2Forum|Topic=63938|LinkText=Forenthread}}
Zeile 31: Zeile 32:


=== Definition ===
=== Definition ===
Es ist nur eine Definition je FHEM-Installation erforderlich.
Es kann nur eine Definition (Instanz) je FHEM-Installation angelegt werden.


Die Definition wird beim Anlegen des Gerätes mit den Namen der vorhandenen DOIF-Definitionen ergänzt und im Betrieb aktualisiert.
Die Definition wird beim Anlegen des Gerätes mit den Namen der vorhandenen DOIF-Definitionen ergänzt und im Betrieb aktualisiert.
Zeile 37: Zeile 38:


Im Folgenden wird davon ausgegangen, dass eine DOIFtools Instanz mit dem Namen '''DOIFtools''' existiert.
Im Folgenden wird davon ausgegangen, dass eine DOIFtools Instanz mit dem Namen '''DOIFtools''' existiert.
==== Definitionsvorschlag zum Import über [[DOIF/Import_von_Code_Snippets|Raw definition]] ====
<pre>
defmod DOIFtools DOIFtools
attr DOIFtools DOIFtoolsEventMonitorInDOIF 1
attr DOIFtools DOIFtoolsExecuteDefinition 1
attr DOIFtools DOIFtoolsExecuteSave 1
attr DOIFtools DOIFtoolsMyShortcuts list DOIFtools,fhem?cmd=list DOIFtools
</pre>
=== Shortcuts verwalten ===
Die moduleigenen Shortcuts können ausgeblendet werden.
<pre>attr DOIFtools DOIFtoolsHideModulShortcuts 1</pre>
Eigene Shortcuts können erstellt werden, es gilt die Syntax für [https://fhem.de/commandref_DE.html#menuEntries menuEntries]
<pre>attr DOIFtools DOIFtoolsMyShortcuts &lt;Shortcut-Name,Befehl&gt;, ...</pre>
====Beispiel ====
Legt den Befehl <code>list DOIFtools</code> als Shortcut an.
<pre>attr DOIFtools DOIFtoolsMyShortcuts list DOIFtools,fhem?cmd=list DOIFtools</pre>


=== Menüeintrag anlegen ===
=== Menüeintrag anlegen ===
Zeile 51: Zeile 71:
Die [[FileLog]]-Definition wird angezeigt und kann verwendet werden, um sie mit [[DOIF/Import_von_Code_Snippets|Raw definition]] zu importieren.
Die [[FileLog]]-Definition wird angezeigt und kann verwendet werden, um sie mit [[DOIF/Import_von_Code_Snippets|Raw definition]] zu importieren.


Wenn das Attribut '''executeDefinition''' gesetzt ist, wird der Code der Definition ausgeführt und das FileLog-Gerät erstellt.
Wenn das Attribut '''DOIFtoolsExecuteDefinition''' gesetzt ist, wird der Code der Definition ausgeführt und das FileLog-Gerät erstellt.
<pre>attr DOIFtools executeDefinition 1</pre>
<pre>attr DOIFtools DOIFtoolsExecuteDefinition 1</pre>
Wenn die Definition auch automatisch gespeichert werden soll, muss das Attribut '''executeSave''' gesetzt werden.
Wenn die Definition auch automatisch gespeichert werden soll, muss das Attribut '''DOIFtoolsExecuteSave''' gesetzt werden.
<pre>attr DOIFtools executeSave 1</pre>
<pre>attr DOIFtools DOIFtoolsExecuteSave 1</pre>
Wenn mehr Informationen zum Finden eines Fehlers benötigt werden, kann ein DOIF [[List|Listing]] zugeschaltet werden.
Wenn mehr Informationen zum Finden eines Fehlers benötigt werden, kann ein DOIF [[List|Listing]] zugeschaltet werden.
Wenn das Logfile, das die Listings enthält, aus der Detailansicht von DOIFtools geöffnet wird, kann im Logfile zu den Listings navigiert werden.
<pre>set DOIFtools specialLog 1</pre>
<pre>set DOIFtools specialLog 1</pre>
[[Event#Beschr.C3.A4nken_von_Events|Events einschränkende Attribute]] sollten in den zu loggenden DOIF abgeschaltet werden.
[[Event#Beschr.C3.A4nken_von_Events|Events einschränkende Attribute]] sollten in den zu loggenden DOIF abgeschaltet werden.
Zeile 130: Zeile 151:


Der Zugriff auf den Event-Monitor in der Detailansicht des DOIF wird ermöglicht, wenn in DOIFtools das Attribut '''eventMonitorInDOIF''' gesetzt wird.
Der Zugriff auf den Event-Monitor in der Detailansicht des DOIF wird ermöglicht, wenn in DOIFtools das Attribut '''eventMonitorInDOIF''' gesetzt wird.
<pre>attr DOIFtools eventMonitorInDOIF 1</pre>
<pre>attr DOIFtools DOIFtoolsEventMonitorInDOIF 1</pre>


==== Beispiel ====
==== Beispiel ====
Zeile 140: Zeile 161:


== Bekannte Probleme/Einschränkungen/Hinweise ==
== Bekannte Probleme/Einschränkungen/Hinweise ==
* Zum Erstellen des [[regulärer Ausdruck|regulären Ausdrucks]] der [[FileLog|FileLog-Definition]] werden keine [[regulärer Ausdruck|regulären Ausdrücke]]  der zu loggenden [[DOIF|DOIF-Geräte]] ausgewertet.
* Zum Erstellen des [[regulärer Ausdruck|regulären Ausdrucks]] der [[FileLog|FileLog-Definition]] werden keine [[regulärer Ausdruck|regulären Ausdrücke]]  aus den zu loggenden [[DOIF|DOIF-Geräte]] ausgewertet.


== Links ==
== Links ==

Version vom 15. Januar 2017, 18:05 Uhr

DOIFtools
Zweck / Funktion
unterstützende Funktionen zur besseren Handhabung von DOIF
Allgemein
Typ Hilfsmodul
Details
Dokumentation EN / DE
Support (Forum) Automatisierung/DOIF
Modulname 98_DOIFtools.pm
Ersteller Ellert
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

DOIFtools ist ein Modul zum DOIF, das Benutzern dessen Handhabung erleichtern soll.

Features / Funktionen

Das Modul DOIFtools 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.
  • Begrenzung der Datenerfassungsdauer.
  • erstellen eines Statistikreports.
  • Liste aller DOIF-Definitionen in probably associated with.
  • 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 Detailansicht.
  • ermöglicht den Zugriff auf den Event Monitor in der Detailansicht von DOIF.
  • prüfen der DOIF Definitionen mit Empfehlungen.
  • erstellen eigener Shortcuts

Das Modul kann hier heruntergeladen werden: Forenthread

Bedienungsanleitung

Definition

Es kann nur eine Definition (Instanz) je FHEM-Installation angelegt werden.

Die Definition wird beim Anlegen des Gerätes mit den Namen der vorhandenen DOIF-Definitionen ergänzt und im Betrieb aktualisiert.

define DOIFtools DOIFtools

Im Folgenden wird davon ausgegangen, dass eine DOIFtools Instanz mit dem Namen DOIFtools existiert.

Definitionsvorschlag zum Import über Raw definition

defmod DOIFtools DOIFtools
attr DOIFtools DOIFtoolsEventMonitorInDOIF 1
attr DOIFtools DOIFtoolsExecuteDefinition 1
attr DOIFtools DOIFtoolsExecuteSave 1
attr DOIFtools DOIFtoolsMyShortcuts list DOIFtools,fhem?cmd=list DOIFtools

Shortcuts verwalten

Die moduleigenen Shortcuts können ausgeblendet werden.

attr DOIFtools DOIFtoolsHideModulShortcuts 1

Eigene Shortcuts können erstellt werden, es gilt die Syntax für menuEntries

attr DOIFtools DOIFtoolsMyShortcuts <Shortcut-Name,Befehl>, ...

Beispiel

Legt den Befehl list DOIFtools als Shortcut an.

attr DOIFtools DOIFtoolsMyShortcuts list DOIFtools,fhem?cmd=list DOIFtools

Menüeintrag anlegen

Für den schnellen Zugriff auf DOIFtools kann ein Menüeintrag angelegt werden.

attr WEB menuEntries DOIFtools,/fhem?detail=DOIFtools

Erstellen eines Debug-Logfile

Ein FileLog-Gerät kann per Get-Befehl erstellt werden.

get DOIFtools DOIF_to_Log <Liste der gleichzeitig zu loggenden DOIF>

Bei der Fehlersuche in einem DOIF wird nur dieses DOIF ausgewählt. Wenn voneinander abhängige DOIF untersucht werden sollen, dann müssen alle abhängigen DOIF ausgewählt werden.

Es werden alle in der Definition erkannten Geräte und die wahrscheinlich verbundenen Geräte geloggt.

Die FileLog-Definition wird angezeigt und kann verwendet werden, um sie mit Raw definition zu importieren.

Wenn das Attribut DOIFtoolsExecuteDefinition gesetzt ist, wird der Code der Definition ausgeführt und das FileLog-Gerät erstellt.

attr DOIFtools DOIFtoolsExecuteDefinition 1

Wenn die Definition auch automatisch gespeichert werden soll, muss das Attribut DOIFtoolsExecuteSave gesetzt werden.

attr DOIFtools DOIFtoolsExecuteSave 1

Wenn mehr Informationen zum Finden eines Fehlers benötigt werden, kann ein DOIF Listing zugeschaltet werden. Wenn das Logfile, das die Listings enthält, aus der Detailansicht von DOIFtools geöffnet wird, kann im Logfile zu den Listings navigiert werden.

set DOIFtools specialLog 1

Events einschränkende Attribute sollten in den zu loggenden DOIF abgeschaltet werden.

Erstellen einer ReadingsGroup für ein DOIF

Wenn in einem DOIF Readings als Eingabeelemente verwendet werden, erscheint keine Beschschriftung für diese Elemente. Mit einer Readingsgroup können Eingabeelemente beschriftet werden. DOIFtools kann eine entsprechende Readingsgroup für DOIF erstellen, siehe Beispiel.

DOIFtools benutzt das Attribut readingList des DOIF, um die Readings zu ermitteln, die in der Readingsgroup verwendet werden.

get DOIFtools readingsGroup_for <Liste der DOIF, für die eine readingsGroup estellt werden soll>

Der Get-Befehl bericksichtigt die Attribute executeDefinition und executeSave.

Erstellen von UserReadings für Timer mit Wochentageinschränkung

Durch einen Wochentag eingeschränkte Timer werden im DOIF nicht mit dem Auslösedatum angezeigt. Wenn das Auslösedatum benötigt wird, kann dies über das Attribut userReadings, das im DOIF gesetzt werden muss, berechnet werden.

get userReading_nextTimer_for <Liste der DOIF in denen userReadings gesetzt werden sollen>

Bestehende userReadings werden nicht überschrieben, es wird eine manuelle Änderung vorgeschlagen.

Nachdem Löschen der DOIFtools-Definition steht die Funktion zur Berechnung der userReadings zur Berechnung des tatsächlichen Auslösedatums nicht mehr zur Verfügung.

Beispiel

Am 5.1.2017 um 8 Uhr, einem Donnerstag (|4), zeigt DOIF einen Timer [12:00|3] (mittwochs) mit dem Datum 05.01.2017 an.

DOIF mit userReadings und tatsächlichem Auslösedatum

Das echte Auslösedatum ist der 11.01.2017 (Mittwoch), das wird durch userReadings berechnet.

Löschen benutzerdefinierter Readings

Readings können gelöscht werden. Readingname kann durch einen regulären Ausdruck angegeben werden.

deletereading <name> <readingname>

Die Methode in DOIFtools verhindert, dass Readings gelöscht werden, die vom DOIF-Modul genutzt werden.

Zuerst muss das DOIF gesetzt werden in dem Readings gelöscht werden sollen.

set DOIFtools targetDOIF <Name eines DOIF>

Dann können die Readings ausgewählt werden, die zu löschen sind.

set DOIFtools deleteReadingsInTargetDOIF <Liste der zu löschenden benutzerdefinierten Readings>

Erfassen und Auswerten von Statistikdaten

Um eine Statistik zu erstellen, müssen zuerst Daten erfasst werden.

Zuerst sind die Modultypen festzulegen, die bei der Datenerfassunberücksichtigt werden.

set DOIFtools statisticsTYPEs <Auswahlliste

Danach wird die Datenerfassung gestartet.

set DOIFtools doStatistics enabled

Die Datenerfassung kann unterbrochen werden.

set DOIFtools doStatistics disabled

Die Zeitdauer der Datenerfassung kann gesetzt werden

set DOIFtools recording_target_duration <Auswahlliste|ganzzahliger Wert in Stunden>

Auch eine Zeitspanne, die im Attribut disabledForIntervals gesetzt ist, unterbricht die Datenerfassung.


Die erfassten Daten können gelöscht werden.

set DOIFtools doStatistics deleted


Nach und während der Datenerfassung können die vorhandenen Daten ausgewertet und als Bericht dargestellt werden.

get DOIFtoolsstatisticsReport

Bewertung des Ergebnisses der Datenauswertung

Hinsichtlich der Systemauslastung ist hohe Event-Rate schlechter zu bewerten als eine niedrige Rate.

Eine hohe Event-Rate und ein nicht gesetztes event-on... Attribut kann auf Handlungsbedarf hinweisen.

Andere Tools zur Performanceanalyse

Zugriff auf den Event-Monitor in der Detailansicht des DOIF

Der Zugriff auf den Event-Monitor in der Detailansicht des DOIF wird ermöglicht, wenn in DOIFtools das Attribut eventMonitorInDOIF gesetzt wird.

attr DOIFtools DOIFtoolsEventMonitorInDOIF 1

Beispiel

DOIF mit userReadings und tatsächlichem Auslösedatum

DOIF Prüfung und Empfehlungen

DOIFtools kann die DOIF-Definitionen auf besimmte Schreibweisen prüfen und Empfehlungen geben.

get DOIFtools checkDOIF

Bekannte Probleme/Einschränkungen/Hinweise

Links