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

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

Community Forum

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    430

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

Astrozeit spinnt - Lampen sind zu früh an

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
42 Beiträge 6 Kommentatoren 4.1k Aufrufe 3 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.
  • 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 Nicht stören
    HomoranH Nicht stören
    Homoran
    Global Moderator Administrators
    schrieb am zuletzt editiert von
    #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 - es gibt fast nichts, was nicht auch für andere interessant ist.

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

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

    1 Antwort Letzte Antwort
    0
    • B Offline
      B Offline
      Bielefelder81
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antwort Letzte Antwort
            0
            • Thomas BraunT Thomas Braun

              @bielefelder81

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

              B Offline
              B Offline
              Bielefelder81
              schrieb am zuletzt editiert von
              #34

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

              Thomas BraunT 1 Antwort Letzte Antwort
              0
              • B Bielefelder81

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

                Thomas BraunT Online
                Thomas BraunT Online
                Thomas Braun
                Most Active
                schrieb am zuletzt editiert von
                #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 Antwort Letzte Antwort
                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
                  schrieb am zuletzt editiert von
                  #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 Antwort Letzte Antwort
                  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
                    schrieb am zuletzt editiert von
                    #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 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      0
                      • B Offline
                        B Offline
                        Bielefelder81
                        schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                        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
                          schrieb am zuletzt editiert von
                          #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 Antwort Letzte Antwort
                          0
                          • HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #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 - es gibt fast nichts, was nicht auch für andere interessant ist.

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

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

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

                              392

                              Online

                              32.6k

                              Benutzer

                              81.9k

                              Themen

                              1.3m

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

                              • Du hast noch kein Konto? Registrieren

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