Modul 88_Scheduler: Einfache Zeitschaltuhr

Begonnen von meikelS, 27 Dezember 2019, 15:02:27

Vorheriges Thema - Nächstes Thema

meikelS

Ich wollte schon immer mal ein Modul programmieren. Aber mir fehlte bisher die Muße, die Zeit und auch die Idee.
Doch in der Vorweihnachtszeit, als die Herzensdame mit dem Dekorieren anfing, überkam es mich. Eine Lichterkette hier, ein Lämpchen da. Und alles wird manuell oder mit alten, analogen, tickenden Zeitschaltuhren geschaltet. Da ich noch ein paar Osram Switches rumliegen hatte, nutzte ich die.
Also alle einbinden und für jeden ein AT anlegen, dass das dann zeitgesteuert schaltet.
Das geht auch anders. Und auch wenn das sicher schon hundertmal umgesetzt wurde finde ich es für mein erstes Modul ganz gut gelungen.


Herausgekommen ist ein einfacher Scheduler. Der benötigt zunächst keine Parameter und ist einfach eingebunden.
define meineZeitschaltuhr Scheduler


Er besitzt nur wenige Attribute, mit denen er konfiguriert wird.
timer: Das ist die Angabe für die Zeitabstände, in der geschaltet werden soll. Default=60 Sekunden
items: Hier stehen die Devices, mit ihren jeweiligen Einschaltzeiten.
Syntax: devicename [<b>always</b>|once] timelist
Zum Beispiel:

myLamp 11:00-12:00
myLampMitMehrerenIntervallen 11:00-12:00,14:00-15:00,18:18-19:19
myLampNurEinmal once 11:00-12:00


Die Schaltparameter sind optional. Bei der Angabe always wird das Device bei jedem Zeitintervall immer geschaltet (Defaultwert).
Bei der Angabe once wird das Device nur einmal im angegebenen Zeitraum geschaltet. Es kann also manuell geändert werden.
autostart: Wenn es auf 1 gesetzt ist, dann startet der Scheduler automatisch.
Ansonsten muss man ihn starten, in dem man ihn auf "on" setzt.

Ihr könnt es gerne mal testen und mir eure Meinung dazu sagen.

Gruß
Michael

P.S.: Die 88 im Modulnamen hat für mich als Japan-Fan keine politische Bedeutung. 8 ist die Glückszahl in Asien.




Don't blame the newbies.