DbLog füllt reading, value und unit bei einem Device (KM200) nicht

Begonnen von fruemmel, 06 Januar 2015, 17:43:44

Vorheriges Thema - Nächstes Thema

fruemmel

Hallo,

ich habe das Problem, dass in meinem DbLog bei einem Gerät (KM200, Buderus-Anbindung aus contrib) das DbLog nur unvollständig gefüllt wird. Hier die Original-Events aus dem Event-Log:
2015-01-06 17:31:28 km200 mykm200 /system/sensors/temperatures/outdoor_t1: 3.5
2015-01-06 17:31:28 km200 mykm200 /system/sensors/temperatures/supply_t1: 49.8
2015-01-06 17:34:19 LaCrosse LaCrosse_10 temperature: 2.2


und hier der Auszug per sqlite3 aus der Tabelle history:
2015-01-06 17:31:28|mykm200|KM200|/system/sensors/temperatures/outdoor_t1: 3.5|||
2015-01-06 17:31:28|mykm200|KM200|/system/sensors/temperatures/supply_t1: 49.8|||
2015-01-06 17:34:19|LaCrosse_10|LACROSSE|temperature: 2.2|temperature|2.2|°C


Wie man sieht, wird bei dem Lacrosse-Sensor das DbLog korrekt gefüllt, bei dem KM200-Werten bleiben die Spalten reading, value und unit leer obwohl das Event richtig erfasst wird.
Kann das mit den "/" im reading-Namen zu tun haben? Oder liegt da noch ein Fehler im Modul KM200 vor?

Gruß Wolfgang

devil77

Hatte ich bei meinem Homematic Sensor auch. Ich denke es hängt damit zusammen das die Definition zu den Typen nicht in der dblog hinterlegt sind.
Damit weiß dblog nicht wie es die Werte interpretieren soll.
Wenn ich dblog richtig verstanden habe dann wird bei readings die "temperature" liefern unabhängig vom Gerätetyp die Datenbank richtig befüllt.
Aber bei deinen KM200 weiß dblog nicht wie es die Werte einfügen soll.
Hier hilft nur die 93_dblog selber anzupassen.

fruemmel

Zitat von: devil77 am 07 Januar 2015, 07:45:24
Hatte ich bei meinem Homematic Sensor auch. Ich denke es hängt damit zusammen das die Definition zu den Typen nicht in der dblog hinterlegt sind.
Damit weiß dblog nicht wie es die Werte interpretieren soll.

Danke, das war der entscheidende Hinweis. Ich habe mir gerade den Code angesehen.
In 93_DbLog.pm muss entweder in der Funktion DbLog_ParseEvent der Gerätetyp behandelt werden, oder es muss im jeweiligen Modul (also bei mir km200.pm) die Funktion <Typ>_DbLog_split($) vorhanden sein. Die gibt es, ist aber noch nicht mit Leben gefüllt.

Tobias

Korrekt ist es das im km200 Modul sauber zu implementieren

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

JoeALLb

Hinweis: Die aktuelle Testversion aus https://forum.fhem.de/index.php/topic,65860.240.html hat mit valueFN eine Möglichkeit, das Logging zu korrigieren.

--> wurde eingecheckt.-
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270