Homematic Mondphase berechnen
Homematic Mondphase
Standardmäßig kennt die Homematic CCU keine Mondphase.
Mit diesem kleinen Script, kann die aktuelle Mondphase sowie das Datum des nächsten Vollmond berechnet werden.
Los geht’s!
- Name: Mond_Mondphase
Typ: Zeichenkette - Name: Mond_naechster_Vollmond
Typ: Zeichenkette
- Bedingung: Wenn… Zeitsteuerung, Zeitspannung ganztägig, Serienmuster Zeitintervall alle 1 Stunden
- Aktivität: Dann… Script einfügen
!Mondphase berechnen
!Script by www.homematic-guru.de
!Benötigte Systemvariablen:
!Mond_Mondphase: Zeichenkette Mond_Mondphase
!Mond_naechster_Vollmond: Zeichenkette Mond_naechster_Vollmond
!Script jede Stunde ausführen
!Referenz Variablen
real uts = 1.0*(system.Date("%F %X").ToTime().ToInteger());
real rvm = 1371990738.0;
real smm = 2551443.0;
real rnm = 1357933418.0;
!Naechster Vollmond berechnen
while(rvm <= uts){rvm = rvm + smm;}
real x1 = rvm.ToTime();
string y1 = x1.Format("%d.%m.%Y");
object nvm = dom.GetObject('Mond_naechster_Vollmond');
nvm.Variable(y1);
!Mondphase berechnen
real x2 = ((uts-rnm)/smm);
integer x3 = x2.ToInteger();
real x4 = (x2-x3)*100;
integer x5 = x4.ToInteger();
object mf = dom.GetObject('Mond_Mondphase');
string z3 = "Mond";
if(x5 <= 100){z3 = "Abnehmender Mond";}
if(x5 <= 60){z3 = "Vollmond";}
if(x5 <= 40){z3 = "Zunehmender Mond";}
if(x5 <= 15){z3 = "Neumond";}
mf.Variable(z3);
Fertig!
Jetzt werden die angelegten Variablen jede Stunde mit den aktuell errechneten Werten beschrieben.
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.
