Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Astrozeiten (neuste version?)

NEWS

  • Wartung am 15.11. – Forum ab 22:00 Uhr nicht erreichbar
    BluefoxB
    Bluefox
    11
    2
    200

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    7.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.7k

Astrozeiten (neuste version?)

Astrozeiten (neuste version?)

Scheduled Pinned Locked Moved Blockly
blocklyjavascript
33 Posts 8 Posters 12.0k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • paul53P paul53

    @ltsalvatore sagte: Brauche ich diesen Java-Script, welchen ich gepostet habe nicht mehr unter meine Scripte laufen lassen?

    Das Skript wird normalerweise nicht für andere Skripte benötigt.

    @ltsalvatore sagte in Astrozeiten (neuste version?):

    Astro-Trigger um meine verbraucher wieder über die astrozeiten steuern zu können?

    Laut Blockly-Bild verwendest Du die Astro-Trigger zum Schalten der "küche_bodenspots". Wenn das nicht funktioniert, kontrolliere mal die Ortskoordinaten in der Konfiguration der Javascript-Instanz.

    L Offline
    L Offline
    ltsalvatore
    wrote on last edited by ltsalvatore
    #10

    @paul53 sagte in Astrozeiten (neuste version?):

    @ltsalvatore sagte: Brauche ich diesen Java-Script, welchen ich gepostet habe nicht mehr unter meine Scripte laufen lassen?

    Das Skript wird normalerweise nicht für andere Skripte benötigt.

    @ltsalvatore sagte in Astrozeiten (neuste version?):

    Astro-Trigger um meine verbraucher wieder über die astrozeiten steuern zu können?

    Laut Blockly-Bild verwendest Du die Astro-Trigger zum Schalten der "küche_bodenspots". Wenn das nicht funktioniert, kontrolliere mal die Ortskoordinaten in der Konfiguration der Javascript-Instanz.

    ah ok.. so langsam kommt licht ins dunkle.. 🙂

    ich habe das script nun entfernt und und vorsichtshalber auch die objekte in dem tree Astro gelöscht.
    in der instanz habe ich auch den reiter astro-einstellungen gefunden, von dem ich gar nicht wusste, dass dieser existiert. hatte ich wohl verpennt 🙂

    nun sieht das ganze bei mir in den einstellungen so aus:
    4e86b823-5250-471a-8eb6-a4415594e84e-image.png

    laut karte scheinen die koordinaten zu stimmen.

    was mich etwas verwundert ist, dass
    unter "used as start of the daytime" nichts selektiert ist,
    unter "used as end of the daytime" sch_astro_dusk steht,
    "next sunrise" sowie "next sunset" beide abweichen (wenn ich mir die richtigen zeiten aus dem internet raussuche.

    ich habe das ganze nun folgendermaßen geändert und die uhrzeiten für next sunset und next sunrise stimmen jetzt auch.

    2f16a4dc-9eff-40f5-a089-ce5fa1f66468-image.png

    ich glaube das sollte das problem nun beheben, was ich heute abend direkt mal testen werde.

    an meinem script selbst muss ich ja nichts wirklich was ändern, da die astro-trigger ja weiterhin funktionieren sollten?

    951f9607-de5b-44ed-b44c-63ebea3e9610-image.png

    schreibt das im js-script adapter nun fest eingebaute astro-script die uhrzeiten aller astro zeiten irgendwo hin, so dass man diese ablesen kann? das fand ich immer ganz nützlich bei dem alten script, welches entsprechend objekte angelegt hatte.

    danke
    ltsalvatore

    R paul53P 3 Replies Last reply
    0
    • L ltsalvatore

      @paul53 sagte in Astrozeiten (neuste version?):

      @ltsalvatore sagte: Brauche ich diesen Java-Script, welchen ich gepostet habe nicht mehr unter meine Scripte laufen lassen?

      Das Skript wird normalerweise nicht für andere Skripte benötigt.

      @ltsalvatore sagte in Astrozeiten (neuste version?):

      Astro-Trigger um meine verbraucher wieder über die astrozeiten steuern zu können?

      Laut Blockly-Bild verwendest Du die Astro-Trigger zum Schalten der "küche_bodenspots". Wenn das nicht funktioniert, kontrolliere mal die Ortskoordinaten in der Konfiguration der Javascript-Instanz.

      ah ok.. so langsam kommt licht ins dunkle.. 🙂

      ich habe das script nun entfernt und und vorsichtshalber auch die objekte in dem tree Astro gelöscht.
      in der instanz habe ich auch den reiter astro-einstellungen gefunden, von dem ich gar nicht wusste, dass dieser existiert. hatte ich wohl verpennt 🙂

      nun sieht das ganze bei mir in den einstellungen so aus:
      4e86b823-5250-471a-8eb6-a4415594e84e-image.png

      laut karte scheinen die koordinaten zu stimmen.

      was mich etwas verwundert ist, dass
      unter "used as start of the daytime" nichts selektiert ist,
      unter "used as end of the daytime" sch_astro_dusk steht,
      "next sunrise" sowie "next sunset" beide abweichen (wenn ich mir die richtigen zeiten aus dem internet raussuche.

      ich habe das ganze nun folgendermaßen geändert und die uhrzeiten für next sunset und next sunrise stimmen jetzt auch.

      2f16a4dc-9eff-40f5-a089-ce5fa1f66468-image.png

      ich glaube das sollte das problem nun beheben, was ich heute abend direkt mal testen werde.

      an meinem script selbst muss ich ja nichts wirklich was ändern, da die astro-trigger ja weiterhin funktionieren sollten?

      951f9607-de5b-44ed-b44c-63ebea3e9610-image.png

      schreibt das im js-script adapter nun fest eingebaute astro-script die uhrzeiten aller astro zeiten irgendwo hin, so dass man diese ablesen kann? das fand ich immer ganz nützlich bei dem alten script, welches entsprechend objekte angelegt hatte.

      danke
      ltsalvatore

      R Offline
      R Offline
      renni61
      wrote on last edited by
      #11

      @ltsalvatore

      https://www.smarthome-tricks.de/iobroker-scriptsammlung/astro-tageszeit-in-datenpunkte-schreiben/

      1 Reply Last reply
      0
      • L ltsalvatore

        @paul53 sagte in Astrozeiten (neuste version?):

        @ltsalvatore sagte: Brauche ich diesen Java-Script, welchen ich gepostet habe nicht mehr unter meine Scripte laufen lassen?

        Das Skript wird normalerweise nicht für andere Skripte benötigt.

        @ltsalvatore sagte in Astrozeiten (neuste version?):

        Astro-Trigger um meine verbraucher wieder über die astrozeiten steuern zu können?

        Laut Blockly-Bild verwendest Du die Astro-Trigger zum Schalten der "küche_bodenspots". Wenn das nicht funktioniert, kontrolliere mal die Ortskoordinaten in der Konfiguration der Javascript-Instanz.

        ah ok.. so langsam kommt licht ins dunkle.. 🙂

        ich habe das script nun entfernt und und vorsichtshalber auch die objekte in dem tree Astro gelöscht.
        in der instanz habe ich auch den reiter astro-einstellungen gefunden, von dem ich gar nicht wusste, dass dieser existiert. hatte ich wohl verpennt 🙂

        nun sieht das ganze bei mir in den einstellungen so aus:
        4e86b823-5250-471a-8eb6-a4415594e84e-image.png

        laut karte scheinen die koordinaten zu stimmen.

        was mich etwas verwundert ist, dass
        unter "used as start of the daytime" nichts selektiert ist,
        unter "used as end of the daytime" sch_astro_dusk steht,
        "next sunrise" sowie "next sunset" beide abweichen (wenn ich mir die richtigen zeiten aus dem internet raussuche.

        ich habe das ganze nun folgendermaßen geändert und die uhrzeiten für next sunset und next sunrise stimmen jetzt auch.

        2f16a4dc-9eff-40f5-a089-ce5fa1f66468-image.png

        ich glaube das sollte das problem nun beheben, was ich heute abend direkt mal testen werde.

        an meinem script selbst muss ich ja nichts wirklich was ändern, da die astro-trigger ja weiterhin funktionieren sollten?

        951f9607-de5b-44ed-b44c-63ebea3e9610-image.png

        schreibt das im js-script adapter nun fest eingebaute astro-script die uhrzeiten aller astro zeiten irgendwo hin, so dass man diese ablesen kann? das fand ich immer ganz nützlich bei dem alten script, welches entsprechend objekte angelegt hatte.

        danke
        ltsalvatore

        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #12

        @ltsalvatore sagte: die uhrzeiten für next sunset und next sunrise stimmen jetzt auch.

        Dann sollte auch das Blockly-Skript funktionieren.

        @ltsalvatore sagte in Astrozeiten (neuste version?):

        schreibt das im js-script adapter nun fest eingebaute astro-script die uhrzeiten aller astro zeiten irgendwo hin, so dass man diese ablesen kann?

        Nein, die Einstellungen beeinflussen nur den Datenpunkt "javascript.0.variables.isDayTime".

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Reply Last reply
        0
        • L ltsalvatore

          @paul53 sagte in Astrozeiten (neuste version?):

          @ltsalvatore sagte: Brauche ich diesen Java-Script, welchen ich gepostet habe nicht mehr unter meine Scripte laufen lassen?

          Das Skript wird normalerweise nicht für andere Skripte benötigt.

          @ltsalvatore sagte in Astrozeiten (neuste version?):

          Astro-Trigger um meine verbraucher wieder über die astrozeiten steuern zu können?

          Laut Blockly-Bild verwendest Du die Astro-Trigger zum Schalten der "küche_bodenspots". Wenn das nicht funktioniert, kontrolliere mal die Ortskoordinaten in der Konfiguration der Javascript-Instanz.

          ah ok.. so langsam kommt licht ins dunkle.. 🙂

          ich habe das script nun entfernt und und vorsichtshalber auch die objekte in dem tree Astro gelöscht.
          in der instanz habe ich auch den reiter astro-einstellungen gefunden, von dem ich gar nicht wusste, dass dieser existiert. hatte ich wohl verpennt 🙂

          nun sieht das ganze bei mir in den einstellungen so aus:
          4e86b823-5250-471a-8eb6-a4415594e84e-image.png

          laut karte scheinen die koordinaten zu stimmen.

          was mich etwas verwundert ist, dass
          unter "used as start of the daytime" nichts selektiert ist,
          unter "used as end of the daytime" sch_astro_dusk steht,
          "next sunrise" sowie "next sunset" beide abweichen (wenn ich mir die richtigen zeiten aus dem internet raussuche.

          ich habe das ganze nun folgendermaßen geändert und die uhrzeiten für next sunset und next sunrise stimmen jetzt auch.

          2f16a4dc-9eff-40f5-a089-ce5fa1f66468-image.png

          ich glaube das sollte das problem nun beheben, was ich heute abend direkt mal testen werde.

          an meinem script selbst muss ich ja nichts wirklich was ändern, da die astro-trigger ja weiterhin funktionieren sollten?

          951f9607-de5b-44ed-b44c-63ebea3e9610-image.png

          schreibt das im js-script adapter nun fest eingebaute astro-script die uhrzeiten aller astro zeiten irgendwo hin, so dass man diese ablesen kann? das fand ich immer ganz nützlich bei dem alten script, welches entsprechend objekte angelegt hatte.

          danke
          ltsalvatore

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by paul53
          #13

          @ltsalvatore sagte: das fand ich immer ganz nützlich bei dem alten script

          Bei mir läuft dieses etwas abgewandelte Skript:

          const sec = false; // Sekunden darstellen oder nicht
          const fC = false; // forceCreation ein/aus
          const pfad = "javascript." + instance  + ".Astro."; // Pfad zum Objekt - Objektbaum-Hauptverzeichnis
          
          // *****************************************************************************
          // TAGESZEITEN - T E I L 
          
          // Tageszeiten nach eigenem Gusto
          const tageszeiten = [{name: "Nacht", astro: "nauticalDusk", shift: 45},
          		     {name: "Morgendämmerung", astro: "nauticalDawn", shift: -45},
          		     {name: "Sonnenaufgang", astro: "sunrise", shift: 0},
          		     {name: "Morgen", astro: "sunriseEnd", shift: 0},
          		     {name: "Vormittag", astro: "goldenHourEnd", shift: 60},
          		     {name: "Mittag", astro: "solarNoon", shift: -30},
          		     {name: "Nachmittag", astro: "solarNoon", shift: 30},
          		     {name: "Abend", astro: "goldenHour", shift: -60},
          		     {name: "Sonnenuntergang", astro: "sunsetStart", shift: 0},
          		     {name: "Abenddämmerung", astro: "sunset", shift:0}
                              ];
          
          const idTageszeit = pfad + "Tageszeit.current" /*Tageszeit*/,
                idTageszeitNext = pfad + "Tageszeit.next",
                idAstrotag =  pfad + "Tageszeit.Astrotag";
          
                
          createState(idTageszeit, "nächste Minute abwarten", {
              name: "Tageszeit",
              desc: "Name der Tageszeit",
              type: "string"
          });   
          createState(idTageszeitNext, "nächste Minute abwarten", {
              name: "nächste Tageszeit",
              desc: "Name der nächsten Tageszeit",
              type: "string"
          });
          createState(idAstrotag, isAstroDay(), {
              type: "boolean",
              name: "Astrologischer Tag",
              desc: "Liegt die aktuelle Zeit zwischen Sonnenauf- und untergang"
          }); 
          
          
          schedule('* * * * *', function() { // jede Minute
          	for(let i = 0; i < tageszeiten.length; i++) {
          		var act = tageszeiten[i];
          		var next = tageszeiten[0];
          		if(i + 1 < tageszeiten.length) next = tageszeiten[i + 1];
                  var actTime = getAstroDate(act.astro).getTime() + 60000 * act.shift;
                  var nextTime = getAstroDate(next.astro).getTime() + 60000 * next.shift;
                  if(actTime > nextTime) {
                      if(new Date().getHours() > 12) nextTime = nextTime + 24 * 3600000;
                      else actTime = actTime - 24 * 3600000;
                  }    
          		var now = Date.now();
          		if(now > actTime && now < nextTime) {
           			setState(idTageszeit, act.name, true);
          			setState(idTageszeitNext, next.name, true);
          		}
          	}
          	setState(idAstrotag, isAstroDay(), true);
          });
          
          
          // *****************************************************************************
          // A S T R O - T E I L 
          
          // Objekt für Uhrzeiten der Astrozeiten
          const astrotime = {
              "elements" : [
                  // Astrotag beginnt
                  {
                      "fname" : "nadir",
                      "de" : {
                          "name" : "Nadir",
                          "nxt" : "nächster",
                          "desc" : "Fußpunkt gegenüber dem Zenit"
                      },
                      "en" : {
                          "name" : "Nadir",
                          "desc" : "darkest moment of the night, sun is in the lowest position"
                      },
                      "astroday" : false //during astronight
                  },
                  {
                      "fname" : "nauticalDawn",
                      "de" : {
                          "name" : "nautische Morgendämmerung",
                          "nxt" : "nächste",
                          "desc" : ""
                      },
                      "en" : {
                          "name" : "Nautical dawn",
                          "desc" : "morning nautical twilight starts"
                      },
                      "astroday" : false //during astronight
                  },
                  {
                      "fname" : "dawn",
                      "de" : {
                          "name" : "bürgerliche Morgendämmerung",
                          "nxt" : "nächste",
                          "desc" : ""
                      },
                      "en" : {
                          "name" : "dawn",
                          "desc" : "morning nautical twilight ends, morning civil twilight starts"
                      },
                      "astroday" : false //during astronight
                  },
                  {
                      "fname" : "sunrise", // function name
                      "de" : {
                          "name" : "Sonnenaufgang",
                          "nxt" : "nächster",
                          "desc" : ""
                      },
                      "en" : {
                          "name" : "Sunrise",
                          "desc" : "top edge of the sun appears on the horizon"
                      },
                      "astroday" : true //during astroday
                  },
                  {
                      "fname" : "sunriseEnd", // function name
                      "de" : {
                          "name" : "Ende Sonnenaufgang",
                          "nxt" : "nächstes",
                          "desc" : ""
                      },
                      "en" : {
                          "name" : "End of sunrise",
                          "desc" : "bottom edge of the sun touches the horizon"
                      },
                      "astroday" : true //during astroday
                  },
                  {
                      "fname" : "goldenHourEnd", // function name
                      "de" : {
                          "name" : "Ende der goldenen Stunde am Morgen",
                          "nxt" : "nächstes",
                          "desc" : ""
                      },
                      "en" : {
                          "name" : "End of golden hour",
                          "desc" : "morning golden hour (soft light, best time for photography) ends"
                      },
                      "astroday" : true //during astroday
                  },
                  {
                      "fname" : "solarNoon", // function name
                      "de" : {
                          "name" : "Sonnenhöchststand",
                          "nxt" : "nächster",
                          "desc" : ""
                      },
                      "en" : {
                          "name" : "Solar noon",
                          "desc" : "sun is in the highest position"
                      },
                      "astroday" : true //during astroday
                  },
                  {
                      "fname" : "goldenHour", // function name
                      "de" : {
                          "name" : "Goldene Stunde (am Abend)",
                          "nxt" : "nächste",
                          "desc" : ""
                      },
                      "en" : {
                          "name" : "Golden hour",
                          "desc" : "evening golden hour starts"
                      },
                      "astroday" : true //during astroday
                  },
                  {
                      "fname" : "sunsetStart", // function name
                      "de" : {
                          "name" : "Beginn Sonnenuntergang",
                          "nxt" : "nächster",
                          "desc" : ""
                      },
                      "en" : {
                          "name" : "Sunset starts",
                          "desc" : "bottom edge of the sun touches the horizon"
                      },
                      "astroday" : true //during astroday
                  },
                  // Astronacht beginnt
                  {
                      "fname" : "sunset", // function name
                      "de" : {
                          "name" : "Sonnenuntergang",
                          "nxt" : "nächster",
                          "desc" : ""
                      },
                      "en" : {
                          "name" : "Sunset",
                          "desc" : "sun disappears below the horizon, evening civil twilight starts"
                      },
                      "astroday" : false //during astronight
                  },
                  {
                      "fname" : "dusk",
                      "de" : {
                          "name" : "Ende bürgerliche Abenddämmerung",
                          "nxt" : "nächstes",
                          "desc" : ""
                      },
                      "en" : {
                          "name" : "Dusk",
                          "desc" : "evening nautical twilight starts"
                      },
                      "astroday" : false //during astronight
                  },
                  {
                      "fname" : "nauticalDusk",
                      "de" : {
                          "name" : "Ende nautische Abenddämmerung",
                          "nxt" : "nächstes",
                          "desc" : ""
                      },
                      "en" : {
                          "name" : "Nautical dusk",
                          "desc" : "evening astronomical twilight starts"
                      },
                      "astroday" : false //during astronight
                  }
              
              ]
          };
          
          for(let i = 0; i < astrotime.elements.length; i++) {
              // führende Nummer zur Sortierung in Admin/Objekte
              var nr = i;
              if(i < 10) nr = '0' + nr;
              // Erstelle Objekt, falls nicht bereits vorhanden
              var idAstroObject = pfad + "Zeiten." + nr + "-" + astrotime.elements[i].fname;
              createState(idAstroObject, " ", {
                  name: astrotime.elements[i].de.nxt + " " + astrotime.elements[i].de.name,
                  desc: astrotime.elements[i].en.desc,
                  type: "string"
              });
          }
          
          function writeAstroTimes(i) {
              // führende Nummer zur Sortierung in Admin/Objekte
              var nr = i;
              if(i < 10) nr = '0' + nr;
              var idAstroObject = pfad + "Zeiten." + nr + "-" + astrotime.elements[i].fname;
              var today = new Date();
              var tomorrow = today.setDate(today.getDate()+1);
              var fname = astrotime.elements[i].fname;
              var next_event = today.getTime();
              if (getAstroDate(fname) < today) next_event = tomorrow;
              var temp = getAstroDate(fname, next_event);
              let astro = formatDate(temp, 'hh:mm');
              if(sec) astro = formatDate(temp, 'hh:mm:ss');
              setState(idAstroObject, astro, true);
          }
          
          function iterateAstrotimes() {
              // Zeiten für jede Astrozeit schreiben
              for (var i = 0; i < astrotime.elements.length; i++) {
                  writeAstroTimes(i);
              }
          }
          
          schedule("59 1 * * *", iterateAstrotimes);
          
          setTimeout(function() { // Skriptstart
              iterateAstrotimes();
              setState(idAstrotag, isAstroDay(), true);
          }, 200);
          

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          L 1 Reply Last reply
          1
          • paul53P paul53

            @ltsalvatore sagte: das fand ich immer ganz nützlich bei dem alten script

            Bei mir läuft dieses etwas abgewandelte Skript:

            const sec = false; // Sekunden darstellen oder nicht
            const fC = false; // forceCreation ein/aus
            const pfad = "javascript." + instance  + ".Astro."; // Pfad zum Objekt - Objektbaum-Hauptverzeichnis
            
            // *****************************************************************************
            // TAGESZEITEN - T E I L 
            
            // Tageszeiten nach eigenem Gusto
            const tageszeiten = [{name: "Nacht", astro: "nauticalDusk", shift: 45},
            		     {name: "Morgendämmerung", astro: "nauticalDawn", shift: -45},
            		     {name: "Sonnenaufgang", astro: "sunrise", shift: 0},
            		     {name: "Morgen", astro: "sunriseEnd", shift: 0},
            		     {name: "Vormittag", astro: "goldenHourEnd", shift: 60},
            		     {name: "Mittag", astro: "solarNoon", shift: -30},
            		     {name: "Nachmittag", astro: "solarNoon", shift: 30},
            		     {name: "Abend", astro: "goldenHour", shift: -60},
            		     {name: "Sonnenuntergang", astro: "sunsetStart", shift: 0},
            		     {name: "Abenddämmerung", astro: "sunset", shift:0}
                                ];
            
            const idTageszeit = pfad + "Tageszeit.current" /*Tageszeit*/,
                  idTageszeitNext = pfad + "Tageszeit.next",
                  idAstrotag =  pfad + "Tageszeit.Astrotag";
            
                  
            createState(idTageszeit, "nächste Minute abwarten", {
                name: "Tageszeit",
                desc: "Name der Tageszeit",
                type: "string"
            });   
            createState(idTageszeitNext, "nächste Minute abwarten", {
                name: "nächste Tageszeit",
                desc: "Name der nächsten Tageszeit",
                type: "string"
            });
            createState(idAstrotag, isAstroDay(), {
                type: "boolean",
                name: "Astrologischer Tag",
                desc: "Liegt die aktuelle Zeit zwischen Sonnenauf- und untergang"
            }); 
            
            
            schedule('* * * * *', function() { // jede Minute
            	for(let i = 0; i < tageszeiten.length; i++) {
            		var act = tageszeiten[i];
            		var next = tageszeiten[0];
            		if(i + 1 < tageszeiten.length) next = tageszeiten[i + 1];
                    var actTime = getAstroDate(act.astro).getTime() + 60000 * act.shift;
                    var nextTime = getAstroDate(next.astro).getTime() + 60000 * next.shift;
                    if(actTime > nextTime) {
                        if(new Date().getHours() > 12) nextTime = nextTime + 24 * 3600000;
                        else actTime = actTime - 24 * 3600000;
                    }    
            		var now = Date.now();
            		if(now > actTime && now < nextTime) {
             			setState(idTageszeit, act.name, true);
            			setState(idTageszeitNext, next.name, true);
            		}
            	}
            	setState(idAstrotag, isAstroDay(), true);
            });
            
            
            // *****************************************************************************
            // A S T R O - T E I L 
            
            // Objekt für Uhrzeiten der Astrozeiten
            const astrotime = {
                "elements" : [
                    // Astrotag beginnt
                    {
                        "fname" : "nadir",
                        "de" : {
                            "name" : "Nadir",
                            "nxt" : "nächster",
                            "desc" : "Fußpunkt gegenüber dem Zenit"
                        },
                        "en" : {
                            "name" : "Nadir",
                            "desc" : "darkest moment of the night, sun is in the lowest position"
                        },
                        "astroday" : false //during astronight
                    },
                    {
                        "fname" : "nauticalDawn",
                        "de" : {
                            "name" : "nautische Morgendämmerung",
                            "nxt" : "nächste",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Nautical dawn",
                            "desc" : "morning nautical twilight starts"
                        },
                        "astroday" : false //during astronight
                    },
                    {
                        "fname" : "dawn",
                        "de" : {
                            "name" : "bürgerliche Morgendämmerung",
                            "nxt" : "nächste",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "dawn",
                            "desc" : "morning nautical twilight ends, morning civil twilight starts"
                        },
                        "astroday" : false //during astronight
                    },
                    {
                        "fname" : "sunrise", // function name
                        "de" : {
                            "name" : "Sonnenaufgang",
                            "nxt" : "nächster",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Sunrise",
                            "desc" : "top edge of the sun appears on the horizon"
                        },
                        "astroday" : true //during astroday
                    },
                    {
                        "fname" : "sunriseEnd", // function name
                        "de" : {
                            "name" : "Ende Sonnenaufgang",
                            "nxt" : "nächstes",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "End of sunrise",
                            "desc" : "bottom edge of the sun touches the horizon"
                        },
                        "astroday" : true //during astroday
                    },
                    {
                        "fname" : "goldenHourEnd", // function name
                        "de" : {
                            "name" : "Ende der goldenen Stunde am Morgen",
                            "nxt" : "nächstes",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "End of golden hour",
                            "desc" : "morning golden hour (soft light, best time for photography) ends"
                        },
                        "astroday" : true //during astroday
                    },
                    {
                        "fname" : "solarNoon", // function name
                        "de" : {
                            "name" : "Sonnenhöchststand",
                            "nxt" : "nächster",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Solar noon",
                            "desc" : "sun is in the highest position"
                        },
                        "astroday" : true //during astroday
                    },
                    {
                        "fname" : "goldenHour", // function name
                        "de" : {
                            "name" : "Goldene Stunde (am Abend)",
                            "nxt" : "nächste",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Golden hour",
                            "desc" : "evening golden hour starts"
                        },
                        "astroday" : true //during astroday
                    },
                    {
                        "fname" : "sunsetStart", // function name
                        "de" : {
                            "name" : "Beginn Sonnenuntergang",
                            "nxt" : "nächster",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Sunset starts",
                            "desc" : "bottom edge of the sun touches the horizon"
                        },
                        "astroday" : true //during astroday
                    },
                    // Astronacht beginnt
                    {
                        "fname" : "sunset", // function name
                        "de" : {
                            "name" : "Sonnenuntergang",
                            "nxt" : "nächster",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Sunset",
                            "desc" : "sun disappears below the horizon, evening civil twilight starts"
                        },
                        "astroday" : false //during astronight
                    },
                    {
                        "fname" : "dusk",
                        "de" : {
                            "name" : "Ende bürgerliche Abenddämmerung",
                            "nxt" : "nächstes",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Dusk",
                            "desc" : "evening nautical twilight starts"
                        },
                        "astroday" : false //during astronight
                    },
                    {
                        "fname" : "nauticalDusk",
                        "de" : {
                            "name" : "Ende nautische Abenddämmerung",
                            "nxt" : "nächstes",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Nautical dusk",
                            "desc" : "evening astronomical twilight starts"
                        },
                        "astroday" : false //during astronight
                    }
                
                ]
            };
            
            for(let i = 0; i < astrotime.elements.length; i++) {
                // führende Nummer zur Sortierung in Admin/Objekte
                var nr = i;
                if(i < 10) nr = '0' + nr;
                // Erstelle Objekt, falls nicht bereits vorhanden
                var idAstroObject = pfad + "Zeiten." + nr + "-" + astrotime.elements[i].fname;
                createState(idAstroObject, " ", {
                    name: astrotime.elements[i].de.nxt + " " + astrotime.elements[i].de.name,
                    desc: astrotime.elements[i].en.desc,
                    type: "string"
                });
            }
            
            function writeAstroTimes(i) {
                // führende Nummer zur Sortierung in Admin/Objekte
                var nr = i;
                if(i < 10) nr = '0' + nr;
                var idAstroObject = pfad + "Zeiten." + nr + "-" + astrotime.elements[i].fname;
                var today = new Date();
                var tomorrow = today.setDate(today.getDate()+1);
                var fname = astrotime.elements[i].fname;
                var next_event = today.getTime();
                if (getAstroDate(fname) < today) next_event = tomorrow;
                var temp = getAstroDate(fname, next_event);
                let astro = formatDate(temp, 'hh:mm');
                if(sec) astro = formatDate(temp, 'hh:mm:ss');
                setState(idAstroObject, astro, true);
            }
            
            function iterateAstrotimes() {
                // Zeiten für jede Astrozeit schreiben
                for (var i = 0; i < astrotime.elements.length; i++) {
                    writeAstroTimes(i);
                }
            }
            
            schedule("59 1 * * *", iterateAstrotimes);
            
            setTimeout(function() { // Skriptstart
                iterateAstrotimes();
                setState(idAstrotag, isAstroDay(), true);
            }, 200);
            
            L Offline
            L Offline
            ltsalvatore
            wrote on last edited by
            #14

            @paul53 sagte in Astrozeiten (neuste version?):

            @ltsalvatore sagte: das fand ich immer ganz nützlich bei dem alten script

            Bei mir läuft dieses etwas abgewandelte Skript:

            const sec = false; // Sekunden darstellen oder nicht
            const fC = false; // forceCreation ein/aus
            const pfad = "javascript." + instance  + ".Astro."; // Pfad zum Objekt - Objektbaum-Hauptverzeichnis
            
            // *****************************************************************************
            // TAGESZEITEN - T E I L 
            
            // Tageszeiten nach eigenem Gusto
            const tageszeiten = [{name: "Nacht", astro: "nauticalDusk", shift: 45},
            		     {name: "Morgendämmerung", astro: "nauticalDawn", shift: -45},
            		     {name: "Sonnenaufgang", astro: "sunrise", shift: 0},
            		     {name: "Morgen", astro: "sunriseEnd", shift: 0},
            		     {name: "Vormittag", astro: "goldenHourEnd", shift: 60},
            		     {name: "Mittag", astro: "solarNoon", shift: -30},
            		     {name: "Nachmittag", astro: "solarNoon", shift: 30},
            		     {name: "Abend", astro: "goldenHour", shift: -60},
            		     {name: "Sonnenuntergang", astro: "sunsetStart", shift: 0},
            		     {name: "Abenddämmerung", astro: "sunset", shift:0}
                                ];
            
            const idTageszeit = pfad + "Tageszeit.current" /*Tageszeit*/,
                  idTageszeitNext = pfad + "Tageszeit.next",
                  idAstrotag =  pfad + "Tageszeit.Astrotag";
            
                  
            createState(idTageszeit, "nächste Minute abwarten", {
                name: "Tageszeit",
                desc: "Name der Tageszeit",
                type: "string"
            });   
            createState(idTageszeitNext, "nächste Minute abwarten", {
                name: "nächste Tageszeit",
                desc: "Name der nächsten Tageszeit",
                type: "string"
            });
            createState(idAstrotag, isAstroDay(), {
                type: "boolean",
                name: "Astrologischer Tag",
                desc: "Liegt die aktuelle Zeit zwischen Sonnenauf- und untergang"
            }); 
            
            
            schedule('* * * * *', function() { // jede Minute
            	for(let i = 0; i < tageszeiten.length; i++) {
            		var act = tageszeiten[i];
            		var next = tageszeiten[0];
            		if(i + 1 < tageszeiten.length) next = tageszeiten[i + 1];
                    var actTime = getAstroDate(act.astro).getTime() + 60000 * act.shift;
                    var nextTime = getAstroDate(next.astro).getTime() + 60000 * next.shift;
                    if(actTime > nextTime) {
                        if(new Date().getHours() > 12) nextTime = nextTime + 24 * 3600000;
                        else actTime = actTime - 24 * 3600000;
                    }    
            		var now = Date.now();
            		if(now > actTime && now < nextTime) {
             			setState(idTageszeit, act.name, true);
            			setState(idTageszeitNext, next.name, true);
            		}
            	}
            	setState(idAstrotag, isAstroDay(), true);
            });
            
            
            // *****************************************************************************
            // A S T R O - T E I L 
            
            // Objekt für Uhrzeiten der Astrozeiten
            const astrotime = {
                "elements" : [
                    // Astrotag beginnt
                    {
                        "fname" : "nadir",
                        "de" : {
                            "name" : "Nadir",
                            "nxt" : "nächster",
                            "desc" : "Fußpunkt gegenüber dem Zenit"
                        },
                        "en" : {
                            "name" : "Nadir",
                            "desc" : "darkest moment of the night, sun is in the lowest position"
                        },
                        "astroday" : false //during astronight
                    },
                    {
                        "fname" : "nauticalDawn",
                        "de" : {
                            "name" : "nautische Morgendämmerung",
                            "nxt" : "nächste",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Nautical dawn",
                            "desc" : "morning nautical twilight starts"
                        },
                        "astroday" : false //during astronight
                    },
                    {
                        "fname" : "dawn",
                        "de" : {
                            "name" : "bürgerliche Morgendämmerung",
                            "nxt" : "nächste",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "dawn",
                            "desc" : "morning nautical twilight ends, morning civil twilight starts"
                        },
                        "astroday" : false //during astronight
                    },
                    {
                        "fname" : "sunrise", // function name
                        "de" : {
                            "name" : "Sonnenaufgang",
                            "nxt" : "nächster",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Sunrise",
                            "desc" : "top edge of the sun appears on the horizon"
                        },
                        "astroday" : true //during astroday
                    },
                    {
                        "fname" : "sunriseEnd", // function name
                        "de" : {
                            "name" : "Ende Sonnenaufgang",
                            "nxt" : "nächstes",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "End of sunrise",
                            "desc" : "bottom edge of the sun touches the horizon"
                        },
                        "astroday" : true //during astroday
                    },
                    {
                        "fname" : "goldenHourEnd", // function name
                        "de" : {
                            "name" : "Ende der goldenen Stunde am Morgen",
                            "nxt" : "nächstes",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "End of golden hour",
                            "desc" : "morning golden hour (soft light, best time for photography) ends"
                        },
                        "astroday" : true //during astroday
                    },
                    {
                        "fname" : "solarNoon", // function name
                        "de" : {
                            "name" : "Sonnenhöchststand",
                            "nxt" : "nächster",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Solar noon",
                            "desc" : "sun is in the highest position"
                        },
                        "astroday" : true //during astroday
                    },
                    {
                        "fname" : "goldenHour", // function name
                        "de" : {
                            "name" : "Goldene Stunde (am Abend)",
                            "nxt" : "nächste",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Golden hour",
                            "desc" : "evening golden hour starts"
                        },
                        "astroday" : true //during astroday
                    },
                    {
                        "fname" : "sunsetStart", // function name
                        "de" : {
                            "name" : "Beginn Sonnenuntergang",
                            "nxt" : "nächster",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Sunset starts",
                            "desc" : "bottom edge of the sun touches the horizon"
                        },
                        "astroday" : true //during astroday
                    },
                    // Astronacht beginnt
                    {
                        "fname" : "sunset", // function name
                        "de" : {
                            "name" : "Sonnenuntergang",
                            "nxt" : "nächster",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Sunset",
                            "desc" : "sun disappears below the horizon, evening civil twilight starts"
                        },
                        "astroday" : false //during astronight
                    },
                    {
                        "fname" : "dusk",
                        "de" : {
                            "name" : "Ende bürgerliche Abenddämmerung",
                            "nxt" : "nächstes",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Dusk",
                            "desc" : "evening nautical twilight starts"
                        },
                        "astroday" : false //during astronight
                    },
                    {
                        "fname" : "nauticalDusk",
                        "de" : {
                            "name" : "Ende nautische Abenddämmerung",
                            "nxt" : "nächstes",
                            "desc" : ""
                        },
                        "en" : {
                            "name" : "Nautical dusk",
                            "desc" : "evening astronomical twilight starts"
                        },
                        "astroday" : false //during astronight
                    }
                
                ]
            };
            
            for(let i = 0; i < astrotime.elements.length; i++) {
                // führende Nummer zur Sortierung in Admin/Objekte
                var nr = i;
                if(i < 10) nr = '0' + nr;
                // Erstelle Objekt, falls nicht bereits vorhanden
                var idAstroObject = pfad + "Zeiten." + nr + "-" + astrotime.elements[i].fname;
                createState(idAstroObject, " ", {
                    name: astrotime.elements[i].de.nxt + " " + astrotime.elements[i].de.name,
                    desc: astrotime.elements[i].en.desc,
                    type: "string"
                });
            }
            
            function writeAstroTimes(i) {
                // führende Nummer zur Sortierung in Admin/Objekte
                var nr = i;
                if(i < 10) nr = '0' + nr;
                var idAstroObject = pfad + "Zeiten." + nr + "-" + astrotime.elements[i].fname;
                var today = new Date();
                var tomorrow = today.setDate(today.getDate()+1);
                var fname = astrotime.elements[i].fname;
                var next_event = today.getTime();
                if (getAstroDate(fname) < today) next_event = tomorrow;
                var temp = getAstroDate(fname, next_event);
                let astro = formatDate(temp, 'hh:mm');
                if(sec) astro = formatDate(temp, 'hh:mm:ss');
                setState(idAstroObject, astro, true);
            }
            
            function iterateAstrotimes() {
                // Zeiten für jede Astrozeit schreiben
                for (var i = 0; i < astrotime.elements.length; i++) {
                    writeAstroTimes(i);
                }
            }
            
            schedule("59 1 * * *", iterateAstrotimes);
            
            setTimeout(function() { // Skriptstart
                iterateAstrotimes();
                setState(idAstrotag, isAstroDay(), true);
            }, 200);
            

            danke, habe mir das script nun zusätzlich hinzugefügt, bzw. mein altes damit aktualisiert und wieder aktiviert.

            sieht so aus als ob nun wieder alles funktioniert 😄
            danke an alle für die schnelle hilfe 🙂

            1 Reply Last reply
            0
            • S Offline
              S Offline
              samsungfreak
              wrote on last edited by
              #15

              Hallo,

              ich verwende auch seit langer Zeit das folgende Skript:

              • Astro Datenpunkte

              Musste jetzt aber feststellen, dass die Datenpunkte nicht mehr aktualisiert werden.
              Ich konnte jetzt noch nicht verstehen, warum diese nicht mehr aktualisiert werden. Der Inhalt vom Thread konnte mir es leider auch nicht beantworten.

              Dadurch, dass die Aktualisiertung nicht mehr funktioniert, funktionieren ein paar Skripte entsprechend nicht mehr.

              35390ebe-63d0-495d-9f3f-fd8f32b92c0b-grafik.png

              Aber bezieht das Blocky mit "Sonnenuntergang-Anfang" überhaupt Daten aus den Datenpunkten die ich schreiben lasse?

              Hier die Astrodaten die ich schreiben lasse:

              138ab3d4-2618-40e5-ab00-29f96e3a3bbf-grafik.png

              Hier die Astrodaten vom System/Javascript?!

              1b4b73eb-1571-4054-b678-549bb5223fe5-grafik.png

              Die Daten vom System/Javascript sind korrekt aber wie verwende ich diese dann im Blocky?

              paul53P 1 Reply Last reply
              0
              • S samsungfreak

                Hallo,

                ich verwende auch seit langer Zeit das folgende Skript:

                • Astro Datenpunkte

                Musste jetzt aber feststellen, dass die Datenpunkte nicht mehr aktualisiert werden.
                Ich konnte jetzt noch nicht verstehen, warum diese nicht mehr aktualisiert werden. Der Inhalt vom Thread konnte mir es leider auch nicht beantworten.

                Dadurch, dass die Aktualisiertung nicht mehr funktioniert, funktionieren ein paar Skripte entsprechend nicht mehr.

                35390ebe-63d0-495d-9f3f-fd8f32b92c0b-grafik.png

                Aber bezieht das Blocky mit "Sonnenuntergang-Anfang" überhaupt Daten aus den Datenpunkten die ich schreiben lasse?

                Hier die Astrodaten die ich schreiben lasse:

                138ab3d4-2618-40e5-ab00-29f96e3a3bbf-grafik.png

                Hier die Astrodaten vom System/Javascript?!

                1b4b73eb-1571-4054-b678-549bb5223fe5-grafik.png

                Die Daten vom System/Javascript sind korrekt aber wie verwende ich diese dann im Blocky?

                paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by
                #16

                @samsungfreak sagte: Aber bezieht das Blocky mit "Sonnenuntergang-Anfang" überhaupt Daten aus den Datenpunkten die ich schreiben lasse?

                Nein. Es wird das NPM-Modul "suncalc2" im Javascript-Adapter verwendet.

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                S 1 Reply Last reply
                0
                • paul53P paul53

                  @samsungfreak sagte: Aber bezieht das Blocky mit "Sonnenuntergang-Anfang" überhaupt Daten aus den Datenpunkten die ich schreiben lasse?

                  Nein. Es wird das NPM-Modul "suncalc2" im Javascript-Adapter verwendet.

                  S Offline
                  S Offline
                  samsungfreak
                  wrote on last edited by
                  #17

                  @paul53 Ok danke und das sind somit diese Daten/Objekte, oder?

                  6f9de663-0404-47b4-ae4c-182b731c49a3-grafik.png

                  paul53P 1 Reply Last reply
                  0
                  • S samsungfreak

                    @paul53 Ok danke und das sind somit diese Daten/Objekte, oder?

                    6f9de663-0404-47b4-ae4c-182b731c49a3-grafik.png

                    paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by paul53
                    #18

                    @samsungfreak sagte: diese Daten/Objekte, oder?

                    Diese Daten werden von einem Javascript erzeugt. Blockly greift nicht darauf zu.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    S 1 Reply Last reply
                    0
                    • paul53P paul53

                      @samsungfreak sagte: diese Daten/Objekte, oder?

                      Diese Daten werden von einem Javascript erzeugt. Blockly greift nicht darauf zu.

                      S Offline
                      S Offline
                      samsungfreak
                      wrote on last edited by
                      #19

                      @paul53 Aber auf welche Daten greift Blockly dann zu bei "Sonnenuntergang-Anfang"?

                      paul53P 1 Reply Last reply
                      0
                      • S samsungfreak

                        @paul53 Aber auf welche Daten greift Blockly dann zu bei "Sonnenuntergang-Anfang"?

                        paul53P Offline
                        paul53P Offline
                        paul53
                        wrote on last edited by paul53
                        #20

                        @samsungfreak sagte: auf welche Daten greift Blockly dann zu bei "Sonnenuntergang-Anfang"?

                        Auf Daten, die anhand der Ortskoordinaten im NPM-Modul "suncalc2" berechnet werden. Das erfolgt im Javascript-Adapter intern.

                        @samsungfreak sagte in Astrozeiten (neuste version?):

                        Hier die Astrodaten die ich schreiben lasse:

                        Diese Daten wurden zuletzt Mitte/Ende Juni geschrieben. Schau mal auf "letzte Änderung" mit Mauszeiger über dem Wert.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        S 1 Reply Last reply
                        0
                        • paul53P paul53

                          @samsungfreak sagte: auf welche Daten greift Blockly dann zu bei "Sonnenuntergang-Anfang"?

                          Auf Daten, die anhand der Ortskoordinaten im NPM-Modul "suncalc2" berechnet werden. Das erfolgt im Javascript-Adapter intern.

                          @samsungfreak sagte in Astrozeiten (neuste version?):

                          Hier die Astrodaten die ich schreiben lasse:

                          Diese Daten wurden zuletzt Mitte/Ende Juni geschrieben. Schau mal auf "letzte Änderung" mit Mauszeiger über dem Wert.

                          S Offline
                          S Offline
                          samsungfreak
                          wrote on last edited by
                          #21

                          @paul53 Letzte Änderung der Werte am 12.04.2022:( Das System wurde in der Zwischenzeit rebootet etc. Eine Idee woran es liegen kann?

                          Ist das "neu", dass der Javaskript die Daten in "sichtbare" Objekte schreibt? Ich war mir sicher, dass ich das Skript damals genutzt habe da ich die Daten dazu nirgends finden konnte.

                          paul53P 1 Reply Last reply
                          0
                          • S samsungfreak

                            @paul53 Letzte Änderung der Werte am 12.04.2022:( Das System wurde in der Zwischenzeit rebootet etc. Eine Idee woran es liegen kann?

                            Ist das "neu", dass der Javaskript die Daten in "sichtbare" Objekte schreibt? Ich war mir sicher, dass ich das Skript damals genutzt habe da ich die Daten dazu nirgends finden konnte.

                            paul53P Offline
                            paul53P Offline
                            paul53
                            wrote on last edited by
                            #22

                            @samsungfreak sagte: Eine Idee woran es liegen kann?

                            Am Skript, das ich nicht kenne.

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            S 1 Reply Last reply
                            0
                            • paul53P paul53

                              @samsungfreak sagte: Eine Idee woran es liegen kann?

                              Am Skript, das ich nicht kenne.

                              S Offline
                              S Offline
                              samsungfreak
                              wrote on last edited by samsungfreak
                              #23

                              @paul53 Das ist hier das Skript von hier wie oben verlinkt (Link)

                              schedule({hour: 0, minute: 5}, createAstroData );
                               
                              function createAstroData() {
                                  var suncalc = require('suncalc');
                                  var d = new Date();
                               
                                  var times = suncalc.getTimes(d,XXXX);
                                   
                                  for (var t in times) {
                                      var time = times[t];
                                
                                      var Hour = times[t].getHours();
                                      var Minute = times[t].getMinutes();
                                       
                                      if ( Hour < 10 ) { Hour = "0"+Hour; }
                                      if ( Minute < 10 ) { Minute = "0"+Minute; }
                                       
                                      var TimeString = Hour + ':' + Minute;
                                      var objectName = 'Astrozeiten.'+t;
                               
                                      if ( !existsState(objectName )) {
                                          createState(objectName,TimeString,{name: "Astrozeit",  type: 'string', role: 'value'}, function () {}); 
                                      } else {
                                          setState(objectName,TimeString);
                                      }
                                  }
                              }
                               
                              createAstroData();
                              
                              paul53P 2 Replies Last reply
                              0
                              • S samsungfreak

                                @paul53 Das ist hier das Skript von hier wie oben verlinkt (Link)

                                schedule({hour: 0, minute: 5}, createAstroData );
                                 
                                function createAstroData() {
                                    var suncalc = require('suncalc');
                                    var d = new Date();
                                 
                                    var times = suncalc.getTimes(d,XXXX);
                                     
                                    for (var t in times) {
                                        var time = times[t];
                                  
                                        var Hour = times[t].getHours();
                                        var Minute = times[t].getMinutes();
                                         
                                        if ( Hour < 10 ) { Hour = "0"+Hour; }
                                        if ( Minute < 10 ) { Minute = "0"+Minute; }
                                         
                                        var TimeString = Hour + ':' + Minute;
                                        var objectName = 'Astrozeiten.'+t;
                                 
                                        if ( !existsState(objectName )) {
                                            createState(objectName,TimeString,{name: "Astrozeit",  type: 'string', role: 'value'}, function () {}); 
                                        } else {
                                            setState(objectName,TimeString);
                                        }
                                    }
                                }
                                 
                                createAstroData();
                                
                                paul53P Offline
                                paul53P Offline
                                paul53
                                wrote on last edited by paul53
                                #24

                                @samsungfreak
                                Das scheint nicht zu laufen, denn sonst müssten täglich um 0:05 Uhr die Daten aktualisiert werden.

                                Übrigens werden um 0:05 Uhr die Astrozeiten des vergangenen Tages ermittelt, da für "suncalc" der Tageswechsel erst zum Zeitpunkt "nadir" erfolgt.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Reply Last reply
                                0
                                • S samsungfreak

                                  @paul53 Das ist hier das Skript von hier wie oben verlinkt (Link)

                                  schedule({hour: 0, minute: 5}, createAstroData );
                                   
                                  function createAstroData() {
                                      var suncalc = require('suncalc');
                                      var d = new Date();
                                   
                                      var times = suncalc.getTimes(d,XXXX);
                                       
                                      for (var t in times) {
                                          var time = times[t];
                                    
                                          var Hour = times[t].getHours();
                                          var Minute = times[t].getMinutes();
                                           
                                          if ( Hour < 10 ) { Hour = "0"+Hour; }
                                          if ( Minute < 10 ) { Minute = "0"+Minute; }
                                           
                                          var TimeString = Hour + ':' + Minute;
                                          var objectName = 'Astrozeiten.'+t;
                                   
                                          if ( !existsState(objectName )) {
                                              createState(objectName,TimeString,{name: "Astrozeit",  type: 'string', role: 'value'}, function () {}); 
                                          } else {
                                              setState(objectName,TimeString);
                                          }
                                      }
                                  }
                                   
                                  createAstroData();
                                  
                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  wrote on last edited by paul53
                                  #25

                                  @samsungfreak sagte: Das ist hier das Skript

                                  Ich habe es mal mit Logs anstelle von Datenpunkten getestet und bei mit läuft es.

                                  function createAstroData() {
                                      var suncalc = require('suncalc');
                                      var d = new Date();
                                   
                                      var times = suncalc.getTimes(d,52,9);
                                       
                                      for (var t in times) {
                                          var time = times[t];
                                    
                                          var Hour = times[t].getHours();
                                          var Minute = times[t].getMinutes();
                                           
                                          if ( Hour < 10 ) { Hour = "0"+Hour; }
                                          if ( Minute < 10 ) { Minute = "0"+Minute; }
                                           
                                          var TimeString = Hour + ':' + Minute;
                                          var objectName = 'Astrozeiten.'+t;
                                          log(t + ': ' + TimeString);
                                   
                                      }
                                  }
                                   
                                  createAstroData();
                                  
                                  19:02:34.513	info	javascript.1 (2479) script.js.common.Neuer_Test: solarNoon: 12:13
                                  19:02:34.513	info	javascript.1 (2479) script.js.common.Neuer_Test: nadir: 00:13
                                  19:02:34.513	info	javascript.1 (2479) script.js.common.Neuer_Test: sunrise: 08:15
                                  19:02:34.513	info	javascript.1 (2479) script.js.common.Neuer_Test: sunset: 16:12
                                  19:02:34.513	info	javascript.1 (2479) script.js.common.Neuer_Test: sunriseEnd: 08:20
                                  19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: sunsetStart: 16:07
                                  19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: dawn: 07:35
                                  19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: dusk: 16:52
                                  19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: nauticalDawn: 06:51
                                  19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: nauticalDusk: 17:36
                                  19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: nightEnd: 06:10
                                  19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: night: 18:17
                                  19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: goldenHourEnd: 09:17
                                  19:02:34.514	info	javascript.1 (2479) script.js.common.Neuer_Test: goldenHour: 15:10
                                  

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  1 Reply Last reply
                                  0
                                  • S Online
                                    S Online
                                    spike2
                                    wrote on last edited by
                                    #26

                                    Ich muss mich hier auch mal einklinken, woher kommen die Astrozeiten für das Blockly? In der Javascript-Instanz ist der Ort korrekt eingegeben, sowie ein Offset um es ein bisschen anzupassen.
                                    Merkwürdiger weise steht in der Instanz 17:46Uhr als Tagesende drin, doch das Blockly löst schon mit dem Trigger "Sonnenuntergang" um 17.14Uhr aus.
                                    Im Blockly habe ich ebenfalls ein Offset eingetragen, sonst würden 17.14Uhr die Lampen schon einschalten, obwohl es noch zu hell dafür ist.

                                    3835caeb-1c31-480a-a7a9-59fe9b214c4b-grafik.png

                                    8e59f53b-5541-4726-a599-fd2353604ba0-grafik.png

                                    paul53P 1 Reply Last reply
                                    0
                                    • S spike2

                                      Ich muss mich hier auch mal einklinken, woher kommen die Astrozeiten für das Blockly? In der Javascript-Instanz ist der Ort korrekt eingegeben, sowie ein Offset um es ein bisschen anzupassen.
                                      Merkwürdiger weise steht in der Instanz 17:46Uhr als Tagesende drin, doch das Blockly löst schon mit dem Trigger "Sonnenuntergang" um 17.14Uhr aus.
                                      Im Blockly habe ich ebenfalls ein Offset eingetragen, sonst würden 17.14Uhr die Lampen schon einschalten, obwohl es noch zu hell dafür ist.

                                      3835caeb-1c31-480a-a7a9-59fe9b214c4b-grafik.png

                                      8e59f53b-5541-4726-a599-fd2353604ba0-grafik.png

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      wrote on last edited by
                                      #27

                                      @spike2
                                      Die Tageszeiteinstellungen in der JS-Konfiguration haben nur Einfluss auf den Datenpunkt "javascript.N.variables.isDayTime".

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      S 1 Reply Last reply
                                      0
                                      • paul53P paul53

                                        @spike2
                                        Die Tageszeiteinstellungen in der JS-Konfiguration haben nur Einfluss auf den Datenpunkt "javascript.N.variables.isDayTime".

                                        S Online
                                        S Online
                                        spike2
                                        wrote on last edited by spike2
                                        #28

                                        @paul53
                                        Ups, mehr nicht 😕
                                        Kann ich es durch irgendein Trick global im System vorgeben, ohne jedes Blockly mit einem Offset-Wert zu versehen?

                                        HomoranH paul53P 2 Replies Last reply
                                        0
                                        • S spike2

                                          @paul53
                                          Ups, mehr nicht 😕
                                          Kann ich es durch irgendein Trick global im System vorgeben, ohne jedes Blockly mit einem Offset-Wert zu versehen?

                                          HomoranH Do not disturb
                                          HomoranH Do not disturb
                                          Homoran
                                          Global Moderator Administrators
                                          wrote on last edited by
                                          #29

                                          @spike2 deinen Wohnort (virtuell) verlegen

                                          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                          S 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          145

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe