DbLog will nicht so wie ich will

Begonnen von daubsi, 08 Dezember 2015, 22:54:55

Vorheriges Thema - Nächstes Thema

daubsi

Hallo,

ich habe ein Problem mit meinem DbLog in FHEM.
Zunächst: Das FileLog für meine Devices funktioniert einwandfrei und es werden Loglines geschrieben: Daten bzw. Events sind also da.

Problem Nummer 1:
Es werden keine neuen Daten geschrieben, die Daten die in der History bzw. Current Tabelle sind, sind mehrere Monate alt.
Warum gibt es keine Inserts mehr? Was kann die Ursache sein?

Problem Nummer 2:
Für 2 Devices wo ich ein eigenes Modul für geschrieben habe, habe ich seltsame Queries im MySQL Log wie: "SELECT [...] FROM history WHERE 1=1 AND DEVICE  = '4' AND READING = 'LandisGyr.FORWARD\x3a' AND TIMESTAMP >[...]"
Wie kommt Fhem denn auf Device = '4' und beim Reading auf das '\x3a' am Ende?

Meine fhem.cfg:

efine LandisGyr MBus ttyUSB1 1 /usr/local/bin/GetLandisGyr.sh
attr LandisGyr deltaReading FLOWPERHOUR
attr LandisGyr event-on-change-reading state
attr LandisGyr event-on-update-reading state
attr LandisGyr room Cellar
define FileLog_LandisGyr FileLog ./log/LandisGyr-%Y.log LandisGyr
define LandysGyr_DbLog DbLog ./db.conf LandysGyr:(volume|power|flowperhour|energy).*

Meldungen beim Starten:

2015.12.08 22:47:01 3: Connecting to database mysql:database=fhem;host=bigigloo;port=3306 with user fhemuser
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established for pid 22744
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established
2015.12.08 22:47:01 3: Connecting to database mysql:database=fhem;host=bigigloo;port=3306 with user fhemuser
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established for pid 22744
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established
2015.12.08 22:47:01 3: Connecting to database mysql:database=fhem;host=bigigloo;port=3306 with user fhemuser
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established for pid 22744
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established
2015.12.08 22:47:01 3: Connecting to database mysql:database=fhem;host=bigigloo;port=3306 with user fhemuser
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established for pid 22744
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established
2015.12.08 22:47:01 3: Connecting to database mysql:database=fhem;host=bigigloo;port=3306 with user fhemuser
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established for pid 22744
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established
2015.12.08 22:47:01 3: Connecting to database mysql:database=fhem;host=bigigloo;port=3306 with user fhemuser
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established for pid 22744
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established
2015.12.08 22:47:01 3: Configured MBus for HRIDataUnit: Device: ttyUSB1, MBusID: 10, MBus-Script: /usr/local/bin/GetHRIDataUnit.sh
2015.12.08 22:47:01 3: Configured MBus for LandisGyr: Device: ttyUSB1, MBusID: 1, MBus-Script: /usr/local/bin/GetLandisGyr.sh
2015.12.08 22:47:01 3: Connecting to database mysql:database=fhem;host=bigigloo;port=3306 with user fhemuser
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established for pid 22744
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established
2015.12.08 22:47:01 3: Connecting to database mysql:database=fhem;host=bigigloo;port=3306 with user fhemuser
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established for pid 22744
2015.12.08 22:47:01 3: Connection to db mysql:database=fhem;host=bigigloo;port=3306 established

(Ich habe zig DbLogs definiert für meine anderen Devices)

Jemand ne Idee?

marvin78

Erster Hinweis: Bitte verwende hier im Forum Code-Tags. Das da kann keiner lesen.

Zweiter Hinweise: Statt Auszügen aus der Config, sind lists von den Devices oft wesentlich hilfreicher (dann bitte auch in Code-Tags).

Erste Frage: Warum definierst du DBLog für jedes Device einzeln? Das ist gar nicht nötig.

Zweite Frage: Warum erwartest du, dass events geloggt werden, wenn du beim Device


event-on-change-reading state
event-on-update-reading state


gesetzt hast? Dann können die Readings volume|power|flowperhour|energy nicht geloggt werden. Bitte mit den Attributen in der commandref beschäftigen.

daubsi

Danke für den Hinweis, ich werde sie für die Zukunft beherzigen.
Ich bin inzwischen von DbLog auf Syslog->Splunk umgestiegen, damit funktioniert es auch problemlos.
Das bei on-(change|update)-reading nicht geloggt wird, war mir nicht bekannt. Danke für die Info.