Probleme mit postproc und 'Makros' bzw. Parametern

Begonnen von astrastudio, 14 Januar 2014, 12:47:43

Vorheriges Thema - Nächstes Thema

astrastudio

Hi

Ich habe mir eine classdef gebaut um DMX Komponenten an einem ethersex zu steuern.
Nun möchte ich das "OK" welches auf dem dmx dim befehlt kommt nicht zurückgeben, sondern den Wert auf den gedimmt wurde.
Grund: ich möchte gerne das LightScene auch gedimmte Zustände speichern und setzen kann. Aktuell kommt ja nur ein "dim OK" zurück und das kann LightScene nicht wieder an das Gerät senden.

hier ist meine Dmx.classdef:

params uni addr
set on cmd {"dmx set %uni %addr 255\n"}
set off cmd {"dmx set %uni %addr 0\n"}
set dim params val
set dim cmd {"dmx set %uni %addr %val\n"}
set dim postproc {\
my $retval = %val;\
"$_" eq "OK" ? $retval : "error";\
}


Wenn ich http://fhem.de/commandref.html#ECMD richtig verstanden habe sollte %val eigentlich ein Makro sein und durch den Wert vom Parameter %val ersetzt werden:
The macro %<parameter> will expand to the current value of the named parameter. This can be either a parameter from the device definition or a parameter from the set or get command.

Leider bekomme ich aber diese Fehlermeldung:
Bareword "val" not allowed while "strict subs" in use at (eval 20) line 1.

Vielleicht kann mir ja jemand helfen wie ich das korrekt benutzen muss oder hat eine Andere Idee wie ich das mit dem dimmen und der LightScene richtig benutzen kann.

Vielen Dank schon mal
Sascha

Sven77

>> PUSH <<

Hat hier keiner eine Idee? Hatte gestern das gleiche Problem...
Oder, Sascha, hast Du eine Lösung gefunden?
VG, Sven

franky08

Macht besser einen neuen Thread unter Sonsige Systeme auf, hier wird Boris kaum drauf stoßen.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1