[gelöst] Meldungen in DbRep unter verbose 3 selektieren

Begonnen von Rewe2000, 18 August 2024, 16:23:54

Vorheriges Thema - Nächstes Thema

Rewe2000

Hallo,

ich verwende aktuell über 100 DbRep devices um mir, mit diffValue Werte berechnen zu lassen. Bisher hatte ich bei den DbRep devices verbose 2 eingestellt, damit ich von Meldungen im Fhem Systemlog verschont werde und nur Warnungen und Fehler sehe.

Ich möchte aber gerne bei Abweichungen der Berechnung mit diffValue eine Meldung im Systemlog haben, wenn in der SQL-Datenbank darauffolgende Werte zu weit auseinanderliegen, deshalb verwende ich das Attribut diffAccept bei DbRep. Damit diese Meldungen aber im Systemlog landen, muss ich verbose auf 3 ändern, dies hat aber auch zur Folge, dass viele Meldungen beim Fhem Neustart in das Log geschrieben werden (wenn DbRep erstmalig ausgeführt wird). Pro DbRep sind dies 4 initial-Meldungen, bei mir über 400 Zeilen im Log.

2024.08.17 00:00:21 3: DbRep DBRep_E3DC_Netzeinspeisung_letzter_Tag - get initial structure information of database "fhem", remaining attempts: 3
2024.08.17 00:00:21 3: DbRep DBRep_E3DC_Netzeinspeisung_letzter_Tag - Connectiontest to database mysql:database=fhem;host=192.168.50.37;port=3306 with user Reinhard
2024.08.17 00:00:22 3: DbRep DBRep_E3DC_Netzeinspeisung_letzter_Tag - Index Report_Idx exists. Check ok
2024.08.17 00:00:22 3: DbRep DBRep_E3DC_Netzeinspeisung_letzter_Tag - Initial data information retrieved - total time used: 0.0124 seconds
2024.08.17 00:00:22 3: DbRep DBRep_E3DC_Netzeinspeisung_letzter_Tag - Connectiontest to db mysql:database=fhem;host=192.168.50.37;port=3306 successful
.......
2024.08.17 00:00:22 3: DbRep DBRep_E3DC_Netzbezug_letzter_Tag - get initial structure information of database "fhem", remaining attempts: 3
2024.08.17 00:00:22 3: DbRep DBRep_E3DC_Netzbezug_letzter_Tag - Connectiontest to database mysql:database=fhem;host=192.168.50.37;port=3306 with user Reinhard
2024.08.17 00:00:22 3: DbRep DBRep_E3DC_Netzbezug_letzter_Tag - Index Report_Idx exists. Check ok
2024.08.17 00:00:22 3: DbRep DBRep_E3DC_Netzbezug_letzter_Tag - Initial data information retrieved - total time used: 0.0190 seconds
2024.08.17 00:00:22 3: DbRep DBRep_E3DC_Netzbezug_letzter_Tag - Connectiontest to db mysql:database=fhem;host=192.168.50.37;port=3306 successful

Ich denke ich habe aber außerhalb des Moduls DbRep keine Möglichkeit dies zu beeinflussen.
Für mich würde es ausreichen, wenn die "Initial und Test" Meldungen >= verbose 4 ausgegeben würden, aber sicherlich gibt es da Gründe dafür, welche ich aktuell nicht erkennen kann.

Gibt es hier eine Möglichkeit außer über verbose diese Meldungen zu selektieren?

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

DS_Starter

Hallo Reinhard,

Du meinst sicherlich die diffValue Meldung

 DbRep $name -> data ignored while calc diffValue due to threshold overrun ...

Diese Ausgabe könnte ich vermutlich auf Level 2 senken. Die Definition zu verbose sagt, dass "2 - bedeutende Ereigbisse/Alarme" umfasst. Die Ingnorierung von Daten könnte man als bedeutendes Ereignis einstufen.

Wie oft kommt bei dir diese Meldung vor da du eine hohe Anzahl von Devices im Betrieb hast?
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

Rewe2000

#2
Hallo Heiko,

ja, genau um die diffValue Meldung geht es, diese wird bisher nur in verbose 3 oder größer ausgegeben. Wenn du diese in Loglevel 2 senken könntest, so wäre dies sehr hilfreich für mich.

Ich habe mir angewöhnt alle 2 Wochen den Raspi neu zu starten, da ich ohne Neustart das Problem habe, dass Fhem abstürzt, wenn ich einen Raum mit mehreren SVG-Charts öffne (vermutlich Speicherproblem). Diesen Absturz nehmen mir einige devices übel, welche Werte über die Integralfunktion berechnen. Hier stimmen dann meine berechneten kWh Werte in der SQL-datenbank nicht mehr, wenn Fhem nach dem Absturz wieder arbeitet.
Diese fehlerhaften Datenbankeinträge kann ich sehr gut über DbRep mit dem Attribut diffValue erkennen und entsprechend reagieren. Aber nur dann, wenn ich auch darauf hingewiesen werde, wenn diffValue anspricht, deshalb wollte auch ich die Meldung im Log haben.
Ich hatte nun alle DbRep devices auf von Loglevel 2 auf verbose 3 umgestellt, doch nach dem ersten Neustart von Fhem hatte ich über 400 "initial" Zeilen im Log, was mich stört.

Zitat von: DS_Starter am 18 August 2024, 16:54:07Wie oft kommt bei dir diese Meldung vor da du eine hohe Anzahl von Devices im Betrieb hast?
Nur wenige Male im Jahr.
Ich habe ca. 105 DbRep devices mit welchen ich über diffValue Werte berechne. Die Meldung, wenn diffValue zuschlägt, begrenzt sich auf Abstürze von Fhem welche mir nicht aufgefallen sind. Mit diesem Attribut lassen sich aber auch sehr gut die gespeicherten Werte auf Plausibilität überwachen.

Besser wäre es vermutlich, ich würde das Speicherleck in Fhem/Linux finden, damit es keine Abstürze mehr gibt, aber ich kann mit dem Neustart alle 2 Wochen bisher gut leben, ich verbinde diesen immer mit einem Update.

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

DS_Starter

#3
Bei so vielen Devices stört diese Meldung, das kann ich nachvollziehen. Ich habe sie mit verbose 3 drin, damit ein User bei der Neudefinition gleich sieht ob die Verbindung zur DB funktioniert oder nicht. Sonst sieht man es erst u.U. viel später. Alte DbRep-Hasen wissen das natürlich.

Also ich sehe eigentlich kein großes Thema den verbose Level dafür anzupassen. Als weitere Option käme für dich im Prinzip auch ein notify o.ä. in Frage in dem du auf "diff_overrun_limit_.*" reagierst und dir eine Mail/Message o.dgl. zusendest. Musst natürlich Events für dieses Reading erzeugen.
Vllt. ist dieser Weg sogar besser weil du nicht aktiv in das Log schauen musst?

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

Bezüglich der Abstürze könnte dir evtl. das Attr plotEmbed=0 in dem/den FHEMWEB Devices helfen.
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

Rewe2000

Hallo Heiko,

wenn es nicht irgendwo andere Nachteile nach sich zieht, so würde ich es begrüßen, wenn du die diffValue Meldung von Loglevel 3 in Loglevel 2 bringen könntest. Das mit den "initial" Meldungen bei Neustart könnte ja dann so bleiben wie es bisher ist. Ich beobachte mein Fhem Log sehr häufig und deswegen würde mir dies ausreichen.

Danke für den Tipp mit plotEmbed, bei mir war es bisher auf 2 gesetzt, ich werde plotEmbed=0 mal testen.

Danke
Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

DS_Starter

Habe es abgeändert und eingecheckt. Ist mogen früh im Update.

LG,
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

Rewe2000

Hallo Heiko,

vielen Dank für die schnelle Umsetzung.

Ich möchte auf DbRep nicht mehr verzichten, bei komplexen Berechnungen von Tages, Monats und Jahreswerten.
Danke für deine Mühe mit der SQL Anbindung von Fhem und den zuvorkommenden Service.

Gruß Reinhard
Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky