Hallo,
ich bastle an einem notify, welches ein dummy-device namens "twilight_condition" mit dem Parameter "condition" aus myTwilight belegt und stehe iwie auf dem Schlauch ...
meine Schnipsel:
set twilight_condition {ReadingsVal(myTwilight, condition, "99")}
und das ganze in einem notify verpackt ... ich brauch ne Pause ...
Hallo,
also ich hab das
Zitatset twilight_condition {ReadingsVal(myTwilight, condition, "99")}
bei meinen Abfragen eigentlich immer so:
set twilight_condition {ReadingsVal("myTwilight","condition",99)}
Grüße
Man kann fhem Kommandos nicht mit Perl vermischen, wenn der Autor des Moduls, in diesem Fall set es nicht vorgesehen hat.
Das Kommando "set <dummy> <value>" verändert den Inhalt von <dummy> auf den Text <value>.
Das dummy twilight_condition wird durch deine Zuweisung vermutlich den Inhalt "{ReadingsVal(myTwilight, condition, "99")}" bekommen. Der PerlCode wird nicht ausgeführt.
Du kannst im notify die Funktion fhem () aufrufen und als Parameter das Set Kommando it dem dot-Operator für Stringconcatenation zusammen basteln:
fhem ("set twilight_condition " . ReadingsVal("myTwilight","condition",99))
sorry, aber ich kriegs nicht gebacken, was ist denn an diesem notify noch falsch:
myTwilight {fhem("set twilight_condition ReadingsVal("myTwilight", "condition", 77)")}
define myTwilightN notify myTwilight:.* {fhem("set twilight_condition ". ReadingsVal("myTwilight", "condition", 77))}
Aus dem Kopf, oneliner, per Smartphone, keine Garantie.
ich taste mich jetzt langsam ran und gebe mal Befehle auf der Kommandozeile ein:
set twilight_condition 99
-> geht natürlich
set twilight_condition Readingsval( ... )
-> setzt den String "Readingsval( ... )" als Wert und nicht das Funktions-Ergebnis
Hier "scheint der Hund begraben zu sein" ...
VG, Dieter
Hallo,
das hat doch Dietmar63 schon weiter oben gepostet - oder lies ich das falsch?
ZitatMan kann fhem Kommandos nicht mit Perl vermischen, wenn der Autor des Moduls, in diesem Fall set es nicht vorgesehen hat.
Das Kommando "set <dummy> <value>" verändert den Inhalt von <dummy> auf den Text <value>.
Das dummy twilight_condition wird durch deine Zuweisung vermutlich den Inhalt "{ReadingsVal(myTwilight, condition, "99")}" bekommen. Der PerlCode wird nicht ausgeführt.
Du kannst im notify die Funktion fhem () aufrufen und als Parameter das Set Kommando it dem dot-Operator für Stringconcatenation zusammen basteln:
fhem ("set twilight_condition " . ReadingsVal("myTwilight","condition",99))
Sorry für Fullquote.
Grüße
Zitat von: Dietmar63 schrieb am Mo, 24 Juni 2013 20:04
fhem ("set twilight_condition " . ReadingsVal("myTwilight","condition",99))
super, damit geht es jetzt, war wohl einfach zu spät heute Nacht, alte Binsenweisheit ;-)