Dummy mit Perl Ausdruck einen Wert zuweisen

Begonnen von Guest, 14 Juli 2011, 11:38:25

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

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

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> 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.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

Danke für die klare Antwort, so funktioniert es jetzt.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com