DbExclude DbInclude mit 2 DbLog Datenbanken

Begonnen von Jewe, 18 März 2018, 22:22:13

Vorheriges Thema - Nächstes Thema

Jewe

Hallo ich habe 2 DbLog Datenbanken in denen ich wichtige und unwichtiges trenne. Das funktioniert soweit auch gut.
Es kommen nun ein paar Devices und Readings dazu und da dachte ich es mit DbExclude DbInclude einfacher wäre als mit der definition im DbLog Device. Jedoch funktioniert es glaube ich nicht.

- Woher weis ich in welche DbLog Datenbank die Daten geschrieben werden?
- Kann ich das beeinflussen ?
- Oder funktioniert das gar nicht mit mehreren Datenbanken ?

Danke, Jens

DS_Starter

#1
Hallo Jens,

du kannst mehrere Datenbanken benutzen.
Allerdings wirken die Device-Attribute DbExclude bzw. DbInclude immer bei allen/beiden DbLog-Devices.
Da z.B. bei DbLogSelectionMode = 'Include' die in DEF hinterlegten Regex außer Kraft gesetzt sind, würden die Daten jeweils in jeder der DB's gespeichert, sofern über das Device-Attribut DbInclude zugelassen.

Wenn du mehrere DB's benutzt (wie ich auch), kannst du es im DEF-Regex auseinandersteuern bzw. ergänzend dazu das DbLog-Attribut "excludeDevs" spezifisch für jedes DbLog-Device benutzen um bestimmte Device/Reading-Kombinationen NICHT zu loggen.
In diesem Attribut kannst du devspec benutzen !

Also wenn du im DEF z.B. alles erlaubst (.*:.*) bzw. DbLogSelectionMode = 'Include' mit DbInclude in den Devices nutzt, kannst du mit diesem Attribut in dem jeweiligen DbLog das Logging bestimmter Device-TYPEN ausschließen.

z.B.


attr <name> excludeDevs TYPE=DbLog,TYPE=SSCam


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

Jewe

Vielen Dank Heiko,
jetzt habe ich es ein wenig besser verstanden. Muss das dann mal in Ruhe probieren.

Gruss Jens