FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Stefanbbq am 31 Dezember 2017, 14:54:07

Titel: DB-Logging: Spalten stimmen nicht
Beitrag von: Stefanbbq am 31 Dezember 2017, 14:54:07
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 (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
Titel: Antw:DB-Logging: Spalten stimmen nicht
Beitrag von: KernSani am 31 Dezember 2017, 15:29:26
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
Titel: Antw:DB-Logging: Spalten stimmen nicht
Beitrag von: DS_Starter am 31 Dezember 2017, 15:48:20
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
Titel: Antw:DB-Logging: Spalten stimmen nicht
Beitrag von: Stefanbbq am 31 Dezember 2017, 16:03:47
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
Titel: Antw:DB-Logging: Spalten stimmen nicht
Beitrag von: Stefanbbq am 31 Dezember 2017, 16:14:14
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
Titel: Antw:DB-Logging: Spalten stimmen nicht
Beitrag von: DS_Starter am 31 Dezember 2017, 16:23:23
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
Titel: Antw:DB-Logging: Spalten stimmen nicht
Beitrag von: Stefanbbq am 31 Dezember 2017, 17:10:06
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