Hallo,
ich möchte in meinem Proplanta device den Wind ohne Komma. Habe dafür die userReadings genutzt. Meine Idee war:
wind { my $wind = round($wind,0)}
Bekomme aber Fehler:
Error evaluating Ingolstadt.Aktuell userReading wind: Global symbol "$wind" requires explicit package name (did you forget to declare "my $wind"?) at (eval 2460) line 1.
Kann mir jmd. helfen?
Grüße und Frohe Weihnacht :-)
Martin
Du musst das Reading wind einlesen. Das ist Dein $wind in den runden Klammern. Da muss stattdessen ReadingsVal hin. Den Rest findest Du im Einsteiger PDF. Suche nach Readings einlesen, ReadingsVal
Zitat von: CoolTux am 24 Dezember 2016, 16:47:06
Du musst das Reading wind einlesen. Das ist Dein $wind in den runden Klammern. Da muss stattdessen ReadingsVal hin. Den Rest findest Du im Einsteiger PDF. Suche nach Readings einlesen, ReadingsVal
Hi CoolTux,
danke für den Tip, funktioniert jetzt. Hier die Lösung falls jmd. braucht:
wind { my $wind = round(ReadingsVal($name,"wind",0),0)}
Grüße
Martin
Hallo Martin,
Eigentlich vergebe ich sonst nur einen Daumen dafür das ich es gelesen habe. Aber ich wollte Dir mal ein Lob aussprechen. Es kommt nicht oft vor das ein Einsteiger so schnell und ohne e weitere Hilfe so ein Problem löst. Haste super gemacht.
Grüße
Leon
ja. es ist toll das du selber eine funktionierende version gefunden hast.
aber trozdem ein paar kleine hinweise die dir beim nächsten mal helfen weil deine lösung vermutlich 'zufällig' das machst was du möchtest.
die variable und die zuweisung ist unnötig. du verwendest die variable im folgenden ja gar nicht mehr. und auch das die variable so heisst wie das reading bewirkt nichts weiter. das ganze geht nur weil in perl der wert des ganzen klammer ausdrucks (wenn kein return vorkommt) der wert des letzten ausgetreten teilausdrucks ist. und das ist bei dir zufällig die zuweisung.
d.h.wind { round( ReadingsVal($name,"wind",0),0) }
reicht völlig.
gruss
andre