FHEM Forum

FHEM => Automatisierung => Thema gestartet von: grappa24 am 24 Juni 2013, 19:37:01

Titel: Parameter "condition" aus myTwilight extrahieren
Beitrag von: grappa24 am 24 Juni 2013, 19:37:01
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 ...


Titel: Aw: Parameter "condition" aus myTwilight extrahieren
Beitrag von: Puschel74 am 24 Juni 2013, 19:39:06
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
Titel: Aw: Parameter "condition" aus myTwilight extrahieren
Beitrag von: Dietmar63 am 24 Juni 2013, 20:04:31
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))
Titel: Aw: Parameter "condition" aus myTwilight extrahieren
Beitrag von: grappa24 am 25 Juni 2013, 00:37:26
sorry, aber ich kriegs nicht gebacken, was ist denn an diesem notify noch falsch:

myTwilight {fhem("set twilight_condition ReadingsVal("myTwilight", "condition", 77)")}
Titel: Aw: Parameter "condition" aus myTwilight extrahieren
Beitrag von: Dietmar63 am 25 Juni 2013, 01:53:28
define myTwilightN notify myTwilight:.* {fhem("set twilight_condition ". ReadingsVal("myTwilight", "condition", 77))}

Aus dem Kopf, oneliner, per Smartphone, keine Garantie.
Titel: Aw: Parameter "condition" aus myTwilight extrahieren
Beitrag von: grappa24 am 25 Juni 2013, 10:48:19
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
Titel: Aw: Parameter "condition" aus myTwilight extrahieren
Beitrag von: Puschel74 am 25 Juni 2013, 10:52:44
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
Titel: Aw: Parameter "condition" aus myTwilight extrahieren
Beitrag von: grappa24 am 25 Juni 2013, 19:13:38
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 ;-)