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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Astrozeit spinnt - Lampen sind zu früh an

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    622

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

Astrozeit spinnt - Lampen sind zu früh an

Scheduled Pinned Locked Moved Skripten / Logik
42 Posts 6 Posters 4.5k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Jey CeeJ Online
    Jey CeeJ Online
    Jey Cee
    Developer
    wrote on last edited by
    #28

    Da fehlt ein Wesentlicher Teil im Skript, damit Zeit auch entsprechend Aktualisiert wird.

    
    //Bei Änderung der Zeiten Aktualisieren
    on({id: '0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang'},
        () => {
            von = getState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang').val;
        })
    
    on({id: '0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang'},
        () => {
            bis = getState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang').val;
        })
    

    Persönlicher Support
    Spenden -> paypal.me/J3YC33

    1 Reply Last reply
    0
    • bahnuhrB bahnuhr

      @bielefelder81
      Ich stelle dir mal mein Script ein zum Vergleichen:

      // Tageszeiten Script
      
      
      function weiter() {
      
      // Variablen
          var vStunde = new Date().getHours();
          var vMinute = new Date().getMinutes();
          var sunset = getAstroDate("sunset");
          var sunrise = getAstroDate("sunrise");
      
          var akt_zeit = 0.01 * vMinute + vStunde;
          var i_tagesbeginn = 0.01 * parseInt(sunrise.toLocaleTimeString().substr(3,2)) + parseInt(sunrise.toLocaleTimeString().substr(0,2));
          var i_tagesende = 0.01 * parseInt(sunset.toLocaleTimeString().substr(3,2)) + parseInt(sunset.toLocaleTimeString().substr(0,2));
          var i_mittag = 13.00; // Mittagszeit
          var v_tageszeit = 'Nacht';
      
          if (akt_zeit < i_tagesende + 2) v_tageszeit = 'Abend'; 
          if (akt_zeit < i_tagesende + 1) v_tageszeit = 'Dämmerung';
          if (akt_zeit < i_tagesende) v_tageszeit = 'Nachmittag';
          if (akt_zeit < i_mittag + 1) v_tageszeit = 'Mittag';
          if (akt_zeit < i_mittag - 1) v_tageszeit = 'Vormittag';
          if (akt_zeit < i_tagesbeginn) v_tageszeit = 'Morgengrauen';
          if (akt_zeit < i_tagesbeginn - 1) v_tageszeit = 'Frühmorgens';
          if (akt_zeit < i_tagesbeginn - 2) v_tageszeit = 'Nacht';
      
          setState('javascript.0.System.System.Tageszeit', v_tageszeit);
      }
      
      schedule("*/10 * * * *", function () {
          weiter();
      });
      
      

      Überprüfe es mal mit deinem.
      Und du prüfst jede Minute; auch hier mal überlegen ob das Sinn bringt.

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

      @bahnuhr sagte in Astrozeit spinnt - Lampen sind zu früh an:

      Überprüfe es mal mit deinem.

      wenn es nach dem Nachmittag (solarNoon+60') erst die Abenddämmerung gibt, läuft IMHO alles ok.

      kein Support per PN! - Fragen im Forum stellen -
      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      1 Reply Last reply
      0
      • B Offline
        B Offline
        Bielefelder81
        wrote on last edited by
        #30

        Hi zusammen, ich habe heute mal wieder das Problem, dass mein Astro Flurlicht Script nicht korrekt funktioniert.
        In den Objekten steht als aktuelle Tageszeit "Nachmittag" drin. Dann geht natürlich nicht die Lampe an...
        131e41c2-1af1-4b45-a6c8-4c41046961c8-image.png

        Ich bekomme die Warnung "Astrozeit cannot calculate night, nightend für die Koordinaten".

        Thomas BraunT 1 Reply Last reply
        0
        • B Bielefelder81

          Hi zusammen, ich habe heute mal wieder das Problem, dass mein Astro Flurlicht Script nicht korrekt funktioniert.
          In den Objekten steht als aktuelle Tageszeit "Nachmittag" drin. Dann geht natürlich nicht die Lampe an...
          131e41c2-1af1-4b45-a6c8-4c41046961c8-image.png

          Ich bekomme die Warnung "Astrozeit cannot calculate night, nightend für die Koordinaten".

          Thomas BraunT Online
          Thomas BraunT Online
          Thomas Braun
          Most Active
          wrote on last edited by
          #31

          @bielefelder81

          Das Thema Nacht wurde im (Beta)-Javascript-Adapter angepackt. Welche Version hast du da?

          Linux-Werkzeugkasten:
          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
          NodeJS Fixer Skript:
          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

          B 1 Reply Last reply
          0
          • Thomas BraunT Thomas Braun

            @bielefelder81

            Das Thema Nacht wurde im (Beta)-Javascript-Adapter angepackt. Welche Version hast du da?

            B Offline
            B Offline
            Bielefelder81
            wrote on last edited by Bielefelder81
            #32

            @thomas-braun Das kann ich dir leider nicht beantworten. Im Script steht aber sowas wie "Erstellt: 01.06.2015 von Pix" ;)
            Der Javascript Adapter ist bei mir 8.3.1

            Thomas BraunT 1 Reply Last reply
            0
            • B Bielefelder81

              @thomas-braun Das kann ich dir leider nicht beantworten. Im Script steht aber sowas wie "Erstellt: 01.06.2015 von Pix" ;)
              Der Javascript Adapter ist bei mir 8.3.1

              Thomas BraunT Online
              Thomas BraunT Online
              Thomas Braun
              Most Active
              wrote on last edited by
              #33

              @bielefelder81

              Ich spreche aber auch von deinem iobroker.javascript-Adapter...

              Linux-Werkzeugkasten:
              https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
              NodeJS Fixer Skript:
              https://forum.iobroker.net/topic/68035/iob-node-fix-skript
              iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

              B 1 Reply Last reply
              0
              • Thomas BraunT Thomas Braun

                @bielefelder81

                Ich spreche aber auch von deinem iobroker.javascript-Adapter...

                B Offline
                B Offline
                Bielefelder81
                wrote on last edited by
                #34

                @thomas-braun Habe ich anschließend auch kapiert und oben editiert.

                Thomas BraunT 1 Reply Last reply
                0
                • B Bielefelder81

                  @thomas-braun Habe ich anschließend auch kapiert und oben editiert.

                  Thomas BraunT Online
                  Thomas BraunT Online
                  Thomas Braun
                  Most Active
                  wrote on last edited by
                  #35

                  @bielefelder81
                  Möglich das es in 8.3.1 noch nicht drin ist. Ist ganz frischer Code.

                  Linux-Werkzeugkasten:
                  https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                  NodeJS Fixer Skript:
                  https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                  iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                  B 1 Reply Last reply
                  0
                  • Thomas BraunT Thomas Braun

                    @bielefelder81
                    Möglich das es in 8.3.1 noch nicht drin ist. Ist ganz frischer Code.

                    B Offline
                    B Offline
                    Bielefelder81
                    wrote on last edited by
                    #36

                    @thomas-braun Aber ich habe an dem Astroscript , dass ich seit ewigen Zeiten nicht geändert habe, nichts geändert...
                    Es funktionierte ja vorher mit der anderen Javascript Version auch.

                    Thomas BraunT 1 Reply Last reply
                    0
                    • B Bielefelder81

                      @thomas-braun Aber ich habe an dem Astroscript , dass ich seit ewigen Zeiten nicht geändert habe, nichts geändert...
                      Es funktionierte ja vorher mit der anderen Javascript Version auch.

                      Thomas BraunT Online
                      Thomas BraunT Online
                      Thomas Braun
                      Most Active
                      wrote on last edited by
                      #37

                      @bielefelder81

                      8.4.2 (2024-05-28)

                      (klein0r) Fixed createState (removed redundant native attributes)
                      (winnyschuster) Fixed astro custom component
                      

                      Linux-Werkzeugkasten:
                      https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                      NodeJS Fixer Skript:
                      https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                      iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                      B 1 Reply Last reply
                      0
                      • Thomas BraunT Thomas Braun

                        @bielefelder81

                        8.4.2 (2024-05-28)

                        (klein0r) Fixed createState (removed redundant native attributes)
                        (winnyschuster) Fixed astro custom component
                        
                        B Offline
                        B Offline
                        Bielefelder81
                        wrote on last edited by
                        #38

                        @thomas-braun Das verstehe ich nicht... Aber ich benutzte bis dato auch nie die Astrofunktion vom Javascript Adapter, soweit ich weiß. Hab damals von jemandem ein Script bekommen und das erstellt unter 0_userdata eigene Datenpunkte für Astro.

                        Thomas BraunT 1 Reply Last reply
                        0
                        • B Offline
                          B Offline
                          Bielefelder81
                          wrote on last edited by Bielefelder81
                          #39
                          /* System Tageszeiten
                          
                          Skript meldet Tageszeiten
                          
                          Nacht;Frühmorgens;Morgengrauen;Vormittag;Mittag;Nachmittag;Dämmerung;Abend;
                          Basis: http://www.homematic-inside.de/tecbase/homematic/scriptlibrary/item/tageszeit-in-abschnitte-unterteilen
                          oder hier: https://github.com/ioBroker/ioBroker.javascript#astro--funktion
                          
                          https://github.com/iobroker/ioBroker.javascript/blob/master/README.md#getastrodate
                          
                          erstellt: 01.06.2015 von Pix
                          18.02.2018 Sonnenaufgang und Sonnenuntergang wird nur noch neu geschrieben
                                      wenn die bereits gesetzte Zeit sich von der neuen Unterscheidet
                          11.12.2015 getAstroDate ermittelt nun auch Sonnenaufgang und Untergang
                                     Astrotag (isAstroDay) eingebaut
                          */
                          
                          /*Variablen erstellen*/
                          createState('0_userdata.0.Allgemein.Astro.Tageszeit', {
                              name: 'Tageszeit'
                          });
                          createState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang', {
                              name: 'nächster Sonnenaufgang Uhrzeit',
                              desc: 'sunrise (top edge of the sun appears on the horizon)'
                          });
                          createState('0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang', {
                              name: 'nächster Sonnenuntergang Uhrzeit',
                              desc: 'sunset (sun disappears below the horizon, evening civil twilight starts)'
                          });
                          createState('0_userdata.0.Allgemein.Astro.Tageszeit.Astrotag', false, {
                              read: true,
                              write: true,
                              type: 'boolean',
                              name: 'Astologischer Tag',
                              desc: 'Zeit zwischen Sonnenauf- und untergang'
                          });
                          
                          let idTageszeit = "0_userdata.0.Allgemein.Astro.Tageszeit",
                              tageszeiten = ['Nacht',
                                             'Morgendämmerung',
                                             'Morgen',
                                             'Vormittag',
                                             'Mittag',
                                             'Nachmittag',
                                             'Abenddämmerung',
                                             'Abend'],
                              idAstrotag =        "0_userdata.0.Allgemein.Astro.Tageszeit.Astrotag",
                              idSonnenaufgang =   "0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenaufgang",
                              idSonnenuntergang = "0_userdata.0.Allgemein.Astro.Tageszeit.Sonnenuntergang";
                          
                          function zeiten_speichern () {
                              let astrotag = getState(idAstrotag).val,
                                  sonnenaufgang,
                                  sonnenuntergang;
                              let today = new Date();
                              let tomorrow = today.setDate(today.getDate()+1);
                              if (astrotag) { // Wenn Tag (Aufgang vorbei (erst wieder morgen, Untergang kommt noch heute)
                                  sonnenuntergang = getAstroDate('sunset', today),
                                  sonnenaufgang = getAstroDate('sunrise', tomorrow);
                              } else { // nach Nacht (Untergang vorbei (erst wieder morgen, Aufgang kommt heute oder morgen)
                                  sonnenuntergang = getAstroDate('sunset', tomorrow);
                                  sonnenaufgang = (today.getHours() > 12 && today.getHours() <= 23) ? getAstroDate('sunrise', tomorrow) :  getAstroDate('sunrise', today); // es ist vor Mitternacht (bzw. vor 23:XXUhr), dann morgen, sonst heute
                              }
                              if(getState(idSonnenaufgang).val != sonnenaufgang){
                                  setState(idSonnenaufgang, sonnenaufgang.toLocaleTimeString('de-DE', { hour12: false }));
                              }
                              
                              if(getState(idSonnenuntergang).val != sonnenuntergang){
                                  setState(idSonnenuntergang, sonnenuntergang.toLocaleTimeString('de-DE', { hour12: false }));
                              }
                          }
                          
                          function neue_tageszeit(abschnitt) {
                              setState(idTageszeit, tageszeiten[parseInt(abschnitt, 10)]);
                              log('neue Tagezeit: ' + tageszeiten[parseInt(abschnitt, 10)], 'info');
                              zeiten_speichern();
                          }
                          
                          
                          // Nacht
                          schedule({astro: "night", shift: 120}, function () { neue_tageszeit(0) });
                          
                          // Morgengdämmerung
                          schedule({astro: "nightEnd"}, function () { neue_tageszeit(1) });
                          
                          // Morgen
                          schedule({astro: "sunrise"}, function () { neue_tageszeit(2) });
                          
                          // Vormittag (beginnt 120min vor Sonnenhöchststand)
                          schedule({astro: "solarNoon", shift: -120}, function () { neue_tageszeit(3) });
                          
                          // Mittag
                          schedule({astro: "solarNoon"}, function () { neue_tageszeit(4) });
                          
                          // Nachmittag
                          schedule({astro: "solarNoon", shift: 60}, function () { neue_tageszeit(5) });
                          
                          // Abenddämmerung (nach Sonnenuntergang)
                          schedule({astro: "dusk"}, function () { neue_tageszeit(6) });
                          
                          // Abend
                          schedule({astro: "night"}, function () { neue_tageszeit(7) });
                          
                          // Astrotag checken
                          schedule("*/1 * * * *", function () {
                             if (isAstroDay) setState(idAstrotag, true);
                             if (!isAstroDay) setState(idAstrotag, false);
                             zeiten_speichern();
                          });
                          

                          Jetzt meldet das Script aber plötzlich, dass "new Date" da das Date nicht existiert.
                          Unten im Script steht auch "setState(idTageszeit, tageszeiten[parseInt(abschnitt, 10)]);" und dort wird jetzt parseInt als Fehler angezeigt.

                          1 Reply Last reply
                          0
                          • B Bielefelder81

                            @thomas-braun Das verstehe ich nicht... Aber ich benutzte bis dato auch nie die Astrofunktion vom Javascript Adapter, soweit ich weiß. Hab damals von jemandem ein Script bekommen und das erstellt unter 0_userdata eigene Datenpunkte für Astro.

                            Thomas BraunT Online
                            Thomas BraunT Online
                            Thomas Braun
                            Most Active
                            wrote on last edited by
                            #40

                            @bielefelder81

                            Dann muss der Code dort angeschaut werden. Dein Problem dürfte sein, dass es bei dir gerade nicht im astronomischen Sinne Nacht wird.

                            Linux-Werkzeugkasten:
                            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                            NodeJS Fixer Skript:
                            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                            1 Reply Last reply
                            0
                            • HomoranH Do not disturb
                              HomoranH Do not disturb
                              Homoran
                              Global Moderator Administrators
                              wrote on last edited by
                              #41

                              ich könnte wetten, die Meldung kommt gegen 00:01 Uhr.
                              und sie komnt vom js Adapter

                              Da berechnet der Adapter seine aktuellen Astrozeiten, ob jemand sie nutzt oder nicht.
                              Bielefeld liegt im Moment in der nachtlosen Zone, da kann der Adapter keine astronomische Nacht errechnen.

                              Ab einer der nächsten Versionen wird die Meldung aber unterdrückt werden.

                              kein Support per PN! - Fragen im Forum stellen -
                              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                              Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                              paul53P 1 Reply Last reply
                              0
                              • HomoranH Homoran

                                ich könnte wetten, die Meldung kommt gegen 00:01 Uhr.
                                und sie komnt vom js Adapter

                                Da berechnet der Adapter seine aktuellen Astrozeiten, ob jemand sie nutzt oder nicht.
                                Bielefeld liegt im Moment in der nachtlosen Zone, da kann der Adapter keine astronomische Nacht errechnen.

                                Ab einer der nächsten Versionen wird die Meldung aber unterdrückt werden.

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

                                @homoran sagte: Da berechnet der Adapter seine aktuellen Astrozeiten, ob jemand sie nutzt oder nicht.

                                Den Haken kann man in der Konfiguration entfernen.

                                Im Skript von Pix sehe ich aber die Verwendung von "night" und "nightEnd", die ebenfalls zu einer entsprechenden Warnung führt.

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

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


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                297

                                Online

                                32.7k

                                Users

                                82.6k

                                Topics

                                1.3m

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

                                • Don't have an account? Register

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