FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Heimweh am 01 Juni 2016, 09:41:03

Titel: Werte aus dem Statistik Modul loggen (DBlog)
Beitrag von: Heimweh am 01 Juni 2016, 09:41:03
Hallo liebe Spezialisten,

ich nutze das Statistik Modul, um meinen Pelletverbrauch auszuwerten (ETA Heizung über HTTPMOD). Mit Addlog stoße ich den Log um 23:59 Uhr an - mein Problem ist, es wird nicht
in meinem DBLog geloggt. Meine Definition, was alles geloggt werden soll, sieht so aus:

define logdb DbLog ./db.conf .*:(AVERAGE|StatLaCrosse|temperature|humidity|VLh|AT_Eta|VT_Eta|PB_Eta|SEG_Eta|SEH_Eta|GV_Eta|electricityPower|statElectricityConsumedToday|opened|closed|.*sent|temp_c|sent|message|Statistik|Daniel|Puffer_unten|Puffer_oben|GV_Eta_max_day|statGV_EtaDay).*

Die Readings vom der entsprechenden Statistik sind:

statGV_Eta Hour 0 Day: 0 Month: 0 Year: 0 (since: 2016-05-31_12:26:37 ) 2016-06-01 08:55:00

statGV_EtaDay 0 2016-06-01 08:55:00

statGV_EtaDayLast 0 2016-05-31 23:54:00

statGV_EtaLast Hour: 0 Day: 0 Month: - Year: - (since: 2016-05-31_12:26:37 )

Ich hätte gerne den Wert statGV_EtaDay in meinem Log - kann mir jemand allgemein erklären, wie ich so ein Reading aus zB Average oder Statistik geloggt kriege?

Wenn ich zB list statGV_EtaDay eingebe, kommt die Meldung das dieses Gerät nicht bekannt ist....


Danke für eure Hilfe
Titel: Antw:Werte aus dem Statistik Modul loggen (DBlog)
Beitrag von: CoolTux am 01 Juni 2016, 09:45:57

list .*.:statGV_EtaDay.*.


Sollte helfen.
Titel: Antw:Werte aus dem Statistik Modul loggen (DBlog)
Beitrag von: Heimweh am 01 Juni 2016, 09:57:31
Hallo CoolTux,

klappt leider auch nicht. Fehler: No device named .*.:statGV_EtaDay.*. found

:-[
Titel: Antw:Werte aus dem Statistik Modul loggen (DBlog)
Beitrag von: CoolTux am 01 Juni 2016, 11:20:59
Sorry ich war unterwegs mit Handy da hat er die hälfte verschluckt



list .*.:FILTER=statGV_EtaDay=.*.
Titel: Antw:Werte aus dem Statistik Modul loggen (DBlog)
Beitrag von: Heimweh am 01 Juni 2016, 11:38:03
Hat teilweise geklappt :) Danke! Bekomme aber alle Readings, die dem Statistikmodul zugeordnet sind angezeigt.

Was muss ich den in die Definition, was geloggt werden soll, eintragen wenn ich nur einen Wert davon loggen möchte?
Titel: Antw:Werte aus dem Statistik Modul loggen (DBlog)
Beitrag von: CoolTux am 01 Juni 2016, 11:44:47
Eigentlich genau so wie Du es gemacht hast.


define logdb DbLog ./db.conf .*:(AVERAGE|StatLaCrosse|temperature|humidity|VLh|AT_Eta|VT_Eta|PB_Eta|SEG_Eta|SEH_Eta|GV_Eta|electricityPower|statElectricityConsumedToday|opened|closed|.*sent|temp_c|sent|message|Statistik|Daniel|Puffer_unten|Puffer_oben|GV_Eta_max_day|statGV_EtaDay).*


Hier dürfte er das statGV_EtaDay eigentlich loggen. Was genau hast Du denn bei den Devices eingestellt? event-on-change-reading eventuell und es kommen keine neuen Werte, also das Reading ändert sich nicht? Gib mal ein List vom eigentlichen Device und das bitte in Code Tags

Du kannst auch, wenn Du MySQL verwendest mal in die Datenbank schauen mit einem select Statement ob da Daten vorhanden sind für das Reading.
Titel: Antw:Werte aus dem Statistik Modul loggen (DBlog)
Beitrag von: Heimweh am 02 Juni 2016, 08:15:28
Guten Morgen CoolTux,

habe jetzt mal abgewartet was passiert, habe ich denn Möglichkeiten das event-on-Change zu nutzen? Ist das nicht bereits im Statistik Modul vorgegeben?


# ---------------------------------------------
# - Statistik Gesamtverbrauch ETA -
# ---------------------------------------------
#
define GVStatistik statistics gesamtverbrauchEta
attr GVStatistik dayChangeTime 23:59
attr GVStatistik deltaReadings GV_Eta
attr GVStatistik periodChangePreset 300
attr GVStatistik room Heizung
attr GVStatistik singularReadings gesamtverbrauchEta:GV_Eta:Delta:Day



und so habe ich den LOG definiert. Es wurde leider nichts geloggt heute nacht....


define logdb DbLog ./db.conf .*:(AVERAGE|StatLaCrosse|temperature|humidity|VLh|AT_Eta|VT_Eta|PB_Eta|SEG_Eta|SEH_Eta|GV_Eta|electricityPower|statElectricityConsumedToday|opened|closed|.*sent|temp_c|sent|message|Statistik|Daniel|Puffer_unten|Puffer_oben|GV_Eta_max_day|statElectricityConsumedToday).*
Titel: Antw:Werte aus dem Statistik Modul loggen (DBlog)
Beitrag von: CoolTux am 02 Juni 2016, 08:37:59
Zitat von: Heimweh am 02 Juni 2016, 08:15:28
Guten Morgen CoolTux,

habe jetzt mal abgewartet was passiert, habe ich denn Möglichkeiten das event-on-Change zu nutzen? Ist das nicht bereits im Statistik Modul vorgegeben?


# ---------------------------------------------
# - Statistik Gesamtverbrauch ETA -
# ---------------------------------------------
#
define GVStatistik statistics gesamtverbrauchEta
attr GVStatistik dayChangeTime 23:59
attr GVStatistik deltaReadings GV_Eta
attr GVStatistik periodChangePreset 300
attr GVStatistik room Heizung
attr GVStatistik singularReadings gesamtverbrauchEta:GV_Eta:Delta:Day



und so habe ich den LOG definiert. Es wurde leider nichts geloggt heute nacht....


define logdb DbLog ./db.conf .*:(AVERAGE|StatLaCrosse|temperature|humidity|VLh|AT_Eta|VT_Eta|PB_Eta|SEG_Eta|SEH_Eta|GV_Eta|electricityPower|statElectricityConsumedToday|opened|closed|.*sent|temp_c|sent|message|Statistik|Daniel|Puffer_unten|Puffer_oben|GV_Eta_max_day|statElectricityConsumedToday).*


Nein das event-on-change-reading gibt man im eigentlichen Device an. Das Statistik Device schreibt ja Readings in die Devices rein wo Du Statistiken für haben willst. Du solltest also erstmal schauen ob das Statistikmodul tatsächlich auch was rein schreibt und sich da die Werte entsprechend ändern.

Wo ist in Deiner neuen Definition für DBLog Dein Reading statGV_EtaDay welches Du ja loggen willst. Du musst wissen das geloggt wird wenn ein Event von einem Device kommt. Hierbei wird der TIMESTAMP das DEVICE das READING und natürlich das VALUE (der Wert des Readings).
In Deinem Fall sollte ein Event vom DEVICE welches das Reading statGV_EtaDay hat kommen, das Event kommt wenn das Statistikmodul neue Werte ins Reading vom Device schreibt.

Wenn ich mir Deine Statistikdefinition so anschaue, dann soll nur eine Statistik für das Device gesamtverbrauchEta erstellt werden. Nun schau nach ob Du in dem Device das Reading statGV_EtaDay hast. Denn das war es ja wohl was Du ganz am Anfang haben wolltest.



Grüße
Leon
Titel: Antw:Werte aus dem Statistik Modul loggen (DBlog)
Beitrag von: Heimweh am 02 Juni 2016, 09:29:33
Hallo Leon, Du hast Recht! Habe da was vergessen! Habe jetzt alles nochmal angepasst und muss jetzt mal schauen, ob es heute Nacht richtig loggt.


#
# ---------------------------
# - ETA Gesamtverbrauch ---
# ---------------------------
#
define gesamtverbrauchEta HTTPMOD http://192.168.178.27:8080/user/var/40/10021/0/0/12016 1800
attr gesamtverbrauchEta userattr event-min-interval event-on-change-reading readingsExpr1 readingsName1 readingsRegex1 stateFormat verbose
attr gesamtverbrauchEta alias Eta Gesamtverbrauch
attr gesamtverbrauchEta event-min-interval GV_Eta:3600
attr gesamtverbrauchEta event-on-change-reading .*
attr gesamtverbrauchEta group ETA
attr gesamtverbrauchEta readingsName1 GV_Eta
attr gesamtverbrauchEta readingsRegex1 strValue="([\d,-]+)"
attr gesamtverbrauchEta room Heizung
attr gesamtverbrauchEta stateFormat {no warnings 'numeric' ;; sprintf("%.1f Kilo",int(ReadingsVal($name,"GV_Eta",0)))}
#
#
# ---------------------------------------------
# - Statistik Gesamtverbrauch ETA -
# ---------------------------------------------
#
define GVStatistik statistics gesamtverbrauchEta
attr GVStatistik dayChangeTime 23:58
attr GVStatistik deltaReadings GV_Eta
attr GVStatistik periodChangePreset 300
attr GVStatistik room Heizung
attr GVStatistik singularReadings gesamtverbrauchEta:GV_Eta:Delta:Day
#
# --------------------------------------------------------------------
# - LOG Eintrag ETA Gesamtverbrauch um 23:59 Uhr -
# --------------------------------------------------------------------
#
define TestADDLOG at *23:59 {addLog("gesamtverbrauchEta","statGV_EtaDay")}



define logdb DbLog ./db.conf .*:(AVERAGE|StatLaCrosse|temperature|humidity|VLh|AT_Eta|VT_Eta|PB_Eta|SEG_Eta|SEH_Eta|GV_Eta|electricityPower|statElectricityConsumedToday|opened|closed|.*sent|temp_c|sent|message|Statistik|Daniel|

Puffer_unten|Puffer_oben|GV_Eta_max_day|statElectricityConsumedToday|statGV_EtaDay|statVLhDay|statWMSDay).*
Titel: Antw:Werte aus dem Statistik Modul loggen (DBlog)
Beitrag von: CoolTux am 02 Juni 2016, 09:32:49
Dürfte ja eigentlich nicht nur heute Nacht so sein, oder ? Soweit ich weiß ist das kleinste die Stunde, dann Tag und dann Monat und dann Jahr. Also solltest Du zu jeder vollen Stunde eigentlich einen Eintrag finden.