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!

  • Variable anlegen
  • Quicktipp: Variable anlegen

    • Name: Mond_Mondphase
      Typ: Zeichenkette
    • Name: Mond_naechster_Vollmond
      Typ: Zeichenkette
  • Programm anlegen
  • Quicktipp: Programm anlegen

    • 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


    Ich empfehle solche Programme als „Systemintern“ zu markieren. So wird es in der Programmliste versteckt und trägt zur Übersichtlichkeit bei.

    Dir hat der Beitrag gefallen?

    Trage dich kostenlos & unverbindlich in den Newsletter ein
    und verpasse keinen Beitrag mehr!

    Schaue auch gerne auf Facebook vorbei: