Irgendwie komme ich mit DbLogExclude nicht klar. Ich monitore meine Wärmepumpe mit dem THZ Device. Beim FileLog läuft alles glatt. Ich bekomme jede Menge Daten, die ich im Logfile ansehen kann. Das führt zu einem sehr großen Logfile mit entsprechend langen Zugriffszeiten. Deshalb wollte ich die wenigen Daten, die ich mir als Grafik anschauen will, zusätzlich in eine Datenbank loggen, also
FileLog => alles
DbLog ein kleiner Teil davon.
Die Idee dabei ist, dass die Anzeige der Grafik deutlich schneller sein dürfte, wenn die Datenmenge geringer ist. Verwendet werden soll das neue Frontend http://www.fhemwiki.de/wiki/Neues_Charting_Frontend (http://www.fhemwiki.de/wiki/Neues_Charting_Frontend).
Der entsprechende Teil meiner fhem.cfg sieht so aus:
define FileLog_Mythz FileLog /mnt/fhem/log/Mythz-%Y-%m.log Mythz
define myDbLog DbLog /mnt/fhem/db.conf .*:.*(dhw_temp|Rel_humidity|flow_temp|return_temp|inside_temp|outside_temp).*
Ich würde erwarten, dass anschließend in der Datenbank genau die 6 in Klammern aufgeführten Daten abgelegt sind. In Wirklichkeit sehe ich im Auswahlmenü für die Chart Settings aber zusätzlich noch einen 7. Datensatz "allFB", sh.angehängtes Bild. "allFB" wiederum ist ein Datensatz, der sehr viele Daten in 1 Zeile enthält, im FileLog sieht das so aus:
2014-03-09_14:14:30 Mythz allFB: outside_temp: 18 flow_temp: 23.2 return_temp: 24.3 hot_gas_temp: 25.6 dhw_temp: 42 flow_temp_HC2: -60 evaporator_temp: 21.9 condenser_temp: 24.4 Mixer_open: 0 Mixer_closed: 0 HeatPipeValve: 0 DiverterValve: 0 DHW_Pump: 0 HeatingCircuit_Pump: 0 Solar_Pump: 0 Compressor: 0 BoosterStage3: 0 BoosterStage2: 0 BoosterStage1: 0 HighPressureSensor: 0 LowPressureSensor: 1 EvaporatorIceMonitor: 0 SignalAnode: 0 EVU_release: 1 OvenFireplace: 0 STB: 0 OutputVentilatorPower: 34 InputVentilatorPower: 27 MainVentilatorPower: 0 OutputVentilatorSpeed: 24 InputVentilatorSpeed: 29 MainVentilatorSpeed: 0 Outside_tempFiltered: 16.9 Rel_humidity: 24 DEW_point: 1058 P_Nd: 10.58 P_Hd: 10.41 Actual_power_Qc: 0 Actual_power_Pel: 0 collector_temp: -60 inside_temp: 24.5
allFB müllt mir also die Datenbank mitDingen zu, die ich gar nicht haben wollte, zumal das Frontend den String nicht in seine Details auflösen kann, wodurch die Daten wertlos sind.
Deshalb der Versuch, das Schreiben dieser Daten in die Datenbank zu verhindern mit
attr Mythz DbLogExclude allFB
Ergebnis:
Mythz: unknown attribute DbLogExclude. Type 'attr Mythz ?' for a detailed list.
Obwohl doch bei Verwendung von DbLog das Attribut DbLogExclude allen Devices bekannt sein sollte, lt. Commandref: "Wenn DbLog genutzt wird, wird in alle Devices das Attribut DbLogExclude propagiert."
Wo liegen meine Denkfehler?
hast Du zwischendurch (nach dem Anlegen des DbLog und anschließendem save) fhem schonmal neugestartet?
ja, hab ich schon mehrfach.
Ich habe hier schon mal gelesen, dass Daten in der Datenbank "versehentlich" geloggt werden, obwohl sie per DbLogExclude ausgenommen sein sollten, wenn sie nur Nullwerte enthalten. Der lange allFB String zeigt sich im Chart als Nullwert. ==> ist das ein Bug in DbLog?
so ganz hab ich es noch nicht verstanden.
Mach mal bitte ein "list Mythz" und ein "list myDbLog" und poste die Ausgabe hier.
Dein regexp in der DbLog Definition sieht mir irgendwie suspekt aus.
wird aber was längeres.
list Mythz:
Internals:
DEF /dev/ttyUSB0@115200
DeviceName /dev/ttyUSB0@115200
FD 10
NAME Mythz
NR 27
PARTIAL
STATE opened
TYPE THZ
CHANGETIME:
Helper:
Dblog:
Rel_humidity:
Mydblog:
TIME 1394395125.17383
VALUE 34
Dhw_temp:
Mydblog:
TIME 1394395125.17383
VALUE 47.4
Flow_temp:
Mydblog:
TIME 1394395125.17383
VALUE 22.6
Inside_temp:
Mydblog:
TIME 1394395125.17383
VALUE 23.5
Outside_temp:
Mydblog:
TIME 1394395125.17383
VALUE 8.1
Return_temp:
Mydblog:
TIME 1394395125.17383
VALUE 23.9
Readings:
2014-03-09 20:58:45 Rel_humidity 34
2014-03-09 20:58:45 allFB outside_temp: 8.1 flow_temp: 22.6 return_temp: 23.9 hot_gas_temp: 29.1 dhw_temp: 47.4 flow_temp_HC2: -60 evaporator_temp: 22.9 condenser_temp: 23.9 Mixer_open: 0 Mixer_closed: 0 HeatPipeValve: 0 DiverterValve: 0 DHW_Pump: 0 HeatingCircuit_Pump: 1 Solar_Pump: 0 Compressor: 0 BoosterStage3: 0 BoosterStage2: 0 BoosterStage1: 0 HighPressureSensor: 0 LowPressureSensor: 1 EvaporatorIceMonitor: 0 SignalAnode: 0 EVU_release: 1 OvenFireplace: 0 STB: 0 OutputVentilatorPower: 34 InputVentilatorPower: 27 MainVentilatorPower: 0 OutputVentilatorSpeed: 24 InputVentilatorSpeed: 28 MainVentilatorSpeed: 0 Outside_tempFiltered: 9.9 Rel_humidity: 22.5 DEW_point: 820 P_Nd: 8.2 P_Hd: 10.75 Actual_power_Qc: 0 Actual_power_Pel: 0 collector_temp: -60 inside_temp: 24.1
2014-03-09 20:58:45 dhw_temp 47.4
2014-03-09 20:21:57 firmware version: 4.19
2014-03-09 20:58:45 flow_temp 22.6
2014-03-09 20:20:49 history compressor_heating: 5040 compressor_cooling: 0 compressor_dhw: 1240 booster_dhw: 22 booster_heating: 403
2014-03-09 20:20:51 holidayBegin-time 14:00
2014-03-09 20:21:48 holidayBegin_day 16
2014-03-09 20:20:45 holidayBegin_month 7
2014-03-09 20:21:47 holidayBegin_year 12
2014-03-09 20:21:19 holidayEnd-time 02:00
2014-03-09 20:22:19 holidayEnd_day 24
2014-03-09 20:21:38 holidayEnd_month 7
2014-03-09 20:20:44 holidayEnd_year 12
2014-03-09 20:58:45 inside_temp 23.5
2014-03-09 20:22:37 last10errors number_of_faults: 0 fault0CODE: 0 fault0TIME: 0:0 fault0DATE: 0 fault1CODE: 0 fault1TIME: 0:0 fault1DATE: 0 fault2CODE: 0 fault2TIME: 0:0 fault2DATE: 0 fault3CODE: 0 fault3TIME: 0:0 fault3DATE: 0 fault4CODE: 0 fault4TIME: 0:0 fault4DATE: 0 fault5CODE: 0 fault5TIME: 0:0 fault5DATE: 0 fault6CODE: 0 fault6TIME: 0:0 fault6DATE: 0
2014-03-09 20:58:45 outside_temp 8.1
2014-03-09 20:21:12 p01RoomTempDayHC1 21.5 °C
2014-03-09 20:23:01 p01RoomTempDayHC2 19 °C
2014-03-09 20:21:52 p02RoomTempNightHC1 21.5 °C
2014-03-09 20:21:00 p02RoomTempNightHC2 19 °C
2014-03-09 20:21:13 p03RoomTempStandbyHC1 10 °C
2014-03-09 20:22:43 p03RoomTempStandbyHC2 10 °C
2014-03-09 20:22:41 p04DHWsetDay 44 °C
2014-03-09 20:22:22 p05DHWsetNight 44 °C
2014-03-09 20:21:02 p07FanStageDay 1
2014-03-09 20:22:16 p08FanStageNight 1
2014-03-09 20:21:22 p09FanStageStandby 1
2014-03-09 20:22:15 p99FanStageParty 3
2014-03-09 20:20:44 party-time 00:00--00:00
2014-03-09 20:20:46 programDHW_Fr_0 00:00--00:00
2014-03-09 20:22:20 programDHW_Fr_1 n.a.--n.a.
2014-03-09 20:21:37 programDHW_Fr_2 n.a.--n.a.
2014-03-09 20:21:53 programDHW_Mo-Fr_0 n.a.--n.a.
2014-03-09 20:22:53 programDHW_Mo-Fr_1 n.a.--n.a.
2014-03-09 20:21:18 programDHW_Mo-Fr_2 n.a.--n.a.
2014-03-09 20:22:21 programDHW_Mo-So_0 00:00--00:00
2014-03-09 20:22:52 programDHW_Mo-So_1 n.a.--n.a.
2014-03-09 20:21:50 programDHW_Mo-So_2 n.a.--n.a.
2014-03-09 20:22:47 programDHW_Mo_0 00:00--00:00
2014-03-09 20:21:46 programDHW_Mo_1 n.a.--n.a.
2014-03-09 20:20:46 programDHW_Mo_2 n.a.--n.a.
2014-03-09 20:20:46 programDHW_Sa-So_0 n.a.--n.a.
2014-03-09 20:21:23 programDHW_Sa-So_1 n.a.--n.a.
2014-03-09 20:22:57 programDHW_Sa-So_2 n.a.--n.a.
2014-03-09 20:21:21 programDHW_Sa_0 00:00--00:00
2014-03-09 20:22:14 programDHW_Sa_1 n.a.--n.a.
2014-03-09 20:22:49 programDHW_Sa_2 n.a.--n.a.
2014-03-09 20:21:58 programDHW_So_0 00:00--00:00
2014-03-09 20:20:43 programDHW_So_1 n.a.--n.a.
2014-03-09 20:22:16 programDHW_So_2 n.a.--n.a.
2014-03-09 20:22:50 programDHW_Th_0 00:00--00:00
2014-03-09 20:21:09 programDHW_Th_1 n.a.--n.a.
2014-03-09 20:22:18 programDHW_Th_2 n.a.--n.a.
2014-03-09 20:20:58 programDHW_Tu_0 00:00--00:00
2014-03-09 20:21:59 programDHW_Tu_1 n.a.--n.a.
2014-03-09 20:21:31 programDHW_Tu_2 n.a.--n.a.
2014-03-09 20:22:24 programDHW_We_0 00:00--00:00
2014-03-09 20:22:48 programDHW_We_1 n.a.--n.a.
2014-03-09 20:21:54 programDHW_We_2 n.a.--n.a.
2014-03-09 20:22:01 programFan_Fr_0 n.a.--n.a.
2014-03-09 20:20:57 programFan_Fr_1 n.a.--n.a.
2014-03-09 20:21:04 programFan_Fr_2 n.a.--n.a.
2014-03-09 20:22:55 programFan_Mo-Fr_0 n.a.--n.a.
2014-03-09 20:22:17 programFan_Mo-Fr_1 n.a.--n.a.
2014-03-09 20:22:32 programFan_Mo-Fr_2 n.a.--n.a.
2014-03-09 20:21:56 programFan_Mo-So_0 n.a.--n.a.
2014-03-09 20:20:52 programFan_Mo-So_1 n.a.--n.a.
2014-03-09 20:21:36 programFan_Mo-So_2 n.a.--n.a.
2014-03-09 20:22:29 programFan_Mo_0 n.a.--n.a.
2014-03-09 20:22:15 programFan_Mo_1 n.a.--n.a.
2014-03-09 20:22:34 programFan_Mo_2 n.a.--n.a.
2014-03-09 20:22:12 programFan_Sa-So_0 09:00--22:00
2014-03-09 20:21:10 programFan_Sa-So_1 n.a.--n.a.
2014-03-09 20:22:00 programFan_Sa-So_2 n.a.--n.a.
2014-03-09 20:20:56 programFan_Sa_0 n.a.--n.a.
2014-03-09 20:22:45 programFan_Sa_1 n.a.--n.a.
2014-03-09 20:21:33 programFan_Sa_2 n.a.--n.a.
2014-03-09 20:21:35 programFan_So_0 n.a.--n.a.
2014-03-09 20:22:36 programFan_So_1 n.a.--n.a.
2014-03-09 20:21:03 programFan_So_2 n.a.--n.a.
2014-03-09 20:22:39 programFan_Th_0 n.a.--n.a.
2014-03-09 20:20:53 programFan_Th_1 n.a.--n.a.
2014-03-09 20:22:13 programFan_Th_2 n.a.--n.a.
2014-03-09 20:21:29 programFan_Tu_0 n.a.--n.a.
2014-03-09 20:22:58 programFan_Tu_1 n.a.--n.a.
2014-03-09 20:21:49 programFan_Tu_2 n.a.--n.a.
2014-03-09 20:22:15 programFan_We_0 n.a.--n.a.
2014-03-09 20:22:28 programFan_We_1 n.a.--n.a.
2014-03-09 20:21:39 programFan_We_2 n.a.--n.a.
2014-03-09 20:22:25 programHC1_Fr_0 n.a.--n.a.
2014-03-09 20:21:05 programHC1_Fr_1 n.a.--n.a.
2014-03-09 20:22:26 programHC1_Fr_2 n.a.--n.a.
2014-03-09 20:21:08 programHC1_Mo-Fr_0 n.a.--n.a.
2014-03-09 20:21:16 programHC1_Mo-Fr_1 n.a.--n.a.
2014-03-09 20:22:27 programHC1_Mo-Fr_3 n.a.--n.a.
2014-03-09 20:21:34 programHC1_Mo-So_0 n.a.--n.a.
2014-03-09 20:21:55 programHC1_Mo-So_1 n.a.--n.a.
2014-03-09 20:21:06 programHC1_Mo-So_3 n.a.--n.a.
2014-03-09 20:21:42 programHC1_Mo_0 n.a.--n.a.
2014-03-09 20:22:38 programHC1_Mo_1 n.a.--n.a.
2014-03-09 20:21:14 programHC1_Mo_2 n.a.--n.a.
2014-03-09 20:21:30 programHC1_Sa-So_0 n.a.--n.a.
2014-03-09 20:22:59 programHC1_Sa-So_1 n.a.--n.a.
2014-03-09 20:22:30 programHC1_Sa-So_3 n.a.--n.a.
2014-03-09 20:21:40 programHC1_Sa_0 n.a.--n.a.
2014-03-09 20:20:50 programHC1_Sa_1 n.a.--n.a.
2014-03-09 20:22:31 programHC1_Sa_2 n.a.--n.a.
2014-03-09 20:22:13 programHC1_So_0 n.a.--n.a.
2014-03-09 20:23:02 programHC1_So_1 n.a.--n.a.
2014-03-09 20:20:49 programHC1_So_2 n.a.--n.a.
2014-03-09 20:23:00 programHC1_Th_0 n.a.--n.a.
2014-03-09 20:22:40 programHC1_Th_1 n.a.--n.a.
2014-03-09 20:21:28 programHC1_Th_2 n.a.--n.a.
2014-03-09 20:22:12 programHC1_Tu_0 n.a.--n.a.
2014-03-09 20:21:24 programHC1_Tu_1 n.a.--n.a.
2014-03-09 20:22:56 programHC1_Tu_2 n.a.--n.a.
2014-03-09 20:21:44 programHC1_We_0 n.a.--n.a.
2014-03-09 20:21:01 programHC1_We_1 n.a.--n.a.
2014-03-09 20:22:13 programHC1_We_2 n.a.--n.a.
2014-03-09 20:22:16 programHC2_Fr_0 n.a.--n.a.
2014-03-09 20:21:43 programHC2_Fr_1 n.a.--n.a.
2014-03-09 20:22:46 programHC2_Fr_2 n.a.--n.a.
2014-03-09 20:21:07 programHC2_Mo-Fr_0 n.a.--n.a.
2014-03-09 20:22:23 programHC2_Mo-Fr_1 n.a.--n.a.
2014-03-09 20:21:11 programHC2_Mo-Fr_3 n.a.--n.a.
2014-03-09 20:22:33 programHC2_Mo-So_0 n.a.--n.a.
2014-03-09 20:21:32 programHC2_Mo-So_1 n.a.--n.a.
2014-03-09 20:22:35 programHC2_Mo-So_3 n.a.--n.a.
2014-03-09 20:20:49 programHC2_Mo_0 n.a.--n.a.
2014-03-09 20:22:14 programHC2_Mo_1 n.a.--n.a.
2014-03-09 20:21:15 programHC2_Mo_2 n.a.--n.a.
2014-03-09 20:22:42 programHC2_Sa-So_0 n.a.--n.a.
2014-03-09 20:22:51 programHC2_Sa-So_1 n.a.--n.a.
2014-03-09 20:20:59 programHC2_Sa-So_3 n.a.--n.a.
2014-03-09 20:21:45 programHC2_Sa_0 n.a.--n.a.
2014-03-09 20:20:55 programHC2_Sa_1 n.a.--n.a.
2014-03-09 20:21:27 programHC2_Sa_2 n.a.--n.a.
2014-03-09 20:21:51 programHC2_So_0 n.a.--n.a.
2014-03-09 20:22:46 programHC2_So_1 n.a.--n.a.
2014-03-09 20:22:14 programHC2_So_2 n.a.--n.a.
2014-03-09 20:21:41 programHC2_Th_0 n.a.--n.a.
2014-03-09 20:22:17 programHC2_Th_1 n.a.--n.a.
2014-03-09 20:21:26 programHC2_Th_2 n.a.--n.a.
2014-03-09 20:21:17 programHC2_Tu_0 n.a.--n.a.
2014-03-09 20:23:03 programHC2_Tu_1 n.a.--n.a.
2014-03-09 20:21:20 programHC2_Tu_2 n.a.--n.a.
2014-03-09 20:21:25 programHC2_We_0 n.a.--n.a.
2014-03-09 20:22:54 programHC2_We_1 n.a.--n.a.
2014-03-09 20:20:48 programHC2_We_2 n.a.--n.a.
2014-03-09 20:58:45 return_temp 23.9
2014-03-09 20:20:54 timedate Weekday: Sunday Hour: 20 Min: 21 Sec: 53 Date: 2014/3/9
Attributes:
DbLogExclude allFB
icon sani_heating
interval_allFB 120
interval_history 28800
room Heizung
userReadings dhw_temp:allFB {((split ' ',ReadingsVal("Mythz","allFB",0))[9])}, Rel_humidity:allFB {((split ' ',ReadingsVal("Mythz","allFB",0))[67]) + 11.5}, flow_temp:allFB {((split ' ',ReadingsVal("Mythz","allFB",0))[3])}, return_temp:allFB {((split ' ',ReadingsVal("Mythz","allFB",0))[5])}, inside_temp:allFB {((split ' ',ReadingsVal("Mythz","allFB",0))[81]) - 0.6 }, outside_temp:allFB {((split ' ',ReadingsVal("Mythz","allFB",0))[1])}
list myDbLog:
Internals:
CONFIGURATION /mnt/fhem/db.conf
DBMODEL SQLITE
DEF /mnt/fhem/db.conf .*:.*(dhw_temp|Rel_humidity|flow_temp|return_temp|inside_temp|outside_temp).*
NAME myDbLog
NR 30
NTFY_ORDER 50-myDbLog
PID 20205
REGEXP .*:.*(dhw_temp|Rel_humidity|flow_temp|return_temp|inside_temp|outside_temp).*
STATE active
TYPE DbLog
Readings:
2014-03-09 20:20:35 state active
Attributes:
hast Du mal all.* als Attribut probiert?
nein, noch nicht. Aber anderweitig habe ich die undokumentierte Idee erhalten, DbLogExclude erst mal den userattr hinzuzufügen. Das war der Schlüssel zum Erfolg. Jetzt siehts so aus und funktioniert:
define myDbLog DbLog /mnt/fhem/db.conf .*:.*(dhw_temp|Rel_humidity|flow_temp|return_temp|inside_temp|outside_temp).*
attr global userattr DbLogExclude
attr Mythz DbLogExclude allFB
Wäre schick, wenn das in der Commandref ergänzt würde.