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. Frage zur Astrofunktion

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.6k

Frage zur Astrofunktion

Geplant Angeheftet Gesperrt Verschoben Gelöst Skripten / Logik
javascript
20 Beiträge 4 Kommentatoren 4.4k Aufrufe
  • Ä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.
  • htreckslerH Offline
    htreckslerH Offline
    htrecksler
    Forum Testing
    schrieb am zuletzt editiert von
    #11

    Aktuell habe ich immer noch Probleme mit dem "Schedule" in Verbindung mit der Astro Funktion.

    Um das Problem mal etwas weiter einzukreisen habe ich folgendes gemacht.

    Alle Instanzen des Javascript-Adapters entfernt (ich hatte 2 - einen zum Testen und einen produktiven)

    Alle Updates durchgeführt (auch den js-controller - auf Version 0.6.4)

    Dann eine neue Javascript Instanz erzeugt und dort die Einstellungen (Breite und Länge) vorgenommen.

    Dann folgendes Testscript erzeugt:

    schedule({astro: "sunrise"}, function () {
        log("XGWSTRE - Sunrise!",'warn');
    });
    
    schedule({astro: "sunriseEnd"}, function () {
        log("XGWSTRE - SunriseEnd!",'warn');
    });
    
    schedule({astro: "goldenHourEnd"}, function () {
        log("XGWSTRE - Golden Hour End!",'warn');
    });
    
    schedule({astro: "sunsetStart"}, function () {
        log("XGWSTRE - sunsetStart!",'warn');
    });
    
    schedule({astro: "sunset"}, function () {
        log("XGWSTRE - sunset!",'warn');
    });
    
    schedule({astro: "dusk"}, function () {
        log("XGWSTRE - dusk!",'warn');
    });
    
    schedule({astro: "nauticalDusk"}, function () {
        log("XGWSTRE - Nauticaldusk!",'warn');
    });
    
    schedule({astro: "night"}, function () {
        log("XGWSTRE - Night!",'warn');
    });
    
    schedule({astro: "nightEnd"}, function () {
        log("XGWSTRE - NightEnd!",'warn');
    });
    
    schedule({hour: 20, minute: 30}, function () {
        log("XGWSTRE - manuell 20.30 Uhr",'warn');
    });
    
    schedule({hour: 20, minute: 55}, function () {
        log("XGWSTRE - manuell 20.55 Uhr",'warn');
    });
    
    schedule({hour: 06, minute: 10}, function () {
        log("XGWSTRE - manuell 06.10 Uhr",'warn');
    });
    
    schedule({hour: 06, minute: 55}, function () {
        log("XGWSTRE - manuell 06.55 Uhr",'warn');
    });
    
    

    Anschließend den Service neu gestartet.

    Folgendes war im Log zu beobachten:

    2015-04-26 20:30:00.394  - warn: javascript.0 script.js.xxxTESTSCRIPTxxx: XGWSTRE - manuell 20.30 Uhr
    2015-04-26 20:42:21.494  - warn: javascript.0 script.js.xxxTESTSCRIPTxxx: XGWSTRE - sunsetStart!
    2015-04-26 20:46:06.276  - warn: javascript.0 script.js.xxxTESTSCRIPTxxx: XGWSTRE - sunset!
    2015-04-26 20:55:00.389  - warn: javascript.0 script.js.xxxTESTSCRIPTxxx: XGWSTRE - manuell 20.55 Uhr
    2015-04-26 21:23:41.083  - warn: javascript.0 script.js.xxxTESTSCRIPTxxx: XGWSTRE - dusk!
    2015-04-26 22:11:39.272  - warn: javascript.0 script.js.xxxTESTSCRIPTxxx: XGWSTRE - Nauticaldusk!
    2015-04-26 23:09:08.486  - warn: javascript.0 script.js.xxxTESTSCRIPTxxx: XGWSTRE - Night!
    
    

    und dann heute Morgen wo eigentlich die sunrise-schedules greifen sollten…

    2015-04-27 06:10:00.398  - warn: javascript.0 script.js.xxxTESTSCRIPTxxx: XGWSTRE - manuell 06.10 Uhr
    2015-04-27 06:55:00.389  - warn: javascript.0 script.js.xxxTESTSCRIPTxxx: XGWSTRE - manuell 06.55 Uhr
    
    

    kein sunrise oder sunriseEnd

    Das Script läuft allerdings, die schedule-Befehle die eine feste Zeit hinterlegt haben (06:10 und 06:55) werden ausgeführt.

    Wenn ich jetzt irgendetwas an dem Script ändere und dann speichere (egal was) dann werden die schedule-Befehle heute Abend wieder ausgeführt,

    die morgen früh nicht.

    Wenn ich noch weiter zur Fehlersuche beitragen kann, ich bin zu allen Schandtaten bereit.

    Gruss Hermann

    ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #12

      Habe jetzt auch den Test gestartet. Werde Morgen schauen, ob es durchgelaufen ist.

      1 Antwort Letzte Antwort
      0
      • htreckslerH Offline
        htreckslerH Offline
        htrecksler
        Forum Testing
        schrieb am zuletzt editiert von
        #13

        Da bin ich aber mal gespannt. Danke schön.

        Bei mir ist er wieder bis "Night" gekommen, dann war wieder Schluss "NightEnd" hat schon nicht mehr ausgelöst.

        Gruss Hermann

        ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

        1 Antwort Letzte Antwort
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #14

          Kannst du Zeilen ab 808 in /opt/iobroker/node_modules/iobroker.javascript/javascript.js umschreiben?

                                  date.setDate(date.getDate() + 1);
                                  date.setMinutes(0);
                                  date.setHours(0);
                                  date.setSeconds(0);
                                  date.setMilliseconds(0);   
          
          

          in

                                  date.setDate(date.getDate() + 1);
                                  date.setMinutes(1); // Somtimes timer fires at 23:59:59
                                  date.setHours(0);
                                  date.setSeconds(0);
                                  date.setMilliseconds(0);
                                  date.setMinutes(-date.getTimezoneOffset()); 
          
          

          Und dann javascript adapter neu starten?

          1 Antwort Letzte Antwort
          0
          • htreckslerH Offline
            htreckslerH Offline
            htrecksler
            Forum Testing
            schrieb am zuletzt editiert von
            #15

            @Bluefox - mach ich direkt heute Abend.

            Ich geb Dir morgen früh eine Rückinfo ob es funktioniert hat.

            Gruss Hermann

            ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

            1 Antwort Letzte Antwort
            0
            • htreckslerH Offline
              htreckslerH Offline
              htrecksler
              Forum Testing
              schrieb am zuletzt editiert von
              #16

              gegen 04:00 Uhr kam schon der log Eintrag für nightEnd, gerade dann sunrise.

              Es scheint zu funktionieren. Ich beobachte das noch mal ein paar Tage und markiere den Beitrag dann als gelöst.

              Danke Blufox…

              Gruss Hermann

              ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

              1 Antwort Letzte Antwort
              0
              • htreckslerH Offline
                htreckslerH Offline
                htrecksler
                Forum Testing
                schrieb am zuletzt editiert von
                #17

                Ich hab gesehen, Du hast schon ein Update des JavaScript Adapters fertig.

                Bisher ist auch alles ordnungsgemäß gelaufen

                Daher habe ich den Vorgang jetzt als gelöst markiert.

                Gruss Hermann

                ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                1 Antwort Letzte Antwort
                0
                • htreckslerH Offline
                  htreckslerH Offline
                  htrecksler
                  Forum Testing
                  schrieb am zuletzt editiert von
                  #18

                  Das Ändern des Betreff geht wohl nur wenn man den Thread selbst geöffnet hat.

                  Das müsstest DU also machen @thisoft

                  Gruss Hermann

                  ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                  1 Antwort Letzte Antwort
                  0
                  • ThisoftT Offline
                    ThisoftT Offline
                    Thisoft
                    schrieb am zuletzt editiert von
                    #19

                    Der Betreff ist ja schon geändert…?

                    Seit dem letzten Update Mittwoch Abend läuft die Astrofunktion. Allerdings tat sie das bei mir vorher auch schon einige Zeit um dann auch mal wieder auszusetzen. Ich behalte mal den Optimismus dass es jetzt korrekt läuft.

                    22 HM-Geräte; PivCCU2 auf RasPi

                    ioBroker-Multihost; Ubuntu-Master auf Intel-Atom und 3 RasPi-Clients

                    1 Antwort Letzte Antwort
                    0
                    • X Offline
                      X Offline
                      xmace
                      schrieb am zuletzt editiert von
                      #20

                      Hallo zusammen,

                      ich nutze auch seit einer Weile die Astro Funktion um zwei Objekte ("Hell" [ja/nein] und "Dunkel" [ja/nein]) zu ändern.

                      Entsprechend wird bei mir die Beleuchtung & Rollladensteuerung geschaltet.

                      Zu Debugging-Zwecken sende ich außerdem zusätzlich noch Telegram Messages an den jeweiligen Events.

                      Siehe:

                      5044_unbenannt.png

                      /**
                       * Beschreibe diese Funktion …
                       */
                      function update_uhrzeit_hell_dunkel() {
                        setState("javascript.0.Umwelt_Dunkel_Uhrzeit"/*Umwelt_Dunkel_Uhrzeit*/, formatDate(getDateObject(getAstroDate("dusk", undefined, 0)), "hh:mm"), true);
                        setState("javascript.0.Umwelt_Hell_Uhrzeit"/*Umwelt_Hell_Uhrzeit*/, formatDate(getDateObject(getAstroDate("dawn", undefined, 0)), "hh:mm"), true);
                      }
                      
                      /**
                       * Beschreibe diese Funktion …
                       */
                      function alle_Zeiten_ausgeben() {
                        console.log(getAstroDate("goldenHour", undefined, 0));
                        console.log(getAstroDate("sunsetStart", undefined, 0));
                        console.log(getAstroDate("sunset", undefined, 0));
                        console.log(getAstroDate("dusk", undefined, 0));
                        console.log(getAstroDate("nauticalDusk", undefined, 0));
                        console.log(getAstroDate("night", undefined, 0));
                        console.log(getAstroDate("nadir", undefined, 0));
                        console.log(getAstroDate("nightEnd", undefined, 0));
                        console.log(getAstroDate("nauticalDawn", undefined, 0));
                        console.log(getAstroDate("dawn", undefined, 0));
                        console.log(getAstroDate("sunrise", undefined, 0));
                        console.log(getAstroDate("sunriseEnd", undefined, 0));
                        console.log(getAstroDate("goldenHourEnd", undefined, 0));
                      }
                      
                      schedule({astro: "nadir", shift: 0}, function () {
                        update_uhrzeit_hell_dunkel();
                      });
                      schedule({astro: "sunset", shift: 0}, function () {
                        setState("javascript.0.Umwelt_Dunkel"/*Umwelt_Dunkel*/, true, true);
                        sendTo("telegram.0", "send", {
                            text: 'Umwelt Dunkel ja'
                        });
                      });
                      schedule({astro: "dusk", shift: 0}, function () {
                        setState("javascript.0.Umwelt_Hell"/*Umwelt_Hell*/, false, true);
                        sendTo("telegram.0", "send", {
                            text: 'Umwelt Hell nein'
                        });
                      });
                      schedule({astro: "dawn", shift: 0}, function () {
                        setState("javascript.0.Umwelt_Hell"/*Umwelt_Hell*/, true, true);
                        sendTo("telegram.0", "send", {
                            text: 'Umwelt Hell ja'
                        });
                      });
                      schedule({astro: "sunriseEnd", shift: 0}, function () {
                        setState("javascript.0.Umwelt_Dunkel"/*Umwelt_Dunkel*/, false, true);
                        sendTo("telegram.0", "send", {
                            text: 'Umwelt Dunkel nein'
                        });
                      });
                      
                      

                      Leider ist mir jetzt aufgefallen dass immer 2x das jeweilige Event ausgelöst wird bei der Astro-Funktion. Sprich die Objekte 2x aktualisiert & 2x die Telegram Messages geschickt. Teilweise auch um einige Minuten versetzt…

                      Ist das ansonsten auch noch jemandem aufgefallen? Bei mir ist es ein Problem, da zb. wenn es Nacht ist, die Rollläden runter gehen. Wenn diese aber noch offen bleiben sollen stoppe ich manuell direkt am Aktor. Wenige Minuten später wird aber die Astro Funktion nochmal ausgelöst und sie schließen sich wieder...

                      Genauso verhält es sich mit der "Abendbeleuchtung"

                      Hoffe auf Feedback.

                      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

                      757

                      Online

                      32.5k

                      Benutzer

                      81.6k

                      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