FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Kaspi am 14 Januar 2018, 10:13:30

Titel: [GELÖST]Frage zu lokalen und globalen Variabeln
Beitrag von: Kaspi am 14 Januar 2018, 10:13:30
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
Titel: Antw:Frage zu lokalen und globalen Variabeln
Beitrag von: KernSani am 14 Januar 2018, 10:23:32
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.
Titel: Antw:Frage zu lokalen und globalen Variabeln
Beitrag von: Kaspi am 14 Januar 2018, 11:42:21
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
Titel: Antw:Frage zu lokalen und globalen Variabeln
Beitrag von: marvin78 am 14 Januar 2018, 11:46:45
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.
Titel: Antw:Frage zu lokalen und globalen Variabeln
Beitrag von: Kaspi am 14 Januar 2018, 11:50:15
Ok. Danke  :)

PS: es bleibt schwierig

Gruß

Kaspi
Titel: Antw:[GELÖST] Frage zu lokalen und globalen Variabeln
Beitrag von: marvin78 am 14 Januar 2018, 11:52:18
Nein. Das ist sehr einfach.
Titel: Antw:[GELÖST] Frage zu lokalen und globalen Variabeln
Beitrag von: Kaspi am 14 Januar 2018, 19:42:05
Hi,

+*00:00:05 {
         fhem("set dummy1Tag".ReadingsVal("ZENTRALE_Arbeit","energy",0));
}

will nicht  :(

Gruß

Kaspi
Titel: Antw:Frage zu lokalen und globalen Variabeln
Beitrag von: MadMax-FHEM am 14 Januar 2018, 20:50:31
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
Titel: Antw:Frage zu lokalen und globalen Variabeln
Beitrag von: KernSani am 14 Januar 2018, 20:52:37
Und... bitte code tags verwenden (das ist das # oben im Editor)
Titel: Antw:Frage zu lokalen und globalen Variabeln
Beitrag von: Kaspi am 14 Januar 2018, 20:54:39
jau  :)

Danke

Kaspi
Titel: Antw:[GELÖST]Frage zu lokalen und globalen Variabeln
Beitrag von: KernSani am 14 Januar 2018, 21:00:00
und der böse Moderator kommt schon wieder  ;) Dann Bitte noch [gelöst] vor das Subject des ersten Posts schreiben.