Reading: "positon" PEHA 452 FU-EBIM JR o.T.

Begonnen von FHEM_Alex_Pi, 03 Oktober 2014, 14:59:57

Vorheriges Thema - Nächstes Thema

FHEM_Alex_Pi

Schon wieder ich...  ;)

Kann mir bitte jemand bei dem Reading "positon" zu der Rollladensteuerung 452 FU-EBIM JR o.T. von PEHA helfen.

Wenn ich versuche dieses in einem DOIF zu verwenden, dann kommt es zu einer Fehlermeldung.
Das Programm ist nicht besonders sinnvoll. Ich bin letztendlich darauf gekommen, weil ich versucht habe das Problem einzugrenzen.

Letztendlich geht es um die Frage, warum die Auswertung "[aKueRol:positon]=0" zu einer Fehlermeldung führt.
"[sSczHel:brightness]>50" setzt die Variable "pRLS" wie gewünscht.

define aKueRol EnOcean FFF74D80
attr aKueRol IODev TCM310_0
attr aKueRol gwCmd blindCmd
attr aKueRol subDef FF892F01
attr aKueRol subType shutterCtrlState.01
attr aKueRol subTypeSet gateway


define pRLS dummy
define pRolDum DOIF ([aKueRol:positon]=0) (set pRLS pppp)\
DOELSEIF ([22:00-05:30]) (set pRLS closes)


2014-10-03 14:45:01 EnOcean aKueRol positon: 0
2014-10-03 14:45:01 DOIF pRolDum error: perl error in condition: ReadingValDoIf('aKueRol','positon','')=0: Can't modify non-lvalue subroutine call in scalar assignment at (eval 16919) line 2, at EOF

krikan

#1
Hat jetzt aber nicht speziell etwas mit EnOcean zu tun!?:
Du verwendest den Zuweisungoperator "=" in einem Vergleich; Vergleichsoperator ist in Perl "==".

edit: "==" ist für Zahlenvergleich; für Stringvergleich: http://de.wikibooks.org/wiki/Perl-Programmierung:_Operatoren

shona123

Vielen Dank für den Austausch mit uns. viel glück