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.
  • BBTownB BBTown

    @PrinzEisenherz1 tja, was soll ich sagen.
    derlei Zeilen gibt es im Script von @paul53 gar nicht, daher meine Rückfrage 😎

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

    @BBTown sagte:

    derlei Zeilen gibt es im Script von @paul53 gar nicht

    Dafür diese

           setState(idAstroObject, checkSec(temp.toLocaleTimeString()) );
    

    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

    BBTownB 1 Antwort Letzte Antwort
    1
    • paul53P paul53

      @BBTown sagte:

      derlei Zeilen gibt es im Script von @paul53 gar nicht

      Dafür diese

             setState(idAstroObject, checkSec(temp.toLocaleTimeString()) );
      
      BBTownB Offline
      BBTownB Offline
      BBTown
      schrieb am zuletzt editiert von BBTown
      #298

      @paul53 kann diese auch auf 24h Darstellung angepasst werden?
      in etwa so?

      setState(idAstroObject, checkSec(temp.toLocaleTimeString('de-DE', { hour12: false })) );
      

      ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

      paul53P BBTownB 2 Antworten Letzte Antwort
      1
      • BBTownB BBTown

        @paul53 kann diese auch auf 24h Darstellung angepasst werden?
        in etwa so?

        setState(idAstroObject, checkSec(temp.toLocaleTimeString('de-DE', { hour12: false })) );
        
        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #299

        @BBTown sagte:

        kann diese auch auf 24h Darstellung angepasst werden?

        Probier es aus ! Ich habe das Problem mit der 12-h-Anzeige nicht.

        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
        • BBTownB BBTown

          @paul53 kann diese auch auf 24h Darstellung angepasst werden?
          in etwa so?

          setState(idAstroObject, checkSec(temp.toLocaleTimeString('de-DE', { hour12: false })) );
          
          BBTownB Offline
          BBTownB Offline
          BBTown
          schrieb am zuletzt editiert von BBTown
          #300

          Danke @PrinzEisenherz1 und @paul53 für den Denkanstoss, nun werden bei mir die Zeiten im 24h Format dargestellt. 👍

          Zeile 303 des Scriptes von paul53

          setState(idAstroObject, checkSec(temp.toLocaleTimeString('de-DE', { hour12: false })) );
          

          ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

          1 Antwort Letzte Antwort
          1
          • P Offline
            P Offline
            piet
            schrieb am zuletzt editiert von
            #301

            Bei mir auch
            Vielen Dank

            Aktiv: Pi 3
            Test: NUC mit Proxmox LXC und VM, Iobroker auf Debian.

            1 Antwort Letzte Antwort
            0
            • D darkiop

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

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

              SpegeliS Offline
              SpegeliS Offline
              Spegeli
              schrieb am zuletzt editiert von
              #302

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

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

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

              Sehr schönes Script.
              Die gespeicherte Zeit bevorzuge ich Persönlich ohne die Sekunden Angabe aber das konnte ich ja schnell ändern.

              Schon Fortschritte gemacht was die "nächste Tageszeit" angeht?

              1 Antwort Letzte Antwort
              0
              • 0 Offline
                0 Offline
                0018
                schrieb am zuletzt editiert von 0018
                #303

                ich bekomme bei mir leider die Sekunden nicht angezeigt.
                Egal ob ich const sec = true; oder false mache, es ändert sich leider nichts. Habe auch die Objekte mal gelöscht und dann umgestellt, aber keine Änderung. Habe JS 4.1.13.

                EDIT: Nach einem Systemneustart klappt es jetzt!

                Mfg
                0018

                1 Antwort Letzte Antwort
                0
                • J Offline
                  J Offline
                  JavaMafia
                  schrieb am zuletzt editiert von
                  #304

                  Guten Abend,

                  gibt es auch die Möglichkeit das Tageszeit Script in Blockly um zuschreiben?

                  Das mit die Tageszeit als Klartext angezeigt wird (Bsp. Morgens, Mittags,...)

                  Bekomme jetzt nur die Zeiten hin, wann diese Ereignisse sind (Morgendämmerung 4:31)

                  1 Antwort Letzte Antwort
                  0
                  • GlasfaserG Online
                    GlasfaserG Online
                    Glasfaser
                    schrieb am zuletzt editiert von Glasfaser
                    #305

                    Habe dieses Skript bei mir laufen ( nicht von mir ).

                    Würde diese reichen !?

                    
                    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 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('de-DE', { hour12: false })) );
                    
                           
                       }, 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();
                    
                    event("Javascript Instanz Astro Tageszeiten neu gestartet");
                    

                    Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                    J 1 Antwort Letzte Antwort
                    0
                    • GlasfaserG Glasfaser

                      Habe dieses Skript bei mir laufen ( nicht von mir ).

                      Würde diese reichen !?

                      
                      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 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('de-DE', { hour12: false })) );
                      
                             
                         }, 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();
                      
                      event("Javascript Instanz Astro Tageszeiten neu gestartet");
                      

                      J Offline
                      J Offline
                      JavaMafia
                      schrieb am zuletzt editiert von
                      #306

                      @Glasfaser
                      bekomme in Zeile 21 einen Fehler angezeigt

                      • javascript.0 script.js.common.Test_Tag compile failed: at script.js.common.Test_Tag:21
                      paul53P GlasfaserG 2 Antworten Letzte Antwort
                      0
                      • J JavaMafia

                        @Glasfaser
                        bekomme in Zeile 21 einen Fehler angezeigt

                        • javascript.0 script.js.common.Test_Tag compile failed: at script.js.common.Test_Tag:21
                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #307

                        @JavaMafia sagte:

                        bekomme in Zeile 21 einen Fehler angezeigt

                        Wenn Javascript code nicht in Code tags gepostet wird, können sich Fehler einschleichen.

                        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
                        -1
                        • J JavaMafia

                          @Glasfaser
                          bekomme in Zeile 21 einen Fehler angezeigt

                          • javascript.0 script.js.common.Test_Tag compile failed: at script.js.common.Test_Tag:21
                          GlasfaserG Online
                          GlasfaserG Online
                          Glasfaser
                          schrieb am zuletzt editiert von
                          #308

                          @JavaMafia
                          Sorry mein Fehler ,habe es geändert !

                          Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                          1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @JavaMafia sagte:

                            bekomme in Zeile 21 einen Fehler angezeigt

                            Wenn Javascript code nicht in Code tags gepostet wird, können sich Fehler einschleichen.

                            J Offline
                            J Offline
                            JavaMafia
                            schrieb am zuletzt editiert von
                            #309

                            @paul53
                            habe ich mir schon fast gedacht. leider ist meine Kenntnis was Java betrift nicht mehr so gut

                            1 Antwort Letzte Antwort
                            0
                            • B Offline
                              B Offline
                              Buko
                              schrieb am zuletzt editiert von
                              #310

                              Wo finde ich den die aktuelle Script Version?

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • B Buko

                                Wo finde ich den die aktuelle Script Version?

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

                                @Buko sagte:

                                Wo finde ich den die aktuelle Script Version?

                                Hier

                                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

                                B 1 Antwort Letzte Antwort
                                0
                                • paul53P paul53

                                  @Buko sagte:

                                  Wo finde ich den die aktuelle Script Version?

                                  Hier

                                  B Offline
                                  B Offline
                                  Buko
                                  schrieb am zuletzt editiert von
                                  #312

                                  @paul53
                                  Danke

                                  1 Antwort Letzte Antwort
                                  0
                                  • B Offline
                                    B Offline
                                    Buko
                                    schrieb am zuletzt editiert von Buko
                                    #313

                                    Gelöscht

                                    1 Antwort Letzte Antwort
                                    0
                                    • K Offline
                                      K Offline
                                      Kugelkopf
                                      schrieb am zuletzt editiert von
                                      #314

                                      Moin Moin!

                                      Also bei mir besteht auch das gleiche Problem mit den 12h beim Javascript Skript.
                                      Habe die Zeile 303 schon getauscht, und in raspi-config nochmal alle localisations durchgegangen. Es kommt dennoch immer wieder nur alles im 12h format an.
                                      Es ergibt nicht so viel Sinn wenn eigentlich die Einschaltzeit der Lampen im Haus mit dem Sonnenuntergang sind, aber dieser nun um 9:21Uhr Morgens ist 😄 statt 21.21Uhr
                                      Im Javascript Adapter hab ich sowohl die Einstellung System, als auch Individuell probiert. Das Ergebnis bleibt das gleiche.

                                      Habt ihr noch Ideen?

                                      Node.js v10.16.0
                                      npm 6.9.0
                                      js-controller 1.5.13
                                      admin 3.6.4
                                      JS 4.1.14 Github

                                      BBTownB 1 Antwort Letzte Antwort
                                      0
                                      • K Kugelkopf

                                        Moin Moin!

                                        Also bei mir besteht auch das gleiche Problem mit den 12h beim Javascript Skript.
                                        Habe die Zeile 303 schon getauscht, und in raspi-config nochmal alle localisations durchgegangen. Es kommt dennoch immer wieder nur alles im 12h format an.
                                        Es ergibt nicht so viel Sinn wenn eigentlich die Einschaltzeit der Lampen im Haus mit dem Sonnenuntergang sind, aber dieser nun um 9:21Uhr Morgens ist 😄 statt 21.21Uhr
                                        Im Javascript Adapter hab ich sowohl die Einstellung System, als auch Individuell probiert. Das Ergebnis bleibt das gleiche.

                                        Habt ihr noch Ideen?

                                        Node.js v10.16.0
                                        npm 6.9.0
                                        js-controller 1.5.13
                                        admin 3.6.4
                                        JS 4.1.14 Github

                                        BBTownB Offline
                                        BBTownB Offline
                                        BBTown
                                        schrieb am zuletzt editiert von
                                        #315

                                        @Kugelkopf
                                        diese Version läuft bei mir und als Ergebnis habe ich ein 24h Format.

                                        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 = 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('de-DE', { hour12: false })) );
                                          }, 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();
                                        

                                        ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.0.7 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                                        K G M 3 Antworten Letzte Antwort
                                        2
                                        • BBTownB BBTown

                                          @Kugelkopf
                                          diese Version läuft bei mir und als Ergebnis habe ich ein 24h Format.

                                          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 = 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('de-DE', { hour12: false })) );
                                            }, 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();
                                          

                                          K Offline
                                          K Offline
                                          Kugelkopf
                                          schrieb am zuletzt editiert von
                                          #316

                                          @BBTown Genial! Bei mir auch!! Vielen Dank!
                                          Was auch immer der Unterschied zu meiner Version war/ist.

                                          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

                                          748

                                          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