FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: deveth0 am 12 Juli 2017, 08:37:53

Titel: Möglichkeit im Log 1 und 0 statt on and off zu erhalten
Beitrag von: deveth0 am 12 Juli 2017, 08:37:53
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!
Titel: Antw:Möglichkeit im Log 1 und 0 statt on and off zu erhalten
Beitrag von: mthome am 12 Juli 2017, 08:55:00
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")}}

Titel: Antw:Möglichkeit im Log 1 und 0 statt on and off zu erhalten
Beitrag von: dev0 am 12 Juli 2017, 09:20:46
sprintf() ist überflüssig.
Titel: Antw:Möglichkeit im Log 1 und 0 statt on and off zu erhalten
Beitrag von: CoolTux am 12 Juli 2017, 09:33:56
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.
Titel: Antw:Möglichkeit im Log 1 und 0 statt on and off zu erhalten
Beitrag von: deveth0 am 12 Juli 2017, 10:12:19
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.*
Titel: Antw:Möglichkeit im Log 1 und 0 statt on and off zu erhalten
Beitrag von: CoolTux am 12 Juli 2017, 10:55:47

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.
Titel: Antw:Möglichkeit im Log 1 und 0 statt on and off zu erhalten
Beitrag von: mthome am 12 Juli 2017, 11:07:10
Hallo,

ich hätte da mal noch eine Frage zu. Fehlt da nicht der Trigger für das userReading oder ist das nicht notwendig?
Titel: Antw:Möglichkeit im Log 1 und 0 statt on and off zu erhalten
Beitrag von: CoolTux am 12 Juli 2017, 11:14:07
Kann man machen um zum Beispiel ein zu oftes ausführen zu vermeiden. Muss man aber nicht