Erweiterung der Fallsbedingung um void mit Bezeichnung
Servus,
im AM kommt es bei mir öfter mal vor, dass die Tasks sehr komplex werden. Bspw. 10 x Rolladen runter, 20 x Steckdosen aus etc. = 30 Geräteaktionen im Task. Man könnte dies natürlich nun als Makro auslagern, aber dann habe ich die Steuerung an zwei Stellen. (BTW wäre cool, wenn man aus einem AM Eintrag wo ein Makro aufgerufen wird, gleich ins Makro springen könnte).
Was ich bräuchte wäre quasi ein Eintrag wie FALLS nur, dass ich dort keine Bedingung angebe, sondern eine Bezeichnung. Also bspw.
VOID Rolladen runter. Darein packe ich dann meine 10 Rolladenaktionen.
VOID Steckdosen aus. Darein packe ich dann meine 20 Schaltungen der Steckdosen.
Damit würde im AM Task etwas Struktur reinkommen und die Sachen auch übersichtlicher. Und der Goldrahmen wäre, wenn man die Einträge in so einem VOID Element dann implodieren und expandieren könnte. Dann würde ich im AM Task nur zwei Einträge sehen Rolladen runter und Steckdosen aus und könnte diese bei Bedarf aufklappen. Also Quasi
+VOID Rolladen runter (10)
+VOID Steckdosen aus (20)
Status:
Open Jun 05, 2022 - 11:05
NEO SERVER
Von
Im AM Task meinst du? Weil ich bspw. um 23:00 Uhr alle Rolladen runterfahren und danach die Steckdosen ausschalten will. Bedingungen gehen halt in Makros nicht. War auch nur ein Beispiel, es geht um die bessere Strukturierung von Aktionen in einem AM Task
Von
Eben. Das Script entsprechend Deiner Bedingungen aufrufen, zB um 23:00. Wenn Du noch eine Variable, ich verwende binär codierte Intergerwerte, an das Scipt übergibst kannst Du diese im selben für die Steuerung mittels „switch/case“ Anweisungen verwenden Beispiel: Du übergibst eine 1, dann fährt der erste Rolladen, bei einer 2 der zweite, bei einer 3 eben beide. Die Variable kannst Du natürlich auch sonst wo, zB über Buttons beschreiben
Also ich fahr ganz gut damit und kann die AM tasks klein und einigermaßen strukturiert gestalten. Und habe viel mehr Möglichkeiten als mit Makros
Von
kann man eigentlich irgendwie durch die Objekte des Gerätemanagers iterieren?
Also bspw.
for raum in gerätemanager.räume:
geräte = raum.geräte
for gerät in geräte:
wenn gerät.isRolladen():
...
Neuen Kommentar hinzufügen