HI,
ich habe einen reading mit CUL: WMBUS_WEP_00000043_1_27
1_value 23.5
2_value 56
...
ich mocte log file im diesem format:
2016-03-15 00:25:26;WMBUS_WEP_00000043_1_27_TEM;temp;fhem;23.5;C
2016-03-15 00:25:31;WMBUS_WEP_00000043_1_27_HUM;humidity;fhem;56;%
es geht das:
2016-03-15 00:25:26 WMBUS_WEP_00000043_1_27 1_value: 23.5
2016-03-15 00:25:26 WMBUS_WEP_00000043_1_27 2_value: 56
wie konte ich TEM und C und HUM un % dazu schreiben?
Danke.
Das logformat (siehe Filelog) ist relativ fest, meinem Verständnis nach wäre ein logformat mit ; als Trennzeichen nur ausserhalb von Filelog zu erreichen. Also zum Beispiel durch externe Programme (sed/gawk/etc).
Wenn es nur um die Einheiten % / C geht, so könnten Dir user readings helfen, die entsprechend den Wert um die EInheiten ergänzen. Natürlich müssten die normalen Readings dann noch vom log ausgeschlossen werden (Stichwort: event-on-update-reading etc)
Ich habe mit redings probiert, aber ich kann nur enen userReadings definieren. Ich brauche 2 oder mehr userReadings per enen CUL sensor WMBUS_WEP_00000043_1_27.
Wie konnte ich das machen?
Ich habe jetzt fur einen so definiert mit dummy fur enen wert (TEM)
attr CUL_0 rfmode WMBus_S
define WMBUS_WEP_00000043_1_27 WMBUS WEP 00000043 1 27
attr WMBUS_WEP_00000043_1_27 IODev CUL_0
attr WMBUS_WEP_00000043_1_27 room WMBUS
define get_enloger_value_WMBUS_WEP_00000043_1_27 at +*00:01:00 { my $d= "temp fhem ".ReadingsVal("WMBUS_WEP_00000043_1_27","1_value",0)." C";; fhem("set WMBUS_WEP_00000043_1_27_TEM $d")}
define FileLog_meter_fhem FileLog ./log/meter_fhem.log WMBUS_WEP_00000043_1_27_TEM
attr FileLog_meter_fhem logtype text
define FileLog_sensor_WMBUS FileLog ./log/sensor_%Y%m%d_WMBUS.log WMBUS_WEP_00000043_1_27:1_unit:.*|WMBUS_WEP_00000043_1_27:1_value:.*|WMBUS_WEP_00000043_1_27:2_unit:.*|WMBUS_WEP_00000043_1_27:2_value:.*
attr FileLog_sensor_WMBUS logtype text
define WMBUS_WEP_00000043_1_27_TEM dummy
Mit serReadings wahre es schoner aber ich kann nur einen definieren fur WMBUS_WEP_00000043_1_27.
Konnte ich mehr user readings haben?
attr WMBUS_WEP_00000043_1_27 userReadings TEM {ReadingsVal("WMBUS_WEP_00000043_1_27","1_value",0))." C"}
attr WMBUS_WEP_00000043_1_27 userReadings HUM {ReadingsVal("WMBUS_WEP_00000043_1_27","2_value",0))." %"}
Aus der commanref:
ZitatuserReadings
A comma-separated list of definitions of user-defined readings.
Also:
attr WMBUS_WEP_00000043_1_27 userReadings TEM {ReadingsVal("WMBUS_WEP_00000043_1_27","1_value",0))." C"},HUM {ReadingsVal("WMBUS_WEP_00000043_1_27","2_value",0))." %"}
Jahrelang haben wir darum gekämpft, die Einheiten loszuwerden, und nun das... (http://up.picr.de/24879200ly.gif)
Mir scheint, da fehlt es aktuell noch sehr am Grundverständnis dessen, was man eigentlich wirklich tun möchte.
Ich danke ihnen sehr. Ich habe jetzt, was ich machen möchte.
attr WMBUS_WEP_00000043_1_27 userReadings TEM {ReadingsVal("WMBUS_WEP_00000043_1_27","1_value",0))." C"},HUM {ReadingsVal("WMBUS_WEP_00000043_1_27","2_value",0))." %"}
Anfang ist schwer aber ich lehrne. Ich lerne auch deutsch, weil ich mehr am diesen forum sein werde.
Wenn es mehr exemplare geben würde, dann währe es leichter.
Danke.
There ARE examples......
What you wanted to do is describes exactly in the commandref, which is also in english :)
Anfang ist schwär aber mehr exemplare schaden nicht.