Plot Stromverbrauch DbLog MySQL

Begonnen von chris0204, 22 Januar 2017, 22:43:29

Vorheriges Thema - Nächstes Thema

chris0204

Hallo liebe Fhem-Fangemeinde,

ich würde gern meinen Stromverbrauch über verschiedene Graphen in FHEM plotten lassen.

Dazu habe ich folgendes realisiert: Ich habe einen Raspi3 auf dem der FHEM-Server läuft und an den der 1wire-USB Master von SMS Guard angeschlossen ist.  Dieser zählt die Impulse meines Stromzählers mit S0-Ausgang. Über einen cronjob wird alle 5 Minuten ein Shell-Skript aufgerufen, dass die Werte des 1-Wire-USB Masters ausliest und in eine Filelog-Datei schreibt. Dieses ist so strukturiert, dass Fhem sie direkt auslesen und ich die Werte plotten lassen kann. Link zum 1-wire USB Master(http://www.sms-guard.org/downloads/1wire-USB-Master-fhem.pdf)

Soweit der Testaufbau... ;)

Um es von Anfang an gleich vernünftig aufzubauen, habe ich beschlossen die Daten in eine SQL-Datenbank schreiben zu lassen und dann plotten zu lassen.
Aktueller Stand: MySQL-Server auf Laptop installiert (nur für Tests ==> wandert noch auf Synology), Datenbank entsprechend eingerichtet (history, current), Fhem über DbLog mit SQL-Server verbunden.
Nun meine Fragen:
1. Um die Daten des 1-Wire-USB-Masters in der Datenbank zu loggen, würde ich das Shell-Skript statt in die Filelog-Datei schreiben zu lassen direkt in die Datenbank schreiben lassen? MySQL-Client habe ich auf dem Pi installiert und funktioniert auch.
2. Welche Daten müssen da eingefügt werden? Timestamp = Zeitstempel, Device = "1-wire-USB-Master???", Typ = "AT???", Event = "LOG???", Reading = "???", Value = Wert
3. Wenn ich die Daten dann in der DB habe und sie mir plotten lassen möchte, mache ich das mit SVG-Plot bzw. logProxy. Doch wie definiere ich sowas wie "select Values, Timestamp from history where Month(Timestamp) = 01 and Device = "1-Wire-USB Master" " ?
4. Wenn ich mir z.B. über das Jahr betrachtet meinen monatlichen Verbrauch plotten lassen will, würde ich es folgendermaßen machen: am 1. jeden Monats rufe ich über Fhem ein Auswertungs-SQL-Statement auf innerhalb dessen die Werte des letzten Monats aufsummiert werden und schließlich als weiterer Eintrag in die history-Tabelle der DB eingefügt wird. Die Werte lasse ich mir dann plotten. Ist dieser Ansatz sinnvoll/ zielführend?

So...jetzt habe ich ganz schön viele Fragen gestellt. Ich hoffe, es war keine "dumme" Frage dabei und ich bedanke mich schon einmal für eure Mühen.

Viele Grüße!  :)

Christian

klaso

Hallo Christian,

ich weiss nicht, was du bisher schon recherchiert hast.
Hast du dir dies schon angesehen?
https://wiki.fhem.de/wiki/Creating_Plots
https://wiki.fhem.de/wiki/Plots_erzeugen
mit den attributen fixedrange week oder month oder year werden die Plots für den nach den Attributen definierten Zeitraum dargestellt.
dies funktioniert bei mir ganz gut......und die Parameter delta-h und/oder delta-d berücksichtigen.

oder in der commandref nachlesen, dort ist es ebenfalls beschrieben.
meine config sieht z. B. bei meiner Heizung wie folgt aus:
define 1_Temperaturen SVG logdb:SVG_logdb_VBUSDEV_7341_11:HISTORY
attr 1_Temperaturen room Plots-Heizung

alle weiteren Parameter setze ich dann im Plot....

Welche Daten du in der Datenbank einfügen sollst, kannst nur du selbst beantworten ;-) welche Daten möchtest du auswerten? welche Daten möchtest du plotten?

ich hoffe, ich verstehe dich nicht falsch. Ich verwende die "normalen" Plots und mit den entsprechenden Parametern wird dies dargestellt.

VG
klaso
Raspberry Pi 2 B+; Software: Raspbian Jessie, Fhem 5.8
ZWave, Enocean, FBAHAHTTP, ENIGMA2
Barebone mit openmedivault und Fhem5.8, MySQL, MyObis, VBUS LAN-Adapter in Fhem, Homematic CCU2; Jeelink mit TX29IT, HMCCU: Schnittstelle CCU2 - FHEM

chris0204

Danke für die Tipps!

Ich hatte mir die Seiten schon angesehen, aber die Möglichkeiten, die FHEM bietet haben mich erstmal "erschlagen"  ::)

Jetzt funktioniert alles mit bisschen herumprobieren.
Also vielen Dank =)