Homematic Script Tageszeit berechnen
Homematic kennt leider keine Tageszeit als Variable oder Astrofunktion. In diesem Beitrag zeige ich euch ein kleines Script, mit dem ihr die Tageszeit berechnen und in eine Systemvariable schreiben lassen könnt.
Anschließend kann die Variable in Programmen verwendet (z.B. in der Dämmerung Licht auf 10% dimmen,..) werden.
Los geht’s!
- Name: Tageszeit
Typ: Werteliste
Werte: Nacht; frühmorgens; Morgengauen; Vormittag; Mittag; Nachmittag; Dämmerung; Abend;
- Bedingung: Wenn… Zeitsteuerung, Zeitspannung ganztägig, Serienmuster Zeitintervall alle 5 Minuten
- Aktivität: Dann… Script einfügen
! Tageszeiten berechnen ! www.homematic-guru.de ! 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); }
Fertig!
Verwendete Hardware
-
Homematic Zentrale CCU3 inkl. AIO CREATOR NEO Lizenz
€179,95
Enthält 19% Mwst.zzgl. VersandIn den Warenkorb
Ich empfehle solche Programme als „Systemintern“ zu markieren. So wird es in der Programmliste versteckt und trägt zur Übersichtlichkeit bei.