[Gelöst] Verhalten DbLog vs FileLog bei Reading ohne Wert

Begonnen von Obi-Wan, 28 Dezember 2019, 11:27:24

Vorheriges Thema - Nächstes Thema

Obi-Wan

Hallo zusammen,
beim loggen des Programmablaufs unseres Geschirrspülers (implementiert über HTTPMOD) erhalte ich merkwürdige Einträge in der DbLog wenn ein Reading ohne Wert geloggt werden soll. Dies ist z.B. beim Programmschritt (Reading program_step) nach Ende des Spülprogramms der Fall. Im Logfile sieht das soweit gut aus (Wertwechsel Reading program_step von "Ende" auf ""):

2019-12-27_03:53:56 MieleMaschine Ende
2019-12-27_03:53:56 MieleMaschine program_step: Ende
2019-12-27_11:11:57 MieleMaschine Aus
2019-12-27_11:11:57 MieleMaschine program_step:

In der Datenbank hingegen werden die Einträge in den Feldern Reading und Value aus meiner Sicht falsch (z.B. Value = ReadingName program_step statt "") fortgeführt was kann hier die Ursache sein, bzw. was übersehe ich hier.

TIMESTAMP               DEVICE                    TYPE                         EVENT                                      READING                       VALUE 
2019-12-28 03:53:56    MieleMaschine          HTTPMOD                  program_step: Ende                  program_step                 Ende
2019-12-28 11:11:57    MieleMaschine          HTTPMOD                  program_step:                          state                              program_step: 


Bei der Definition des DB-loggings sind aktuell nur die folgenden Attribute gesetzt:
attr DbLog DbLogType Current/History
attr DbLog asyncMode 1
attr DbLog room System

Danke für eine Prüfung und Rückmeldung.

DS_Starter

Hallo Obi-Wan,

"schuld" daran ist das sogenannte Eventsplitting im DbLog. Das Modul muss dafür sorgen, die eintreffenden Events korrekt in die einzelnen Feldbestandteile zur Speicherung der DB aufzuteilen.
Das wird nach diversen Regeln gemacht, wobei es Modul-Spezifika gibt.

In deinem vorliegenden Fall ist es tatsächlich so, dass das Fehlen eines Wertes "vermuten" lässt, es handele sich um das state-Reading obwohl "state" als Reading mitgeliefert wird (siehe auch Attribut addStateEvent).

Ich werde versuchen ob ich die Defaultzerlegung anpassen kann, um einen solchen Fall abzufangen. Werde mich mit einer Testversion wieder melden. Es muss dann ausgiebig getestet werden um ungewünschte Nebeneffekte auszuschließen.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Die Testversion 4.9.4 liegt in meinem contrib.
Zum Download in der FHEMWEB Kommandozeile inklusive der Ausführungszeichen angeben:


"wget -qO ./FHEM/93_DbLog.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/93_DbLog.pm"


Danach restarten.
Bitte teste mal den Erfolg bei dir.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Obi-Wan

Hallo Heiko,

danke für die Antwort. Ich habe Deinen Patch eingespielt und einen Test durchgeführt. Das DB-Logging verhält sich nun wie erwartet. Auch die Logs anderer Geräte sehen tadellos aus. Vielen Dank.

Gruß,
Oliver

TIMESTAMP                  DEVICE             TYPE                EVENT               READING           VALUE
2019-12-28 17:27:10   MieleMaschine    HTTPMOD         state: Aus          state                 Aus   
2019-12-28 17:27:10   MieleMaschine    HTTPMOD         state_id: 1         state_id            1   
2019-12-28 17:27:10   MieleMaschine    HTTPMOD         progstep_id: 0    progstep_id      0   
2019-12-28 17:27:10   MieleMaschine    HTTPMOD         program_step:    program_step     

DS_Starter

Hallo Oliver,

danke für deine Rückmeldung, sieht gut aus.  :D
Ich habe in diesem Thread https://forum.fhem.de/index.php/topic,65860.msg1006274.html#msg1006274 weitere User gebeten ebenfalls diese Version zu testen.
Wenn nichts mehr auffällt, checke ich die Version in Kürze ein.

Heute früh habe ich die Version 4.9.3 online gestellt. Sie ist morgen früh im Update. Diese Version solltest du dann erstmal nicht übernehmen.  ;)

Schönen Abend,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Obi-Wan

Hallo Heiko,

Deinem Aufruf zum Test im anderen Thread ist ja leider bislang keiner gefolgt. Bei mir läuft seit der Umstellung alles stabil, folgende Typen logge ich zur Zeit: HTTPMOD, DUMMY, HMCCUDEV, NOTIFY, HARMONY, AT, SONOSPLAYER, UWZ, LUXTRONIK2, HUEDEVICE. Wie siehst Du die Chancen die Anpassung demnächst in die Standardversion zu übernehmen ?

Danke und Gruß,
Oliver

DS_Starter

Hallo Oliver,

schön dass du dich nochmal meldest  :)
Sorry, hatte hier nicht nochmal geschrieben ... seit dem 4.1. mit der Version 4.9.6 habe ich eine etwas abgewandelte Lösung schon eingecheckt. Siehe das Problem hier: https://forum.fhem.de/index.php/topic,106992.0.html

Wenn du also die V 4.9.6 bzw. aktuell die 4.9.7 im System hast, ist die Anpassung schon drin.
Ansonsten einfach updaten. Dann sollte es immernoch passen.

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Obi-Wan

Hallo Heiko,

ich habe die neue Version eingespielt, nun ist das Verhalten wieder wie vor Deiner 1. Korrektur:

TIMESTAMP                       DEVICE             TYPE           EVENT                              READING      VALUE   
2020-01-20 15:54:25          MieleMaschine   HTTPMOD   state: In Betrieb                state                In Betrieb   
2020-01-20 18:04:25         MieleMaschine   HTTPMOD   state: Ende                       state                 Ende   
2020-01-20 18:12:25          MieleMaschine   HTTPMOD   state: Aus                         state                Aus   
2020-01-20 15:54:25          MieleMaschine   HTTPMOD   program_step: Vorspülen   program_step   Vorspülen   
2020-01-20 16:12:25          MieleMaschine   HTTPMOD   program_step: Reinigen     program_step   Reinigen   
2020-01-20 16:56:25          MieleMaschine   HTTPMOD   program_step: Spülen        program_step   Spülen   
2020-01-20 17:08:25          MieleMaschine   HTTPMOD   program_step: Klarspülen   program_step   Klarspülen   
2020-01-20 17:30:25          MieleMaschine   HTTPMOD   program_step: Trocknen     program_step   Trocknen   
2020-01-20 18:04:25          MieleMaschine   HTTPMOD   program_step: Ende           program_step   Ende   
2020-01-20 18:12:25          MieleMaschine   HTTPMOD   program_step:                   state                program_step:   

Gruß,
Oliver

DS_Starter

Hmm ... das ist nicht so erfreulich. Ich war guter Hoffnung das Problem  https://forum.fhem.de/index.php/topic,106992.0.html erledigen zu können ohne den Patch für dein Problem zu zerstören.
Ich schau nochmal, aber habe fast den Verdacht dass es ein gordischer Knoten ist :-(

Grüße,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

Na vielleicht habe ich doch noch eine Lösung für beide Probleme gefunden.
Teste doch bitte wieder die Version aus meinem contrib bei dir :

Zum Download in der FHEMWEB Kommandozeile inklusive der Ausführungszeichen angeben:

"wget -qO ./FHEM/93_DbLog.pm https://svn.fhem.de/fhem/trunk/fhem/contrib/DS_Starter/93_DbLog.pm"

Danach restarten.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Obi-Wan

#10
Hallo Heiko,

sowohl bei der alten (93_DbLog.pm         20966 2020-01-13 21:13:47Z  DS_Starter) wie auch bei der gestern (93_DbLog.pm         21003 2020-01-17 19:56:36Z DS_Starter)
eingespielten Version ergibt sich das folgende identische Bild in der Tabelle History:


TIMESTAMP                DEVICE             TYPE        EVENT                             READING   VALUE
2020-01-21 16:40:37   MieleMaschine   HTTPMOD   state: Aus                     state            Aus   
2020-01-21 16:40:37   MieleMaschine   HTTPMOD   program_step:             state          program_step:

In table current gibt es Unterschiede:

93_DbLog.pm         20966 2020-01-13 21:13:47Z  DS_Starter  (Hier wurde der aktuelle (Zeitstempel 16:40) leere Wert zu program_step gar nicht geloggt, dafür das richtige ("Aus") state event):
2020-01-21 16:32:37   MieleMaschine   HTTPMOD   program_step: Ende         program_step   Ende
2020-01-21 16:40:37   MieleMaschine   HTTPMOD   state: Aus                        state                   Aus

93_DbLog.pm         21003 2020-01-17 19:56:36Z DS_Starter   (Hier wurde der aktuelle ("") Wert zu program_step, allerdings nach wie vor falsch geloggt, das richtige aktuelle state reading ("Aus") fehlt hingegen):
2020-01-22 20:42:15   MieleMaschine   HTTPMOD   program_step:              state                program_step:

Leider noch ein ziemliches durcheinander, sorry das ich keine besseren Nachrichten habe.

Gruß,
Oliver

DS_Starter

Hallo Oliver,

die Current können wir erstmal ignorieren. Für die History muss es klappen, aber da gehen mir langsam die Ideen aus.
Hast du nach dem Einspielen auch restartet ?
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Obi-Wan

Hallo Heiko,

ja shutdown restart hatte ich durchgeführt. Hast Du die Zeitstempel der Versionen mal geprüft ob die richtig sind? Dein Post zur Korrektur war ja am 21.01. der Zeitstempel ist aber schon vom 17.01., also vor dem Post meiner Meldung, passt das zusammen?

Gruß,
Oliver

DS_Starter

Ja die Timestamps 21003 2020-01-17 19:56:36Z  .. ändern sich erst wenn man das Modul "richtig" eincheckt.

Ich habe nochmal etwas geändert ... probier mal bitte ...
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Obi-Wan

OK, danke -  ist vorbereitet, Update nach dem nächsten Lauf der Spülmaschine....
Gruß und gute Nacht,
Oliver