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

      kann ich bestätigen. Allerdings nur die Astrofunktion. Der Javascript Adapter läuft bei mir auf jeden Fall durch, weil alle 5 Minuten (und das absolut zuverlässig das Heizungsscript läuft.

      Aber die Astrofunktion funktioniert manchmal, manchmal nicht.

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

        Also bei mir ist da definitiv noch mehr im Argen. Nachdem gestern Abend mal wieder nichts mehr lief - IOBroker bekam nichts mehr von Homematic (über den hm-rpc-Adapter) mit geschweige denn dass die Astrofunktion oder andere Javascripte gelaufen wären- habe ich den PC neu gestartet. Danach lief erstmal alles wieder, nur die Astrofunktion gab nichts von sich… Heute ist es nun so (wie schon manchmal vorher) dass mir IOBroker den gesamten Arbeitsspeicher (3GB installiert) verbrät und somit der gesamte PC unheimlich langsam wird.
        250_ram_auslastung2.jpg
        Wenn auf dem PC alles normal läuft was ich drauf habe sind noch 1,5 bis 1 GB frei. Ich hatte aber das Verhalten schon des Öfteren dass die node-Prozesse den RAM "zumachen" und dann alles logischerweise so zäh wird dass eigentlich nichts mehr geht.

        Was könnte denn die Ursache dafür sein?

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

                            898
                            Online

                            31.8k
                            Users

                            79.9k
                            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