EM... Energie-Mess-Systeme

Begonnen von Prof. Dr. Peter Henning, 09 März 2013, 04:24:31

Vorheriges Thema - Nächstes Thema

Prof. Dr. Peter Henning

Das Datum mit -02- ist ein kleiner Fehler im Modul, der sich aber nicht auswirkt. Logging erfolgt immer korrekt mit dem wirklichen Monat - und der Fehler ist auch schon behoben.

Ich überlege immer noch, wie ich das mit dem verpassten Tageswechsel mache. Das ist nämlich echt übel...

Wahrscheinlich werde ich einbauen, dass um 2 Sekunden vor Mitternacht in jedem Fall ein Wert extrapoliert wird.

LG

pah

punker

@pah
Vielen Dank für die Bemühungen, aber nach der Eingabe von set E_Verbrauch pmeter 71435
erscheint folgende Fehlermeldung:
EMX_Set: Wrong midnight value for power meter, must be 0 <= value < 65536
Was ist nun weider falsch?
LG

Dieter

The truth is out there!

rudolfkoenig

>  Ich überlege immer noch, wie ich das mit dem verpassten Tageswechsel mache.

Vielleicht hilft das zwar lange implementierte aber von mir auch lange ignorierte FileLog-Feature:
Beim Loggen wird geprueft, ob es auch einen $hash->CHANGETIME array Eintrag fuer das gerade geschriebene CHANGED Eintrag gibt, wenn ja, dann wird dieses (bereits vorformatiertes) Feld statt TimeNow() genommen. Ein AVG Eintrag kann also den Zeitstempel von gestern/etc. vorgeben.

stgeran

Hier ist mein bisheriger Teil der cfg.

# --- Strom ---

define Strom CUL_EM 1 750 9000
attr Strom fp_Grundriss 30,400
attr Strom room CUL_EM

define FileLog_Strom FileLog ./log/Strom-%Y.log Strom:CNT.*
attr FileLog_Strom logtype power8:Power,text
attr FileLog_Strom room CUL_EM

define weblink_Strom weblink fileplot FileLog_Strom:power8:CURRENT
attr weblink_Strom fp_Grundriss 50,360
attr weblink_Strom label "Strom Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_Strom room Plots

Ende der cfg
Was muß ich alles abändern, um die von pah angegebenen logfiles einzubinden?

define FileLog <t-name> <Logdatei> E.Verb:W.* für das Tageslog    <t-name> sage ich selbst z.B. Strom_Tag <Logdatei> ???

define FileLog <m-name> <Logdatei> E.Verb:.*D_.* für das Monatslog    <m-name> sage ich selbst z.B. Strom_Monat <Logdatei> ???

Achtung, nicht vergessen: Der Name des Monatslogs - also hier <m-name> - muss dem Modul als Attribut bekannt gemacht werden:

attr <emxdevicename> LogM Strom_Monat

Was ist <emxdevicename>? Ist das der zugehörige CUL?

Ich habe eine Plotdatei kreiert <name.gplot>

############################

set terminal png size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel "Energiemonitor EM1000EM"

set title '<L1>'
set ylabel "Power (kW)"
set y2label "Power (kWh)"
set grid
set ytics
set y2tics
set logscale y
set logscale y2
set format y "%.1f"
set format y2 "%.1f"

XXXXXXXXX

#FileLog 7:E.Verb:0:
#FileLog 4:E.Verb:0:

plot "<IN>" using 1:8 axes x1y1 title 'P (Verbrauch)' with lines,\
"<IN>" using 1:6 axes x1y2 title 'Wd (Verbrauch)' with lines

#FileLog 6:E.Verb:0:
#FileLog 9:E.Verb:0:

plot "< egrep 'E_Verb' <IN>" using 1:2 axes x1y1 title 'Wd' with bars ls l2fill,\
"< egrep 'E_Verb' <IN>" using 1:2 axes x1y2 title 'Wm' with lines ls l4

Bleibt da der "Kopf" drin oder besteht die Datei nur ab den XXXXXXXXX

Sorry für das ganze Buch und reisst mir nicht gleich den Kopf ab.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

cpramhofer

Hallo Liebes Forum

Ich bin auch so weit dass die beiden Logs erstellt werden.
Eine eigene gPlot Datei habe ich auch erstellt.
Die Frage ist nur:
a., könnte vielleicht irgendwer eine funktionierende gPlot Datei posten
b., wie kann ich im cfg einen weblink mit zwei logdateien erstellen

Ich denke ich hab also das ziemlich gleiche Problem wie mein Vorposter.

Für eure Hilfe bin ich sehr Dankbar, ansonsten noch ein schönes Ostern.

lg

Puschel74

Hallo,

ohne mir nochmal den ganzen Beitrag durchgelesen zu haben ...

zu a)

Edith: Wieder entfernt da falsche gplot-Datei.

Zu b)

Einen Weblink auf 2 Logdateien wird mWn nicht gehen.
Du musst deine 2 Device dazu bringen in 1 Logfile zu loggen.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

punker

Hi,

habe das Ganze nach der Anleitung von pah und einegem Grübeln auch soweit am laufen, dass die Tages- und Monatswerte in verschiedene Dateien geloggt werden.
Für den Tagesplot habe ich die power9.gplot und für den Monatsplot die power10.gplot erstellt, welche auch funktionieren!

Nun würde ich noch gerne eine Jahres-Logdatei mit den einzelnen Monatsdaten als Inhalt anlegen und die zugehörige gplot-Datei.
Leider weiß ich nicht genau wie das funzt!

Hab mal mittels:
define FileLog_E_VerbrauchY FileLog /var/log/fhem/E_VerbrauchY-%Y.log E_Verbrauch:.*Wd.*
eine Logdatei definiert, aber ob die funzt?

Vielleicht kennt sich jemand besser aus um mir zu helfen, aus den jeweiligen Monatsdateien den Verbrauch und die Kosten in die Jahresdatei zu schreiben?
LG

Dieter

The truth is out there!

PeMue

Hallo pah,

ich habe seit einiger Zeit die originale 15_CUL_EM.pm im Einsatz. Bevor ich auf die neue 15_EMX.pm wechsle, habe ich noch ein paar Fragen:
* Sind die log-Dateien zwischen den beiden Modulen gleich? D.h. Dateiformat bzw. Struktur in der Textdatei, so dass das neue Modul die die alten Logdateien "weiterverwenden kann?
* Bisher loggt der Logger alle 5 min. Werte in eine Datei pro Jahr. Daher ist diese Datei recht groß und das hat im Zweifelsfall zur Folge, dass bei einem fehlerhaften Dateizugriff der log des ganzen Jahr weg sein könnte. Bekommt das (alte bzw. neue) Modul das auch in einzelne Montatsdateien aufgesplittet?

Werde demnächst das neue Modul testen und entsprechend berichten ...

Danke im voraus.

Gruß PeMue
RPi3Bv1.2 rpiaddon 1.66 6.0 1xHM-CC-RT-DN 1.4 1xHM-TC-IT-WM 1.1 2xHB-UW-Sen-THPL-O 0.15 1x-I 0.14OTAU  1xCUNO2 1.67 2xEM1000WZ 2xUniroll 1xASH2200 3xHMS100T(F) 1xRFXtrx 90 1xWT440H 3xTFA30.3150 5xFA21
RPi1Bv2 LCDCSM 1.63 5.8 2xMAX HKT 1xMAX RT V200KW1 Heizung Wasser

Prof. Dr. Peter Henning

Natürlich sind die Log-Dateien nicht gleich. In den alten Dateien stehen z.B. keine ordentlichen Einheiten drin, dafür aber die international eher als ferkelig angesehene Bezeichnung "CUM".

Aber erstens lassen sich mit einem einfachen Shellskript alle alten Dateien anpassen, zweitens kann man problemlos das Ausgabeformat von EMX umstellen.

Die Aufspaltung der Log-Dateien ist keine Sache von CUL_EM oder EMX, sondern wird durch die Wahl des Dateinamens in der Logfile-Definition (und damit in der Konfiguration des Moduls FileLog) festgelegt.

Eine Datei, die für ein ganzes Jahr alle 5 Minuten einen Wert enthält, erfüllt keinen sinnvollen Zweck. Das wird sich mit hoher Wahrscheinlichkeit niemals mehr jemand ansehen...

Ich logge den Energieverbrauch des E.Verb (und die Produktion von E.Prod und nt5000, in meinem Falle) in 3 Dateien: Alle 5 Minuten in einer täglich gewechselten Datei, am Ende eines Tages in einer monatlich gewechselten Datei - und in einer relativ kurzen Jahresdatei nur die Monatssummen.

define EnergieD FileLog /home/fhem/fhemlogs/EnergieD-%Y-%m-%d.log (E.Verb:W)|(E.Prod:W)|(nt5000:reading).*
attr EnergieD archivedir /home/fhem/fhemarchive
attr EnergieD nrarchive 30
attr EnergieD room Logs

define EnergieM FileLog /home/fhem/fhemlogs/EnergieM-%Y-%m.log  E.(Verb|Prod):.*day.*
attr EnergieM archivedir /home/fhem/fhemarchive
attr EnergieM nrarchive 12
attr EnergieM room Logs

define EnergieY FileLog /home/fhem/fhemlogs/EnergieY-%Y.log  E.(Verb|Prod):.*month.*
attr EnergieY room Logs


LG

pah


punker

LG

Dieter

The truth is out there!

pantau

Ich habe versucht das Modul zu benutzen:
15_EMX.pm ist in die Clientliste von 00_CUL.pm eingetragen und nicht umbenannt.

define emaz EMX 8 100
attr emaz room Strom,AZ

define emaz.log FileLog /var/tmp/emaz.log emaz:*.*
define emaz_act.log FileLog /var/tmp/emaz_act.log emaz:W.*
define emaz_m.log FileLog /var/tmp/emaz_m.log emaz:.*D_.*

Leider bekomme ich nur im emaz.log Einträge:
2013-04-15_00:02:28 emaz raw 13110
2013-04-15_00:07:28 emaz raw 13130
2013-04-15_00:12:28 emaz raw 13147
2013-04-15_00:17:28 emaz raw 13164
2013-04-15_00:22:28 emaz raw 13181

Keine geparseden Werte und emaz_act.log bleibt ganz leer.

Muß ich noch etwas per attr definieren oder woran liegt es das ich keine dekodierten Werte angezeigt bekomme?

Gruß

Peter

Prof. Dr. Peter Henning

Kann ich nicht nachvollziehen. Ich habe mit

/home/fhem/fhemlogs/EnergieD-%Y-%m-%d.log <device>:W.*

die allerbesten Logs.

Für das allabendliche Schreiben in die Monatsdatei sollte es allerdings besser lauten

    
/home/fhem/fhemlogs/EnergieM-%Y-%m.log <device>:.*day.*

LG

pah

punker

@pah

Ich habe nach Deiner Anleitung meine EM1000WZ auch wunderbar am laufen, jetzt allerdings mit dem Monatswechsel wird der Aprilwert nicht in die Jahres-Logdatei geschrieben.

Die letzte Zeile aus dem Aprillog lautet:

2013-04-30_23:57:41 E_Verbrauch day: D_30 Wd:  6.41 kWh Wm: 262.48 kWh Cd:  1.66 €

der Wert Wm: 262.48 kWh durfte ja der gesammelte Monatsverbrauch sein.

Wie kann ich diesen nun in die Jahres-Logdatei eintragen lassen?
Mit der von Dir angegebenen Zeile :

define EnergieY FileLog /home/fhem/fhemlogs/EnergieY-%Y.log E.(Verb|Prod):.*month.*

funktioniert das leider nicht, da der Begriff month ja nicht vorkommt!
LG

Dieter

The truth is out there!

Prof. Dr. Peter Henning

Am letzten Tag des Monats wird kurz vor Mitternacht ein "month"-Event erzeugt, das genau diesen kumulierten wert beinhaltet.

Bei mir steht darin um 23:55 am 30. April:

month M04 Wm: 560.44 kWh

Na, und das wird von der Logdateidefinition aufgesammelt. Mein Jahreslog sieht so aus (Januar fehlt - da war EMX noch nicht so weit).

2013-02-28_23:59:06 E.Verb month: M02 Wm: 624.16 kWh
2013-03-31_23:58:56 E.Verb month: M03 Wm: 626.68 kWh
2013-04-30_23:55:22 E.Verb month: M04 Wm: 560.44 kWh

DASS der month event erzeugt wurde, sieht man auf der Seite des EMX-Device.

LG

pah




punker

In meinen Device-Readings steht das ja auch drin!
Weiß zwar nicht, warum als Monat 03 dasteht, aber der Eintrag ist da, aber NICHT im Jahres-Log!

(http://www.bilder-space.de/thumb-readingsgif-exp4xo4dsjn7lekuvd9u.jpg)

Mein Jahres-Log "define" lautet:
/var/log/fhem/E_VerbrauchY-%Y.log E_Verbrauch:.*month.*

Was stimmt hier nicht?
LG

Dieter

The truth is out there!