Hi Leute,
ich schon wieder...
ich wollte folgendes notify erstellen:
define Status_PC_n notify FritzBox:.* {if(checkFritzMACpresent("E0:D5:5E:81:17:60") = 0) {fhem("set Status_PC off")} else {fhem("set Status_PC on")}}
Die Funktion "checkFritzMACpresent" steht in den myUtils und funktionier an sich auch. Zumindest die presence Devices werden damit aktiviert.
Jetzt wollte ich die Funktion in das Notify übernehmen und bekomme folgende Fehlermeldung:
ZitatCan't modify non-lvalue subroutine call of &main::checkFritzMACpresent in scalar assignment at (eval 563441) line 1, near "0) "
Das Ergebnis der Funktion sollte "0" oder "1" sein.
Wo liegt mein Fehler?
Gruß
Dodger
Versuch mal == statt = als Vergleichsoperator ...
= ist eine Zuweisung in perl.
Dankeschön, das war's 8)
Wenn Du wüsstest, wie oft ich diesen Fehler selber schon gemacht habe als alter BASICianer...
Zitat von: Pfriemler am 18 Dezember 2021, 18:02:04
Wenn Du wüsstest, wie oft ich diesen Fehler selber schon gemacht habe als alter BASICianer...
Einfache Eselsbrücke:
Die Wertzuweisung "$a ist 5" wird geschrieben als $a = 5 mit EINEM Gleichheitszeichen, weil nur ein Wort dazwischen steht.
Die Abfrage "$a ist gleich 5?" wird geschrieben als $a == 5 mit ZWEI Gleichheitszeichen, weil zwei Worte dazwischen stehen.