Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Frage zur Astrofunktion

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    SOLVED Frage zur Astrofunktion

    This topic has been deleted. Only users with topic management privileges can see it.
    • htrecksler
      htrecksler Forum Testing last edited by

      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.

      1 Reply Last reply Reply Quote 0
      • Bluefox
        Bluefox last edited by

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

        1 Reply Last reply Reply Quote 0
        • htrecksler
          htrecksler Forum Testing last edited by

          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.

          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            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 Reply Last reply Reply Quote 0
            • htrecksler
              htrecksler Forum Testing last edited by

              @Bluefox - mach ich direkt heute Abend.

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

              1 Reply Last reply Reply Quote 0
              • htrecksler
                htrecksler Forum Testing last edited by

                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…

                1 Reply Last reply Reply Quote 0
                • htrecksler
                  htrecksler Forum Testing last edited by

                  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.

                  1 Reply Last reply Reply Quote 0
                  • htrecksler
                    htrecksler Forum Testing last edited by

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

                    Das müsstest DU also machen @thisoft

                    1 Reply Last reply Reply Quote 0
                    • Thisoft
                      Thisoft last edited by

                      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.

                      1 Reply Last reply Reply Quote 0
                      • X
                        xmace last edited by

                        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 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        850
                        Online

                        31.7k
                        Users

                        79.8k
                        Topics

                        1.3m
                        Posts

                        javascript
                        4
                        20
                        4235
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo