Hallo,
auch wenn der Wechsel vom betagten Beagle Bone Black zum Raspi4 in den letzten Tagen einen enormen Performance-Sprung hinsichtlich FileLog und Plots gebracht hat. Das ursprüngliche Problem mit der Umstellung FileLog auf DbLog besteht weiterhin. :-(
Hardware: Raspi 4
OS: Debian Bulleye (11.5)
Datenbank: PostgreSQL
FHEM: letztes Update
Fehlermeldung:
DBD::Pg::st execute failed: ERROR: unterminated quoted string at or near "'I_AC: 1.0" ZEILE 1: ...10:46:46','PV_GW_Inverter_HM_1500','MQTT2_DEVICE','I_AC: 1.0... ^ at ./FHEM/93_DbLog.pm line 2693.
Jedesmal mind. 1x pro Tag gibt es ein solches Ereignis via MQTT was in die Datenbank geloggt werden soll. FileLog moppert nicht und loggt brav weiter. DbLog bringt das Ereignis aber durcheinander und nach dem Error bleibt das Logging stehen und ein reread/reopen des DbLog devices ist mindestens erforderlich.
Gibt es bereits eine Möglichkeit oder ein Attribut um diesen fehlerhaften Zeichensatz zu ignorieren?
Was kann ich machen?
List des DbLog Device:
Internals:
COLUMNS field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
CONFIGURATION ./db.conf
DEF ./db.conf .*:(temperature|dewpoint|humidity|measured-temp|desired-temp|ValvePosition|CONTROL_MODE|smoke.*|level|.*battery|sabotageError|energy.*|power.*|kWh|stat.*|userState|ENERGY_Power|ENERGY_Total|deviceState|presence|recentAlarm|download|upload|ping|.*P_DC|.*U_DC|.*I_DC|.*Q_AC|.*Frequenz|.*Temperature|.*Efficiency|P_DC|Ch1_Irradiation|.*Yield_Day|.*Yield_Total|.*P_AC|.*U_AC|.*I_AC|ENERGY_Current|ENERGY_ApparentPower|ENERGY_Total|ENERGY_Voltage|ENERGY_ReactivePower|ENERGY_Today|ENERGY_Factor|ENERGY_Yesterday|myState|DIRECTION|Lichtintensitaet|Wasserstand|FREQUENCY|CURRENT|VOLTAGE|POWER|ENERGY_COUNTER|control).*
FUUID 6336164b-f33f-f7ea-3c59-3789a2ae4c6412c4
FVERSION 93_DbLog.pm:v4.13.2-s26672/2022-11-07
MODE asynchronous
MODEL POSTGRESQL
NAME logdb
NR 4140
NTFY_ORDER 50-logdb
PID 673
REGEXP .*:(temperature|dewpoint|humidity|measured-temp|desired-temp|ValvePosition|CONTROL_MODE|smoke.*|level|.*battery|sabotageError|energy.*|power.*|kWh|stat.*|userState|ENERGY_Power|ENERGY_Total|deviceState|presence|recentAlarm|download|upload|ping|.*P_DC|.*U_DC|.*I_DC|.*Q_AC|.*Frequenz|.*Temperature|.*Efficiency|P_DC|Ch1_Irradiation|.*Yield_Day|.*Yield_Total|.*P_AC|.*U_AC|.*I_AC|ENERGY_Current|ENERGY_ApparentPower|ENERGY_Total|ENERGY_Voltage|ENERGY_ReactivePower|ENERGY_Today|ENERGY_Factor|ENERGY_Yesterday|myState|DIRECTION|Lichtintensitaet|Wasserstand|FREQUENCY|CURRENT|VOLTAGE|POWER|ENERGY_COUNTER|control).*
STATE DBD::Pg::st execute failed: ERROR: unterminated quoted string at or near "'P_AC: 0"
ZEILE 1: ... 15:56:47','PV_GW_Inverter_HM_1500','MQTT2_DEVICE','P_AC: 0
^ at ./FHEM/93_DbLog.pm line 2693.
TYPE DbLog
dbconn Pg:database=postgres;host=192.168.99.100;port=49157
dbuser postgres
eventCount 1851
HELPER:
COLSET 1
DEVICECOL 64
EVENTCOL 512
LASTLIMITRUNTIME 1669302106.71547
OLDSTATE DBD::Pg::st execute failed: ERROR: unterminated quoted string at or near "'P_AC: 0"
ZEILE 1: ... 15:56:47','PV_GW_Inverter_HM_1500','MQTT2_DEVICE','P_AC: 0
^ at ./FHEM/93_DbLog.pm line 2693.
PACKAGE main
READINGCOL 64
TC fhem.current
TH fhem.history
TYPECOL 64
UNITCOL 32
VALUECOL 128
VERSION 4.13.2
READINGS:
2022-11-24 16:01:46 CacheOverflowLastNum 21866
2022-11-24 10:39:16 CacheOverflowLastState exceeded
2022-11-24 16:02:41 CacheUsage 23931
2022-11-24 16:01:46 NextSync 2022-11-24 16:03:46 or if CacheUsage 2000 reached
2022-11-24 16:02:13 background_processing_time 11.5318
2022-11-20 17:52:55 lastCachefile
2022-11-24 16:02:13 sql_processing_time 11.1193
2022-11-24 16:02:13 state DBD::Pg::st execute failed: ERROR: unterminated quoted string at or near "'P_AC: 0"
ZEILE 1: ... 15:56:47','PV_GW_Inverter_HM_1500','MQTT2_DEVICE','P_AC: 0
^ at ./FHEM/93_DbLog.pm line 2693.
Attributes:
DbLogSelectionMode Exclude/Include
DbLogType Current/History
addStateEvent 0
asyncMode 1
bulkInsert 1
cacheEvents 2
cacheLimit 2000
dbSchema fhem
disable 0
room DbLog
showproctime 1
syncInterval 120
Danke für eure Hilfe(n)!