Statistics: Unterschied zwischen den Versionen
Topos (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
All-Ex (Diskussion | Beiträge) (set setStatistics hinzugefügt (vgl. https://forum.fhem.de/index.php?msg=1274253)) |
||
(20 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{SEITENTITEL: | {{SEITENTITEL:statistics}} | ||
{{Infobox Modul | {{Infobox Modul | ||
|ModPurpose= | |ModPurpose=Erzeugung von Verbrauchs-, und Wetterstatistiken | ||
|ModType=h | |ModType=h | ||
|ModCmdRef=statistics | |ModCmdRef=statistics | ||
|ModForumArea= | |ModForumArea=Unterstützende Dienste | ||
|ModTechName=98_statistics.pm | |ModTechName=98_statistics.pm | ||
|ModOwner=tupol ({{Link2FU| | |ModOwner=tupol ({{Link2FU|5432|Forum}}) | ||
}} | }} | ||
Das Modul statistics ist zur Erzeugung von diversen Statistiken gedacht. Es muss nur einmal definiert werden und kann mithilfe von Regexp auf beliebig viele Devices angewendet werden. Die Ergebnisse dieser Statistiken werden nicht im Modul selbst dargestellt, sondern den jeweiligen Devices als zusätzliches Reading hinzugefügt. | |||
== define == | |||
Bei der Definition werden die gewünschten Geräte angegeben, von denen das Modul Statistiken bilden soll. | |||
<nowiki>define myStatDevice statistics Wetterstation|Stromzaehler|Thermometer_.* </nowiki> | |||
Optional ist noch die Angabe eines Prefixes möglich, wenn man nicht möchte, dass die Reading stat<ReadingName> heissen. | |||
== Attribute == | == Attribute == | ||
Die Attribute sind soweit gut in der {{Link2CmdRef|Anker=statisticsattr}} dokumentiert. | |||
=== singularReadings === | |||
Bei Verwendung von singularReadings ist darauf zu achten, dass für das entsprechende Device die entsprechende Statistik entweder durch die standardmäßig vorgegebenen Gerätewerte oder durch durationReadings,deltaReadings,minAvgMaxReadings oder tendencyReadings definiert ist. Anderenfalls werden die singularReadings weder angelegt, noch mit Daten gefüllt. | |||
Um vom Reading Stromzaehler:total_energy singularReadings anzulegen, muss folgendes definiert werden. Dabei ist darauf zu achten, dass bei singularReadings an keiner Stelle ein Leerzeichen steht: | |||
<nowiki>attr myStatDevice deltaReadings total_energy | |||
attr myStatDevice singularReadings Stromzaehler:total_energy:Delta:Hour|Stromzaehler:total_energy:Delta:Day|Stromzaehler:total_energy:Delta:Month|Stromzaehler:total_energy:Delta:Year</nowiki> | |||
=== ignoreDefaultAssignments === | |||
Mit diesem Attribut kann die Erkennung und Verwendung der standardmäßig eingebauten Readings unterdrückt werden. Zur Funktion ist es in diesem Fall notwendig, selbst Readings zu definieren. | |||
=== tendencyReadings === | |||
Dieses Attribut erwartet eine durch Kommas getrennte Liste von weiteren Gerätewerten, für die innerhalb bestimmter Zeiträume (1h, 2h, 3h, 6h) die Differenz zwischen Anfangs- und Endwert ermittelt wird. Eine Kombination mit dem Attribut <code>minAvgMaxReadings</code> der gleichen Gerätewerte führt dazu, dass diese Readings nicht aktualisiert bzw. erstellt werden. Möchte man jedoch sowohl den Trend als auch die avg/min/max Werte für die gleichen Gerätewerte verwenden (z.B. für Temperatur / Druck), kann dies durch die Verwendung einer zweiten "statistics" Instanz | |||
umgangen werden. | |||
== Gerätewerte (Readings) == | |||
=== monitoredDevicesUnsupported === | |||
Listet Geräte, die vom statistics-Modul aufgrund des Namens bearbeitet werden, aber keine Readings enthalten, die statistisch ausgewertet werden können. In diesem Fall müssen die entsprechenden Readings per ''durationReadings'', ''deltaReadings'', ''tendencyReadings'' oder ''minAvgMaxReadings'' angelegt werden. | |||
=== monitoredDevicesUnknown === | |||
Listet Geräte, für welches das statistics-Modul zwar statistische Daten vorhält, die aber nicht mehr in der Geräteliste (per RegExp der Modul-Definition) gefunden wurden. Dies kann z.B. durch eine Änderung des Gerätenamens, Wegfall des Gerätes oder Änderung der Definition des statistics-Moduls passiert sein. | |||
Wenn die statistischen Daten nicht mehr benötigt werden, können sie gelöscht werden mit: | |||
set <device> '''resetStatistics''' <Gerätename> | |||
Falls ein Statistik-Wert geändert werden soll (z.B. weil das Statistics-Modul erst später hinzugefügt wurde und deshalb zu wenig anzeigt), geht das so: | |||
set <device> '''setStatistics''' <Gerätename dessen Statistik geändert werden soll> <Reading-Name dessen Statistik geändert werden soll (ohne stat)> <Hour|Day|Month|Year> <neuer Wert> | |||
== Hinweise zur Fehlersuche == | |||
=== Löschen der erzeugten statistischen Readings === | |||
Durch das Modul erzeugte Readings können durch den FHEM-Befehl | |||
<code>deleteReading <device> <reading></code> | |||
wieder entfernt werden. | |||
=== Events, Logs === | |||
Das Modul löst beim Schreiben der Last-Readings und der singularReadings jeweils ein Update-Event aus, welches auch zum Loggen dieser Werte genutzt werden kann. Wenn für die Geräte die event-on-Attribute nicht gesetzt sind, kann dies zu unerwünschten Nebenwirkungen führen. Z. B. bei den userreadings. | |||
Die Aktualisierung der normalen statistischen Summary-Readings führt nicht zu einem Event, um die Systembelastung niedrig zu halten. |
Aktuelle Version vom 30. Januar 2024, 20:10 Uhr
statistics | |
---|---|
Zweck / Funktion | |
Erzeugung von Verbrauchs-, und Wetterstatistiken | |
Allgemein | |
Typ | Hilfsmodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Unterstützende Dienste |
Modulname | 98_statistics.pm |
Ersteller | tupol (Forum ) |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Das Modul statistics ist zur Erzeugung von diversen Statistiken gedacht. Es muss nur einmal definiert werden und kann mithilfe von Regexp auf beliebig viele Devices angewendet werden. Die Ergebnisse dieser Statistiken werden nicht im Modul selbst dargestellt, sondern den jeweiligen Devices als zusätzliches Reading hinzugefügt.
define
Bei der Definition werden die gewünschten Geräte angegeben, von denen das Modul Statistiken bilden soll.
define myStatDevice statistics Wetterstation|Stromzaehler|Thermometer_.*
Optional ist noch die Angabe eines Prefixes möglich, wenn man nicht möchte, dass die Reading stat<ReadingName> heissen.
Attribute
Die Attribute sind soweit gut in der commandref/statisticsattr dokumentiert.
singularReadings
Bei Verwendung von singularReadings ist darauf zu achten, dass für das entsprechende Device die entsprechende Statistik entweder durch die standardmäßig vorgegebenen Gerätewerte oder durch durationReadings,deltaReadings,minAvgMaxReadings oder tendencyReadings definiert ist. Anderenfalls werden die singularReadings weder angelegt, noch mit Daten gefüllt. Um vom Reading Stromzaehler:total_energy singularReadings anzulegen, muss folgendes definiert werden. Dabei ist darauf zu achten, dass bei singularReadings an keiner Stelle ein Leerzeichen steht:
attr myStatDevice deltaReadings total_energy attr myStatDevice singularReadings Stromzaehler:total_energy:Delta:Hour|Stromzaehler:total_energy:Delta:Day|Stromzaehler:total_energy:Delta:Month|Stromzaehler:total_energy:Delta:Year
ignoreDefaultAssignments
Mit diesem Attribut kann die Erkennung und Verwendung der standardmäßig eingebauten Readings unterdrückt werden. Zur Funktion ist es in diesem Fall notwendig, selbst Readings zu definieren.
tendencyReadings
Dieses Attribut erwartet eine durch Kommas getrennte Liste von weiteren Gerätewerten, für die innerhalb bestimmter Zeiträume (1h, 2h, 3h, 6h) die Differenz zwischen Anfangs- und Endwert ermittelt wird. Eine Kombination mit dem Attribut minAvgMaxReadings
der gleichen Gerätewerte führt dazu, dass diese Readings nicht aktualisiert bzw. erstellt werden. Möchte man jedoch sowohl den Trend als auch die avg/min/max Werte für die gleichen Gerätewerte verwenden (z.B. für Temperatur / Druck), kann dies durch die Verwendung einer zweiten "statistics" Instanz
umgangen werden.
Gerätewerte (Readings)
monitoredDevicesUnsupported
Listet Geräte, die vom statistics-Modul aufgrund des Namens bearbeitet werden, aber keine Readings enthalten, die statistisch ausgewertet werden können. In diesem Fall müssen die entsprechenden Readings per durationReadings, deltaReadings, tendencyReadings oder minAvgMaxReadings angelegt werden.
monitoredDevicesUnknown
Listet Geräte, für welches das statistics-Modul zwar statistische Daten vorhält, die aber nicht mehr in der Geräteliste (per RegExp der Modul-Definition) gefunden wurden. Dies kann z.B. durch eine Änderung des Gerätenamens, Wegfall des Gerätes oder Änderung der Definition des statistics-Moduls passiert sein.
Wenn die statistischen Daten nicht mehr benötigt werden, können sie gelöscht werden mit:
set <device> resetStatistics <Gerätename>
Falls ein Statistik-Wert geändert werden soll (z.B. weil das Statistics-Modul erst später hinzugefügt wurde und deshalb zu wenig anzeigt), geht das so:
set <device> setStatistics <Gerätename dessen Statistik geändert werden soll> <Reading-Name dessen Statistik geändert werden soll (ohne stat)> <Hour|Day|Month|Year> <neuer Wert>
Hinweise zur Fehlersuche
Löschen der erzeugten statistischen Readings
Durch das Modul erzeugte Readings können durch den FHEM-Befehl
deleteReading <device> <reading>
wieder entfernt werden.
Events, Logs
Das Modul löst beim Schreiben der Last-Readings und der singularReadings jeweils ein Update-Event aus, welches auch zum Loggen dieser Werte genutzt werden kann. Wenn für die Geräte die event-on-Attribute nicht gesetzt sind, kann dies zu unerwünschten Nebenwirkungen führen. Z. B. bei den userreadings.
Die Aktualisierung der normalen statistischen Summary-Readings führt nicht zu einem Event, um die Systembelastung niedrig zu halten.