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
    583

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

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

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.
  • HomoranH Homoran

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

    Wann exakt die Lampen angehen weiß ich nicht.

    laut Skript fix um

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

    let von, bis, low_von = '20:30:00';

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

    @homoran Nee ab 20:30 Uhr soll es "dunkler" beleuchtet sein... Denn das Licht im Flur sieht man im Kinderzimmer. Vor 20:30 Uhr kann das Flurlicht ruhig auf 100% sein. So war es eigentlich geplant.
    Das Skript checkt: Licht im Wohnzimmer an, ja nein? Wenn ja, dann kein Licht an. Wenn nein, dann geht das Flurlicht an (Wenn nach 20:30 Uhr dann nur 30% oder so)

    HomoranH 1 Reply Last reply
    0
    • B Bielefelder81

      @homoran Nee ab 20:30 Uhr soll es "dunkler" beleuchtet sein... Denn das Licht im Flur sieht man im Kinderzimmer. Vor 20:30 Uhr kann das Flurlicht ruhig auf 100% sein. So war es eigentlich geplant.
      Das Skript checkt: Licht im Wohnzimmer an, ja nein? Wenn ja, dann kein Licht an. Wenn nein, dann geht das Flurlicht an (Wenn nach 20:30 Uhr dann nur 30% oder so)

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

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

      Nee ab 20:30 Uhr soll es "dunkler" beleuchtet sein.

      wie gesagt kann ich kein js.
      würde mit dem low passen

      i h finde da auch kein licht an

      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 -

      B 1 Reply Last reply
      0
      • HomoranH Homoran

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

        Nee ab 20:30 Uhr soll es "dunkler" beleuchtet sein.

        wie gesagt kann ich kein js.
        würde mit dem low passen

        i h finde da auch kein licht an

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

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

        i h finde da auch kein licht an

        setState(lampe1 + '.on', true)
                     setState(lampe2 + '.on', true)
        
        HomoranH 1 Reply Last reply
        0
        • B Bielefelder81

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

          i h finde da auch kein licht an

          setState(lampe1 + '.on', true)
                       setState(lampe2 + '.on', true)
          
          HomoranH Do not disturb
          HomoranH Do not disturb
          Homoran
          Global Moderator Administrators
          wrote on last edited by
          #23

          @bielefelder81 aber wann??
          ich seh den Trigger nicht

          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 -

          B 1 Reply Last reply
          0
          • HomoranH Homoran

            @bielefelder81 aber wann??
            ich seh den Trigger nicht

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

            @homoran Also ich weiß nur. Er checkt mit dem BWM im Flur, ob Bewegung da ist. Wenn Bewegung erkannt, checkt das Skript ob im Wohnzimmer das Licht an ist. Wenn das Licht an ist, dann bleibt der Flur aus. Wenn aber im Wohnzimmer das Licht aus ist, dann checkt er die Astrozeit und macht die Lampe an. Ab 20:30 Uhr dann halt nur mit 30%...

            Von Range Sonnenuntergang Bis Range Sonnenaufgang

            HomoranH 1 Reply Last reply
            0
            • B Bielefelder81

              Das Skript hatte ich oben ja gepostet. Es ist unter Skripte > common > Astrozeit
              Dort zieht er sich ja anscheinend die Tageszeit und trägt sie dort in den Ordner ein. Vermute ich.

              /* System Tageszeoten
              
              Skript meldet Tageszeiten
              
              Nacht;Frühmorgens;Morgengrauen;Vormittag;Mittag;Nachmittag;Dämmerung;Abend;
              Basis: http://www.homematic-inside.de/tecbase/homematic/scriptlibrary/item/tageszeit-in-abschnitte-unterteilen
              oder hier: https://github.com/ioBroker/ioBroker.javascript#astro--funktion
              
              https://github.com/iobroker/ioBroker.javascript/blob/master/README.md#getastrodate
              
              erstellt: 01.06.2015 von Pix
              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();
              });
              
              bahnuhrB Online
              bahnuhrB Online
              bahnuhr
              Forum Testing Most Active
              wrote on last edited by
              #25

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


              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
              Danke.
              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
              ScreenToGif :https://www.screentogif.com/downloads.html

              HomoranH 1 Reply Last reply
              0
              • B Bielefelder81

                @homoran Also ich weiß nur. Er checkt mit dem BWM im Flur, ob Bewegung da ist. Wenn Bewegung erkannt, checkt das Skript ob im Wohnzimmer das Licht an ist. Wenn das Licht an ist, dann bleibt der Flur aus. Wenn aber im Wohnzimmer das Licht aus ist, dann checkt er die Astrozeit und macht die Lampe an. Ab 20:30 Uhr dann halt nur mit 30%...

                Von Range Sonnenuntergang Bis Range Sonnenaufgang

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

                @bielefelder81 ok, das passt zu dem was ich da gelesen habe.

                Also:
                welche "Lampen sind zu früh an"?

                und wieso spinnt die Astrozeit?
                bzw. wo kommt die Astrozeit bei den Lampen ins Spiel?

                ich sehe da keine Zusammenhänge

                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 -

                B 1 Reply Last reply
                0
                • HomoranH Homoran

                  @bielefelder81 ok, das passt zu dem was ich da gelesen habe.

                  Also:
                  welche "Lampen sind zu früh an"?

                  und wieso spinnt die Astrozeit?
                  bzw. wo kommt die Astrozeit bei den Lampen ins Spiel?

                  ich sehe da keine Zusammenhänge

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

                  @homoran Die Lampe1 und Lampe2 im Flur geht zu früh an.
                  Wie gesagt, ich habe die Skripts nur so bekommen und es funktionierte sonst immer. Ich steige da sowieso nicht durch. Dachte ihr seht das und wisst sofort "Aaah, ja. Das fehlt was..." - Fertig :)

                  1 Reply Last reply
                  0
                  • 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          442

                                          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