Hallo zusammen,
ich möchte mittels eines readingsProxy die Temperatur aus einer FBDect auslesen.
Als STATE erhalte ich:
11.5 C (measured)
Falls ich aber mal damit "arbeiten" möchte, wäre mir die reine Zahl am liebsten.
Ich wüsste, wie ich es mittels notify und Dummy realisieren könnte, siehe auch meinen Beitrag hier:
http://forum.fhem.de/index.php/topic,30417.msg230534.html#msg230534
Kann man dies mit dem attr valueFN auch kompakter realisieren?
Vielen Dank,
viele Grüße,
Heiko
zeig doch mal ein list von deinem FBDect
gibts da denn keine Readings?
Zitat von: fhem-hm-knecht am 28 Januar 2016, 18:12:13
gibts da denn keine Readings?
Doch, eines der readings ist die Temperatur:
Readings:
2016-01-28 07:03:51 control on fn=1 > 0.00 delay:0sec do:state off
2016-01-28 18:13:52 current 0.0000 A
2016-01-28 18:13:52 energy 12630 Wh
2016-01-28 07:03:49 options powerOnState:last,lock:none
2016-01-28 18:13:52 power 0.00 W
2016-01-28 18:13:52 powerFactor 0.000
2016-01-19 18:56:50 relayTimes disabled
2016-01-28 18:13:52 state off
2016-01-28 07:03:43 tempadjust 0.0 C
2016-01-28 18:13:52 temperature 11.5 C (measured)
2016-01-28 18:13:52 voltage 233.003 V
Variante 1: ReadingsNum()
Variante 2: ReadingsVal() und einfach 0 dazuaddieren, dann verschwindet der Textteil auch.
Danke, kannte ReadingsNum noch nicht.
attr valueFn =
{ReadingsNum("PollinStatus02Blau";"state";"0")}
liefert im Log:
valueFn: syntax error at (eval 71100) line 1, at EOF
syntax error at (eval 71100) line 1, near ""0")"
Weder in ReadingsVal() noch in ReadingsNum() werden Semikolon für die Liste der Werte verwendet, sondern immer Komma.
{ReadingsNum("PollinStatus02Blau","state","0")}
Danke, sorry, hätte ich selbst sehen müssen.
Keine Fehlermeldung mehr, aber STATE enthält immer noch den String.
Muss da noch irgendwas in die {} dass valueFn das in den STATE zurückschreibt?
Vielleicht musst Du unterscheiden zwischen STATE und state, denn STATE ist überhaupt kein reading, sondern ein internal.
Ok, mein Fehler war, dass die Temperatur im FBDECT natürlich weder im internal STATE noch im reading state steht, sondern im reading temperature:
attr valueFn=
{ReadingsNum("PollinStatus02Blau","temperature","0")}
funktioniert.