FHEM > Sonstiges

Modul 93_DbRep - Reporting und Management von Datenbankinhalten (DbLog)

(1/318) > >>

DS_Starter:
Hallo zusammen,

mir kam die Idee zu diesem Modul durch den Wunsch die Energiedaten meiner PV-Anlage auszuwerten. Ich logge die Energiedaten der PV-Anlage und aller anderen FHEM-Events  über das DbLog-Modul in einer MySQL-DB und möchte mir übersichtlich zum Beispiel die Tageswerte für Einspeisung / Bezug aus der Datenbank aufbereiten.
Daneben sollten ebenfalls die Monatswerte oder auch, je nach Bedarf, für einen bestimmten abgegrenzten Zeitraum, z.B. von Datum/Zeit X bis Datum/Zeit Y usw. die Daten auswertbar sein.

siehe auch diesen Thread : https://forum.fhem.de/index.php/topic,53079.msg448026.html#msg448026

Herausgekommen sind bis jetzt die hier angehängte Modulversionen (Ausgangsversion: 93_DbRep.pm bzw. Weiterentwicklungen) die neben der Erfüllung der beschriebenen Erfordernisse auch allgemein zur Auswertung und Management von DB-Inhalten, welche über das DbLog-Modul geschrieben werden, dienen kann. Der Umfang der Fubktionen wird stetig erweitert wobei darauf geachtet wird dass alle Funktionen nonblocking aufgebaut sind.

Ich benutze es aktuell (so wie meine Anforderung bestand) zur Auswertung und Reporting von Energiezählerwerten aber auch ganz allgemein zur Anzeige und Auswertung von jeglichem DB-Content den die Geräte schreiben. Meistens lasse ich mir die Datensätze der vergangenen 24h in einem DbRep-Device anzeigen um einen Überblick zu erhalten.
Für die Anzeige der Energiedaten habe ich mehrere DbRep-Devices angelegt die über Readingsgroup zusammengeführt werden. (siehe Screenshots)

Ich die bisherige Beschreibung an dieser Stelle gelöscht und im Wiki einen neuen Eintrag für das Modul begonnen.
Ergänzungen sind gerne willkommen.

Link zum Wiki-Eintrag:
http://www.fhemwiki.de/wiki/DbRep_-_Reporting_und_Management_von_DbLog-Datenbankinhalten

Den aktuellen Entwicklungsstand stelle ich stets im contrib-Verzeichnis bereit, den ich nach einer gewissen Testzeit regulär einchecke.

Die Version könnt ihr hier aus contrib herunterladen:

https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter  (Downloadbutton benutzen)

Es können dort mehrere Dateien von Modulen die ich gerade weiterentwickle vorhanden sein. Benutzt bitte den Download-Button hinter dem Dateinamen 93_DbRep.pm.

viele Grüße

DS_Starter:
Ich habe noch etwas weiter gebaut und neben einigen Codeänderungen eine delete-Funktion für DB-Einträge hinzugefügt.
Daneben habe ich die Funktionen des Moduls mit SQLite als DbLog-DB ausprobiert was auch problemlos funktioniert hat.
Die Beschreibung im ersten Beitrag habe ich angepasst und auch die aktuelle Version dort hinterlegt.

Grüße
Heiko

DS_Starter:
Mit oben angehängten neuen Version (nonblocking) habe ich die Funktion "fetchrows" mit Blocking.pm auf eine nicht blockierende Arbeitsweise umgestellt. Vielleicht kriege ich das noch für alle Funktionen hin ... mal sehen.
Ein kleiner Nachteil ist dabei, dass man nach der Funktionsausführung den Browser refreshen muß um die Ergebnisse zu sehen wenn man sich in  in der Detailansicht befindet.
Zumindest ist das so wenn die Ergebnismenge ziemlich groß ist habe ich festgestellt.
Aber der Vorteil des nicht blockieren (insbesondere bei umfangreichen selects) überwiegt meiner Meinung nach. Solange die Verarbeitung läuft, wird "running" state angezeigt. Ansonsten "done".

EDIT: die Funktion "delEntries" ist nun auch nonblocking ausgeführt und die Datei als (nonblockig) im ersten Beitrag aktualisiert.

Grüße
Heiko

DS_Starter:
Die Funktion "sumValue" wird nun auch nonblocking ausgeführt  -> die aktuelle Version (nonblocking) im ersten Beitrag aktualisiert.

DS_Starter:
Der Code ist weiterentwickelt und die Funktion maxValue nun ebenfalls nonblocking.
Nun sind die Funktionen delEntries, fetchrows, maxValue und sumValue nonblocking ausgelegt.
Die neue Version nonbl_V2.6 ist im Eingangsthread hinterlegt.

Würde mich über Rückmeldungen freuen wie es bei euch läuft bzw. welche Fehler evtl. auftreten.
Ich sammle die evtl gemeldeten Fehler und mache weiter wenn ich wieder Zeit habe.
Also bitte nicht wundern wenn ich nicht gleich antworte ... bin erstmal anderweitig eingebunden.

VG
Heiko

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln