Moin
Ich habe ein "at" wo ich eine Variabel mit "my $a = (5)" belege.
Dann habe ich ein zweites "at" wo ich diese Variabel benötige.
"my" ist Lokal.
Wie kann ich Variabeln Global deklarieren?
Gruß
Kaspi
Am besten schreibst du den Wert in ein Reading z.B. eines Dummies, dann bleibt er auch bspw. nach einem Neustart erhalten. Vielleicht schilderst du auch mal, was du vor hast - möglich, dass es bessere Lösungen gibt.
Ich habe einen Dummy mit:
define taganfang dummy angelegt.
dann ein at:
+*00:00:10 {set taganfang (ReadingsVal("ZENTRALE_Arbeit","energy",0));}
der Wert wird nicht in den Dummy geschrieben.
was ist falsch?
Gruß
Kaspi
Sehr viel. Bitte die commandref zu set lesen. Perl gehört in {}, fhem Befehle mit der Funktion fhem, ist aber hier nicht nötig.
+*00:00:10 set taganfang [ZENTRALE_Arbeit:energy]
Wenn du ReadingsVal verwenden willst/musst:
+*00:00:10 {fhem("set taganfang ".ReadingsVal("ZENTRALE_Arbeit","energy",0}
und es gibt noch mehr Möglichkeiten, siehe Doku.
Ok. Danke :)
PS: es bleibt schwierig
Gruß
Kaspi
Nein. Das ist sehr einfach.
Hi,
+*00:00:05 {
fhem("set dummy1Tag".ReadingsVal("ZENTRALE_Arbeit","energy",0));
}
will nicht :(
Gruß
Kaspi
Es heißt ja auch:
set DeviceName Wert
Dein Code erzeugt vermutlich:
set DeviceNameWert
Du siehst den Unterschied!?
EDIT: die fehlenden Klammern im Beispiel von marvin78 hast du ja entdeckt... Aber vermutlich ist da was mit den " " auch noch nicht so i.O.!?
Gruß, Joachim
Und... bitte code tags verwenden (das ist das # oben im Editor)
jau :)
Danke
Kaspi
und der böse Moderator kommt schon wieder ;) Dann Bitte noch [gelöst] vor das Subject des ersten Posts schreiben.