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. JavaScript
  5. maximum of 1000 setState during boot

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    571

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

maximum of 1000 setState during boot

Geplant Angeheftet Gesperrt Verschoben JavaScript
53 Beiträge 13 Kommentatoren 5.5k Aufrufe 10 Watching
  • Ä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.
  • H hschief

    @homoran ich hatte die Version ja auf anraten hochgezogen, mir ist aber gestern bei der Erstellung des Issues im Debug Log folgendes aufgefallen, was auch durch dein Log hier nochmals bestätigt wird:

    Mein Log fängt direkt mit den Meldungen der Function an und nicht mit der Initialisierung des Javascript Adapters. Jetzt kann es natürlich sein, dass Meldungen auf meinem System nur einfach zeitlich vorher in den Log kommen. Ich vermute aber eher, dass der Adapter aus irgendeinem Grund noch nicht vollständig gestartet ist,

    Shutdown at 13:55:35 -> Boot at 13:59:24
    2024-04-17 13:55:35.534 - ^[[32minfo^[[39m: javascript.0 (2626) terminating
    2024-04-17 13:59:24.355 - ^[[31merror^[[39m: javascript.0 (953) script.js.Technik.Heizung.BootTestScript: In Function
    2024-04-17 13:59:24.410 - ^[[31merror^[[39m: javascript.0 (953) script.js.Technik.Heizung.BootTestScript: In Function
    2024-04-17 13:59:24.441 - ^[[31merror^[[39m: javascript.0 (953) script.js.Technik.Heizung.BootTestScript: In Function
    2024-04-17 13:59:24.475 - ^[[31merror^[[39m: javascript.0 (953) script.js.Technik.Heizung.BootTestScript: In Function
    2024-04-17 13:59:24.492 - ^[[31merror^[[39m: javascript.0 (953) script.js.Technik.Heizung.BootTestScript: In Function

    Vielen Dank fürs testen, somit scheint es kein allgemeiner Fehler sondern eher eine ganz spezielles Zusammenspiel beim booten zu sein. Kann man irgendwo die Reihenfolge der Adapter beim Starten vorgeben?

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von paul53
    #32

    @hschief sagte: spezielles Zusammenspiel beim booten zu sein.

    Es ist mir unerklärlich wie Node.js zwischen Start nach Boot und normalem Neustart von ioBroker unterscheiden kann.
    Vielleicht passiert etwas Eigenartiges beim Shutdown? Hast du mal ioBroker vor dem Shutdown gestoppt?

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    1 Antwort Letzte Antwort
    0
    • H hschief

      @mcm57 ich folge mal deinem Rat und mache dies unter dem Adapter als Issue auf.

      Ich habe eben noch folgenden Test gemacht:

      function Test1() {
          log('In Function','error');
          setState('0_userdata.0.Allgemein.TestBoot', 'test', false);
      };
      
      
      log('Script Test1 gestartet:','error');
      
      
      setTimeout(function(){schedule("*/10 * * * * *", Test1 )},50000);
      

      Hier müsste beim Boot im Log ja als erstes der Log mit dem Text: "Script Test1 gestartet" erscheinen und dann deutlich später die Meldung: "In Function" alle 10s.

      Das Ergebnis beim Boot sieht aber wie Folgt aus: 12:51:32 ... letzte Meldung vor dem Shutdown und dann um 12:55:26.076 direkt die Meldung "In Function" ... sieht so aus als würde die schedule Anweisung komplett ignoriert.

      2024-04-17 12:51:32.643 - ^[[32minfo^[[39m: nina.0 (903) terminating
      2024-04-17 12:55:26.076 - ^[[31merror^[[39m: javascript.0 (954) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-17 12:55:26.140 - ^[[31merror^[[39m: javascript.0 (954) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-17 12:55:26.184 - ^[[31merror^[[39m: javascript.0 (954) script.js.Technik.Heizung.BootTestScript: In Function

      Vielen, Vielen Dank für die Tipps und Ideen!

      P Offline
      P Offline
      peterfido
      schrieb am zuletzt editiert von
      #33

      @hschief sagte in maximum of 1000 setState during boot:

      function Test1() { log('In Function','error'); setState('0_userdata.0.Allgemein.TestBoot', 'test', false); }; log('Script Test1 gestartet:','error'); setTimeout(function(){schedule("*/10 * * * * *", Test1 )},50000);

      Ich habe das eben mit der Verzögerung getestet.:

      2024-04-18 11:42:27.863 - info: host.iob instance system.adapter.javascript.0 started with pid 705
      2024-04-18 11:42:28.702 - info: javascript.0 (705) starting. Version 7.8.0 in /opt/iobroker/node_modules/iobroker.javascript, node: v18.20.2, js-controller: 5.0.19
      2024-04-18 11:42:28.931 - info: javascript.0 (705) requesting all states
      2024-04-18 11:42:28.932 - info: javascript.0 (705) requesting all objects
      2024-04-18 11:42:29.223 - info: javascript.0 (705) received all objects
      2024-04-18 11:42:29.269 - info: javascript.0 (705) received all states
      2024-04-18 11:42:29.383 - info: javascript.0 (705) Start javascript script.js.Scripte.CronJobs
      2024-04-18 11:42:29.405 - error: javascript.0 (705) script.js.Scripte.CronJobs: Script Test1 gestartet:
      2024-04-18 11:42:29.406 - info: javascript.0 (705) script.js.Scripte.CronJobs: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
      2024-04-18 11:42:31.861 - info: host.iob instance system.adapter.simple-api.0 started with pid 720
      2024-04-18 11:42:32.347 - info: simple-api.0 (720) starting. Version 2.7.2 in /opt/iobroker/node_modules/iobroker.simple-api, node: v18.20.2, js-controller: 5.0.19
      2024-04-18 11:42:32.355 - warn: simple-api.0 (720) Information for Developer: Using the direct "Let's encrypt" module import is deprecated and will be removed in the next js-controller version, use @iobroker/webserver instead
      2024-04-18 11:42:32.358 - info: simple-api.0 (720) simpleAPI server listening on port 8087
      2024-04-18 11:42:32.358 - info: simple-api.0 (720) Allow states only when user is owner: false
      2024-04-18 11:42:32.362 - info: simple-api.0 (720) http server listening on port 8087
      2024-04-18 11:42:35.867 - info: host.iob instance system.adapter.socketio.0 started with pid 735
      2024-04-18 11:42:36.419 - info: socketio.0 (735) starting. Version 6.6.1 in /opt/iobroker/node_modules/iobroker.socketio, node: v18.20.2, js-controller: 5.0.19
      2024-04-18 11:42:36.433 - warn: socketio.0 (735) Information for Developer: Using the direct "Let's encrypt" module import is deprecated and will be removed in the next js-controller version, use @iobroker/webserver instead
      2024-04-18 11:42:36.452 - info: socketio.0 (735) socket.io server listening on port 8088
      2024-04-18 11:43:20.004 - error: javascript.0 (705) script.js.Scripte.CronJobs: In Function
      2024-04-18 11:43:30.001 - error: javascript.0 (705) script.js.Scripte.CronJobs: In Function
      

      Somit bei mir wie es soll.

      Gruß

      Peterfido


      Proxmox auf Intel NUC12WSHi5
      ioBroker: Debian (VM)
      CCU: Debmatic (VM)
      Influx: Debian (VM)
      Grafana: Debian (VM)
      eBus: Debian (VM)
      Zigbee: Debian (VM) mit zigbee2mqtt

      1 Antwort Letzte Antwort
      0
      • W Wildbill

        @hschief Ich habe mir angewöhnt, bei einem Neustart des iobroker (also vor dem Reboot nach Kernel-Updates beispielsweise, oder wenn der js-controller ein Update bekommt) einfach vor dem Beenden selbstständig bestimmte Adapter anzuhalten. Bei mir sind das javascript, Sourceanalytix und devicewatcher. Die starte ich dann erst manuell, wenn die restlichen Adapter wieder laufen. Javascript, da anonsten diverse Scripte mit falschen Werten laufen würden, da manche Adapter hier vor dem Start manchmal „falsche“ Werte anzeigen, Sourceanalytix aus demselben Grund, weil beispielsweise Homematic-Stecker mit Strimmessung hier kurz auf 0 springen und der device-watcher, weil sonst Meldungen über viele Offline-Geräte kommen, weil die jeweiligen Adapter eben noch nicht gestartet sind und deren Geräte teilweise bei alive auf false stehen würden.

        Hat sich bewährt bei mir. Ob sich das irgendwie automatisieren lässt, so dass man eine Reihenfolge für Adapterstarts (selbst) einstellen kann, weiss ich nicht. Ich meine, mal gelesen zu haben, dass der Adapter-Ersteller hier zumindest selbst Abhängigkeiten hingterlegen kann, so dass voneinander abhängige Adapter/Instanzen in korrekter Reihenfolge starten.
        Ungeplante Neustarts von iobroker kommen bei mir höchstens mal vor, wenn ein Stromausfall länger dauert, die USVs leer laufen und die Hosts runterfahren ohne dass ich vorher selbst aktiv geworden wäre. Also höchst selten.

        Gruss, Jürgen

        haus-automatisierungH Online
        haus-automatisierungH Online
        haus-automatisierung
        Developer Most Active
        schrieb am zuletzt editiert von
        #34

        @wildbill sagte in maximum of 1000 setState during boot:

        Ich meine, mal gelesen zu haben, dass der Adapter-Ersteller hier zumindest selbst Abhängigkeiten hingterlegen kann, so dass voneinander abhängige Adapter/Instanzen in korrekter Reihenfolge starten.

        Genau, es gibt verschiedene Tier-Level, welche die Startreihenfolge festlegen. Damit zB Logikadapter laufen, bevor die ersten Werte kommen

        🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
        🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
        📚 Meine inoffizielle ioBroker Dokumentation

        H W 2 Antworten Letzte Antwort
        2
        • haus-automatisierungH haus-automatisierung

          @wildbill sagte in maximum of 1000 setState during boot:

          Ich meine, mal gelesen zu haben, dass der Adapter-Ersteller hier zumindest selbst Abhängigkeiten hingterlegen kann, so dass voneinander abhängige Adapter/Instanzen in korrekter Reihenfolge starten.

          Genau, es gibt verschiedene Tier-Level, welche die Startreihenfolge festlegen. Damit zB Logikadapter laufen, bevor die ersten Werte kommen

          H Offline
          H Offline
          hschief
          schrieb am zuletzt editiert von
          #35

          @haus-automatisierung Vielen Dank für die tollen Antworten und auch die Information, dass der Fehler bei euch nicht reproduziert werden kann, Ich werde das Issue in GitHub erstmal schliessen und weiter forschen um das Problem einzugrenzen. Ich berichte was sich weiter ergibt.

          haus-automatisierungH 1 Antwort Letzte Antwort
          0
          • haus-automatisierungH haus-automatisierung

            @wildbill sagte in maximum of 1000 setState during boot:

            Ich meine, mal gelesen zu haben, dass der Adapter-Ersteller hier zumindest selbst Abhängigkeiten hingterlegen kann, so dass voneinander abhängige Adapter/Instanzen in korrekter Reihenfolge starten.

            Genau, es gibt verschiedene Tier-Level, welche die Startreihenfolge festlegen. Damit zB Logikadapter laufen, bevor die ersten Werte kommen

            W Online
            W Online
            Wildbill
            schrieb am zuletzt editiert von
            #36

            @haus-automatisierung sagte in maximum of 1000 setState during boot:

            Genau, es gibt verschiedene Tier-Level, welche die Startreihenfolge festlegen. Damit zB Logikadapter laufen, bevor die ersten Werte kommen

            Also eigentlich genau andersrum, wie ich es manuell mache? Ich starte die Logiken eben erst, wenn alle Werte da sind, damit ich keine falschen Werte verarbeite, die bei manchen Adaptern beim Start auftreten.
            Die Tier-Level kann man als User aber vermutlich nicht selbst festlegen, oder? Die werden vom Adapter-Ersteller fest eincodiert?

            Gruss, Jürgen

            HomoranH 1 Antwort Letzte Antwort
            0
            • W Wildbill

              @haus-automatisierung sagte in maximum of 1000 setState during boot:

              Genau, es gibt verschiedene Tier-Level, welche die Startreihenfolge festlegen. Damit zB Logikadapter laufen, bevor die ersten Werte kommen

              Also eigentlich genau andersrum, wie ich es manuell mache? Ich starte die Logiken eben erst, wenn alle Werte da sind, damit ich keine falschen Werte verarbeite, die bei manchen Adaptern beim Start auftreten.
              Die Tier-Level kann man als User aber vermutlich nicht selbst festlegen, oder? Die werden vom Adapter-Ersteller fest eincodiert?

              Gruss, Jürgen

              HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #37

              @wildbill sagte in maximum of 1000 setState during boot:

              vermutlich nicht selbst festlegen, oder

              oder!
              vermute ich.
              Hab im Expertenmodus mal was gesehen, was genau dafür sein könnte

              kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

              Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

              der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

              DJMarc75D W 2 Antworten Letzte Antwort
              1
              • HomoranH Homoran

                @wildbill sagte in maximum of 1000 setState during boot:

                vermutlich nicht selbst festlegen, oder

                oder!
                vermute ich.
                Hab im Expertenmodus mal was gesehen, was genau dafür sein könnte

                DJMarc75D Offline
                DJMarc75D Offline
                DJMarc75
                schrieb am zuletzt editiert von
                #38

                @homoran rischtisch

                Screenshot 2024-04-18 125435.png

                Lehrling seit 1975 !!!
                Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                W 1 Antwort Letzte Antwort
                2
                • HomoranH Homoran

                  @wildbill sagte in maximum of 1000 setState during boot:

                  vermutlich nicht selbst festlegen, oder

                  oder!
                  vermute ich.
                  Hab im Expertenmodus mal was gesehen, was genau dafür sein könnte

                  W Online
                  W Online
                  Wildbill
                  schrieb am zuletzt editiert von
                  #39

                  @homoran Gerade mal geschaut, Du meinst das hier:

                  c3e6d6d9-b524-4ab1-9d04-2b05a9e8425f-image.png

                  Das sieht in der Tat danach aus. Da schraub ich jetzt aber nix rum, meine manuelle Methode funktioniert mindestens genausogut. :blush:

                  Gruss, Jürgen

                  1 Antwort Letzte Antwort
                  0
                  • DJMarc75D DJMarc75

                    @homoran rischtisch

                    Screenshot 2024-04-18 125435.png

                    W Online
                    W Online
                    Wildbill
                    schrieb am zuletzt editiert von
                    #40

                    @djmarc75 Gibt es einen Grund, warum logikverarbeitende Adapter da als Erstes gestartet werden? Es gibt ja doch einige Adapter, bei denen zum Start eben nicht alle Werte der „Wahrheit“ entsprechen. Die Logik da als Letztes zu starten erscheint mir da eher „logisch“. Oder gibt es gute Gründe, die ich gar nicht sehe?

                    Gruss, Jürgen

                    DJMarc75D mcm1957M 2 Antworten Letzte Antwort
                    0
                    • W Wildbill

                      @djmarc75 Gibt es einen Grund, warum logikverarbeitende Adapter da als Erstes gestartet werden? Es gibt ja doch einige Adapter, bei denen zum Start eben nicht alle Werte der „Wahrheit“ entsprechen. Die Logik da als Letztes zu starten erscheint mir da eher „logisch“. Oder gibt es gute Gründe, die ich gar nicht sehe?

                      Gruss, Jürgen

                      DJMarc75D Offline
                      DJMarc75D Offline
                      DJMarc75
                      schrieb am zuletzt editiert von
                      #41

                      @wildbill sagte in maximum of 1000 setState during boot:

                      warum logikverarbeitende Adapter da als Erstes gestartet werden?

                      kann ich Dir leider nicht beantworten, habe mich damit noch nicht beschäftigt.

                      Lehrling seit 1975 !!!
                      Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                      https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                      1 Antwort Letzte Antwort
                      1
                      • W Wildbill

                        @djmarc75 Gibt es einen Grund, warum logikverarbeitende Adapter da als Erstes gestartet werden? Es gibt ja doch einige Adapter, bei denen zum Start eben nicht alle Werte der „Wahrheit“ entsprechen. Die Logik da als Letztes zu starten erscheint mir da eher „logisch“. Oder gibt es gute Gründe, die ich gar nicht sehe?

                        Gruss, Jürgen

                        mcm1957M Online
                        mcm1957M Online
                        mcm1957
                        schrieb am zuletzt editiert von mcm1957
                        #42

                        @wildbill
                        Einer der Gründe ist (wahrscheinlich) dass man sicherstellen will, dass eine Logik anspricht wenn der Adapter einen (neuen) Wert schreibt. Wird der javascript erst noch dem Adapterstart gestartet dann kann er ev auf das Setzen eines Zustands (via subscription) nicht mehr reagieren weil er das Setzen gar nicht mitbekommt.

                        Bezüglich device-watcher rege ich an da einen Feature Request beim Adapter zu erstellen. Es erscheint mir sinnvoll wenn der Devicewatcher selbst eine gewisse Zeit nach seinem Start wartet bevor er prüft / alamiert.

                        Und ja man kann die Startsequenz im grob einstellen. Es gibt 3 Tiers die in der Reihenfolge 1 - 2 - 3 gestartet werden. Aller Adapter innerhalb einers Tiers werden in nicht festgelegter Reihenfolge gestartet. Diese Einstellung kann vom User vorgenommen werden wobei es wahrscheinlich weniger Sinn macht eine vis in Tier 1 zu legen :-).

                        Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                        Support Repositoryverwaltung.

                        Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                        LESEN - gute Forenbeitrage

                        1 Antwort Letzte Antwort
                        2
                        • W Online
                          W Online
                          Wildbill
                          schrieb am zuletzt editiert von
                          #43

                          @mcm57 Danke für die Erläuterungen. Issue bzw. feature request habe ich bei device watcher mal erstellt.

                          Bezüglich JavascriptAdapter. Genau deshalb beende ich ihn ja vorab manuell. Gewisse Adapter bzw. Geräte haben die Angewohnheit, beim Start kurz mal auf 0 zu springen und dann erst wieder auf den korrekten Wert. Ich meine, bei Homematic-Zwischensteckern mit Strommessung war das bei mir so bei aktueller Leistung und kumuliertem Wert. Das hat eben Scripte dann falsch ausgelöst und beim Sourceanalytix jedesmal die Meldung gebracht, der Wert hätte sich resettet. Da war/ist es mir lieber, bei Systemstart erstmal quasi die erste Änderung nicht mitzubekommen und dann eben erst, wenn sich alle "beruhigt" hat und die Werte "stabil" sind.
                          Vielleicht mache ich bei Gelegenheit nochmal einen Test und beende keinen Adapter manuell und schaue, wie es sich mittlerweile verhält. Denn ich mache das bestimmt schon seit 1-2 Jahren so (problemlos).

                          Gruss, Jürgen

                          mcm1957M 1 Antwort Letzte Antwort
                          0
                          • W Wildbill

                            @mcm57 Danke für die Erläuterungen. Issue bzw. feature request habe ich bei device watcher mal erstellt.

                            Bezüglich JavascriptAdapter. Genau deshalb beende ich ihn ja vorab manuell. Gewisse Adapter bzw. Geräte haben die Angewohnheit, beim Start kurz mal auf 0 zu springen und dann erst wieder auf den korrekten Wert. Ich meine, bei Homematic-Zwischensteckern mit Strommessung war das bei mir so bei aktueller Leistung und kumuliertem Wert. Das hat eben Scripte dann falsch ausgelöst und beim Sourceanalytix jedesmal die Meldung gebracht, der Wert hätte sich resettet. Da war/ist es mir lieber, bei Systemstart erstmal quasi die erste Änderung nicht mitzubekommen und dann eben erst, wenn sich alle "beruhigt" hat und die Werte "stabil" sind.
                            Vielleicht mache ich bei Gelegenheit nochmal einen Test und beende keinen Adapter manuell und schaue, wie es sich mittlerweile verhält. Denn ich mache das bestimmt schon seit 1-2 Jahren so (problemlos).

                            Gruss, Jürgen

                            mcm1957M Online
                            mcm1957M Online
                            mcm1957
                            schrieb am zuletzt editiert von
                            #44

                            @wildbill
                            Ich glaub es wird schwierig da eine für alle System passende Lösung zu finden. Wenn es aber Adapter gibt die beim Start den Wert mal so auf 0 setzen, dann kann man da ruhig auch ein Issue erstellen damit der Maintainer schaut ob es dafür einen technischen Grund gibt oder ob nur irgendwo eine an sich unnötige Initialisierung erfolgt.

                            @peterfido
                            Ev. check mal ob ev. beim Start von ioBroker im Zuge eine Bootvorgangs die Systemzeit (noch) nicht stimmt (RTC ev defekt / verstellt?) und diese dann erst zeitnahe aktualisisert wird z.B. durch NTP Daemon. Ist aber nur so mal ein Idee ohne dass ich sowas schon mal erlebt hätte.

                            Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                            Support Repositoryverwaltung.

                            Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                            LESEN - gute Forenbeitrage

                            1 Antwort Letzte Antwort
                            2
                            • H hschief

                              @haus-automatisierung Vielen Dank für die tollen Antworten und auch die Information, dass der Fehler bei euch nicht reproduziert werden kann, Ich werde das Issue in GitHub erstmal schliessen und weiter forschen um das Problem einzugrenzen. Ich berichte was sich weiter ergibt.

                              haus-automatisierungH Online
                              haus-automatisierungH Online
                              haus-automatisierung
                              Developer Most Active
                              schrieb am zuletzt editiert von
                              #45

                              @hschief sagte in maximum of 1000 setState during boot:

                              auch die Information, dass der Fehler bei euch nicht reproduziert werden kann, Ich werde das Issue in GitHub erstmal schliessen und weiter forschen um das Problem einzugrenzen. Ich berichte was sich weiter ergibt.

                              Habs noch nicht probiert zu reproduzieren. Lass gerne offen und teile weitere Erkenntnisse im Issue

                              🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                              🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                              📚 Meine inoffizielle ioBroker Dokumentation

                              1 Antwort Letzte Antwort
                              0
                              • P Offline
                                P Offline
                                peterfido
                                schrieb am zuletzt editiert von
                                #46

                                @mcm57 ich habe da keine Probleme mit der Uhrzeit. Alle VMs nutzen die RTC vom Proxmox-Host.

                                Mir kam nur die Idee, ob es evtl. beim TO da Probleme geben könnte.

                                Gruß

                                Peterfido


                                Proxmox auf Intel NUC12WSHi5
                                ioBroker: Debian (VM)
                                CCU: Debmatic (VM)
                                Influx: Debian (VM)
                                Grafana: Debian (VM)
                                eBus: Debian (VM)
                                Zigbee: Debian (VM) mit zigbee2mqtt

                                H 1 Antwort Letzte Antwort
                                0
                                • P peterfido

                                  @mcm57 ich habe da keine Probleme mit der Uhrzeit. Alle VMs nutzen die RTC vom Proxmox-Host.

                                  Mir kam nur die Idee, ob es evtl. beim TO da Probleme geben könnte.

                                  H Offline
                                  H Offline
                                  hschief
                                  schrieb am zuletzt editiert von
                                  #47

                                  @peterfido

                                  Solved: In der Tat war der NTP beim boot zu langsam und die Zeit nicht richtig gesetzt. Als Lösung habe ich das Startscript vom IOBroker im systemd deaktiviert. Anschließend dann im /etc/local.rc sichergestellt das die Uhrzeit mittels ntpdate gesetzt wird und danach wird der IObroker gestart.

                                  Vielen Dank für eure Unterstützung!!!!!!!

                                  haus-automatisierungH 1 Antwort Letzte Antwort
                                  0
                                  • H hschief

                                    @peterfido

                                    Solved: In der Tat war der NTP beim boot zu langsam und die Zeit nicht richtig gesetzt. Als Lösung habe ich das Startscript vom IOBroker im systemd deaktiviert. Anschließend dann im /etc/local.rc sichergestellt das die Uhrzeit mittels ntpdate gesetzt wird und danach wird der IObroker gestart.

                                    Vielen Dank für eure Unterstützung!!!!!!!

                                    haus-automatisierungH Online
                                    haus-automatisierungH Online
                                    haus-automatisierung
                                    Developer Most Active
                                    schrieb am zuletzt editiert von
                                    #48

                                    @hschief Und dann wird die Zeit korrigiert und alle „verpassten“ Schedule-Events in der Zeitdifferenz ausgelöst? Das wäre ja auch nicht so schön bzw. ein Bug aus meiner Sicht.

                                    🧑‍🎓 Autor des beliebten ioBroker-Master-Kurses
                                    🎥 Tutorials rund um das Thema DIY-Smart-Home: https://haus-automatisierung.com/
                                    📚 Meine inoffizielle ioBroker Dokumentation

                                    mcm1957M H 2 Antworten Letzte Antwort
                                    0
                                    • haus-automatisierungH haus-automatisierung

                                      @hschief Und dann wird die Zeit korrigiert und alle „verpassten“ Schedule-Events in der Zeitdifferenz ausgelöst? Das wäre ja auch nicht so schön bzw. ein Bug aus meiner Sicht.

                                      mcm1957M Online
                                      mcm1957M Online
                                      mcm1957
                                      schrieb am zuletzt editiert von
                                      #49

                                      @haus-automatisierung said in maximum of 1000 setState during boot:

                                      @hschief Und dann wird die Zeit korrigiert und alle „verpassten“ Schedule-Events in der Zeitdifferenz ausgelöst? Das wäre ja auch nicht so schön bzw. ein Bug aus meiner Sicht.

                                      Müsste man genauer ansehen.
                                      Kann gut seind ass der ntp daemon keinen Sprung macht sondern die Zeit "schneller" in kleineren Schritten vorsetzt. Dann hätte der scheduler keine Chance.

                                      Aber im Prinzip könnten "man" das ja testen indem man manuell die Zeit umsetzt. Wär aber dann ja was was im O/S oder node zu fixen wäre.

                                      Entwicklung u Betreuung: envertech-pv, hoymiles-ms, ns-client, pid, snmp Adapter;
                                      Support Repositoryverwaltung.

                                      Wer Danke sagen will, kann nen Kaffee spendieren: https://paypal.me/mcm1957atiobroker

                                      LESEN - gute Forenbeitrage

                                      Thomas BraunT HomoranH 2 Antworten Letzte Antwort
                                      1
                                      • mcm1957M mcm1957

                                        @haus-automatisierung said in maximum of 1000 setState during boot:

                                        @hschief Und dann wird die Zeit korrigiert und alle „verpassten“ Schedule-Events in der Zeitdifferenz ausgelöst? Das wäre ja auch nicht so schön bzw. ein Bug aus meiner Sicht.

                                        Müsste man genauer ansehen.
                                        Kann gut seind ass der ntp daemon keinen Sprung macht sondern die Zeit "schneller" in kleineren Schritten vorsetzt. Dann hätte der scheduler keine Chance.

                                        Aber im Prinzip könnten "man" das ja testen indem man manuell die Zeit umsetzt. Wär aber dann ja was was im O/S oder node zu fixen wäre.

                                        Thomas BraunT Online
                                        Thomas BraunT Online
                                        Thomas Braun
                                        Most Active
                                        schrieb am zuletzt editiert von
                                        #50

                                        @mcm57 sagte in maximum of 1000 setState during boot:

                                        Kann gut seind ass der ntp daemon keinen Sprung macht sondern die Zeit "schneller" in kleineren Schritten vorsetzt.

                                        Ja, genau das macht der ntp im Normalfall. Die Zeit wird gestaucht oder gedehnt, bis irgendwann das Delta zwischen der Zeit vom ntp-Server und der lokal geführten Uhrzeit minimal ist. Das kann u. U. auch mehrere Tage dauern. Der Prozess läuft dauernd im Hintergrund und 'groovt' sich auf die gemessenen Abweichungen ein. Je ungenauer die Lokale Eieruhr tickt desto länger dauert das auch.
                                        Harte Zeitsprünge sind zu vermeiden.

                                        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

                                        1 Antwort Letzte Antwort
                                        2
                                        • haus-automatisierungH haus-automatisierung

                                          @hschief Und dann wird die Zeit korrigiert und alle „verpassten“ Schedule-Events in der Zeitdifferenz ausgelöst? Das wäre ja auch nicht so schön bzw. ein Bug aus meiner Sicht.

                                          H Offline
                                          H Offline
                                          hschief
                                          schrieb am zuletzt editiert von hschief
                                          #51

                                          @haus-automatisierung Hi, ich setzt direkt nach dem booten die Zeit,

                                          # set the clock before iobroker is start
                                          # wait 20s for network
                                          /usr/bin/sleep 20
                                          /usr/sbin/service ntp stop
                                          /usr/sbin/ntpdate -s x.x.x.x
                                          /usr/sbin/service ntp start
                                          

                                          somit gibt es zu diesem Zeitpunkt noch keine Events die recorded werden. Nachdem die Zeit aktualisiert ist, starte ich den iobroker:

                                          /usr/sbin/service iobroker start
                                          

                                          Ab diesem Zeitpunkt laufen die events dann in die states und werden durch die scripte sauber verarbeitet.

                                          Ich war bisher der Meinung, dass der ntp service beim booten die Zeit auch direkt richtig setzt, ich habe in diesem Fall gelernt, dass dies mal bis zu 5 Minuten dauern kann.

                                          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

                                          827

                                          Online

                                          32.6k

                                          Benutzer

                                          81.9k

                                          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