Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Astrozeiten (neuste version?)

NEWS

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

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

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Astrozeiten (neuste version?)

Geplant Angeheftet Gesperrt Verschoben Blockly
blocklyjavascript
33 Beiträge 8 Kommentatoren 12.1k Aufrufe 7 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • L ltsalvatore

    Hallo zusammen,

    kurze frage..

    ich habe vor ein paar jahren den Astrozeiten JS hier gefunden und habe diesen seit dem immer im einsatz gehabt um ein paar verbraucher ein- bzw. auszuschalten. was auch immer prima funktioniert hat.

    sein ein paar tagen jedoch funktioniert das ein- und ausschalten dieser nicht mehr..

    deshalb frage ich mich ob es ein offizielles git oder post hier gibt, wo man sich die aktuellste version dieses JS herunterladen kann.

    der vollständigkeit halber der Script, welchen ich zur zeit benutze

    
    /* System Tageszeoten
    
    Skript meldet Tageszeiten
    
    Nacht;Frühmorgens;Morgengrauen;Vormittag;Mittag;Nachmittag;Dämmerung;Abend;
    Basis: http://www.homematic-inside.de/tecbase/homematic/scriptlibrary/item/tageszeit-in-abschnitte-unterteilen
    oder hier: https://github.com/ioBroker/ioBroker.javascript#astro--funktion
    
    https://github.com/iobroker/ioBroker.javascript/blob/master/README.md#getastrodate
    
    erstellt: 01.06.2015 von Pix
    11.12.2015 getAstroDate ermittelt nun auch Sonnenaufgang und Untergang
               Astrotag (isAstroDay) eingebaut
    23.02.2018 checkSec eingebaut (Uhrzeit sekundengenau?)
               andere Astrozeiten werden nun auch gespeichert
               Neuer Pfad
    24.02.2018 Unterteilung in zwei Bereiche
    27.02.2018 Bestimmung, welche AstroZeit aktuell ist (mit der ioBroker-Funktion compareTime)
               Beschreibung Objekt Astrotag korrigiert
               Objekte werden jetzt bei jedem Zeitplan angelegt, falls nicht (mehr) vorhanden
    */
    
    const sec = false; // Sekunden darstellen oder nicht
    const fC = false; // forceCreation ein/aus
    const pfad = "Astro"; // Pfad zum Objekt - Objektbaum-Hauptverzeichnis
    
    
    // *****************************************************************************
    // TAGESZEITEN - T E I L 
    
    // Tageszeiten nach eigenem Gusto (Shifts siehe schedules weiter unten)
    const tageszeiten = ["Nacht", // Night
                         "Morgendämmerung",  // nightEnd
                         "Morgen",
                         "Vormittag",
                         "Mittag",
                         "Nachmittag",
                         "Abenddämmerung",
                         "Abend"];
    
    const idTageszeit = "javascript." + instance  + "." + pfad + ".Tageszeit.current" /*Tageszeit*/,
          idTageszeitNext = "javascript." + instance  + "." + pfad + ".Tageszeit.next";
          
    function createTageszeiten() {
        createState(idTageszeit, "nächsten Wechsel abwarten", fC, {
            name: "Tageszeit",
            desc: "Name der Tageszeit",
            type: "string"
        });   
        createState(idTageszeitNext, "nächsten Wechsel abwarten", fC, {
            name: "nächste Tageszeit",
            desc: "Name der nächsten Tageszeit",
            type: "string"
        });
    }
    
    function neue_tageszeit(abschnitt) {
        createTageszeiten(); // Objekte anlegen, falls noch nicht geschehen
        var akt = tageszeiten[parseInt(abschnitt, 10)],
            // wenn aktuelles Element ist letztes, dann nächstes ist erstes :-D
            nxt = (abschnitt + 1 === tageszeiten.length) ? tageszeiten[0] : tageszeiten[parseInt(abschnitt + 1, 10)];
        setState(idTageszeit, akt);
        setState(idTageszeitNext, nxt);
        log("neue Tagezeit: " + akt);
        log("nächte kommende Tagezeit: " + nxt);
    }
    
    // Nacht
    schedule({
        astro: "night", 
        shift: 120
    }, function () { 
        neue_tageszeit(0);
    });
    
    // Morgengdämmerung
    schedule({
        astro: "nightEnd"
    }, function () {
        neue_tageszeit(1);
    });
    
    // Morgen
    schedule({
        astro: "sunrise"
    }, function () {
        neue_tageszeit(2);
    });
    
    // Vormittag (beginnt 120min vor Sonnenhöchststand)
    schedule({
        astro: "solarNoon",
        shift: -120
    }, function () {
        neue_tageszeit(3);
    });
    
    // Mittag
    schedule({
        astro: "solarNoon"
    }, function () {
        neue_tageszeit(4);
    });
    
    // Nachmittag
    schedule({
        astro: "solarNoon",
        shift: 60
    }, function () {
        neue_tageszeit(5);
    });
    
    // Abenddämmerung (nach Sonnenuntergang)
    schedule({
        astro: "dusk"
    }, function () {
        neue_tageszeit(6);
    });
    
    // Abend
    schedule({
        astro: "night"
    }, function () {
        neue_tageszeit(7);
    });
    
    
    // *****************************************************************************
    // A S T O - T E I L 
    
    /* Objekt Astrotag 
       Astrotag liegt zwischen Sonnauf- und untergang, 
       Astronacht liegt zwischen Sonnenunter- und aufgang */
    const idAstrotag =  "javascript." + instance + "." + pfad + ".Astrotag";
    const idAstrotime = "javascript." + instance + "." + pfad + ".Astrozeit";
    
    // Array für Funktion compareTime (sind leider nicht alle Astrozeiten, die auch mit Astro-Function möglich sind)
    const astrotime_arr = [
        "sunrise", 
        "sunriseEnd", 
        "goldenHourEnd", 
        "goldenHour",
        "sunsetStart", 
        "sunset",
        "dusk", 
        "nauticalDusk", 
        "night", 
        "nightEnd", 
        "nauticalDawn", 
        "dawn"
        ];
        
    // Objekt für Uhrzeiten der Astrozeiten
    const astrotime = {
        "elements" : [
            // Astrotag beginnt
            {
                "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" : "Abenddämmerung",
                    "nxt" : "nächste",
                    "desc" : ""
                },
                "en" : {
                    "name" : "Dusk",
                    "desc" : "evening nautical twilight starts"
                },
                "astroday" : false //during astronight
            },
            {
                "fname" : "nauticalDusk",
                "de" : {
                    "name" : "nautische Abenddämmerung",
                    "nxt" : "nächste",
                    "desc" : ""
                },
                "en" : {
                    "name" : "Nautical dusk",
                    "desc" : "evening astronomical twilight starts"
                },
                "astroday" : false //during astronight
            },
            {
                "fname" : "night",
                "de" : {
                    "name" : "Nacht",
                    "nxt" : "nächste",
                    "desc" : ""
                },
                "en" : {
                    "name" : "Night",
                    "desc" : "dark enough for astronomical observations"
                },
                "astroday" : false //during astronight
            },
            {
                "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" : "nightEnd",
                "de" : {
                    "name" : "Nachtende",
                    "nxt" : "nächstes",
                    "desc" : ""
                },
                "en" : {
                    "name" : "Night ends",
                    "desc" : "morning astronomical twilight starts"
                },
                "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" : "Morgendämmerung",
                    "nxt" : "nächste",
                    "desc" : ""
                },
                "en" : {
                    "name" : "dawn",
                    "desc" : "morning nautical twilight ends, morning civil twilight starts"
                },
                "astroday" : false //during astronight
            }
        
        ]
    };
    
    function writeAstroTimes(i) {
        // führende Nummer zur Sortierung in Admin/Objekte
        var nr = (i+1 < 10) ? "0" + (i+1) : (i+1);
        // Erstelle Objekt, falls nicht bereits vorhanden
        var idAstroObject = "javascript." + instance + "." + pfad + "." + nr + " - " + astrotime.elements[i].fname;
        createState(idAstroObject, " ", fC, {
            name: astrotime.elements[i].de.nxt + " " + astrotime.elements[i].de.name + " Uhrzeit",
            desc: astrotime.elements[i].en.desc,
            type: "string"
        });
        
        setTimeout(function() { // kurz warten, damit Objekte ggf. erst angelgt werden können
            var astrotag = getState(idAstrotag).val,
                temp;
            var today = new Date();
            var tomorrow = today.setDate(today.getDate()+1);
            var next_event;
            if (astrotag) { 
                // Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute)
                next_event = (astrotime.elements[i].astroday) ? tomorrow : today; // prüfen
                temp = getAstroDate(astrotime.elements[i].fname, next_event);
            } else { 
                // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
                next_event = (astrotime.elements[i].astroday) ? today : tomorrow; // prüfen
                temp = getAstroDate(astrotime.elements[i].fname, next_event);
            /* // Rudimente aus altem Skript zur Erinnerung -> Nachfrage bei Bluefox
            sonnenuntergang = getAstroDate("sunset", tomorrow);
            nacht = (today.getHours() > 12 && today.getHours() <= 23) ? getAstroDate("night", today) : getAstroDate("night", tomorrow);
            nachtende = (today.getHours() > 12 && today.getHours() <= 23) ? getAstroDate("night", tomorrow) : getAstroDate("night", today);
            sonnenaufgang = (today.getHours() > 12 && today.getHours() <= 23) ? getAstroDate("sunrise", tomorrow) :  getAstroDate("sunrise", today); // es ist vor Mitternacht (bzw. vor 23:XXUhr), dann morgen, sonst heute
            */
            }
            setState(idAstroObject, checkSec(temp.toLocaleTimeString()) );
            
        }, 3 * 1000);
    }
    
    // Zeit mit oder ohne Sekunden anzeigen
    function checkSec (zeit) {
        if (!sec) {
            var newString_arr = zeit.split(":");
            var newString = newString_arr[0] + ":" + newString_arr[1];
            return (newString);
        } else return (zeit);
    }
    
    function getAstrotime (j) {
        // Objekt anlegen, falls nicht bereits geschehen
        createState(idAstrotime, " ", fC, {
            type: "string",
            name: "aktuelle Astrozeit",
            desc: "Anzeige der aktuellen Astrozeit durch ioBroker-Funktion compareTime()"
        }); 
        // aktuelle Astrozeit bestimmen
        var k = (j == (astrotime_arr.length-1) ) ? 0 : (j+1); // wenn j max ist, dann ist k min
        var startTime = astrotime_arr[j];
        var endTime   = astrotime_arr[k];
        //log("Astrozeit zwischen " + j + " und " + k + " von " + astrotime_arr.length);
        if (!startTime || !endTime) {
            log("Fehler","error");
        } else {
            var astrotime_check = (compareTime(startTime, endTime, "between") ) ;
            if (astrotime_check) {
                setState(idAstrotime, startTime);
                //log("Astrozeit: " + startTime);
            }
        }
    }
    
    function getAstroday() {
        // Astrotag bestimmen (boolean)
        createState(idAstrotag, false, fC, {
            type: "boolean",
            name: "Astrologischer Tag",
            desc: "Liegt die aktuelle Zeit zwischen Sonnenauf- und untergang"
        }); 
        setState(idAstrotag, isAstroDay());
    }
    
    function iterateAstrotimes() {
        // Zeiten für jede Astrozeit schreiben
        for (var i = 0; i < astrotime.elements.length; i++) {
            writeAstroTimes(i);
        }
        // aktuelle Astrozeit ermitteln
        for (var j = 0; j < astrotime_arr.length; j++) {
            getAstrotime(j);
        }
    }
    
    // Astrotag checken
    schedule("*/1 * * * *", function () { // jede Minute
        getAstroday();
        iterateAstrotimes();
    });
    
    iterateAstrotimes();
    getAstroday();
    
    
    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #4

    @ltsalvatore sagte: sein ein paar tagen jedoch funktioniert das ein- und ausschalten dieser nicht mehr..

    Welche Datenpunkte des Astrozeiten-Skripts hast Du dafür 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

    L 1 Antwort Letzte Antwort
    0
    • paul53P paul53

      @ltsalvatore sagte: sein ein paar tagen jedoch funktioniert das ein- und ausschalten dieser nicht mehr..

      Welche Datenpunkte des Astrozeiten-Skripts hast Du dafür verwendet?

      L Offline
      L Offline
      ltsalvatore
      schrieb am zuletzt editiert von
      #5

      @paul53 sagte in Astrozeiten (neuste version?):

      @ltsalvatore sagte: sein ein paar tagen jedoch funktioniert das ein- und ausschalten dieser nicht mehr..

      Welche Datenpunkte des Astrozeiten-Skripts hast Du dafür verwendet?

      bis jetzt waren es immer die beiden Datenpunkte Sonnenuntergang und Sonnenaufgang

      Im Blockly sieht das ganze so aus:
      0a29cdeb-8c4b-4177-be88-6a9727d740e5-image.png

      und unter objekte so:
      75d19fdd-ac5f-45b8-921e-0e1b87a6b685-image.png

      alle Datenpunkte, die ich zur Auswahl habe wären:

      66d98905-3da3-4923-92b8-b48065a11335-image.png
      58138b7e-d7f2-4c2c-bd1d-2a4fa04f8882-image.png

      paul53P 1 Antwort Letzte Antwort
      0
      • L ltsalvatore

        @paul53 sagte in Astrozeiten (neuste version?):

        @ltsalvatore sagte: sein ein paar tagen jedoch funktioniert das ein- und ausschalten dieser nicht mehr..

        Welche Datenpunkte des Astrozeiten-Skripts hast Du dafür verwendet?

        bis jetzt waren es immer die beiden Datenpunkte Sonnenuntergang und Sonnenaufgang

        Im Blockly sieht das ganze so aus:
        0a29cdeb-8c4b-4177-be88-6a9727d740e5-image.png

        und unter objekte so:
        75d19fdd-ac5f-45b8-921e-0e1b87a6b685-image.png

        alle Datenpunkte, die ich zur Auswahl habe wären:

        66d98905-3da3-4923-92b8-b48065a11335-image.png
        58138b7e-d7f2-4c2c-bd1d-2a4fa04f8882-image.png

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #6

        @ltsalvatore sagte: Im Blockly sieht das ganze so aus:

        Es werden keine Datenpunkte des Astrozeiten-Skripts verwendet, sondern die Astro-Trigger des Javascript-Adapters.

        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 Antwort Letzte Antwort
        0
        • paul53P paul53

          @ltsalvatore sagte: Im Blockly sieht das ganze so aus:

          Es werden keine Datenpunkte des Astrozeiten-Skripts verwendet, sondern die Astro-Trigger des Javascript-Adapters.

          L Offline
          L Offline
          ltsalvatore
          schrieb am zuletzt editiert von
          #7

          @paul53 sagte in Astrozeiten (neuste version?):

          @ltsalvatore sagte: Im Blockly sieht das ganze so aus:

          Es werden keine Datenpunkte des Astrozeiten-Skripts verwendet, sondern die Astro-Trigger des Javascript-Adapters.

          ok.. jetzt bin ich komplett raus :confused:

          Brauche ich diesen Java-Script, welchen ich gepostet habe nicht mehr unter meine Scripte laufen lassen?
          oder was genau meint Tomas Braun mit "direkt im Java-Script Adapter drin"?
          und wenn es, falls ich es richtig verstanden habe, bereits irgendwo fest implementiert ist, wo genau finde ich die richtigen Datenpunkte oder Astro-Trigger um meine verbraucher wieder über die astrozeiten steuern zu können?

          danke
          ltsalvatore

          J paul53P 2 Antworten Letzte Antwort
          0
          • L ltsalvatore

            @paul53 sagte in Astrozeiten (neuste version?):

            @ltsalvatore sagte: Im Blockly sieht das ganze so aus:

            Es werden keine Datenpunkte des Astrozeiten-Skripts verwendet, sondern die Astro-Trigger des Javascript-Adapters.

            ok.. jetzt bin ich komplett raus :confused:

            Brauche ich diesen Java-Script, welchen ich gepostet habe nicht mehr unter meine Scripte laufen lassen?
            oder was genau meint Tomas Braun mit "direkt im Java-Script Adapter drin"?
            und wenn es, falls ich es richtig verstanden habe, bereits irgendwo fest implementiert ist, wo genau finde ich die richtigen Datenpunkte oder Astro-Trigger um meine verbraucher wieder über die astrozeiten steuern zu können?

            danke
            ltsalvatore

            J Offline
            J Offline
            Jan1
            schrieb am zuletzt editiert von
            #8

            @ltsalvatore
            Ich denke er meint wohl, dass das Script eh unnötig ist, da man das eben auch mit den Triggern aus aus dem JS Adapter selber machen kann was dann so aussieht:
            d46f5ba6-8ebb-4510-ac9c-eb44c0521f95-grafik.png

            1 Antwort Letzte Antwort
            0
            • L ltsalvatore

              @paul53 sagte in Astrozeiten (neuste version?):

              @ltsalvatore sagte: Im Blockly sieht das ganze so aus:

              Es werden keine Datenpunkte des Astrozeiten-Skripts verwendet, sondern die Astro-Trigger des Javascript-Adapters.

              ok.. jetzt bin ich komplett raus :confused:

              Brauche ich diesen Java-Script, welchen ich gepostet habe nicht mehr unter meine Scripte laufen lassen?
              oder was genau meint Tomas Braun mit "direkt im Java-Script Adapter drin"?
              und wenn es, falls ich es richtig verstanden habe, bereits irgendwo fest implementiert ist, wo genau finde ich die richtigen Datenpunkte oder Astro-Trigger um meine verbraucher wieder über die astrozeiten steuern zu können?

              danke
              ltsalvatore

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #9

              @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.

              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 Antwort Letzte Antwort
              0
              • 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
                schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #11

                  @ltsalvatore

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

                  1 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 :-D
                        danke an alle für die schnelle hilfe :-)

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          samsungfreak
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          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
                            schrieb am zuletzt editiert von
                            #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 Antwort Letzte Antwort
                            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
                              schrieb am zuletzt editiert von
                              #17

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

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

                              paul53P 1 Antwort Letzte Antwort
                              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
                                schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                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
                                  schrieb am zuletzt editiert von
                                  #19

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

                                  paul53P 1 Antwort Letzte Antwort
                                  0
                                  • S samsungfreak

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

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        0
                                        • paul53P paul53

                                          @samsungfreak sagte: Eine Idee woran es liegen kann?

                                          Am Skript, das ich nicht kenne.

                                          S Offline
                                          S Offline
                                          samsungfreak
                                          schrieb am zuletzt editiert von 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 Antworten Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          463

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe