Skip to content
  • 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
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Astro-Tageszeit abfragen und in Datenpunkt eintragen

NEWS

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

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

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

Astro-Tageszeit abfragen und in Datenpunkt eintragen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
349 Beiträge 72 Kommentatoren 103.2k Aufrufe 23 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.
  • paul53P paul53

    Anbei ein vereinfachtes Skript, das ohne "night", "nightEnd" und Astrozeit auskommt. Die Zeiten werden unter Astro.Zeiten neu erstellt. Eine Astrozeit, die den ganzen Tag bis zum Abend nur "goldenHourEnd" anzeigt, ist wenig aussagekräftig.

    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",
                        "Morgendämmerung",
                        "Sonnenaufgang",
                        "Morgen",
                        "Vormittag",
                        "Mittag",
                        "Nachmittag",
                        "Abend",
                        "Sonnenuntergang",
                        "Abenddämmerung"
                       ];
    const idTageszeit = "javascript." + instance  + "." + pfad + ".Tageszeit.current" /*Tageszeit*/,
         idTageszeitNext = "javascript." + instance  + "." + pfad + ".Tageszeit.next";
    
    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) {
       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ächste kommende Tagezeit: " + nxt);
    }
    // Nacht
    schedule({
       astro: "nauticalDusk", 
       shift: 45
    }, function () { 
       neue_tageszeit(0);
    });
    // Morgengdämmerung
    schedule({
       astro: "nauticalDawn",
       shift: -45
    }, function () {
       neue_tageszeit(1);
    });
    // Sonnenaufgang
    schedule({
       astro: "sunrise"
    }, function() {
       neue_tageszeit(2);
    });
    // Morgen
    schedule({
       astro: "sunriseEnd"
    }, function () {
       neue_tageszeit(3);
    });
    // Vormittag 
    schedule({
       astro: "goldenHourEnd",
       shift: 60
    }, function () {
       neue_tageszeit(4);
    });
    // Mittag
    schedule({
       astro: "solarNoon",
       shift: -30
    }, function () {
       neue_tageszeit(5);
    });
    // Nachmittag
    schedule({
       astro: "solarNoon",
       shift: 30
    }, function () {
       neue_tageszeit(6);
    });
    // Abend
    schedule({
       astro: "goldenHour",
       shift: -60
    }, function () {
       neue_tageszeit(7);
    });
    // Sonnenuntergang
    schedule({
       astro: "sunsetStart",
    }, function () {
       neue_tageszeit(8);
    });
    // Abenddämmerung (nach Sonnenuntergang)
    schedule({
       astro: "sunset"
    }, function () {
       neue_tageszeit(9);
    });
    // *****************************************************************************
    // 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";
    // 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" : "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" : "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 + ".Zeiten." + 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 = new Date(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
           } else { 
               // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
               next_event = (astrotime.elements[i].astroday) ? today : tomorrow; // prüfen
           }
           var fname = astrotime.elements[i].fname;
           temp = getAstroDate(fname, next_event);
           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 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);
       }
    }
    
    // Astrotag checken
    schedule("*/1 * * * *", function () { // jede Minute
       getAstroday();
       iterateAstrotimes();
    });
    
    iterateAstrotimes();
    getAstroday();
    

    493_astro_ohne_night.jpg

    P Offline
    P Offline
    ple
    schrieb am zuletzt editiert von
    #271

    @paul53 sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

    Anbei ein vereinfachtes Skript, das ohne "night", "nightEnd" und Astrozeit auskommt. Die Zeiten werden unter Astro.Zeiten neu erstellt. Eine Astrozeit, die den ganzen Tag bis zum Abend nur "goldenHourEnd" anzeigt, ist wenig aussagekräftig.

    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",
                        "Morgendämmerung",
                        "Sonnenaufgang",
                        "Morgen",
                        "Vormittag",
                        "Mittag",
                        "Nachmittag",
                        "Abend",
                        "Sonnenuntergang",
                        "Abenddämmerung"
                       ];
    const idTageszeit = "javascript." + instance  + "." + pfad + ".Tageszeit.current" /*Tageszeit*/,
         idTageszeitNext = "javascript." + instance  + "." + pfad + ".Tageszeit.next";
    
    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) {
       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: "nauticalDusk", 
       shift: 45
    }, function () { 
       neue_tageszeit(0);
    });
    // Morgengdämmerung
    schedule({
       astro: "nauticalDawn",
       shift: -45
    }, function () {
       neue_tageszeit(1);
    });
    // Sonnenaufgang
    schedule({
       astro: "sunrise"
    }, function() {
       neue_tageszeit(2);
    });
    // Morgen
    schedule({
       astro: "sunriseEnd"
    }, function () {
       neue_tageszeit(3);
    });
    // Vormittag 
    schedule({
       astro: "goldenHourEnd",
       shift: 60
    }, function () {
       neue_tageszeit(4);
    });
    // Mittag
    schedule({
       astro: "solarNoon",
       shift: -30
    }, function () {
       neue_tageszeit(5);
    });
    // Nachmittag
    schedule({
       astro: "solarNoon",
       shift: 30
    }, function () {
       neue_tageszeit(6);
    });
    // Abend
    schedule({
       astro: "goldenHour",
       shift: -60
    }, function () {
       neue_tageszeit(7);
    });
    // Sonnenuntergang
    schedule({
       astro: "sunsetStart",
    }, function () {
       neue_tageszeit(8);
    });
    // Abenddämmerung (nach Sonnenuntergang)
    schedule({
       astro: "sunset"
    }, function () {
       neue_tageszeit(9);
    });
    // *****************************************************************************
    // 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";
    // 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" : "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" : "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 + ".Zeiten." + 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
           } else { 
               // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
               next_event = (astrotime.elements[i].astroday) ? today : tomorrow; // prüfen
           }
           var fname = astrotime.elements[i].fname;
           temp = getAstroDate(fname, next_event);
           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 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);
       }
    }
    
    // Astrotag checken
    schedule("*/1 * * * *", function () { // jede Minute
       getAstroday();
       iterateAstrotimes();
    });
    
    iterateAstrotimes();
    getAstroday();
    

    493_astro_ohne_night.jpg

    Moin Paul,
    leider funktioniert mein Astroscript von Pix nicht mehr, hab da was gelesen, dass ich zweit nördlich bin.
    Naja, ich hab mal deins soweit am laufen, nur leider werden mir die ermittelten Zeiten nicht als format 24h angezeigt. sonder nur als 12h. Weißt du vielleicht woran das liegt?
    System ist gestern aktualisiert worden.

    Betriebssystem
    linux
    Architektur
    x64
    CPUs
    4
    Geschwindigkeit
    1895 MHz
    Modell
    Common KVM processor
    RAM
    3.86 GB
    System Betriebszeit
    14:31:47
    Node.js
    v10.16.0 (Recommended version v8.16.0)
    NPM
    6.9.0
    

    Javascript ist auf 4.1.12

    Gruß und Danke

    Intel Nuc + Proxmox

    paul53P 1 Antwort Letzte Antwort
    0
    • P ple

      @paul53 sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

      Anbei ein vereinfachtes Skript, das ohne "night", "nightEnd" und Astrozeit auskommt. Die Zeiten werden unter Astro.Zeiten neu erstellt. Eine Astrozeit, die den ganzen Tag bis zum Abend nur "goldenHourEnd" anzeigt, ist wenig aussagekräftig.

      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",
                          "Morgendämmerung",
                          "Sonnenaufgang",
                          "Morgen",
                          "Vormittag",
                          "Mittag",
                          "Nachmittag",
                          "Abend",
                          "Sonnenuntergang",
                          "Abenddämmerung"
                         ];
      const idTageszeit = "javascript." + instance  + "." + pfad + ".Tageszeit.current" /*Tageszeit*/,
           idTageszeitNext = "javascript." + instance  + "." + pfad + ".Tageszeit.next";
      
      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) {
         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: "nauticalDusk", 
         shift: 45
      }, function () { 
         neue_tageszeit(0);
      });
      // Morgengdämmerung
      schedule({
         astro: "nauticalDawn",
         shift: -45
      }, function () {
         neue_tageszeit(1);
      });
      // Sonnenaufgang
      schedule({
         astro: "sunrise"
      }, function() {
         neue_tageszeit(2);
      });
      // Morgen
      schedule({
         astro: "sunriseEnd"
      }, function () {
         neue_tageszeit(3);
      });
      // Vormittag 
      schedule({
         astro: "goldenHourEnd",
         shift: 60
      }, function () {
         neue_tageszeit(4);
      });
      // Mittag
      schedule({
         astro: "solarNoon",
         shift: -30
      }, function () {
         neue_tageszeit(5);
      });
      // Nachmittag
      schedule({
         astro: "solarNoon",
         shift: 30
      }, function () {
         neue_tageszeit(6);
      });
      // Abend
      schedule({
         astro: "goldenHour",
         shift: -60
      }, function () {
         neue_tageszeit(7);
      });
      // Sonnenuntergang
      schedule({
         astro: "sunsetStart",
      }, function () {
         neue_tageszeit(8);
      });
      // Abenddämmerung (nach Sonnenuntergang)
      schedule({
         astro: "sunset"
      }, function () {
         neue_tageszeit(9);
      });
      // *****************************************************************************
      // 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";
      // 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" : "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" : "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 + ".Zeiten." + 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
             } else { 
                 // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
                 next_event = (astrotime.elements[i].astroday) ? today : tomorrow; // prüfen
             }
             var fname = astrotime.elements[i].fname;
             temp = getAstroDate(fname, next_event);
             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 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);
         }
      }
      
      // Astrotag checken
      schedule("*/1 * * * *", function () { // jede Minute
         getAstroday();
         iterateAstrotimes();
      });
      
      iterateAstrotimes();
      getAstroday();
      

      493_astro_ohne_night.jpg

      Moin Paul,
      leider funktioniert mein Astroscript von Pix nicht mehr, hab da was gelesen, dass ich zweit nördlich bin.
      Naja, ich hab mal deins soweit am laufen, nur leider werden mir die ermittelten Zeiten nicht als format 24h angezeigt. sonder nur als 12h. Weißt du vielleicht woran das liegt?
      System ist gestern aktualisiert worden.

      Betriebssystem
      linux
      Architektur
      x64
      CPUs
      4
      Geschwindigkeit
      1895 MHz
      Modell
      Common KVM processor
      RAM
      3.86 GB
      System Betriebszeit
      14:31:47
      Node.js
      v10.16.0 (Recommended version v8.16.0)
      NPM
      6.9.0
      

      Javascript ist auf 4.1.12

      Gruß und Danke

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

      @ple sagte:

      Javascript ist auf 4.1.12

      Von Github ? Dann ändere bitte die Zeile

             var tomorrow = today.setDate(today.getDate()+1);
      

      in

              var tomorrow = new Date(today.setDate(today.getDate()+1));
      

      Ein PR auf Github ist erstellt, aber noch nicht merged.

      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
      • J Offline
        J Offline
        Jan1
        schrieb am zuletzt editiert von Jan1
        #273

        Kein Plan warum man sich da ein JavaScript dafür von jemand übernimmt (@paul53 kann man machen und nichts gegen Dein Script).
        Wenn man schlicht die Astrozeiten als DP haben möchte und von Javascript nichts versteht, dann bietet Blockly schon alles was man braucht.

        sieht dann so aus:
        cd5f80e6-f6b1-463b-8b30-d6dfd33c6d1a-grafik.png

        Hier dann mal der Blockly Export, falls es einer haben möchte:

        ```
        <xml xmlns="http://www.w3.org/1999/xhtml">
        <block type="create" id="v72H-N1#%w_zseA#CMc" x="13" y="13">
        <field name="NAME">01-Nachtende</field>
        <statement name="STATEMENT">
        <block type="create" id="@kYi)AXak/ydmJCF!oo]">
        <field name="NAME">02-Morgendämmerung</field>
        <statement name="STATEMENT">
        <block type="create" id=";T8PP:ZCKeM4
        +U5?yi">
        <field name="NAME">03-Sonnenaufgang</field>
        <statement name="STATEMENT">
        <block type="create" id="gIfB:POQ4@(+!BTUapf">
        <field name="NAME">04-Sonneneaufgang_Ende</field>
        <statement name="STATEMENT">
        <block type="create" id="MFJk^e%f2^,QG[vUK4ee">
        <field name="NAME">05-Golden_Houer_Ende</field>
        <statement name="STATEMENT">
        <block type="create" id="hO7B(a7I~WK~vu8.7gDH">
        <field name="NAME">06-Mittag</field>
        <statement name="STATEMENT">
        <block type="create" id="eYe;t8x=FwBT4B,.|k."> <field name="NAME">07-Golden_Houer</field> <statement name="STATEMENT"> <block type="create" id="tVROR/kUT3MINh%SOcdY"> <field name="NAME">08-Sonnenuntergang_Anfang</field> <statement name="STATEMENT"> <block type="create" id="kCb|+j}(0FzG/abd,q1">
        <field name="NAME">09-Sonnenuntergang</field>
        <statement name="STATEMENT">
        <block type="create" id="4UB
        zNj{JG:saTpO/G">
        <field name="NAME">10-Abenddämmerung</field>
        <statement name="STATEMENT">
        <block type="create" id="%kf8::E|Nt2i
        cPYM.aB">
        <field name="NAME">11-Nacht</field>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </statement>
        </block>
        </statement>
        <next>
        <block type="schedule" id="c;,oPug#y[hH+R/Az:)Z">
        <field name="SCHEDULE">0 0,6,12,18 * * *</field>
        <statement name="STATEMENT">
        <block type="update" id="QIMsUa0@3?Vo;jj}r-U">
        <mutation delay_input="false"></mutation>
        <field name="OID">javascript.0.01-Nachtende</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="convert_from_date" id="^E3;~IY|ubg5}Cw9eYrO">
        <mutation format="false" language="false"></mutation>
        <field name="OPTION">hh:mm:ss</field>
        <value name="VALUE">
        <block type="time_astro" id="J0d,%PB7t8lb@8mXXXZ(">
        <field name="TYPE">nightEnd</field>
        <field name="OFFSET">0</field>
        </block>
        </value>
        </block>
        </value>
        <next>
        <block type="update" id="HB^8MQ(4ds+W5/u^OW4m">
        <mutation delay_input="false"></mutation>
        <field name="OID">javascript.0.02-Morgendämmerung</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="convert_from_date" id="oN=Uv}fYcHBCDPHtpXiw">
        <mutation format="false" language="false"></mutation>
        <field name="OPTION">hh:mm:ss</field>
        <value name="VALUE">
        <block type="time_astro" id=":/y;e5awTDC:Cev;TUCS">
        <field name="TYPE">dawn</field>
        <field name="OFFSET">0</field>
        </block>
        </value>
        </block>
        </value>
        <next>
        <block type="update" id="+A7|YpLw]g_!(9]PC@UH">
        <mutation delay_input="false"></mutation>
        <field name="OID">javascript.0.03-Sonnenaufgang</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="convert_from_date" id="AMyc:3
        Tp9XP+4kq(nv-">
        <mutation format="false" language="false"></mutation>
        <field name="OPTION">hh:mm:ss</field>
        <value name="VALUE">
        <block type="time_astro" id=",4bKmH_J8szFEb.4u{OB">
        <field name="TYPE">sunrise</field>
        <field name="OFFSET">0</field>
        </block>
        </value>
        </block>
        </value>
        <next>
        <block type="update" id="DwtR_scz+f42pEJ/sKn?">
        <mutation delay_input="false"></mutation>
        <field name="OID">javascript.0.04-Sonneneaufgang_Ende</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="convert_from_date" id="a~M9OAt|LRQe5:d]~}H?">
        <mutation format="false" language="false"></mutation>
        <field name="OPTION">hh:mm:ss</field>
        <value name="VALUE">
        <block type="time_astro" id="7/scA1O-iX|.x-iB_~X3">
        <field name="TYPE">sunriseEnd</field>
        <field name="OFFSET">0</field>
        </block>
        </value>
        </block>
        </value>
        <next>
        <block type="update" id="F.Y:ABQw?pppVIMuzXC4">
        <mutation delay_input="false"></mutation>
        <field name="OID">javascript.0.05-Golden_Houer_Ende</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="convert_from_date" id="jgDe(t)05^f2gQyGIaI6">
        <mutation format="false" language="false"></mutation>
        <field name="OPTION">hh:mm:ss</field>
        <value name="VALUE">
        <block type="time_astro" id="]qS[Z+Pab*WUXun969T"> <field name="TYPE">goldenHourEnd</field> <field name="OFFSET">0</field> </block> </value> </block> </value> <next> <block type="update" id="FjU7x+vB-{|nz?Ntgi]B"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.06-Mittag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_from_date" id="Ewd,fX4o;ftqhEAKr)^">
        <mutation format="false" language="false"></mutation>
        <field name="OPTION">hh:mm:ss</field>
        <value name="VALUE">
        <block type="time_astro" id="}2iN_uE[d~xeJMc]9~%p">
        <field name="TYPE">solarNoon</field>
        <field name="OFFSET">0</field>
        </block>
        </value>
        </block>
        </value>
        <next>
        <block type="update" id="(slH?vH:Tx73fJ(J2HY]">
        <mutation delay_input="false"></mutation>
        <field name="OID">javascript.0.07-Golden_Houer</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="convert_from_date" id="kh1//%:x4My;~kFU,E^"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> <value name="VALUE"> <block type="time_astro" id="~MgPI%%B44O6EzrHu._C"> <field name="TYPE">goldenHour</field> <field name="OFFSET">0</field> </block> </value> </block> </value> <next> <block type="update" id="g|Q7g?g_fO6AjzFr(le">
        <mutation delay_input="false"></mutation>
        <field name="OID">javascript.0.08-Sonnenuntergang_Anfang</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="convert_from_date" id="r6N{VKoWDb6,=S=QyNF"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> <value name="VALUE"> <block type="time_astro" id="!nNaC0sNkzDc_CZkch6">
        <field name="TYPE">sunsetStart</field>
        <field name="OFFSET">0</field>
        </block>
        </value>
        </block>
        </value>
        <next>
        <block type="update" id="5k::E!c_Nzjkf_4MU}_U">
        <mutation delay_input="false"></mutation>
        <field name="OID">javascript.0.09-Sonnenuntergang</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="convert_from_date" id=",z]tcWXKDj7^syvxRkU[">
        <mutation format="false" language="false"></mutation>
        <field name="OPTION">hh:mm:ss</field>
        <value name="VALUE">
        <block type="time_astro" id="e.#C/a~nk+lc9h!VRKIG">
        <field name="TYPE">sunset</field>
        <field name="OFFSET">0</field>
        </block>
        </value>
        </block>
        </value>
        <next>
        <block type="update" id="okk0X1l~(0(nUW+Re46b">
        <mutation delay_input="false"></mutation>
        <field name="OID">javascript.0.10-Abenddämmerung</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="convert_from_date" id="jT6:rKIF[@`bgdN2Ei+R">
        <mutation format="false" language="false"></mutation>
        <field name="OPTION">hh:mm:ss</field>
        <value name="VALUE">
        <block type="time_astro" id="CeiV[rNfs^|Wwo/^8]}L">
        <field name="TYPE">dusk</field>
        <field name="OFFSET">0</field>
        </block>
        </value>
        </block>
        </value>
        <next>
        <block type="update" id="y3QMbYJ8biR5l7@~Vd92">
        <mutation delay_input="false"></mutation>
        <field name="OID">javascript.0.11-Nacht</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
        <block type="convert_from_date" id="5z?E1xsLp;YRIJ6YIaB!">
        <mutation format="false" language="false"></mutation>
        <field name="OPTION">hh:mm:ss</field>
        <value name="VALUE">
        <block type="time_astro" id="Y[SLp]Z~a7!a0aht:]j?">
        <field name="TYPE">night</field>
        <field name="OFFSET">0</field>
        </block>
        </value>
        </block>
        </value>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </next>
        </block>
        </statement>
        </block>
        </next>
        </block>
        </xml>

        paul53P 1 Antwort Letzte Antwort
        1
        • Q Offline
          Q Offline
          quorle
          schrieb am zuletzt editiert von
          #274

          @paul53 :

          Bei mir funktioniert dein Script leider nicht.

          Javascript Adapter ist auf 4.1.12
          js-controller ist auf 1.5.11

          Fehlerlog:

          javascript.0	2019-06-02 18:36:53.028	error	at Timer.listOnTimeout (timers.js:290:5)
          javascript.0	2019-06-02 18:36:53.028	error	at tryOnTimeout (timers.js:323:5)
          javascript.0	2019-06-02 18:36:53.028	error	at ontimeout (timers.js:511:34)
          javascript.0	2019-06-02 18:36:53.028	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
          javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
          javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
          javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
          javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
          javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
          javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
          javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
          javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
          javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
          javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
          javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
          javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
          javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
          javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
          javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
          javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
          javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
          javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
          javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
          javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
          javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
          javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
          javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
          javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
          javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
          javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
          javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
          javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
          javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
          javascript.0	2019-06-02 18:36:53.026	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
          javascript.0	2019-06-02 18:36:53.026	error	Error in callback: TypeError: date.getDate is not a function
          javascript.0	2019-06-02 18:36:53.026	error	at Timer.listOnTimeout (timers.js:290:5)
          javascript.0	2019-06-02 18:36:53.026	error	at tryOnTimeout (timers.js:323:5)
          javascript.0	2019-06-02 18:36:53.026	error	at ontimeout (timers.js:511:34)
          javascript.0	2019-06-02 18:36:53.026	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
          javascript.0	2019-06-02 18:36:53.026	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
          javascript.0	2019-06-02 18:36:53.026	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
          javascript.0	2019-06-02 18:36:53.026	error	Error in callback: TypeError: date.getDate is not a function
          
          J paul53P 2 Antworten Letzte Antwort
          0
          • Q quorle

            @paul53 :

            Bei mir funktioniert dein Script leider nicht.

            Javascript Adapter ist auf 4.1.12
            js-controller ist auf 1.5.11

            Fehlerlog:

            javascript.0	2019-06-02 18:36:53.028	error	at Timer.listOnTimeout (timers.js:290:5)
            javascript.0	2019-06-02 18:36:53.028	error	at tryOnTimeout (timers.js:323:5)
            javascript.0	2019-06-02 18:36:53.028	error	at ontimeout (timers.js:511:34)
            javascript.0	2019-06-02 18:36:53.028	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
            javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
            javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
            javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
            javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
            javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
            javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
            javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
            javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
            javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
            javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
            javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
            javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
            javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
            javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
            javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
            javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
            javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
            javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
            javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
            javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
            javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
            javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
            javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
            javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
            javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
            javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
            javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
            javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
            javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
            javascript.0	2019-06-02 18:36:53.026	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
            javascript.0	2019-06-02 18:36:53.026	error	Error in callback: TypeError: date.getDate is not a function
            javascript.0	2019-06-02 18:36:53.026	error	at Timer.listOnTimeout (timers.js:290:5)
            javascript.0	2019-06-02 18:36:53.026	error	at tryOnTimeout (timers.js:323:5)
            javascript.0	2019-06-02 18:36:53.026	error	at ontimeout (timers.js:511:34)
            javascript.0	2019-06-02 18:36:53.026	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
            javascript.0	2019-06-02 18:36:53.026	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
            javascript.0	2019-06-02 18:36:53.026	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
            javascript.0	2019-06-02 18:36:53.026	error	Error in callback: TypeError: date.getDate is not a function
            
            J Offline
            J Offline
            Jan1
            schrieb am zuletzt editiert von
            #275

            @quorle
            Deshalb nimmst einfach das Blockly, weil das immer funktioniert und so ziehmich auch exakt das Selbe rauskommt.

            1 Antwort Letzte Antwort
            0
            • Q quorle

              @paul53 :

              Bei mir funktioniert dein Script leider nicht.

              Javascript Adapter ist auf 4.1.12
              js-controller ist auf 1.5.11

              Fehlerlog:

              javascript.0	2019-06-02 18:36:53.028	error	at Timer.listOnTimeout (timers.js:290:5)
              javascript.0	2019-06-02 18:36:53.028	error	at tryOnTimeout (timers.js:323:5)
              javascript.0	2019-06-02 18:36:53.028	error	at ontimeout (timers.js:511:34)
              javascript.0	2019-06-02 18:36:53.028	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
              javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
              javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
              javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
              javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
              javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
              javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
              javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
              javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
              javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
              javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
              javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
              javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
              javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
              javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
              javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
              javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
              javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
              javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
              javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
              javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
              javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
              javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
              javascript.0	2019-06-02 18:36:53.027	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
              javascript.0	2019-06-02 18:36:53.027	error	Error in callback: TypeError: date.getDate is not a function
              javascript.0	2019-06-02 18:36:53.027	error	at Timer.listOnTimeout (timers.js:290:5)
              javascript.0	2019-06-02 18:36:53.027	error	at tryOnTimeout (timers.js:323:5)
              javascript.0	2019-06-02 18:36:53.027	error	at ontimeout (timers.js:511:34)
              javascript.0	2019-06-02 18:36:53.027	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
              javascript.0	2019-06-02 18:36:53.027	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
              javascript.0	2019-06-02 18:36:53.026	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
              javascript.0	2019-06-02 18:36:53.026	error	Error in callback: TypeError: date.getDate is not a function
              javascript.0	2019-06-02 18:36:53.026	error	at Timer.listOnTimeout (timers.js:290:5)
              javascript.0	2019-06-02 18:36:53.026	error	at tryOnTimeout (timers.js:323:5)
              javascript.0	2019-06-02 18:36:53.026	error	at ontimeout (timers.js:511:34)
              javascript.0	2019-06-02 18:36:53.026	error	at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1886:34)
              javascript.0	2019-06-02 18:36:53.026	error	at Object.<anonymous> (script.js.common.System.Astrozeiten_berechnen_V2:302:16)
              javascript.0	2019-06-02 18:36:53.026	error	at getAstroDate (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1220:42)
              javascript.0	2019-06-02 18:36:53.026	error	Error in callback: TypeError: date.getDate is not a function
              
              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von paul53
              #276

              @quorle sagte:

              Fehlerlog:

              Dann verwendest Du die JS-Version von Github, die noch einen Fehler enthält, wenn date an getAstroDate() in ms übergeben wird. Deshalb ändere Zeile 292 in

                      var tomorrow = new Date(today.setDate(today.getDate()+1));
              

              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

              P 2 Antworten Letzte Antwort
              0
              • J Jan1

                Kein Plan warum man sich da ein JavaScript dafür von jemand übernimmt (@paul53 kann man machen und nichts gegen Dein Script).
                Wenn man schlicht die Astrozeiten als DP haben möchte und von Javascript nichts versteht, dann bietet Blockly schon alles was man braucht.

                sieht dann so aus:
                cd5f80e6-f6b1-463b-8b30-d6dfd33c6d1a-grafik.png

                Hier dann mal der Blockly Export, falls es einer haben möchte:

                ```
                <xml xmlns="http://www.w3.org/1999/xhtml">
                <block type="create" id="v72H-N1#%w_zseA#CMc" x="13" y="13">
                <field name="NAME">01-Nachtende</field>
                <statement name="STATEMENT">
                <block type="create" id="@kYi)AXak/ydmJCF!oo]">
                <field name="NAME">02-Morgendämmerung</field>
                <statement name="STATEMENT">
                <block type="create" id=";T8PP:ZCKeM4
                +U5?yi">
                <field name="NAME">03-Sonnenaufgang</field>
                <statement name="STATEMENT">
                <block type="create" id="gIfB:POQ4@(+!BTUapf">
                <field name="NAME">04-Sonneneaufgang_Ende</field>
                <statement name="STATEMENT">
                <block type="create" id="MFJk^e%f2^,QG[vUK4ee">
                <field name="NAME">05-Golden_Houer_Ende</field>
                <statement name="STATEMENT">
                <block type="create" id="hO7B(a7I~WK~vu8.7gDH">
                <field name="NAME">06-Mittag</field>
                <statement name="STATEMENT">
                <block type="create" id="eYe;t8x=FwBT4B,.|k."> <field name="NAME">07-Golden_Houer</field> <statement name="STATEMENT"> <block type="create" id="tVROR/kUT3MINh%SOcdY"> <field name="NAME">08-Sonnenuntergang_Anfang</field> <statement name="STATEMENT"> <block type="create" id="kCb|+j}(0FzG/abd,q1">
                <field name="NAME">09-Sonnenuntergang</field>
                <statement name="STATEMENT">
                <block type="create" id="4UB
                zNj{JG:saTpO/G">
                <field name="NAME">10-Abenddämmerung</field>
                <statement name="STATEMENT">
                <block type="create" id="%kf8::E|Nt2i
                cPYM.aB">
                <field name="NAME">11-Nacht</field>
                </block>
                </statement>
                </block>
                </statement>
                </block>
                </statement>
                </block>
                </statement>
                </block>
                </statement>
                </block>
                </statement>
                </block>
                </statement>
                </block>
                </statement>
                </block>
                </statement>
                </block>
                </statement>
                <next>
                <block type="schedule" id="c;,oPug#y[hH+R/Az:)Z">
                <field name="SCHEDULE">0 0,6,12,18 * * *</field>
                <statement name="STATEMENT">
                <block type="update" id="QIMsUa0@3?Vo;jj}r-U">
                <mutation delay_input="false"></mutation>
                <field name="OID">javascript.0.01-Nachtende</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                <block type="convert_from_date" id="^E3;~IY|ubg5}Cw9eYrO">
                <mutation format="false" language="false"></mutation>
                <field name="OPTION">hh:mm:ss</field>
                <value name="VALUE">
                <block type="time_astro" id="J0d,%PB7t8lb@8mXXXZ(">
                <field name="TYPE">nightEnd</field>
                <field name="OFFSET">0</field>
                </block>
                </value>
                </block>
                </value>
                <next>
                <block type="update" id="HB^8MQ(4ds+W5/u^OW4m">
                <mutation delay_input="false"></mutation>
                <field name="OID">javascript.0.02-Morgendämmerung</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                <block type="convert_from_date" id="oN=Uv}fYcHBCDPHtpXiw">
                <mutation format="false" language="false"></mutation>
                <field name="OPTION">hh:mm:ss</field>
                <value name="VALUE">
                <block type="time_astro" id=":/y;e5awTDC:Cev;TUCS">
                <field name="TYPE">dawn</field>
                <field name="OFFSET">0</field>
                </block>
                </value>
                </block>
                </value>
                <next>
                <block type="update" id="+A7|YpLw]g_!(9]PC@UH">
                <mutation delay_input="false"></mutation>
                <field name="OID">javascript.0.03-Sonnenaufgang</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                <block type="convert_from_date" id="AMyc:3
                Tp9XP+4kq(nv-">
                <mutation format="false" language="false"></mutation>
                <field name="OPTION">hh:mm:ss</field>
                <value name="VALUE">
                <block type="time_astro" id=",4bKmH_J8szFEb.4u{OB">
                <field name="TYPE">sunrise</field>
                <field name="OFFSET">0</field>
                </block>
                </value>
                </block>
                </value>
                <next>
                <block type="update" id="DwtR_scz+f42pEJ/sKn?">
                <mutation delay_input="false"></mutation>
                <field name="OID">javascript.0.04-Sonneneaufgang_Ende</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                <block type="convert_from_date" id="a~M9OAt|LRQe5:d]~}H?">
                <mutation format="false" language="false"></mutation>
                <field name="OPTION">hh:mm:ss</field>
                <value name="VALUE">
                <block type="time_astro" id="7/scA1O-iX|.x-iB_~X3">
                <field name="TYPE">sunriseEnd</field>
                <field name="OFFSET">0</field>
                </block>
                </value>
                </block>
                </value>
                <next>
                <block type="update" id="F.Y:ABQw?pppVIMuzXC4">
                <mutation delay_input="false"></mutation>
                <field name="OID">javascript.0.05-Golden_Houer_Ende</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                <block type="convert_from_date" id="jgDe(t)05^f2gQyGIaI6">
                <mutation format="false" language="false"></mutation>
                <field name="OPTION">hh:mm:ss</field>
                <value name="VALUE">
                <block type="time_astro" id="]qS[Z+Pab*WUXun969T"> <field name="TYPE">goldenHourEnd</field> <field name="OFFSET">0</field> </block> </value> </block> </value> <next> <block type="update" id="FjU7x+vB-{|nz?Ntgi]B"> <mutation delay_input="false"></mutation> <field name="OID">javascript.0.06-Mittag</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="convert_from_date" id="Ewd,fX4o;ftqhEAKr)^">
                <mutation format="false" language="false"></mutation>
                <field name="OPTION">hh:mm:ss</field>
                <value name="VALUE">
                <block type="time_astro" id="}2iN_uE[d~xeJMc]9~%p">
                <field name="TYPE">solarNoon</field>
                <field name="OFFSET">0</field>
                </block>
                </value>
                </block>
                </value>
                <next>
                <block type="update" id="(slH?vH:Tx73fJ(J2HY]">
                <mutation delay_input="false"></mutation>
                <field name="OID">javascript.0.07-Golden_Houer</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                <block type="convert_from_date" id="kh1//%:x4My;~kFU,E^"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> <value name="VALUE"> <block type="time_astro" id="~MgPI%%B44O6EzrHu._C"> <field name="TYPE">goldenHour</field> <field name="OFFSET">0</field> </block> </value> </block> </value> <next> <block type="update" id="g|Q7g?g_fO6AjzFr(le">
                <mutation delay_input="false"></mutation>
                <field name="OID">javascript.0.08-Sonnenuntergang_Anfang</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                <block type="convert_from_date" id="r6N{VKoWDb6,=S=QyNF"> <mutation format="false" language="false"></mutation> <field name="OPTION">hh:mm:ss</field> <value name="VALUE"> <block type="time_astro" id="!nNaC0sNkzDc_CZkch6">
                <field name="TYPE">sunsetStart</field>
                <field name="OFFSET">0</field>
                </block>
                </value>
                </block>
                </value>
                <next>
                <block type="update" id="5k::E!c_Nzjkf_4MU}_U">
                <mutation delay_input="false"></mutation>
                <field name="OID">javascript.0.09-Sonnenuntergang</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                <block type="convert_from_date" id=",z]tcWXKDj7^syvxRkU[">
                <mutation format="false" language="false"></mutation>
                <field name="OPTION">hh:mm:ss</field>
                <value name="VALUE">
                <block type="time_astro" id="e.#C/a~nk+lc9h!VRKIG">
                <field name="TYPE">sunset</field>
                <field name="OFFSET">0</field>
                </block>
                </value>
                </block>
                </value>
                <next>
                <block type="update" id="okk0X1l~(0(nUW+Re46b">
                <mutation delay_input="false"></mutation>
                <field name="OID">javascript.0.10-Abenddämmerung</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                <block type="convert_from_date" id="jT6:rKIF[@`bgdN2Ei+R">
                <mutation format="false" language="false"></mutation>
                <field name="OPTION">hh:mm:ss</field>
                <value name="VALUE">
                <block type="time_astro" id="CeiV[rNfs^|Wwo/^8]}L">
                <field name="TYPE">dusk</field>
                <field name="OFFSET">0</field>
                </block>
                </value>
                </block>
                </value>
                <next>
                <block type="update" id="y3QMbYJ8biR5l7@~Vd92">
                <mutation delay_input="false"></mutation>
                <field name="OID">javascript.0.11-Nacht</field>
                <field name="WITH_DELAY">FALSE</field>
                <value name="VALUE">
                <block type="convert_from_date" id="5z?E1xsLp;YRIJ6YIaB!">
                <mutation format="false" language="false"></mutation>
                <field name="OPTION">hh:mm:ss</field>
                <value name="VALUE">
                <block type="time_astro" id="Y[SLp]Z~a7!a0aht:]j?">
                <field name="TYPE">night</field>
                <field name="OFFSET">0</field>
                </block>
                </value>
                </block>
                </value>
                </block>
                </next>
                </block>
                </next>
                </block>
                </next>
                </block>
                </next>
                </block>
                </next>
                </block>
                </next>
                </block>
                </next>
                </block>
                </next>
                </block>
                </next>
                </block>
                </next>
                </block>
                </statement>
                </block>
                </next>
                </block>
                </xml>

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

                @Jan1 sagte:

                sieht dann so aus:

                Du hast Glück, dass Du so weit südlich wohnst und deshalb "Nacht" und "Nachtende" bei Dir auch im Sommer funktioniert.
                Mitternachtsdämmerung

                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

                J 1 Antwort Letzte Antwort
                0
                • Q Offline
                  Q Offline
                  quorle
                  schrieb am zuletzt editiert von
                  #278

                  @paul53

                  Danke für deine schnelle und Hilfreiche Antwort. So funktioniert es ohne Fehler und Probleme.

                  Ich hoffe es werden bal alle Fehler des Javascript-Adapters ausgemerzt sein....

                  paul53P 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @Jan1 sagte:

                    sieht dann so aus:

                    Du hast Glück, dass Du so weit südlich wohnst und deshalb "Nacht" und "Nachtende" bei Dir auch im Sommer funktioniert.
                    Mitternachtsdämmerung

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

                    @paul53 sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

                    @Jan1 sagte:

                    sieht dann so aus:

                    Du hast Glück, dass Du so weit südlich wohnst und deshalb "Nacht" und "Nachtende" bei Dir auch im Sommer funktioniert.
                    Mitternachtsdämmerung

                    Ich hatte ursprünglich auch ein Script dafür hier aus dem Forum und da gabs dann auch Probleme bei Sommer und Winter. Da aber die "normalen" Astrozeiten für ein Großteil der User eigentlich reicht, oder man die vorhandenen einfach mit einem Offset etwas anpasst, sind eben auch die von Blockly zur Verfügung stehenden Astro Zeiten auch ausreichend.
                    OK, es gibt eben immer User die was extra haben wollen, aber für die bist dann eben Du zuständig 😉

                    1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @quorle sagte:

                      Fehlerlog:

                      Dann verwendest Du die JS-Version von Github, die noch einen Fehler enthält, wenn date an getAstroDate() in ms übergeben wird. Deshalb ändere Zeile 292 in

                              var tomorrow = new Date(today.setDate(today.getDate()+1));
                      
                      P Offline
                      P Offline
                      ple
                      schrieb am zuletzt editiert von
                      #280

                      @paul53 sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

                      @quorle sagte:

                      Fehlerlog:

                      Dann verwendest Du die JS-Version von Github, die noch einen Fehler enthält, wenn date an getAstroDate() in ms übergeben wird. Deshalb ändere Zeile 292 in

                              var tomorrow = new Date(today.setDate(today.getDate()+1));
                      

                      Besten Dank 🙂👍

                      Intel Nuc + Proxmox

                      simatecS 1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        Mitch
                        schrieb am zuletzt editiert von
                        #281

                        Bisher leif das Script hier wunderbar

                        Jetzt bekomme ich diese Fehler:

                        javascript.0	2019-06-03 22:59:03.011	error	Cannot get astro date for "nightEnd"
                        javascript.0	2019-06-03 22:59:03.010	error	Cannot get astro date for "night"
                        javascript.0	2019-06-03 22:59:00.038	error	Cannot get astro date for "nightEnd"
                        javascript.0	2019-06-03 22:59:00.038	warn	missing or unrecognized endTime expression: NaN
                        javascript.0	2019-06-03 22:59:00.038	error	Cannot get astro date for "nightEnd"
                        javascript.0	2019-06-03 22:59:00.038	error	Cannot get astro date for "night"
                        javascript.0	2019-06-03 22:59:00.038	warn	missing or unrecognized endTime expression: NaN
                        javascript.0	2019-06-03 22:59:00.037	error	Cannot get astro date for "night"
                        

                        Hier die Script-Version:
                        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

                        Weiss jemand Abhilfe?

                        paul53P 1 Antwort Letzte Antwort
                        0
                        • M Mitch

                          Bisher leif das Script hier wunderbar

                          Jetzt bekomme ich diese Fehler:

                          javascript.0	2019-06-03 22:59:03.011	error	Cannot get astro date for "nightEnd"
                          javascript.0	2019-06-03 22:59:03.010	error	Cannot get astro date for "night"
                          javascript.0	2019-06-03 22:59:00.038	error	Cannot get astro date for "nightEnd"
                          javascript.0	2019-06-03 22:59:00.038	warn	missing or unrecognized endTime expression: NaN
                          javascript.0	2019-06-03 22:59:00.038	error	Cannot get astro date for "nightEnd"
                          javascript.0	2019-06-03 22:59:00.038	error	Cannot get astro date for "night"
                          javascript.0	2019-06-03 22:59:00.038	warn	missing or unrecognized endTime expression: NaN
                          javascript.0	2019-06-03 22:59:00.037	error	Cannot get astro date for "night"
                          

                          Hier die Script-Version:
                          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

                          Weiss jemand Abhilfe?

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

                          @Mitch sagte:

                          Weiss jemand Abhilfe?

                          Du wohnst zu weit nördlich. Es gibt ein modifiziertes Skript.

                          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

                          M 1 Antwort Letzte Antwort
                          1
                          • paul53P paul53

                            @Mitch sagte:

                            Weiss jemand Abhilfe?

                            Du wohnst zu weit nördlich. Es gibt ein modifiziertes Skript.

                            M Offline
                            M Offline
                            Mitch
                            schrieb am zuletzt editiert von
                            #283

                            @paul53

                            Wie immer, klasse Hilfe!

                            1 Antwort Letzte Antwort
                            0
                            • D Online
                              D Online
                              darkiop
                              Most Active
                              schrieb am zuletzt editiert von
                              #284

                              Habe mal begonnen das ganze in ein Blockly zu packen, offen ist noch die "nächste Tageszeit":

                              https://gist.github.com/darkiop/236a5755b5f3d6f361907f59d10963ef

                              Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                              SpegeliS 1 Antwort Letzte Antwort
                              1
                              • paul53P paul53

                                @quorle sagte:

                                Fehlerlog:

                                Dann verwendest Du die JS-Version von Github, die noch einen Fehler enthält, wenn date an getAstroDate() in ms übergeben wird. Deshalb ändere Zeile 292 in

                                        var tomorrow = new Date(today.setDate(today.getDate()+1));
                                
                                P Offline
                                P Offline
                                ple
                                schrieb am zuletzt editiert von
                                #285

                                @paul53 sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

                                @quorle sagte:

                                Fehlerlog:

                                Dann verwendest Du die JS-Version von Github, die noch einen Fehler enthält, wenn date an getAstroDate() in ms übergeben wird. Deshalb ändere Zeile 292 in

                                        var tomorrow = new Date(today.setDate(today.getDate()+1));
                                

                                Gibt es auch die Möglichkeit die Ausgabe in 24h Format zu bekommen? bei mir sind die alle in 12h Format. Für Vis ist das ein wenig blöde.

                                Gruß und Danke

                                Intel Nuc + Proxmox

                                1 Antwort Letzte Antwort
                                0
                                • Q quorle

                                  @paul53

                                  Danke für deine schnelle und Hilfreiche Antwort. So funktioniert es ohne Fehler und Probleme.

                                  Ich hoffe es werden bal alle Fehler des Javascript-Adapters ausgemerzt sein....

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

                                  @quorle Mittlerweile ist es umgekehrt: Die Version 4.1.13 enthält diesen Fehler und auf Github ist er gefixt.
                                  In Version 4.1.13 ist der fehlerhafte Vergleich "zwischen Astrozeit und Uhrzeit" in der Zeit zwischen Mitternacht und "nadir" gefixt.

                                  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
                                  • P ple

                                    @paul53 sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

                                    @quorle sagte:

                                    Fehlerlog:

                                    Dann verwendest Du die JS-Version von Github, die noch einen Fehler enthält, wenn date an getAstroDate() in ms übergeben wird. Deshalb ändere Zeile 292 in

                                            var tomorrow = new Date(today.setDate(today.getDate()+1));
                                    

                                    Besten Dank 🙂👍

                                    simatecS Online
                                    simatecS Online
                                    simatec
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #287

                                    Der Adapter shuttercontrol gibt Dir inzwischen auch alle Astrozeiten als Datenpunkt raus und ist dazu inzwischen recht funktionstüchtig für viele Möglichkeiten der Rolladensteuerung

                                    • Besuche meine Github Seite
                                    • Beitrag hat geholfen oder willst du mich unterstützen
                                    • HowTo Restore ioBroker
                                    sigi234S 1 Antwort Letzte Antwort
                                    0
                                    • simatecS simatec

                                      Der Adapter shuttercontrol gibt Dir inzwischen auch alle Astrozeiten als Datenpunkt raus und ist dazu inzwischen recht funktionstüchtig für viele Möglichkeiten der Rolladensteuerung

                                      sigi234S Online
                                      sigi234S Online
                                      sigi234
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von
                                      #288

                                      @simatec sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

                                      Der Adapter shuttercontrol gibt Dir inzwischen auch alle Astrozeiten als Datenpunkt raus

                                      Wohin?

                                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                      Immer Daten sichern!

                                      simatecS 1 Antwort Letzte Antwort
                                      0
                                      • sigi234S sigi234

                                        @simatec sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

                                        Der Adapter shuttercontrol gibt Dir inzwischen auch alle Astrozeiten als Datenpunkt raus

                                        Wohin?

                                        simatecS Online
                                        simatecS Online
                                        simatec
                                        Developer Most Active
                                        schrieb am zuletzt editiert von
                                        #289

                                        @sigi234
                                        Die Datenpunkte findest du im schuttercontrol.0.info

                                        • Besuche meine Github Seite
                                        • Beitrag hat geholfen oder willst du mich unterstützen
                                        • HowTo Restore ioBroker
                                        sigi234S 1 Antwort Letzte Antwort
                                        1
                                        • simatecS simatec

                                          @sigi234
                                          Die Datenpunkte findest du im schuttercontrol.0.info

                                          sigi234S Online
                                          sigi234S Online
                                          sigi234
                                          Forum Testing Most Active
                                          schrieb am zuletzt editiert von
                                          #290

                                          @simatec sagte in Astro-Tageszeit abfragen und in Datenpunkt eintragen:

                                          @sigi234
                                          Die Datenpunkte findest du im schuttercontrol.0.info

                                          Aha, Danke dauerte ein wenig bzw. musste die Objekte aktualisieren........

                                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                          Immer Daten sichern!

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          603

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe