FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: MarkusAutomaticus am 12 Dezember 2022, 16:48:39

Titel: Globale Variable
Beitrag von: MarkusAutomaticus am 12 Dezember 2022, 16:48:39
Hallo zusammen,

ich steuere meine Rollläden mit einer Automatik.
Das sieht dann für jeden Rollladen so aus:

*{twilight("LichtWetter","ss_civil","19:00","22:00")}  set RolladenTerasseOst down

Beim Wechsel zwischen Sommer- und Winterzeit muss ich derzeit händisch alle diese DEFs für jeden Rollladen ändern.
Deshalb habe ich mir schon oft gewünscht, den Teil
*{twilight("LichtWetter","ss_civil","19:00","22:00")}

irgendwo zentral zu speichern und bei den einzelnen Rollläden, Lichtern, etc. darauf zuzugreifen.
Ich bin mir sicher dass das gehen muss.

Kann mir bitte jemand auf die Sprünge helfen?

LG
Markus
Titel: Antw:Globale Variable
Beitrag von: betateilchen am 12 Dezember 2022, 16:55:55
setreading global twilight *{twilight("LichtWetter","ss_civil","19:00","22:00")}

Aber ich glaube, Dein Vorhaben ließe sich sehr viel einfacher und eleganter lösen.
Dazu hast Du aber zu wenige Informationen geliefert, um dazu Vorschläge machen zu können.
Titel: Antw:Globale Variable
Beitrag von: MarkusAutomaticus am 18 Dezember 2022, 16:47:40
Vielen Dank für Deine Antwort!

"global" wäre in dem Bsp das global Gerät wie in der Definition hier
http://fhem.de/commandref_DE.html#global (http://fhem.de/commandref_DE.html#global) oder?

wie würde ich denn dann konkret auf darauf zugreifen, wenn mein define für den Rolladen bisher so aussieht:
*{twilight("LichtWetter","ss_civil","17:00","19:00")} set RolladenArbeitszimmer down

?
Titel: Antw:Globale Variable
Beitrag von: betateilchen am 18 Dezember 2022, 17:53:06
Auf das reading würdest genau so zugreifen, wie auf jedes andere reading auch: mit ReadingsVal()

{my $cmd = ReadingsVal('global','twilight',''); fhem("define xyz at $cmd set RolladenArbeitszimmer down")}

Aber den Sinn Deines Vorhabens habe ich immer noch nicht verstanden.