FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: PavelCoast am 28 Dezember 2015, 18:53:33

Titel: [Gelöst] DOIF: warum kann ich keine variable definieren?
Beitrag von: PavelCoast am 28 Dezember 2015, 18:53:33
Hallo,

ich versuche in einem DOIF eine Variable zu definieren, um später damit zur rechnen.
Wo liegt der Fehler?

hier der DOIF Code:

([max_ac_phase] > 0.5)
   ({( my $test=2  )})
DOELSE ()


Leider erhalte ich bei Error und im Log nur: error {( my $test=2 )}: 2

Kann mir jemand weiterhelfen?

Gruß
René
Titel: Antw:DOIF: warum kann ich keine variable definieren?
Beitrag von: Ellert am 28 Dezember 2015, 18:59:34
Es ist kein Fehler, sondern der Rückgabewert der {} Klammer. Mit return 0 verschwindet der "Fehler".
Titel: Antw:DOIF: warum kann ich keine variable definieren?
Beitrag von: PavelCoast am 28 Dezember 2015, 19:06:27
oh, vielen Dank.

Habe nun folgendes wieder eingefügt (hatte vorher alles rausgelöscht, um nur die Variablensetzung zu testen):

([max_ac_phase] > 0.5)
   ({( my $test=100-ReadingsVal("max_ac_phase","state",0) ;; fhem("set max_ac_laden $test")  )})
DOELSE ()



jetzt  erhalte ich folgenden Fehler:

{( my $test=100-ReadingsVal("max_ac_phase","state",0) ;; fhem("set max_ac_laden $test") )}: syntax error at (eval 96016) line 1, at EOF Global symbol "$test" requires explicit package name at (eval 96016) line 1. syntax error at (eval 96016) line 1, near ") )"

Kann ich den Wert von $test nicht so übergeben per  fhem("set max_ac_laden $test")

Gruß
René
Titel: Antw:DOIF: warum kann ich keine variable definieren?
Beitrag von: Ellert am 28 Dezember 2015, 20:01:26
Hinweis zum Fehler: http://fhem.de/commandref_DE.html#DOIF_Angaben_im_Ausfuehrungsteil

Warum so kompliziert?(set max_ac_laden {(100 - [max_ac_phase])})

Titel: Antw:DOIF: warum kann ich keine variable definieren?
Beitrag von: PavelCoast am 28 Dezember 2015, 20:13:26
Super, vielen Dank!
Habe es scheinbar wirklich etwas kompliziert gemacht  ;)

Funktioniert jetzt,
danke nochmals
Titel: Antw:[Gelöst] DOIF: warum kann ich keine variable definieren?
Beitrag von: juanmax am 12 April 2017, 20:20:57
Hallo Rene,

Ich bin dabei deine Lösung zu kopieren. Du hast ziemlich der selbe Setup als ich. Kannst du bitte das hier posten? Oder lieber per email/PM? Ich würde ungerne das Rad neu erfinden...

Gruß aus Kölle,

Juanma