DbLog: Auswertung Anzahl von Vorgängen in einem bestimmten Zeitraum

Begonnen von MoneyBox76, 10 März 2018, 19:12:25

Vorheriges Thema - Nächstes Thema

MoneyBox76

Hallo zusammen,

ich benötig einen kleinen Hinweis um in die richtige Richtung zu suchen...

Ich protokolliere die Stromverbräuche von verschiedenen Geräten wie z.B. Waschmaschine, Spülmaschine, Wäschetrockner, Kühlschrank, Gefrierkombi, Backofen und logge diese Daten in eine MariaDB mit dem DbLog Modul.
Nun möchte ich auf Basis der erfassten Daten Auswertungen erzeugen und mir diese als readingsGroup anzeigen lassen, z. B. für die Waschmaschine:
1. Anzahl/Kosten Waschvorgänge in diesem Monat
2. Anzahl/Kosten Waschvorgänge im letzten Monat
3. Anzahl/Kosten Waschvorgänge in diesem Jahr
4. Anzahl/Kosten Waschvorgänge in letzten Jahr
5. etc...

D.h. für die Anzahl der Vorgänge muss ich auswerten, dass in einer bestimmten Zeit, z.B. 2 Stunden der Stromverbrauch > X Watt war und das Ganze in z.B. einem Monat x Mal passiert ist.

Ich hoffe Ihr habt einen guten Tipp für mich...

Viele Grüße
Michael

KernSani

Für Verbrauch/Kosten nehme ich das Electricitycalculator Modul. Die Anzahl Waschvorgänge schreibe ich (bei ,,Waschmaschine fertig"-Meldung) direkt als Reading ins Device


Kurz, weil mobil...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

DS_Starter

Hallo Michael,

für solche Auswertungsscenarien kannst du das DbRep-Modul verwenden, welches ich ursprünglich für solche mehr oder weniger komplexen Auswertungen der DbLog-Daten entwickelt habe. Inzwischen ist recht umfangreich geworden.
Manchmal ist Usercode notwendig, wofür es im DbRep eine Schnittstelle zur Ausführung gibt (Attribut "userExitFn").

Es gibt Beispiele für Auswertungsscenarien im Wiki:

https://wiki.fhem.de/wiki/DbRep_-_Reporting_und_Management_von_DbLog-Datenbankinhalten
https://wiki.fhem.de/wiki/Datenbankgest%C3%BCtzte_Erstellung_der_Energiebilanz_einer_SMA_PV-Anlage_mit_%C3%9Cberschusseinspeisung
https://wiki.fhem.de/wiki/Summe_aller_Einschaltzeiten_eines_Ger%C3%A4tes

Ich hoffe das hilft dir für den Anfang.

Grüße,
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

MoneyBox76

Ok, danke Euch beiden, ich werde mich mal in DbRep einlesen und mal schauen wie komplex dass so wird...

Ansonsten ist der Weg mit dem userreading bei z.B. 'Waschmaschine fertig' auch eine gute Idee. Wenn ich das Reading dann in die DB logge, könnte ich die Anzahl über einen bestimmten Zeitraum, wie z.B. einen Monat, mit 'set DbLog userCommand select COUNT(VALUE) from history where DEVICE='XXX' AND TIMESTAMP...usw... ermitteln.

Das userreading ist sehr schnell realisiert, DbRep scheint mir etwas akademischer ;-) Ich schau mir auf jeden Fall DbRep mal an...