DB-Logging: Spalten stimmen nicht

Begonnen von Stefanbbq, 31 Dezember 2017, 14:54:07

Vorheriges Thema - Nächstes Thema

Stefanbbq

Hallo,

beim Versuch, bestimmte Daten per Datenbank zu loggen, hänge ich an folgendem Problem fest:
Ich logge u.a. Heizkörperthermostate. Dazu habe ich, wie in https://wiki.fhem.de/wiki/DbLog  beschrieben, eine MySQL-Datenbank angelegt und die log-DB definiert:

define logdb DbLog ./db.conf .*:(temperature|.*.desired-temp).*

Leider stimmen die Spalten der Aufzeichnung für desired-temp nicht:

EVENT: state: desired-temp: 21.0 C
READING: state
VALUE: desired-temp
UNIT: 21.0 C

"state" wird als (zusätzliche) Spalte erkannt und damit verschiebt sich alles um eine Spalte nach rechts. Nur wie bekomme ich das korrekt hin?

Vielen Dank,
Stefan

KernSani

Die regEx passt meines Erachtens nicht, sollte wir folgt aussehen:

define logdb DbLog ./db.conf .*:(temperature|desired-temp).*

das Verhalten ist trotzdem komisch...

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

DS_Starter

vermutlich hast du stateFormat auf desired-temp gesetzt. Es sollte aber desired-temp als Reading selbst geloggt werden. Event-on-xxxx setzen.
Das Attribut addStateEvent =0 könnte dir auch helfen.

LG und guten Rutsch,
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

Stefanbbq

Hallo,

@Oli: Wie Du es vorgeschlagen hast, bekam ich keine desired-temp-Werte. Hab's nochmal getestet, bleibt leider dabei.

@Heiko: Werde ich gleich testen und berichten...

Viele Grüße,
Stefan

Stefanbbq

Hallo Heiko,

stateFormat ist nicht gesetzt, habe ich so belassen. addStateEvent wird mir nicht angeboten, bei direkter Eingabe: unknown attribute addStateEvent. Kannst Du mir auf die Sprünge helfen, was Du mit "Event-on-xxxx setzen" meinst?

Vielen Dank,
Stefan

DS_Starter

Hi Stefan,

Addstatent musst du im DbLog setzen.
Die event-on-xxxx sind die Attribute event-on-update oder event-on-change-reading. Die setzt du im zu loggenden Device. Nur die Readings die Events liefern können auch geloggt werden.
Aber Olis Hinweis sollte auch passen sofern addstateevent 0 gesetzt ist.

Vg
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

Stefanbbq

Hallo Heiko,

super, das war's! addStateEvent war zwar in logdb nicht gesetzt, nachdem ich es aber auf 0 gesetzt habe und Olis RegExp-Variante verwendete, läuft's.

Spitze, vielen Dank und einen guten Rutsch,
Stefan