DbLog - Umstellung Betrieb auf SubProcess -> Tester gesucht

Begonnen von DS_Starter, 29 November 2022, 12:54:25

Vorheriges Thema - Nächstes Thema

SusisStrolch

Zitat von: DS_Starter am 21 Dezember 2022, 23:05:30
@SusisStrolch, hattest du gestern die V nochmal mit deinem Szenario gecheckt ?
Ich hatte am 21. die 5.5.7 installiert.
Prompt auch ein kaputtes Paket empfangen. Ein Cache-File wurde angelegt - anscheinend hat meine valueFn nicht gegriffen.
Hatte aber bisher keine Zeit zur Analyse.
Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch

SusisStrolch

Zitat von: SusisStrolch am 22 Dezember 2022, 19:06:05
... - anscheinend hat meine valueFn nicht gegriffen.
Ist meine DbLogValueFn syntaktisch korrekt (C&P aus raw definition)?
attr logdb DbLogValueFn {    my $flags = Encode::FB_CROAK | Encode::LEAVE_SRC;;\
    my $void = eval {\
        Encode::decode( 'utf-8', $EVENT, $flags );;\
    } || $IGNORE=1\
}
Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch

DS_Starter

#137
Guten Morgen,

ich habe es ein wenig umgeschrieben. Probiers mal aus.


attr logdb DbLogValueFn
{   
   my $flags = Encode::FB_CROAK | Encode::LEAVE_SRC;
   eval {
        Encode::decode( 'utf-8', $EVENT, $flags );
        1;
    }
    or do {$IGNORE=1;
          };
}


Ansonsten sieht die Reaktion des Devices auf die fehlerhaften Daten soweit gut aus.
Die Daten werden an den Cache zurück gegeben und bei Überlauf des cacheOverflowThreshold wird der Cache in ein File geleert.

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

#138
@thburkhart,

Zitat
Jedoch meldet die DB:

2022.12.22 11:23:51 3: dblog_THB_notify_1 return value: HASH(0x3d977a8)
2022.12.22 11:24:21 3: dblog_THB_notify_1 return value: HASH(0x52f1bb8)
2022.12.22 11:24:51 3: dblog_THB_notify_1 return value: HASH(0x4e7e480)

Das ist keine Meldung der DB sondern die eines Notify. Was im Notify ausgeführt wird wissen wir nicht, ist aber eine einfache Rückmeldung. verbose 2 hilft hier wenn klar ist dass das Notify richtig arbeitet.

Aber
Zitat
2022.12.22 11:30:41 2: DbLog dblog_THB - Error: DBI connect('database=fhem;host=db;port=3306','root',...) failed: Unknown MySQL server host 'db' (-2) at ./FHEM/93_DbLog.pm line 2487.

lohnt sich mal genauer zu lesen.  Du siehst doch hier steht " failed: Unknown MySQL server host 'db' ". D.h. der übergebene Name des MySQL Rechners ist "db" den das System nicht kennt bzw. nicht auflösen kann.
Du solltest deswegen mal deine Konfigurationsdatei (./configDB.conf) prüfen ob nicht bei dir host=db angegeben ist. Hier ist der Name des Hosts oder dessen IP Adresse anzugeben:

     connection => "mysql:database=fhemtest1;host=192.168.2.44;port=3306",

EDIT: hatte mich verschrieben

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

SusisStrolch

Ok, hab mal die geänderte Version eingebaut.
K
Mal schaun wann sich der Fehlerteufel wieder meldet.

Vielen Dank und Frohe Weihnachten!
Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch

DS_Starter

Ich wünsche allen schöne Festtage !

@SusisStrolch, mir ist noch etwas aufgefallen.

Das Attr DbLogValueFn setzt du in den Quellendevices, nicht im DbLog-Device. Zum Setzen einer Value-Funktion im DbLog-Device benutzt du das Attr valueFn.

Ich verbessere die commandref damit der Zusammenhang klarer wird.
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

SusisStrolch

Ah... das erklärt Einiges!

Vielen Dank für den Hinweis.
Synology DS1515+, 16GB RAM, 4x 6TB WD-Red
- Docker (FHEM), MariaDB, MariaDB10, Surveillance Station
Gateways: LCG miniCUL433, LCG miniCUL868, AVR-X4000, VU-Solo SE, Kodi
ESP8266: ESPEasy (S0-Counter, Temp/Hum), Sonoff TH, Sonoff 4ch

DS_Starter

Wie sieht es bis jetzt aus ?
Ich erwäge nach Weihnachten das Roll-Out vorzunehmen.
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

Jamo

Bei mir läuft alles stabil ohne Probleme - Daumen hoch!
Danke für die gute Arbeit!!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

DS_Starter

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

enno

Ich habe auch keine Probleme. Sehr schön! Super Arbeit!

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC

Frank_Huber

Alles bestens.
Go for it!

Und Danke für die Arbeit die diu da reinsteckst!

DS_Starter

Hallo zusammen,

vielen Dank für eure Rückmeldungen und für eure Mitarbeit in den Tests bzw. Unterstützung.
Danke an Rudi für die Unterstützung der SubProcess-Verwendung in der fhem.pl (Start Prio).

Ich habe jetzt die neue V eingecheckt und sie wird morgen früh im Update verteilt.
Eine Zusammenfassung der Änderungen für den User habe ich hier hinterlegt: https://forum.fhem.de/index.php/topic,130743.msg1253560.html#msg1253560

Es gibt zwar noch einges zu tun im DbLog, zum Beispiel die Erweiterung des SVG Editors.

Jetzt liegt der Fokus aber erstmal auf den Rollout der Version und die Abarbeitung möglicher Probleme die evtl. doch noch bei
den Usern auftreten.
Ich bin aber dank euch optimistisch.  :)

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

betateilchen

#148
Die Statusanzeige des DbLog in einer Raumübersicht sprengt bei mir den kompletten Bildschirm, wenn die Anzeige von "Connected" auf irgendwas mit "Another process... bla..." (das geht so schnell, dass ich die Meldung nicht lesen kann) wechselt.

Außerdem wäre es "schön", wenn diese Meldung

connection params saved into SubProcess. Connection to DB is established when it is needed

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

DS_Starter

Guten Morgen,

Die Meldung die du kurz siehst ist:

Another operation is in progress - data is stored temporarily (check with listCache)


Die Meldung kommt wenn neue Daten zum Schreiben an den Childprozess gesendet werden sollen, der vorherige Lauf
aber noch nicht abgeschlossen ist.
Wenn es nur sehr kurz präsent ist, dann ist es gerade so eine Grenzsituation denn normalerwiese kommt bei hinreichend schneller DB im Verhältnis zur Schreibfrequenz der Daten im synchronen Modus keine Meldung.

Ich kürze es etwas ein und gebe die Meldung auch zweizeilig aus wie auch dein Vorschlag bzgl. der anderen Meldung.
Ist eine gute Idee. Ich schaue nach ob ich noch mehr längere Meldungen habe, die setze ich auch gleich auf zweizeilig um.
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