Grafische Darstellung Stromverbrauch

Begonnen von bjoernbo, 07 Januar 2015, 18:09:46

Vorheriges Thema - Nächstes Thema

bjoernbo

Hallo,

ich habe einen ESA1000WZ IR an meinen Drehstromzähler angebracht. Im Logfile werden ordentlich Daten geliefert.
Ich bräuchte mal Hilfe, bei
1.) Erstellung einer übersichtlichen Plot-Darstellung und
2.) Kann ich irgendwo meinen aktuellen Zählerstand hinterlegen ??


Anbei ein Auszug aus dem Logfile:
Zitat2015-01-07_17:55:52 ESAx000WZ_025b actual: 1.19796296144352
2015-01-07_17:55:52 ESAx000WZ_025b diff: 0.0312
2015-01-07_17:55:52 ESAx000WZ_025b diff_sec: 344.334518909454
2015-01-07_17:55:52 ESAx000WZ_025b diff_ticks: 11
2015-01-07_17:55:52 ESAx000WZ_025b last_sec: 1420649752.71791
2015-01-07_17:55:52 ESAx000WZ_025b raw_total: 0.708333333333333
2015-01-07_17:55:52 ESAx000WZ_025b day: 0.666666666666667
2015-01-07_17:55:52 ESAx000WZ_025b month: 0.666666666666667
2015-01-07_17:55:52 ESAx000WZ_025b year: 0.666666666666667
2015-01-07_17:55:52 ESAx000WZ_025b rate: HR
2015-01-07_17:55:52 ESAx000WZ_025b day_hr: 0.666666666666667
2015-01-07_17:55:52 ESAx000WZ_025b month_hr: 0.666666666666667
2015-01-07_17:55:52 ESAx000WZ_025b year_hr: 0.666666666666667
2015-01-07_17:55:52 ESAx000WZ_025b hour: 0.666666666666667
2015-01-07_17:55:52 ESAx000WZ_025b type: ESAx000WZ
2015-01-07_17:55:52 ESAx000WZ_025b CNT: 10- CUM: 0.667 CUR: 1.198 TICKS: 96 HR
2015-01-07_17:58:23 ESAx000WZ_025b repeat: -
2015-01-07_17:58:23 ESAx000WZ_025b sequence: 11
2015-01-07_17:58:23 ESAx000WZ_025b total_ticks: 70
2015-01-07_17:58:23 ESAx000WZ_025b actual_ticks: 2
2015-01-07_17:58:23 ESAx000WZ_025b ticks: 96
2015-01-07_17:58:23 ESAx000WZ_025b raw: CNT: 11- CUM: 70 CUR: 2  TICKS: 96 HR
2015-01-07_17:58:23 ESAx000WZ_025b total: 0.6875
2015-01-07_17:58:23 ESAx000WZ_025b actual: 0.497859506472151
2015-01-07_17:58:23 ESAx000WZ_025b diff: 0.0208
2015-01-07_17:58:23 ESAx000WZ_025b diff_sec: 150.644908905029
2015-01-07_17:58:23 ESAx000WZ_025b diff_ticks: 2
2015-01-07_17:58:23 ESAx000WZ_025b last_sec: 1420649903.36281
2015-01-07_17:58:23 ESAx000WZ_025b raw_total: 0.729166666666667
2015-01-07_17:58:23 ESAx000WZ_025b day: 0.6875
2015-01-07_17:58:23 ESAx000WZ_025b month: 0.6875
2015-01-07_17:58:23 ESAx000WZ_025b year: 0.6875
2015-01-07_17:58:23 ESAx000WZ_025b rate: HR
2015-01-07_17:58:23 ESAx000WZ_025b day_hr: 0.6875
2015-01-07_17:58:23 ESAx000WZ_025b month_hr: 0.6875
2015-01-07_17:58:23 ESAx000WZ_025b year_hr: 0.6875
2015-01-07_17:58:23 ESAx000WZ_025b hour: 0.6875
2015-01-07_17:58:23 ESAx000WZ_025b type: ESAx000WZ
2015-01-07_17:58:23 ESAx000WZ_025b CNT: 11- CUM: 0.688 CUR: 0.498 TICKS: 96 HR


Danke!
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

DerFrickler

#1
ich würde mit 2 beginnen und das dann gleich in über DbLog

define myDbLog DbLog ./db.conf .*:(<was immer du aus den Daten loggen willst 1>|<was immer du aus den Daten loggen willst 2>|<was immer du aus den Daten loggen willst 3>).*

unter Beachtung der Hinweise im Wiki: http://www.fhemwiki.de/wiki/DbLog

oder erst mal als FileLog: http://fhem.de/commandref_DE.html#FileLog

Wenn du jetzt von Stromverbrauch redest meinst Du den Energiebedarf in kWh? Denn den volksmündlichen Stromverbrauch gibt es im Grunde ja nicht. Strom ist die gerichtete Bewegung von Ladungsträgern, die sich nur schwer verbrauchen lässt. Auch Energieverbrauch währe ja fehl am Platz, da es den in einem geschlossenen System ja auch nicht gibt.

Nicht sauer sein wegen der Haarspalterei, ist nur interessant zu wissen ob es umgangssprachlich gemeint ist oder du möglicherweise die Stromstärke am messen bist.

zu 1 eine Basis (für DbLog) die du dann anpassen müsstest:

# Created by FHEM/98_SVG.pm, 2015-01-05 15:39:18
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL> : <L1>'
set ytics
set y2tics
set grid y2tics
set ylabel "Energiebedarf in kWh"
set y2label ""

#DbLog <wie auch immer es bei dir benannt wurde>:<dein reading>:4

plot "<IN>" using 1:2 axes x1y2 title 'mein Energiebedarf' ls l0 lw 1 with lines


weitere Templates findest Du auch unter template.gplot und templateDB.gplot

bjoernbo

Hallo DerFricker,

Danke! Werde ich mal ausprobieren!

Ja :-) ich meine den Energiebedarf in kWh
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

bjoernbo

#3
kurze Rückfrage zu dbLog. Wenn ich alles in dbLog schreibe, würde das auch meine Last auf dem Raspberry reduzieren. Ich habe mittlerweile einige Plots angelegt und mir fällt dabeoi auf, dass das Verhalten von fhem im laufe des Tages immer langsammer wird. Morgens um 06:00Uhr ist das Dashboard sehr schnell geladen/aktuallisiert. Am Abend gegen 20Uhr warte ich da schon ziemlich lange :-/

... soweit ich das Verstanden haben mal eine weitere Frage.
Ich habe 3 Thermostate im Einsatz. Mit folgendem Eintrag würde ich jetzt von alle 3 Thermostaten die Daten in einer Datenbank, in einer Tabelle speichern, richtig?

"define myDbLog DbLog ./db.conf .*:(temperature|valveposition|humidity).* "

Mit...
define myDbLog DbLog ./db.conf .thermostat_1:(temperature|valveposition|humidity).*
define myDbLog DbLog ./db.conf .thermostat_2:(temperature|valveposition|humidity).*
define myDbLog DbLog ./db.conf .thermostat_3:(temperature|valveposition|humidity).*

würde ich jedes Thermostat in einer Datenbank, allerdings in 3 Tabellen schreiben, oder?
Wenn ich alles in einer Tabelle schreibe, könnte ich doch nicht unterscheiden, welcher Wert von welchem Thermostat stamm, oder?

Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

DerFrickler

Du schreibst alles in eine Datenbank rein, über den Devicenamen kannst du die einzelnen Thermometer dann auseinander halten.

Du brauchst auch keine 3 "defines", eines reicht.

"define myDbLog DbLog ./db.conf .*:(temperature|valveposition|humidity).* "

Sollte sich herausstellen dass noch Daten anderer Devices mit in die Datenbank geschrieben werden, dann kannst du das individuell für jedes Device mit dem Attribut DbLogExclude unterbinden. z.B. DbLogExclude .* sorgt dafür dass von einem Device rein gar nichts in die Datenbank geschrieben wird.

Einträge in die Datenbank sehen dann wie folgt aus:

Timestamp: Device, Type, Event, Reading, Value, Unit
=====================================================
2015-01-08 04:39:09: FBDECT_18, FBDECT, temperature: 19.4 C (measured), temperature, 19.4, C
2015-01-08 04:39:09: temperature.measures.FBDECT_18, DUMMY, temperature: 19.4, temperature, 19.4,
2015-01-08 07:10:32: temperature.measures.CUL_HM_HM_CC_RT_DN_2C8BC7, DUMMY, temperature: 20.4, temperature, 20.4,

bjoernbo

ah verstanden, ok!

Dann kann ich auch
ZitatNeues_Charting_Frontend
benutzen.
Werden mir eigentlich die im "Neues_Charting_Frontend" erstellten Auswertungen im Dashboard ebenfalls so grafisch aufbereit angezeigt?

Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

DerFrickler

Das Fronend hatte ich bisher noch nicht ausprobiert, ich bin mir nicht sicher wie das ganze dann performance technisch auf einem Raspberry ausschaut. Diese Frage stellst du am besten unter der Rubrik "Frontends".

Nur überlege dir gut wozu du derartige Auswertungen benötigst und welche Informationen dir in welchem Medium wichtig sind. Derartige Medien sind schnell überladen und werden unübersichtlich. Möglichkeiten und Ideen sollten Dir dann aber sicherlich unter der Rubrik "Fronteds" gegeben werden.