Hauptmenü

dblog Instabilitäten

Begonnen von nexulm, 21 November 2022, 14:56:17

Vorheriges Thema - Nächstes Thema

nexulm

Hallo,

ich wollte aus Performance-Gründen von FileLog auf DbLog umsteigen. Der Umstieg erweist sich aber leider als sehr steinig. Seit letzter Woche habe ich nun mein dblog device laufen, welches aber quasi täglich "hängen" bleibt. Bisher meistes aufgrund eines blocking Themas sodass forever gecacht wird. Da hat bisher immer nur ein "shutdown restart" geholfen.

Heute habe ich dann "wieder ein solches Ereignis im state stehen, weshalb kein weiteres Logging im DbLog device passiert:
DBD::Pg::st execute failed: ERROR:  unterminated quoted string at or near "'P_AC: 0"
ZEILE 1: ... 10:02:11','PV_GW_Inverter_HM_1500','MQTT2_DEVICE','P_AC: 0


Was kann ich tun, dass solche Ereignisse, die für das FileLog kein Problem darstellen nicht den Dienst vom DbLog device einstellen?

Hier noch das Listing des devices und ich nutze PostgreSQL v9.6 mit Debian Stretch und aktuellsten FHEM:

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         4146
   NTFY_ORDER 50-logdb
   PID        648
   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: ... 10:02:11','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=49164
   dbuser     postgres
   eventCount 1788
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     LASTLIMITRUNTIME 1669038791.07134
     OLDSTATE   DBD::Pg::st execute failed: ERROR:  unterminated quoted string at or near "'P_AC: 0"
ZEILE 1: ... 10:02:11','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-21 14:53:09   CacheOverflowLastNum 16234
     2022-11-21 14:51:32   CacheOverflowLastState exceeded
     2022-11-21 14:54:14   CacheUsage      53
     2022-11-21 14:53:10   NextSync        2022-11-21 14:55:10 or if CacheUsage 2000 reached
     2022-11-21 14:53:09   background_processing_time 4.0093
     2022-11-20 17:52:55   lastCachefile   
     2022-11-21 14:53:09   sql_processing_time 2.2978
     2022-11-21 14:53:10   state           DBD::Pg::st execute failed: ERROR:  unterminated quoted string at or near "'P_AC: 0"
ZEILE 1: ... 10:02:11','PV_GW_Inverter_HM_1500','MQTT2_DEVICE','P_AC: 0
                                                               ^ at ./FHEM/93_DbLog.pm line 2693.

Attributes:
   DbLogSelectionMode Exclude/Include
   DbLogType  History
   addStateEvent 0
   asyncMode  1
   bulkInsert 1
   cacheEvents 2
   cacheLimit 2000
   dbSchema   fhem
   disable    0
   room       DbLog
   showproctime 1
   syncInterval 120


Gruß
Mike
BeagleBone Black (Debian), FHEM SVN
HmLAN, 12x HM-LC-Bl1PBU-FM, 7xCC-RT-DN, >10x HM-SEC-SC-2, 3x HM-LC-SW1-FM, 1x HM-SEC-SD, 2x MK1010W, DM800, Yamaha RX-V771

betateilchen

Das sieht mir nicht nach einem wirklichen DbLog Problem aus, sondern danach, dass der Wert des readings einfach nicht stimmt. Dieser komische viereckige "Kasten" am Ende sieht danach aus, dass ein unicode Zeichen kommt, das nicht korrekt dargestellt werden kann und weswegen dann das abschließende Hochkomma fehlt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

nexulm

Naja, im logfile steht für diesen Zeitpunkt Folgendes:
2022-11-21_10:02:11 PV_GW_Inverter_HM_1500 P_AC: 0HM

FileLog ist davon halt unbeeindruckt und log alle Events weiter.
DbLog wiederum hat seit 10:02 keinerlei Einträge in die Datenbank gebracht.

Das sehe ich ganz klar als DbLog Fehler. Oder gibt es hier einen Schalter, der so einen unerwarteten Eintrag ignoriert und weiter logt?
BeagleBone Black (Debian), FHEM SVN
HmLAN, 12x HM-LC-Bl1PBU-FM, 7xCC-RT-DN, >10x HM-SEC-SC-2, 3x HM-LC-SW1-FM, 1x HM-SEC-SD, 2x MK1010W, DM800, Yamaha RX-V771

betateilchen

Zitat von: nexulm am 21 November 2022, 16:47:49
Das sehe ich ganz klar als DbLog Fehler.

Warum fragst Du dann nicht im richtigen Unterforum zum Thema DbLog anstatt in den Anfängerfragen?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

nexulm

Sorry, aber mir ist nicht klar in welches Unterforum die Frage gehört und wie ich diese nun dorthin verschiebe!?!
Ein spezifisches DbLog-Forum hatte ich vorhin nicht gesehen.
BeagleBone Black (Debian), FHEM SVN
HmLAN, 12x HM-LC-Bl1PBU-FM, 7xCC-RT-DN, >10x HM-SEC-SC-2, 3x HM-LC-SW1-FM, 1x HM-SEC-SD, 2x MK1010W, DM800, Yamaha RX-V771

Wernieman

In der FHEM-Commandozeile:
help dblog
Ergibt in der ersten Zeile:
ZitatModule: 93_DbLog.pm Maintainer: DS_Starter Forum: Automatisierung
also im Forumteil Automatisierung

anstatt help kannst Du auch die Modulspezifische Hilfe im Device anklicke, dort steht das gleiche (Da es das gleiche ist)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

Hast ja recht, anstatt es zu schreiben hätte ich auch verweisen können ... aber der Inhalt ist doch praktisch gleich  ;)
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

betateilchen

Schon klar, aber diese immer zu findende "Ausrede" ärgert mich jedesmal..

ZitatSorry, aber mir ist nicht klar in welches Unterforum die Frage gehört
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

OT:
Mich ja auch, aber man muß den TE dann darauf Hinweisen, wo er es findet. Sonst wird es nicht gelernt, dort mal reinzuschauen ... insofern ist die Verlinkung von Dir besser. Nur ohne ... wird es niemand lernen ... leider.
Nur .. nerven wir lieber den TE nicht weiter .. oder?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

betateilchen

Zitat von: Wernieman am 21 November 2022, 18:03:43
OT:
Mich ja auch, aber man muß den TE dann darauf Hinweisen, wo er es findet.

Naja, das Unterforum "Anfängerfragen" wird gefunden - aber die darin enthaltenen oben angepinnten Beiträge nicht?
Irgendwie komisch...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

nexulm

Danke für die Hinweise, werde dann mal den Beitrag nochmal im entsprechenden Unterforum posten.
Wieder was dazu gelernt. So ist das mit den Gelegenheits-Usern. :-)
BeagleBone Black (Debian), FHEM SVN
HmLAN, 12x HM-LC-Bl1PBU-FM, 7xCC-RT-DN, >10x HM-SEC-SC-2, 3x HM-LC-SW1-FM, 1x HM-SEC-SD, 2x MK1010W, DM800, Yamaha RX-V771