Hauptmenü

Globale Variable

Begonnen von MarkusAutomaticus, 12 Dezember 2022, 16:48:39

Vorheriges Thema - Nächstes Thema

MarkusAutomaticus

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
FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

MarkusAutomaticus

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 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

?
FHEM 5.8 |intel NUC Core i3: Ubuntu 22.04 | z-Wave: Aeon Labs USB Stick | Jeelink (v3c): LaCrosse-Sensoren | DuoFern Stick: Rademacher Gurtwickler | Philips Hue Bridge | CUNX: HomeMatic, EnOcean-Pigator

betateilchen

#3
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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!