Eigenes log schreiben - hilfe

Begonnen von leonsMS, 15 März 2016, 00:32:35

Vorheriges Thema - Nächstes Thema

leonsMS

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.

viegener

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)



Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

leonsMS

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))." %"}


Icinger

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))." %"}
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

leonsMS

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.

Icinger

There ARE examples......
What you wanted to do is describes exactly in the commandref, which is also in english :)
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

leonsMS

Anfang ist schwär aber mehr exemplare schaden nicht.