NEWS
Zeitschaltung nach Liste/Tabelle
-
Hallo zusammen,
ich möchte für ein Aquarium eine Zeitschaltung für die Beleuchtung erstellen, dass einen Jahresrythmus simuliert. Heißt jeden Tag eine andere Beleuchtungsdauer.
Meine Idee ware diesen Rythmus in eine Tabelle zu schreiben (366 Werte).
Gibt es eine möglichkeit, dass Blockly nach einem Datum in einer Tabelle sucht und dann den passenden Wert aus der Tabelle nimmt?
Oder evtl. denke ich auch zu komplitziert und das ganze ist einfacher möglich.
Danke schonmal
-
wäre da eine triggerung über die astro-funktionen ncht besser ?
sonnenaufgang - einschalten - alle paar minuten helligkeit erhöhen - bis 100%
sonnenuntergang - helligkeit runter alle paar minuten - bis aus -
Generell ist es ähnlich einer Astrofunktion allerdings, leben die Tiere unsprünglich ja nicht hier und ich möchte den natürlichen Tageszyklus realisieren. Zudem will möchte ich dass die Beleuchtung abends immer zur selben Zeit aus geht, da ich ja normal den ganzen Tag bei der Arbeit bin.
Allerdings bin ich nun schon weiter gekommen:
Ich habe mir den Zyklus in eine Exceltabelle packt und mir die Daten über das linear füllen lassen. Somit habe ich eine Tabelle mit 366 Werten für die Beleuchtungsdauer je Tag. Dann habe ich mit Excel die Licht An und Aus zeiten in einer Extra spalte berechnet.
Diese habe ich mir dann als JSON exportiert und auf den iobroker geladen.Nun zum Skript:
Als erstes musste ich nun eine Funktion bauen, welche mir den Tag des Jahres ausgibt.
Dann habe ich aus der JSON die passenden Daten anhand des Jahrestages extrahiert, mir daraus die Strings für Cron Jobs generiert und diese in Datenpunkte geschrieben. Diese Daten werden dann jedentag um 03:00Uhr aktualisiert:
Zuletzt habe ich dann noch zwei Trigger gesetz damit beim aktualisieren der String die zwei CronJobs neu gesetzt werden:
Getestet ist das ganze bisher noch nicht, aber ich denke es sollte so klappen.
die Json sieht so aus: