93_DbLog - Umstellung Log-Funktion auf non-blocking

Begonnen von DS_Starter, 18 Dezember 2016, 20:03:56

Vorheriges Thema - Nächstes Thema

Xcoder

Ich habe hier die Error: DBD::mysql::db begin_work failed Meldungne mit Perl 5.24.1 und DBD::mysql 4.041. DbLog 2.8.2 ist im synchronen Modus.


@DS_Starter: Wo finde ich den 2.8.5? Ist das nicht im SVN?

DS_Starter

Also wenn cacheEvents nicht gesetzt ist, wird auch die Anzeige nicht mehr aktualisiert. Hast du mal den Brower refresht und geschaut ob sich cacheEvents ändert ? Ansonsten mit verbose 5 schauen ob du den Start des DB-processing im Log findest:

2017.01.09 22:40:51.055 5: DbLog LogDB -> ################################################################
2017.01.09 22:40:51.056 5: DbLog LogDB -> ###              New database processing cycle               ###
2017.01.09 22:40:51.056 5: DbLog LogDB -> ################################################################
2017.01.09 22:40:51.056 5: DbLog LogDB -> MemCache contains 17 entries to process
2017.01.09 22:40:51.056 5: DbLog LogDB -> MemCache contains: 2017-01-09 22:40:09|SMA_Energymeter|SMAEM|Bezug_WirkP_Zaehler_Diff: 0.0117|Bezug_WirkP_Zaehler_Diff|0.0117|
2017.01.09 22:40:51.056 5: DbLog LogDB -> MemCache contains: 2017-01-09 22:40:09|SMA_Energymeter|SMAEM|Bezug_WirkP_Kosten_Diff: 0.0025|Bezug_WirkP_Kosten_Diff|0.0025|
2017.01.09 22:40:51.056 5: DbLog LogDB -> MemCache contains: 2017-01-09 22:40:09|SMA_Energymeter|SMAEM|Einspeisung_WirkP_Zaehler_Diff: 0|Einspeisung_WirkP_Zaehler_Diff|0|
Proxmox+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

@XCoder. die V2.8.5 findest du hier im Beitrag #167.  Tobias wird sie heute sicherlich noch einchecken.
Proxmox+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

Newbie

So hab jetzt etwas intensiver rumprobiert.

Ergebnis 1 - warum heute Nachmittag nicht gelogt wurde ist nicht mehr festzustellen

Ergebnis 2 - es wird zwar korrekt in die Datenbak geschrieben, aber die Anzeige von "CacheUsage" wird nach dem ersten Interval nicht mehr aktualisiert (mit Linux,Windows sowie verschiednene Browser probiert). Lade ich die Seite neu steht wieder einmal der aktuelle Wert drin. Und wie schon geschrieben mit cacheEvent=1 geht´s.

vg Jens
fhem-6.1 (configDB+DbLog)  auf ODROID-XU4

DS_Starter

Hallo Jens,

ZitatLade ich die Seite neu steht wieder einmal der aktuelle Wert drin. Und wie schon geschrieben mit cacheEvent=1 geht´s.

Ja das ist normal wenn die Eventgenerierung ausgeschaltet ist wird das Reading nicht mehr automatisch aktualisiert. Die nicht erzeugten Events sollen die Systemressourcen schonen, sind aber zuschaltbar wenn der User es will/braucht. Nebeneffekt ist dass dann die Anzeige wieder refresht wird und automatisch aktualisieren.

Grüße
Heiko
Proxmox+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

Newbie

Danke für die Info,

bleibt also nur das ungeklärte Problem vom Nachmittag. Wobei ich den Eindruck habe, das es sinnvoll ist bei Einstellungsänderungen am DbLog-Modul nicht nur FHEM neu zu starten sondern das komplette System.

Sorry für die Aufregung und DANKE für deine Arbeit hier.


vg Jens
fhem-6.1 (configDB+DbLog)  auf ODROID-XU4

DS_Starter

#201
Hallo,

anbei die V2.8.6.
Es sollte das Prob "mysql::db begin_work failed: Turning off AutoCommit failed" was bei XCoder immer mal auftritt, nicht mehr in Erscheinung treten.
Bitte Rückmeldung ob ok.

EDIT: das geschilderte Problem dass nach reducelog der asynchrone Logmodus nicht fortgeführt wird sollte auch behoben sein.

VG
Proxmox+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

Tobias

2.8.6 ist jetzt eingecheckt.
@DS_Starter, dachte du machst das gestern ;)
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

DS_Starter

#203
Morgen Tobias,

danke  :)  War gestern noch zeimlich mit den User-Issues beschäftigt und darüber ganz untergegangen ... thx !

Wünsche dir einen schönen Tag ... Arbeit ruft...
Grüße
Heiko
Proxmox+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

JoeALLb

Hallo Heiko,

Zitat von: DS_Starter am 09 Januar 2017, 18:48:52
das Beschneiden der Feldlängen vor dem Schreiben in die DB (für nicht SQLite-DB's) gab es bereits in dieser Form in der bisherigen DbLog-Version und wurde aus Kompatibilitätsgründen auch so übernommen.
Möglicherweise ist es nicht (mehr) notwendig und könnte entfernt werden. Aber das würde ich nur nach entsprechenden Tests gemeinsam mit euch tun.

Das wurde aber in der (nahen) Vergangenheit nicht ausgeführt. Bisher reichte es völlig aus, die Datenbank-Spalte zu verbreitern.
Erst seit den jüngsten Updates muss dazu noch die Breite im Modul mit geändert werden.
Warum, konnte ich leider anhand der Diffs des Moduls nicht finden.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Wuppi68

als Ad Hoc Vorschlag:

Sollte man die Feldlängen nicht als Optionales Attribut einführen?
FHEM unter Proxmox als VM

ioT4db

Zitat von: Wuppi68 am 10 Januar 2017, 09:41:33
als Ad Hoc Vorschlag:

Sollte man die Feldlängen nicht als Optionales Attribut einführen?

den Vorschlag finde ich gut!

Habe gestern die Feldlängen im Modul angepasst und nach FHEM-restart gings noch nicht. Hab dann Raspi komplett neugestartet und seit dem geht es wunderbar, so wie "früher".

Um nun nicht nach jedem FHEM-Update die Datei neu editieren zu müssen, wäre ein Attribut echt klasse.

Btw. gibt es eine Möglichkeit ein Modul explizit vom Update auszuschließen?

Grüße...
FHEM auf Synology mittels Docker,  Jeelink-Clone 1x für PCA301 und 1x für Lacrosse, THZ304SOL, Homematic: CUL_HM / M-MOD-RPI-PCB, Pushover, Xiaomi s50

betateilchen

Zitat von: friesenjung am 10 Januar 2017, 13:12:18
Btw. gibt es eine Möglichkeit ein Modul explizit vom Update auszuschließen?

Ja. Indem man die Doku zu "update" liest, da steht sowas drin.

help update

Und dann Augenmerk auf den Abschnitt mit den Attributen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: Wuppi68 am 10 Januar 2017, 09:41:33
als Ad Hoc Vorschlag:

Sollte man die Feldlängen nicht als Optionales Attribut einführen?

Ich wäre eher dafür, das in der Konfigurationsdatei, die man ohnehin für DbLog braucht, zu hinterlegen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

JoeALLb

Zitat von: betateilchen am 10 Januar 2017, 13:16:26
Ich wäre eher dafür, das in der Konfigurationsdatei, die man ohnehin für DbLog braucht, zu hinterlegen.

Ich wäre eher dafür, (sobald es denn überhaupt notwendig ist),
diese Information bei der Initialisierung direkt aus der DB abzufragen. Nur so ist sichergestellt, dass die beiden Werte übereinstimmen.
Bei SQLite und bei MySQL sehe ich jedoch keinerlei Notwendigkeit dafür, diese Strings schon im Modul zu kürzen.

Bei MySQL ist standardmäßig STRICT_TRANS_TABLES und STRICT_ALL_TABLES disabled, was das automatische Kürzen beim Insert erlaubt.
Der Benutzer muss es also bewußt deaktivieren.

Vielleicht sollten wir bei der Initialisierung auf ein paar wenige Standardeinstellungen prüfen und eine Meldung anzeigen, sofern diese nicht den Anforderungen von DbLog entspricht....
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270