93_DbLog - Umstellung Log-Funktion auf non-blocking

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

Vorheriges Thema - Nächstes Thema

cw

Hallo zusammen,

kleine Frage, aber bitte nicht hauen.
Geht bei euch noch das neu anlegen von Plots? Ich habe ein frisch aufgesetztes System und mir werden wenn DbLog ausgewählt wird keine Sensoren angezeigt (sie auch hier: https://forum.fhem.de/index.php/topic,64384.0.html

Danke und Grüße ...Carsten
Grüße ...Carsten

Pyromane

Das selbst Problem hatte ich einige Beiträge vorher auch, die Lösung war:
Zitat von: DS_Starter am 06 Januar 2017, 22:43:48
Du mußt das Attribut DbLogType explizit auf "Current" bzw. "History/Current" setzen um die Current-Tabelle zu benutzen.

cw

Besten Dank,

den Beitrag habe ich wahrscheinlich zu schnell "überflogen"!

"C/H" brachte den Erfolg, auch wenn ich den Zusammenhang nicht wirklich verstehe.  :(
"C" wächst nicht (wirklich) und "H" stetig. Heißt das mit anderen Worten das in "C" die letzten Werte vorgehalten werden und danach bei Änderung in "H" verschoben werden? Sorry für die dumme Frage, aber ...
Grüße ...Carsten

Ellert

#153
DbLog ist jetzt aber sehr gesprächig geworden, für jedes von anderen Geräten erzeugtes Event-Paket wirft DbLog mindestens 2 neue Events heraus selbst wenn die anderen Geräte nicht geloggt werden.

Ist das beabsichtigt?

Zitat2017-01-08 18:30:48.315 CUL_HM LCSW4_Sw_03 set_on
2017-01-08 18:30:48.419 DbLog logdb CacheUsage: 0
2017-01-08 18:30:48.419 DbLog logdb CacheUsage: 0

2017-01-08 18:30:48.436 CUL_HM Heiz_Nacht set_on
2017-01-08 18:30:48.504 DbLog logdb CacheUsage: 0
2017-01-08 18:30:48.504 DbLog logdb CacheUsage: 0

2017-01-08 18:30:48.520 CUL_HM Heiz_Tag set_off
2017-01-08 18:30:48.589 DbLog logdb CacheUsage: 0
2017-01-08 18:30:48.589 DbLog logdb CacheUsage: 0

2017-01-08 18:30:48.607 DOIF Steuerung cmd_nr: 3
2017-01-08 18:30:48.607 DOIF Steuerung cmd: 3
2017-01-08 18:30:48.607 DOIF Steuerung cmd_event: BrennerStatus
2017-01-08 18:30:48.607 DOIF Steuerung Nacht
2017-01-08 18:30:48.660 DbLog logdb CacheUsage: 1
2017-01-08 18:30:48.660 DbLog logdb CacheUsage: 1
2017-01-08 18:30:48.694 DOIF BrennerStatus cmd_nr: 2
2017-01-08 18:30:48.694 DOIF BrennerStatus cmd: 2
2017-01-08 18:30:48.694 DOIF BrennerStatus 0
2017-01-08 18:30:48.763 DbLog logdb CacheUsage: 2
2017-01-08 18:30:48.763 DbLog logdb CacheUsage: 2

Wuppi68

nimm die Version aus dem letzten Postr von DS-Starter.

Dort werden die Set Extensions unterstützt.

Jetzt gibt es ein Event-on-change und auch Stateformat :-)

die CacheUsage würde ich aber noch auf jeden Fall in Exclude Log nehmen --> siehe meinen letzten Post
FHEM unter Proxmox als VM

DS_Starter

#155
Einer ist beabsichtigt wenn man ihn will . Sonst event-on .....
Der zweite kann nur vom DbLog selbst kommen wenn die Events durch die dblog_log Schleife laufen . Setz mal dblogexclude auf cacheusage. Dann sollte das nicht mehr so sein. Es kann in der Form nur dann der Fall sein wenn die zu loggen devices nicht durch Notifydev gefiltert werden. Auch mit dem Attribut excludedevs kannst ein ganzes device von der Verarbeitung ausnehmen, in dem Fall das DbLog device selbst.

Sorry , wortergänzung auf dem mobilteil
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

rudolfkoenig

Ich moechte von einem DbLog-Event bei jedem Log abraten, event-on-.* ist nicht soo bilig.
Wozu braucht man so ein Event?

DS_Starter

Zum Beispiel wenn man sich die Entwicklung des CacheUsages aufzeichnen möchte.
Ausschließen geht auch über das Attr excludedevs für das ganze DbLog device. Dann braucht man kein event-on...
Im synchronen Mode wird CacheUsage nicht erzeugt weil es das dann nicht gibt.
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

Ellert

Danke, dann werde ich mal auf excludedevs umstellen.

ToKa

Habe es gerade mit excludeDevs probiert, aber es werden immer noch events generiert!
RaspberryPi3 mit RaZberry2 und Conbee II
Fibaro: FGWPE/F-101 Switch & FIBARO System FGWPE/F Wall Plug Gen5, FGSD002 Smoke Sensor
EUROtronic: SPIRIT Wall Radiator Thermostat Valve Control
Shelly2.5 Rollladenaktoren
Zipato Bulb 2, Osram und InnrLight

Ellert

#160
Zitat von: DS_Starter am 08 Januar 2017, 19:29:17
Zum Beispiel wenn man sich die Entwicklung des CacheUsages aufzeichnen möchte.
Ausschließen geht auch über das Attr excludedevs für das ganze DbLog device. Dann braucht man kein event-on...
Im synchronen Mode wird CacheUsage nicht erzeugt weil es das dann nicht gibt.

Ich habs umgestellt, cacheusage kommt immer noch, aber nur einmal pro Geräte-Event.

Und wenn ich lese, dass event-on... nicht billig ist, dann plädiere ich dafür die exzessive Eventerzeugung als OptIn vorzusehen.

30% der Events werden von DbLog erzeugt.

Zitat2017-01-08 19:45:50.464 DOIF TempWZvirtual_di cmd: 1
2017-01-08 19:45:50.464 DOIF TempWZvirtual_di cmd_event: SHT21
2017-01-08 19:45:50.464 DOIF TempWZvirtual_di cmd_1
2017-01-08 19:45:50.514 DbLog logdb CacheUsage: 7
2017-01-08 19:45:50.536 I2C_SHT21 SHT21 temperature: 19.96
2017-01-08 19:45:50.536 I2C_SHT21 SHT21 dTdt: -1.17918066214531
2017-01-08 19:45:50.536 I2C_SHT21 SHT21 result_temperature_linreg: -0.958145
2017-01-08 19:45:50.764 DbLog logdb CacheUsage: 7
2017-01-08 19:45:50.779 PRESENCE AVRan absent
2017-01-08 19:45:50.779 PRESENCE AVRan presence: absent
2017-01-08 19:45:53.229 DbLog logdb CacheUsage: 0
2017-01-08 19:45:53.229 DbLog logdb NextSync: 2017-01-08 19:46:23
2017-01-08 19:45:53.229 DbLog logdb connected
2017-01-08 19:45:53.494 DbLog logdb connected
2017-01-08 19:45:53.735 DbLog logdb CacheUsage: 0

2017-01-08 19:45:53.749 PRESENCE LaptopAn present
2017-01-08 19:45:53.749 PRESENCE LaptopAn presence: present
2017-01-08 19:45:53.873 DbLog logdb CacheUsage: 3
2017-01-08 19:45:53.888 I2C_BMP180 BMP180 T: 20.3 P: 1028 P-NN: 1029
2017-01-08 19:45:53.888 I2C_BMP180 BMP180 temperature: 20.3
2017-01-08 19:45:53.888 I2C_BMP180 BMP180 pressure: 1028
2017-01-08 19:45:53.888 I2C_BMP180 BMP180 pressure-nn: 1029

DS_Starter

#161
Excludedevs mit dem DbLog device im argument. Hmm ... Dann werden noch cacheusage Events erzeugt wenn cacheeiträge der zu loggenden device erfolgen. Wenn event-on .. wie Rudi geschrieben hat nicht gut ist kann ich für cacheusage die eventerzeugung nur generell auf 0 setzen bzw. Wie ellert geschrieben hat mit einem ATR im Bedarfsfall zuschaltbar zu machen was wohl das Beste wäre.

Edit: wenn ich nachher wieder zu Hause bin sehe ich diese Möglichkeit vor
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

Ellert

Zitat von: DS_Starter am 08 Januar 2017, 19:57:38
Excludedevs mit dem DbLog device im argument. Hmm ... Dann werden noch cacheusage Events erzeugt wenn cacheeiträge der zu loggenden device erfolgen. Wenn event-on .. wie Rudi geschrieben hat nicht gut ist kann ich für cacheusage die eventerzeugung nur generell auf 0 setzen bzw. Wie ellert geschrieben hat mit einem ATR im Bedarfsfall zuschaltbar zu machen was wohl das Beste wäre.

Ja, OptIn wäre schön. Auch NextSync und connected würde ich ein/abschaltbar machen, wirklich notwendig wären Events im Fehlerfall, wenn die Datenbank nicht erreichbar ist oder ein Timeout abgelaufen ist oder bei Cache-Überlauf.

DS_Starter

Nextsync kommt ja relativ selten, reicht da nicht event-on..  ?  Aber wenn ich schonmal dabei bin ...
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

der-Lolo

Ich bin noch nicht sicher ob es hierher gehört,
hat seit dem update schonmal jemand ein neues Device angelegt und zum dblog hinzugefügt? Wenn ich versuche dieses neue Device in einen SVG-Plot zu bringen wird es mir nicht vorgeschlagen...
Über sequel pro kann ich aber sehen das die Werte geschrieben werden, im SVG-Editor tut sich nix.