Dummy mit Perl Ausdruck einen Wert zuweisen

1,297 views
Skip to first unread message

Volker

unread,
Jul 14, 2011, 5:38:25 AM7/14/11
to fhem-...@googlegroups.com
Hallo,
 
ich möchte einem Dummy Device mit einem Perl-Ausdruck einen Wert zuweisen, ich erhalte aber immer die Fehlermeldung :
no set value specified
wenn ich nur den Perl-Ausdruck in der Befehlszeile im Webinterface ausführe erhalte ich den korrekten Rückgabewert:
{hex(substr((fhem "get myADC4 adc4"),6,3))}
 
Beim ausführen des Kompletten Befehls kommt dann die Fehlermeldung.
set myVal {hex(substr((fhem "get myADC4 adc4"),6,3))}
Was mache ich hier falsch?
Oder ist mein Denkansatz komplett falsch?
 
Vielen Dank für jegliche Hilfe.
 
Volker

Rudolf Koenig

unread,
Jul 14, 2011, 5:58:58 AM7/14/11
to fhem-...@googlegroups.com
> Oder ist mein Denkansatz komplett falsch?

Ja, set nimmt als Argument keine Shell- oder Perl-Ausdruecke entgegen, im
Gegensatz zu at oder notify. Umweg: alles in Perl machen:

{ my $val = hex(substr((fhem "get myADC4 adc4"),6,3));;\
fhem "set myVal $val" }


Btw. die Fehlermeldung ist irrefuehrend: falls dummy nicht exakt einen Wert
bekommt (keine Leerzeichen im Wert!), dann gibt fhem die o.g. Meldung aus. Ich
habe 98_dummy modifiziert (Leerzeichen im set Argument erlaubt) und
eingecheckt. "updatefhem 98_dummy" in fhem (fhem >= 5.1) sollte die CVS
Version einfach uebernehmen.

Volker

unread,
Jul 14, 2011, 8:02:59 AM7/14/11
to fhem-...@googlegroups.com
Danke für die klare Antwort, so funktioniert es jetzt.
Reply all
Reply to author
Forward
0 new messages