Möglichkeit im Log 1 und 0 statt on and off zu erhalten

Begonnen von deveth0, 12 Juli 2017, 08:37:53

Vorheriges Thema - Nächstes Thema

deveth0

Hallo,

ich habe seit vorgestern eine endlich auch eine Funksteckdose an FHEM angeschlossen (FS20), diese funktioniert auch (wie erwartet) wunderbar.

Eine Frage dazu hätte ich aber noch:

Ich würde gerne in Grafana den Status der Steckdose plotten (https://www.dev-eth0.de/blog/2016/12/07/grafana_fhem_influxdb.html), dafür bräuchte ich aber Zahlenwerte statt "on" und "off".

Mein Logfile habe ich so definiert:

define FileLog_Pumpe_Schalter FileLog ./log/Pumpe_Schalter-%Y.log Pumpe_Schalter
attr FileLog_Pumpe_Schalter logtype text
attr FileLog_Pumpe_Schalter room Balkon


Im Log steht dann sowas:

2017-07-11_22:24:27 Pumpe_Schalter on
2017-07-11_22:24:28 Pumpe_Schalter off
2017-07-11_22:27:39 Pumpe_Schalter on
2017-07-11_22:27:40 Pumpe_Schalter off
2017-07-11_22:27:47 Pumpe_Schalter on


Ich habe auch schon den Logtype fs20 ausprobiert (laut commandref: 'Plots on as 1 and off as 0.'), hier hatte ich gehofft, dass das auch für die Logfiles gilt. Habe ich irgend eine Chance, dass hier ein angepasstes Logging passiert?

Die hier im Forum vorhandenen Threads betreffen leider soweit ich das sehe alle ein ähnliches Problem, die Lösung ist dann aber immer, dass im Plot zu lösen und nicht im Log (was bei mir leider nicht geht :-/)

Herzlichen Dank für eure Zeit!

mthome

Hallo,

ich hatte ein ähnliches Problem mit einem Fenstersensor (den ich für den Rasenmäher benutzt habe). Gelöst habe ich es mit einem userReadings welches ich dann auch ins Log schreibe:

Das userReadings sähe dann so aus:

Pumpenstatus:Pumpe_Schalter.* {if(ReadingsVal("Pumpe_Schalter","state","-") eq "off") {sprintf("0")} else {sprintf("1")}}


dev0


CoolTux

Entweder Userreading oder im wenn möglich im Plot bei der Ausgabe mit angeben das on 1 und off 0 ist. So geht es zu mindest beim FHEM Plot.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

deveth0

Großartig, herzlichen Dank!

Der Vollständigkeit halber hier nochmal die komplette Definition, die ich jetzt habe:


define Pumpe_Schalter FS20 ....
attr Pumpe_Schalter userReadings Pumpenstatus {if(ReadingsVal("Pumpe_Schalter","state","") eq "off") {"0"} else {"1"}}

define FileLog_Pumpe_Schalter FileLog ./log/Pumpe_Schalter-%Y.log Pumpe_Schalter:Pumpenstatus.*

CoolTux


attr Pumpe_Schalter userReadings Pumpenstatus { (ReadingsVal("Pumpe_Schalter","state","") eq "off" ? "0" : "1") }


Versuch mal. Ist aus dem Kopf. Sollte aber auch geben. Es ist eine weitere Lösung. Bisschen kürzer geschrieben.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

mthome

Hallo,

ich hätte da mal noch eine Frage zu. Fehlt da nicht der Trigger für das userReading oder ist das nicht notwendig?

CoolTux

Kann man machen um zum Beispiel ein zu oftes ausführen zu vermeiden. Muss man aber nicht
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net