DbLog - Umstellung Betrieb auf SubProcess -> Tester gesucht

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

Vorheriges Thema - Nächstes Thema

thburkhart

die gplot.cfgs habe ich mit einenem Namen versehen...
# Created by FHEM/98_SVG.pm, 2015-02-05 17:43:13
# THB 2016-06-12
# THB 2020-03-30


set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL> - <L1> '
set ytics
set y2tics
set grid ytics y2tics
set ylabel "Humidity (%)"
set y2label "Temperature in C"


set yrange [0:100]
# set y2range [-10:40]


#FileLog 4:temperature:10:
#FileLog 6:humidity:50:

#DbLog <SPEC1>:temperature:10:
#DbLog <SPEC1>:humidity:50:


plot "<IN>" using 1:2 axes x1y2 title 'Temperature' ls l0fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Humidity' ls l2 lw 1 with lines
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

enno

Einfacher FHEM Anwender auf Intel®NUC

thburkhart

bingo das wars :-)

danke sehr !!!!!

seltsamerweise lief das mit der alten db prima

1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

thburkhart

andere Frage:
auf dem Android SmartPhone  will sich die App mit denselben Zugangsdaten nicht mit der FHEM Datenbank verbinden.
Database FHEM
User fhemuser

woran könnte das liegen ?
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

betateilchen

Zitat von: thburkhart am 11 Dezember 2022, 17:11:42

#FileLog 4:temperature:10:
#FileLog 6:humidity:50:

#DbLog <SPEC1>:temperature:10:
#DbLog <SPEC1>:humidity:50:


Die Zeilen mit #FileLog am Anfang solltest Du entfernen, wenn alle Werte aus der Datenbank kommen.

In den gplot Dateien selbst zu editieren, sollte man nur tun, wenn man wirklich weiß und verstanden hat, WAS man da tut.
-----------------------
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: thburkhart am 11 Dezember 2022, 17:33:25
woran könnte das liegen ?

Vielleicht daran, dass die Datenbank nur von localhost aus erreichbar ist?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

thburkhart

Zitat von: betateilchen am 11 Dezember 2022, 18:18:38
Vielleicht daran, dass die Datenbank nur von localhost aus erreichbar ist?

das Smartphone ist doch wie mein Laptop im selben heimischen Netz ..  ?
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

DS_Starter

@SusisStrolch

Zitat
Noch ne Kleinigkeit...
Beim FHEM Restart (sei es via "systemctl" oder "shutdown restart") verfällt FHEM erst einmal in eine "Schweigeminute".
Es gibt für Module die das benötigen die Möglichkeit den Shutdown zu verzögern (https://wiki.fhem.de/wiki/DevelopmentModuleIntro#X_DelayedShutdown).
DbLog ist eines davon um den Abschluß der letzten DB-Aktivitäten abzuwarten. Siehe auch das globale Attr maxShutdownDelay.
Im Logfile sieht man welche Devices den Shutdown verzögern, z.B.:


2022.12.11 20:59:41.870 1: Server shutdown delayed due to SynCalTasks,SSCam.Keller,SynCal3,SynCal1,CamTER,SDS1,CamHE1,SynCal2,SSCam.Terrasse,SSCam.Hauseingang,CalHaus,SSCam.Carport,LogSQLITE1,SynCal.Abfall,SynCal,LogDB,SSCam.GiebelWest for max 10 sec
2022.12.11 20:59:41.886 2: DbLog LogSQLITE1 - Last database write cycle done
2022.12.11 20:59:41.887 2: DbLog LogSQLITE1 - stopping Subprocess >8567< ...
2022.12.11 20:59:41.890 2: DbLog LogSQLITE1 - Subprocess >8567< stopped
2022.12.11 20:59:41.907 2: DbLog LogDB - Last database write cycle done
2022.12.11 20:59:41.908 2: DbLog LogDB - stopping Subprocess >8564< ...
2022.12.11 20:59:41.911 2: DbLog LogDB - Subprocess >8564< stopped


Ich habe den Prozess im Modul jetzt noch etwas angepasst und ins contrib geladen.

Zitat
Grade mal die 5.5.3 probiert - die zeigt noch immer das gleiche Verhalten bei einem mysql-Fehler.

Ich glaube mit der Fehlerbehandlung komme ich langsam an den Rand des Möglichen. "Pferdefuß" ist wie das DBI den Fehler zurückgibt.
In der V5.5.4 im contrib ist die Ausgabe in das Logfile im Fehlerfall erweitert.
So richtig gefällt mir das nicht und ich denke noch darüber nach die Behandlung doch noch in unserem Sinne abzuändern.

Trotzdem die V5.5.4 bitte mal testen wegen den beiden Änderungen.
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

@SusisStrolch,

für dein Testszenario habe ich dir eine V  93_DbLog_V5.5.5_Test ins contrib geladen.
Bitte teste sie mit deinen fehlerhaften Events. Umbenennen natürlich.

Interessant wäre das Verhalten mit Attr commitMode = ac:on_ta:off sowie dem Standard basic_ta:on.

LG
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

Ich habe die Serialisierung von JSON auf Storable umgestellt.

Das hat m.M. nach zwei wesentliche Vorteile.
JSON muss installiert werden. Es ist zwar davon auszugehen dass es bei den allermeisten Usern der Fall ist, sicher ist es wahrscheinlich nicht.
Storable ist bei aktuellem Perl 5 built-In.

Storable ist bei encode/decode signifikant schneller als JSON::(XS) -> https://github.com/trizen/perl-scripts/blob/master/Benchmarks/json_vs_storable.pl
Das sollte sich beim serialisieren/deserialisieren von größeren Datenmengen ausspielen.

Ist im contrib upgedated.
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

@SusisStrolch ... gibt es noch irgendwelche Testergebnisse mit deinem Szenario ?

Ansonsten wäre die aktuell im contrib liegende Version soweit fertig um damit life gehen zu können falls mir nicht noch etwas auf/einfällt.
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

thburkhart

auch bei Euerm LaienJungspunt-Tester läuft alles prima :-)

nach dem Startschuss nehme ich die Zeile
attr global exclude_from_update 93_DbLog.pm

wieder raus ?

1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

DS_Starter

Zitat
nach dem Startschuss nehme ich die Zeile

attr global exclude_from_update 93_DbLog.pm

wieder raus ?
Ja, aber ich schreibe vorher wenn ich die neue V offiziell einchecke.
Paar Tage geben wir uns noch damit die User, die so mutig waren mitzumachen, nochmal ihre Meinung oder Hinweise abgeben können.
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

Sany

#103
Kurzes Feedback:
habe die 5er Version auf einem Testsystem installiert, fast alle Versionen, die Du bereitgestellt hast. Lief jedesmal völlig ohne Probleme, keinerlei Fehlermeldungen im Log. Vor 3 Tagen habe ich dann die neueste Version (5.5.6) auf mein "Produktiv"-system losgelassen, auch hier keinerlei Fehler im Log, die DB arbeitet korrekt (Daigramme haben die aktuellen daten etc.)
Da ich immer noch nicht dazu kam, mich in DBrep reinzufuchsen bin ich momentan eher Typ Sammler, die DB ist bereits 10,5GB groß geworden. Performancemäßig kann ich nichts sagen, flutscht alles mindestens so gut wie vorher.
Attribute sind so gesetzt:

ZitatDbLogType History
asyncMode 1
bulkInsert 1
colEvent 0
event-on-change-reading state
useCharfilter 1
Ich denke das wäre so richtig für alles im Sub-prozess.
Tolle Arbeit für einen geschmeidigen Übergang zur neuesten Version. Vielen Dank dafür!


Gruß


Sany
fhem auf Zotac ZBox nano als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....

Frank_Huber

Gestern alle Instanzen auf die neue Version hochgezogen.
keine negativen Beobachtungen. alles läuft wie gewohnt.