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. JavaScript
  5. [Gelöst] Astro-Zeiten unterschiedlich

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    719

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

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

[Gelöst] Astro-Zeiten unterschiedlich

Scheduled Pinned Locked Moved JavaScript
22 Posts 4 Posters 2.2k Views 4 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.
  • D diwoma

    @mickym
    OK, das macht dann Sinn, wenn der zweite Parameter weggelassen wird, dann stimmt die Zeit.
    Das das nur ein Offset ist habe ich nicht gewusst. Komischerweise habe ich den Thread sogar durchgeblättert, aber das habe ich wahrscheinlich überlesen.

    Aber auf was ein Offset? Stunden, Tage ??
    wenn ich 1 angebe (für +1 Tag) ist es falsch.

    mickymM Offline
    mickymM Offline
    mickym
    Most Active
    wrote on last edited by mickym
    #10

    @diwoma Nee ich denke das ist offset in Minuten das dürfte komplett mit dem Parameter in der Adapterkonfig übereinstimmen:

    53f92f80-623a-4d4b-a599-a19f71c9a772-image.png

    das heisst bei mir ist es im Moment: 7:27, wenn Du in dem Adapter für den Offset zum Beispiel 2 eingibst - dann ist es 7:29 was als Sunrise kommt. Insofern ist der Offset immer falsch - es geht ja darum, dass Du mit dem Offset Deine Vorliebe quasi eingibst, die mit den offiziellen Zeitpunkten nichts zu tun haben.

    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

    D 1 Reply Last reply
    0
    • D diwoma

      @mickym
      Nein, das bringt das gleiche Ergebnis, habe es eben wieder probiert.
      Die Koordinaten direkt eingegeben und keine Änderung.
      Was mich aber verwundert, in der Konfiguration wird next sunrise ausgegeben, und dort ist der Wert gleich wie es der Trigger ausführt. Also muss bei der Funktion was schief laufen.

      HomoranH Offline
      HomoranH Offline
      Homoran
      Global Moderator Administrators
      wrote on last edited by
      #11

      @diwoma sagte in Astro-Zeiten unterschiedlich:

      in der Konfiguration wird next sunrise ausgegeben

      welche?

      Meint ihr die von @mickym gepostete??

      @mickym sagte in Astro-Zeiten unterschiedlich:
      https://forum.iobroker.net/assets/uploads/files/1637316875401-88642057-df32-434c-a890-aaafa27d6c00-image.png

      Diese Zeiten sind nur für den Datenpunkt isDaytime

      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 oben rechts. Danke!
      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      D 1 Reply Last reply
      0
      • mickymM mickym

        @diwoma Nee ich denke das ist offset in Minuten das dürfte komplett mit dem Parameter in der Adapterkonfig übereinstimmen:

        53f92f80-623a-4d4b-a599-a19f71c9a772-image.png

        das heisst bei mir ist es im Moment: 7:27, wenn Du in dem Adapter für den Offset zum Beispiel 2 eingibst - dann ist es 7:29 was als Sunrise kommt. Insofern ist der Offset immer falsch - es geht ja darum, dass Du mit dem Offset Deine Vorliebe quasi eingibst, die mit den offiziellen Zeitpunkten nichts zu tun haben.

        D Offline
        D Offline
        diwoma
        wrote on last edited by
        #12

        @mickym
        Im Skript steht:

        var today = new Date();
        var tomorrow = today.setDate(today.getDate()+1);
        var tomorrowNight = getAstroDate("night", tomorrow);
        

        Aber bei ist der Wert von today.getDate() heute aber 19. Was sollte das für ein Datum sein, ist mit dieser Funktion was falsch?

        -- diwoma

        ioBroker in LX-Container in Proxmox
        Zigbee-Coordinator: CC2652P2-TCP FW: 20230507

        mickymM 1 Reply Last reply
        0
        • D diwoma

          @mickym
          Im Skript steht:

          var today = new Date();
          var tomorrow = today.setDate(today.getDate()+1);
          var tomorrowNight = getAstroDate("night", tomorrow);
          

          Aber bei ist der Wert von today.getDate() heute aber 19. Was sollte das für ein Datum sein, ist mit dieser Funktion was falsch?

          mickymM Offline
          mickymM Offline
          mickym
          Most Active
          wrote on last edited by mickym
          #13

          @diwoma Keine Ahnung - aber für mich sieht das eher so aus, dass der Skriptverfasser diesen 2. Parameter falsch verstanden hat. Da muss doch eine Zahl hin und kein Date Objekt.

          Na nach dieser Doku - wäre es kein Offset sondern tatsächlich ein stateObject (Zeile 69):

          https://www.kreyenborg.koeln/iobroker-astro-tageszeit-abfragen-und-in-datenpunkt-eintragen/

          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

          D 1 Reply Last reply
          0
          • HomoranH Homoran

            @diwoma sagte in Astro-Zeiten unterschiedlich:

            in der Konfiguration wird next sunrise ausgegeben

            welche?

            Meint ihr die von @mickym gepostete??

            @mickym sagte in Astro-Zeiten unterschiedlich:
            https://forum.iobroker.net/assets/uploads/files/1637316875401-88642057-df32-434c-a890-aaafa27d6c00-image.png

            Diese Zeiten sind nur für den Datenpunkt isDaytime

            D Offline
            D Offline
            diwoma
            wrote on last edited by
            #14

            @homoran said in Astro-Zeiten unterschiedlich:

            @diwoma sagte in Astro-Zeiten unterschiedlich:

            in der Konfiguration wird next sunrise ausgegeben

            welche?

            Ich denke, bei dem der Trigger auf sunrise hört

            -- diwoma

            ioBroker in LX-Container in Proxmox
            Zigbee-Coordinator: CC2652P2-TCP FW: 20230507

            HomoranH 1 Reply Last reply
            0
            • D diwoma

              @homoran said in Astro-Zeiten unterschiedlich:

              @diwoma sagte in Astro-Zeiten unterschiedlich:

              in der Konfiguration wird next sunrise ausgegeben

              welche?

              Ich denke, bei dem der Trigger auf sunrise hört

              HomoranH Offline
              HomoranH Offline
              Homoran
              Global Moderator Administrators
              wrote on last edited by
              #15

              @diwoma sagte in Astro-Zeiten unterschiedlich:

              @homoran said in Astro-Zeiten unterschiedlich:

              @diwoma sagte in Astro-Zeiten unterschiedlich:
              

              in der Konfiguration wird next sunrise ausgegeben

              welche?

              Ich denke, bei dem der Trigger auf sunrise hört

              ????
              Welche Konfiguration meinst du?

              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 oben rechts. Danke!
              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              D 1 Reply Last reply
              0
              • mickymM mickym

                @diwoma Keine Ahnung - aber für mich sieht das eher so aus, dass der Skriptverfasser diesen 2. Parameter falsch verstanden hat. Da muss doch eine Zahl hin und kein Date Objekt.

                Na nach dieser Doku - wäre es kein Offset sondern tatsächlich ein stateObject (Zeile 69):

                https://www.kreyenborg.koeln/iobroker-astro-tageszeit-abfragen-und-in-datenpunkt-eintragen/

                D Offline
                D Offline
                diwoma
                wrote on last edited by
                #16

                @mickym
                Du meinst also das ist nur ein Offset in Minuten und wenn ich Offset=0 eingebe, sollte das gleiche Ergebnis rauskommen. Tut es aber nicht. Der Wert muss was anders bedeuten

                -- diwoma

                ioBroker in LX-Container in Proxmox
                Zigbee-Coordinator: CC2652P2-TCP FW: 20230507

                mickymM 1 Reply Last reply
                0
                • HomoranH Homoran

                  @diwoma sagte in Astro-Zeiten unterschiedlich:

                  @homoran said in Astro-Zeiten unterschiedlich:

                  @diwoma sagte in Astro-Zeiten unterschiedlich:
                  

                  in der Konfiguration wird next sunrise ausgegeben

                  welche?

                  Ich denke, bei dem der Trigger auf sunrise hört

                  ????
                  Welche Konfiguration meinst du?

                  D Offline
                  D Offline
                  diwoma
                  wrote on last edited by
                  #17

                  @homoran said in Astro-Zeiten unterschiedlich:

                  ????
                  Welche Konfiguration meinst du?

                  Im Javascript-Adapter auf dem Astro-Tab

                  -- diwoma

                  ioBroker in LX-Container in Proxmox
                  Zigbee-Coordinator: CC2652P2-TCP FW: 20230507

                  1 Reply Last reply
                  0
                  • D diwoma

                    @mickym
                    Du meinst also das ist nur ein Offset in Minuten und wenn ich Offset=0 eingebe, sollte das gleiche Ergebnis rauskommen. Tut es aber nicht. Der Wert muss was anders bedeuten

                    mickymM Offline
                    mickymM Offline
                    mickym
                    Most Active
                    wrote on last edited by mickym
                    #18

                    @diwoma sagte in Astro-Zeiten unterschiedlich:

                    @mickym
                    Du meinst also das ist nur ein Offset in Minuten und wenn ich Offset=0 eingebe, sollte das gleiche Ergebnis rauskommen. Tut es aber nicht. Der Wert muss was anders bedeuten

                    Ja Du hast Recht - habe gerade mal die offizielle Doku gelesen :

                    6db969e0-ba60-4356-8051-5cb00c793f38-image.png

                    Also ist der 2. Parameter nicht der Offset - ist aber auch kein String oder eine Zahl sondern ein Date Objekt.

                    Sprich wenn Du einen Date-String hast musst erst ein Date Objekt generieren.

                    Und die 19 kommen raus, weil heute der 19. ist:

                    afceec6a-bf43-412b-abe3-f3d41ff949ff-image.png

                    Das ist damit klar - mit dem Skript sollte wirklich die Nacht von morgen rauskommen. In einem Date-Objekt ohne Parameter wird ja immer das aktuelle Datum genommen

                    var today = new Date();
                    var tomorrow = today.setDate(today.getDate()+1);
                    var tomorrowNight = getAstroDate("night", tomorrow);
                    

                    Also wird das Date Objekt mit set Date und einem Integer das Datumsobjekt auf den Tag des aktuellen Monats gesetzt:

                    Wenn ich mir hier die Beispiele ansehen:

                    a21a794b-8a76-4ddf-b808-ace480bc454b-image.png

                    dann ist

                    tomorrow = today.setDate(today.getDate()+1); gleich tomorrow = today.setDate(20); Somit hast Du in tomorrow das date Object von morgen.

                    und dann müsste es eigentlich passen, dass Du mit der astro Funktion den Sonnenaufgang von morgen bekommst.

                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                    1 Reply Last reply
                    0
                    • D diwoma

                      Hi,
                      ich habe Probleme, die Astro-Zeiten 'sunrise' und 'sunset' richtig zu interpretieren :(

                      Ich habe nach einem Skript im Forum die Zeiten auf mehrere Datenpunkte geschrieben:

                      /* System Tageszeiten
                         ------------------
                      */
                      
                      // Variablen erstellen
                      var folder = '0_userdata.0.Zeiten';
                      var idSunriseToday = folder+'.SunriseToday';
                      var idSunsetToday = folder+'.SunsetToday';
                      var idSunriseTomorrow = folder+'.SunriseTomorrow';
                      var idSunsetTomorrow = folder+'.SunsetTomorrow';
                      
                      createState(idSunriseToday, { name: 'Sonnenaufgang heute', desc: 'sunrise today'});
                      createState(idSunsetToday, { name: 'Sonnenuntergang heute', desc: 'sunset today'});
                      
                      createState(idSunriseTomorrow, { name: 'Sonnenaufgang morgen', desc: 'sunrise tomorrow'});
                      createState(idSunsetTomorrow, { name: 'Sonnenuntergang morgen', desc: 'sunset tomorrow'});
                      
                      
                      function zeiten_speichern () {
                      
                          var timestamp;
                          var date = new Date();
                          var today = new Date(date.getFullYear(), date.getMonth(), date.getDate()).getDate();
                          var tomorrow = new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1).getDate();
                      
                          log('date    :' + date.toString());
                          log('today   :' + today.toString());
                          log('tomorrow:' + tomorrow.toString());
                          
                          timestamp = getAstroDate('sunrise', today);
                          setState(idSunriseToday, timestamp.toLocaleTimeString());
                          timestamp = getAstroDate('sunset', today);
                          setState(idSunsetToday, timestamp.toLocaleTimeString());
                      
                          timestamp = getAstroDate('sunrise', tomorrow);
                          setState(idSunriseTomorrow, timestamp.toLocaleTimeString());
                          timestamp = getAstroDate('sunset', tomorrow);
                          setState(idSunsetTomorrow, timestamp.toLocaleTimeString());
                      }
                      zeiten_speichern();
                      
                      // Check Every Day
                      schedule("1 0 * * *", function () { zeiten_speichern();});
                      
                      

                      Das ergab eine Ausgabe von:
                      SunriseToday: 7:44:42 AM

                      Dann habe ich ein Blockly-Script, dass ein Licht bei Sunrise ausschaltet:

                      // Nachtlicht ausschalten
                      schedule({astro: "sunrise", shift: 0}, async function () {
                        setState("linkeddevices.0.Vorzimmer.Nachtlicht.POWER"/*Vorzimmer Nachtlicht POWER*/, 0);
                        console.log('Nachtlicht ausgeschaltet');
                      });
                      
                      

                      Das hat aber heute schon um 2021-11-19 07:08:13.054 geschaltet

                      Abgesehen von der amerikanischen Stringausgabe (wobei ich noch nicht sagen kann, warum das nicht lokalisiert ist) sind die Zeiten doch einigermaßen unterschiedlich.
                      Ist die Abfrage des 'sunrise' im Skrpt falsch oder verwendet der Trigger ein anderes 'sunrise'?
                      Geo-Koordinaten sind von System aus richtig eingestellt und werden vom Javascript-Adapter übernommen. Selbst bei direkter Zuordnung der Koordinaten im Adapter bleiben die Werte gleich.
                      System-Zeit ist auch korrekt (MEZ)

                      Und was mir auch noch etwas komisch vorkommt, die Funktion getAstroDate('sunrise', today) erwartet einen numerischen Wert als Parameter, das ist in diesem Fall der Tag (heute eben 19). Warum nicht das Datum?

                      Wo liegt da mein Fehler?

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      wrote on last edited by
                      #19

                      @diwoma sagte in Astro-Zeiten unterschiedlich:

                      Und was mir auch noch etwas komisch vorkommt, die Funktion getAstroDate('sunrise', today) erwartet einen numerischen Wert als Parameter, das ist in diesem Fall der Tag (heute eben 19). Warum nicht das Datum?

                      Somit ist diese Aussage in Deinem Eingangspost verkehrt.

                      Es wird nicht ein numerischer Wert, sondern ein Datumsobjekt erwartet. Nur mit der Methode dateObj.setDate(Integer) - kannst Du das Date- Objekt auf einen anderes Datum setzen, dass Du dann der Astro Funktion übergibst.

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      1 Reply Last reply
                      0
                      • D Offline
                        D Offline
                        diwoma
                        wrote on last edited by diwoma
                        #20

                        @mickym
                        Ach du Sch...e 😬

                        Da muss was in der Definition der Funktion falsch sein. Wenn ich ein Datum übergebe ist der Parameter rot unterwellt, weil er der Intellisense nach ein numeric haben will. Aber es ist doch ein Datum und damit geht es.

                        War zwar etwas langsamer als Du, weil ich inzwischen herumprobiert habe, aber so ist mein Code:

                        var timestamp;
                                var today = new Date();
                                var tomorrow = today.setDate(today.getDate()+1);
                            
                                log('date    :' + today.toString());
                                log('tomorrow:' + tomorrow.toString());
                                
                                timestamp = getAstroDate('sunrise');
                                setState(idSunriseToday, timestamp.toLocaleTimeString());
                                timestamp = getAstroDate('sunset');
                                setState(idSunsetToday, timestamp.toLocaleTimeString());
                            
                                timestamp = getAstroDate('sunrise', tomorrow);
                                setState(idSunriseTomorrow, timestamp.toLocaleTimeString());
                                timestamp = getAstroDate('sunset', tomorrow);
                                setState(idSunsetTomorrow, timestamp.toLocaleTimeString());
                        

                        Vielen Dank für die Hilfe.

                        -- diwoma

                        ioBroker in LX-Container in Proxmox
                        Zigbee-Coordinator: CC2652P2-TCP FW: 20230507

                        mickymM 1 Reply Last reply
                        1
                        • D diwoma

                          @mickym
                          Ach du Sch...e 😬

                          Da muss was in der Definition der Funktion falsch sein. Wenn ich ein Datum übergebe ist der Parameter rot unterwellt, weil er der Intellisense nach ein numeric haben will. Aber es ist doch ein Datum und damit geht es.

                          War zwar etwas langsamer als Du, weil ich inzwischen herumprobiert habe, aber so ist mein Code:

                          var timestamp;
                                  var today = new Date();
                                  var tomorrow = today.setDate(today.getDate()+1);
                              
                                  log('date    :' + today.toString());
                                  log('tomorrow:' + tomorrow.toString());
                                  
                                  timestamp = getAstroDate('sunrise');
                                  setState(idSunriseToday, timestamp.toLocaleTimeString());
                                  timestamp = getAstroDate('sunset');
                                  setState(idSunsetToday, timestamp.toLocaleTimeString());
                              
                                  timestamp = getAstroDate('sunrise', tomorrow);
                                  setState(idSunriseTomorrow, timestamp.toLocaleTimeString());
                                  timestamp = getAstroDate('sunset', tomorrow);
                                  setState(idSunsetTomorrow, timestamp.toLocaleTimeString());
                          

                          Vielen Dank für die Hilfe.

                          mickymM Offline
                          mickymM Offline
                          mickym
                          Most Active
                          wrote on last edited by
                          #21

                          @diwoma Na mit gemeinsamer Recherche haben wir es hinbekommen. ;) - So was freut mich immer am meisten. ;)

                          Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                          F 1 Reply Last reply
                          0
                          • mickymM mickym

                            @diwoma Na mit gemeinsamer Recherche haben wir es hinbekommen. ;) - So was freut mich immer am meisten. ;)

                            F Offline
                            F Offline
                            fastfoot
                            wrote on last edited by
                            #22

                            @mickym, @diwoma zur Ergänzung:
                            getAstroDate() akzeptiert als 2ten Parameter entweder ein Datum oder einen timestamp, also die millisekunden seit 1.1.1970. Das Datum wird unterkringelt weil es in der Funktionsdefinition nicht angegeben ist. Just gestern habe ich einen PR erstellt welcher u.a. diesen 'Fehler' behebt, welcher aber eher kosmetisch ist. Fehlt der 2te Parameter, so nimmt getAstroDate() den laufenden Tag. Die o.g. Astro Settings in der Instanz wirken sich nicht auf die Berechnung aus, die Koordinaten aber natürlich schon.

                            Es empfiehlt sich im Datum die Mittagszeit mit anzugeben sonst erhält man u.U. die Daten des Vortages.

                            let tomorrow = new Date();
                            tomorrow.setDate(tomorrow.getDate() + 1);
                            tomorrow.setHours(12, 0, 0, 0);
                            log(tomorrow)
                            
                            let sunrise = getAstroDate('sunrise', tomorrow)
                            log(sunrise)
                            

                            iobroker läuft unter Docker auf QNAP TS-451+
                            SkriptRecovery: https://forum.iobroker.net/post/930558

                            1 Reply Last reply
                            0

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            233

                            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