FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Bitschubser am 02 November 2020, 19:18:57

Titel: set mit perl expression
Beitrag von: Bitschubser am 02 November 2020, 19:18:57
Aus Commandref:
Ab featurelevel 5.7 ersetzt der set und setreading Befehl {(perlExpression)} mit dem Ergebnis der perlExpression.

nach
set my_dummy {sunset()}
hat der dummy aber den Wert: {sunset()}

Wo ist mein Denkfehler?
Titel: Antw:set mit perl expression
Beitrag von: betateilchen am 02 November 2020, 19:26:58
Lies nochmal GENAU, wie es in der commandref beschrieben ist (und in Deinem Zitat steht) und vergleiche EXAKT mit dem, was Du in Deinem Beispiel machst.

Dann kommst Du sicher selbst auf Deinen Fehler.


Titel: Antw:set mit perl expression
Beitrag von: betateilchen am 02 November 2020, 19:28:37
kleiner Tipp: beachte die Klammersetzung...
Titel: Antw:set mit perl expression
Beitrag von: Bitschubser am 02 November 2020, 20:02:22
Da fällt mir nix mehr ein. Total blind auf beide Augen.
Danke.
Titel: Antw:set mit perl expression
Beitrag von: Wernieman am 02 November 2020, 20:05:49
Denkanstoß: Ist "sunset()" ein perlExpression oder eine Funktion?
Titel: Antw:set mit perl expression
Beitrag von: betateilchen am 02 November 2020, 20:41:10
Zitat von: Wernieman am 02 November 2020, 20:05:49
Denkanstoß: Ist "sunset()" ein perlExpression oder eine Funktion?

An der Eigenschaft der Funktion ändert aber auch die runde Klammer drumrum nix. Es bleibt trotzdem eine Funktion.
Und es ist eine der ganz wenigen Stellen in FHEM, an der man um perl Code innerhalb einer geschweiften Klammer auch noch runde Klammern verwenden muss.
Für viele FHEM Anwender sind solche Klammerkonstrukte einfach nicht mehr differenzier- und/oder durchschaubar.
Titel: Antw:set mit perl expression
Beitrag von: Wernieman am 02 November 2020, 20:50:58
Ahhh ... da war ich also auch auf dem Holzweg ... danke fürs Korrigieren ...