ich verwende seit Jahren das Tageszeiten Script um meine Rollaeden zu fahren.
Jetzt ist mir aufgefallen dass bei Nacht die Zeit sich aendert - das war sonst immer 22 Uhr und gestern war es 22.20 ... davor 22.15 ...
Das Script wird periodisch alle 5 Minuten aufgerufen.
Ich weiss leider nicht mehr den Ursprung weil ich es schon so lange verwende (laut Programm seit Jan 2015 - also sorry und danke beim Urheber)
Code: Alles auswählen
! Tageszeiten
! Tagesbeginn - 2 <04.00 Nacht
! Tagesbeginn - 2 <04.00 Tagesbeginn - 1 frühmorgens
! Tagesbeginn - 1 Tagesbeginn Morgengrauen
! Tagesbeginn Mittag - 1 Vormittag
! Mittag - 1 Mittag + 1 Mittag
! Mittag + 1 Tagesende Nachmittag
! Tagesende Tagesende + 1 Dämmerung
! Tagesende + 1 Tagesende + 2 >2200 Abend
! Tagesende + 2 >2200 Nacht
real c_zeit =
(0.01 * system.Date("%M").ToInteger()) + system.Date("%H").ToInteger();
real c_tagesbeginn =
(0.01 * system.SunriseTime("%M").ToInteger()) + system.SunriseTime("%H").ToInteger();
real c_tagesende =
(0.01 * system.SunsetTime("%M").ToInteger()) + system.SunsetTime("%H").ToInteger();
real c_mittag = 0.5 * (c_tagesbeginn + c_tagesende);
integer v_tageszeit = 0; ! Nacht
if ((c_zeit < c_tagesende + 2) || (c_zeit < 22.00)) {
v_tageszeit = 7; ! Abend
}
if (c_zeit < c_tagesende + 1) {
v_tageszeit = 6; ! Abenddaemmerung
}
if (c_zeit < c_tagesende) {
v_tageszeit = 5; ! Nachmittag
}
if (c_zeit < c_mittag + 1) {
v_tageszeit = 4; ! Mittag
}
if (c_zeit < c_mittag - 1) {
v_tageszeit = 3; ! Vormittag
}
if (c_zeit < c_tagesbeginn) {
v_tageszeit = 2; ! Morgengrauen
}
if (c_zeit < c_tagesbeginn - 1) {
v_tageszeit = 1; ! fruemorgens;
}
if ((c_zeit < c_tagesbeginn - 2) && (c_zeit < 04.00)) {
v_tageszeit = 0; ! Nacht
}
object s_tageszeit = dom.GetObject("Tageszeit");
if (s_tageszeit.Value() != v_tageszeit) {
s_tageszeit.State(v_tageszeit);
}
Ein reboot hat an dem verhalten nichts geaendert.
Hat das sonst noch jmd. bemerkt?
Danke
N