Hallo rundherum:
Ich habe es bereits geschafft, als Pearl - Anfänger FS20 on-vor-timer mit einer Variablen zu verknüpfen.
Also so:
{fhem("set R_zu_k 5")}
{fhem("set R_OG_AB on-for-timer $value{R_zu_k}")}
Das ergibt: "on-for-timer 5", und das macht Fhem auch brav.
Ich möchte aber zu der Variablen "R_zu_k", die Konstante 1 addieren.
Also sinngemäß:
{fhem("set R_OG_AB on-for-timer $value{R_zu_k}+1")}
oder on-for-timer (5+1) = on-for-timer 6
Nur da versteht er mich nicht...
Wie ist da die richtige Syntax?
Kann mir da wer helfen?
Ich habe zwar schon im Netz nach der Syntax gesucht, aber nichts brauchbares gefunden.
Hat dazu jemand einen Anfänger-Link für mich?
mfg
$value ist deprecated und sollte nicht mehr verwendet werden.
Probier mal:
{my $t = Value('R_zu_k') + 1;; fhem("set R_OG_AB on-for-timer $t")}
Achja: es heißt perl, nicht pearl ;)
Danke, das funktioniert so, SUPER!
Gibt es irgendwo im Netz eine Anleitung die beschreibt warum das genau so ist?
Ich will Dich nicht wegen jeder Rechenoperation fragen müssen.
Hundert mal: Perl, Perl, Perl, usw..........
mfd
Das liegt daran, wie Perl Strings interpretiert. Vereinfacht gesagt: Perl ist schon verdammt großzügig bei der Interpretation von Variablennamen innerhalb eines Strings, aber Rechenoperationen werden nicht als solche erkannt, sondern wörtlich genommen. IOW: Eine Rechenoperation gehört nicht in Anführungszeichen.
Für die Grundlagen empfehle ich das "Lama-Buch": Einführung in Perl, ISBN 389721105X
Zitat von: Stromschiene am 24 Februar 2015, 10:22:02
eine Anleitung die beschreibt warum das genau so ist?
Das steht in jedem perl-Programmierhandbuch, meistens irgendwo in den ersten drei Kapiteln.