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

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

maximum of 1000 setState during boot

Scheduled Pinned Locked Moved JavaScript
53 Posts 13 Posters 5.7k Views 10 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.
  • mcm1957M mcm1957

    @hschief
    Falls hier keine Lösung kommt oder wenn klar ist was passiert und das nicht als eh klar zu klassifizieren ist , erstell bitte jedenfalls ein Issue beim Javascript Adapter. Weil so ganz erklärbar ist das Verhaltend derzeit nicht. Und auch wenn ein Startverzögerung der Problem beheben sollte, rege ich an zu prüfen ob die nicht dann gleich zentral im Adapter erfolgen sollte. Das mjuss sich aber jemand ansehen der den Adapter in und auswendig kennt...

    H Offline
    H Offline
    hschief
    wrote on last edited by
    #21

    @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 1 Reply Last reply
    0
    • mcm1957M mcm1957

      @arteck

      Ich möcht nur kurz den Fokus drauf richten, dass das eigentliche Problem ist, dass scheinbar nur beim booten das Limit von 1000 setStates / Minute überschritten wird obwohl die Croneinstellung deutlich weniger setStates auslösen sollte. Alle 10s eine Abfrage sind nur 6 setStates / Minute.

      Ob Cron nun sinnvoll ist oder nicht ist durchaus eine berechtigte Diskussion - aber das Problem erklärt das mal nicht. Entweder funktioniert Cron nicht richtig beim Startup oder die Limitberechnung funktioniert nicht oder irgendwas (aber was?) führt wirklich mehr als 1000/min setStates aus. Und diese Frage sollte m.E. geklärt werden.

      (Alle 10s eine Abfrage sind nur 6 setStates / Minute)

      Leider hab ich zum eigentlichen Problem keine Idee was da abgeht. @haus-automatisierung fällt dir da was dazu ein?

      haus-automatisierungH Online
      haus-automatisierungH Online
      haus-automatisierung
      Developer Most Active
      wrote on last edited by
      #22

      @mcm57 sagte in maximum of 1000 setState during boot:

      Leider hab ich zum eigentlichen Problem keine Idee was da abgeht. @haus-automatisierung fällt dir da was dazu ein?

      So spontan nicht. Konnte jemand das Verhalten auf seinem eigenen System reproduzieren?

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

      mcm1957M 1 Reply Last reply
      0
      • haus-automatisierungH haus-automatisierung

        @mcm57 sagte in maximum of 1000 setState during boot:

        Leider hab ich zum eigentlichen Problem keine Idee was da abgeht. @haus-automatisierung fällt dir da was dazu ein?

        So spontan nicht. Konnte jemand das Verhalten auf seinem eigenen System reproduzieren?

        mcm1957M Online
        mcm1957M Online
        mcm1957
        wrote on last edited by
        #23

        @haus-automatisierung
        Ja,
        Gibt mittlerweile ein Issue mit einem Testsckrip wo das repoduzierbar sein soll (habs nicht selbst getestet)

        https://github.com/ioBroker/ioBroker.javascript/issues/1552

        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

        H 1 Reply Last reply
        1
        • mcm1957M mcm1957

          @haus-automatisierung
          Ja,
          Gibt mittlerweile ein Issue mit einem Testsckrip wo das repoduzierbar sein soll (habs nicht selbst getestet)

          https://github.com/ioBroker/ioBroker.javascript/issues/1552

          H Offline
          H Offline
          hschief
          wrote on last edited by
          #24

          @mcm57 Ich habe das dort als Issue auf deinen Rat hin aufgenommen, ich hoffe dies war vom Ablauf ok,

          1 Reply Last reply
          1
          • P Offline
            P Offline
            peterfido
            wrote on last edited by
            #25

            @hschief
            ich habe das Testskript auf meinem zweiten iobroker getestet. Keine mehrfachen Aufrufe beim Start zu entdecken.

            2024-04-17 19:40:51.936 - info: javascript.0 (706) starting. Version 7.8.0 in /opt/iobroker/node_modules/iobroker.javascript, node: v18.20.2, js-controller: 5.0.19
            2024-04-17 19:40:52.184 - info: javascript.0 (706) requesting all states
            2024-04-17 19:40:52.185 - info: javascript.0 (706) requesting all objects
            2024-04-17 19:40:52.446 - info: javascript.0 (706) received all objects
            2024-04-17 19:40:52.493 - info: javascript.0 (706) received all states
            2024-04-17 19:40:52.574 - info: javascript.0 (706) Start javascript script.js.Scripte.CronJobs
            2024-04-17 19:40:52.590 - error: javascript.0 (706) script.js.Scripte.CronJobs: Script Test1 aufgerufen
            2024-04-17 19:40:52.606 - info: javascript.0 (706) script.js.Scripte.CronJobs: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
            2024-04-17 19:40:55.160 - info: host.iob instance system.adapter.simple-api.0 started with pid 721
            2024-04-17 19:40:55.593 - info: simple-api.0 (721) starting. Version 2.7.2 in /opt/iobroker/node_modules/iobroker.simple-api, node: v18.20.2, js-controller: 5.0.19
            2024-04-17 19:40:55.599 - warn: simple-api.0 (721) 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-17 19:40:55.600 - info: simple-api.0 (721) simpleAPI server listening on port 8087
            2024-04-17 19:40:55.601 - info: simple-api.0 (721) Allow states only when user is owner: false
            2024-04-17 19:40:55.603 - info: simple-api.0 (721) http server listening on port 8087
            2024-04-17 19:40:59.155 - info: host.iob instance system.adapter.socketio.0 started with pid 736
            2024-04-17 19:40:59.643 - info: socketio.0 (736) starting. Version 6.6.1 in /opt/iobroker/node_modules/iobroker.socketio, node: v18.20.2, js-controller: 5.0.19
            2024-04-17 19:40:59.652 - warn: socketio.0 (736) 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-17 19:40:59.664 - info: socketio.0 (736) socket.io server listening on port 8088
            2024-04-17 19:41:00.005 - error: javascript.0 (706) script.js.Scripte.CronJobs: In Function
            2024-04-17 19:41:10.002 - error: javascript.0 (706) script.js.Scripte.CronJobs: In Function
            2024-04-17 19:41:20.001 - error: javascript.0 (706) script.js.Scripte.CronJobs: In Function
            
            

            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

            HomoranH 1 Reply Last reply
            0
            • P peterfido

              @hschief
              ich habe das Testskript auf meinem zweiten iobroker getestet. Keine mehrfachen Aufrufe beim Start zu entdecken.

              2024-04-17 19:40:51.936 - info: javascript.0 (706) starting. Version 7.8.0 in /opt/iobroker/node_modules/iobroker.javascript, node: v18.20.2, js-controller: 5.0.19
              2024-04-17 19:40:52.184 - info: javascript.0 (706) requesting all states
              2024-04-17 19:40:52.185 - info: javascript.0 (706) requesting all objects
              2024-04-17 19:40:52.446 - info: javascript.0 (706) received all objects
              2024-04-17 19:40:52.493 - info: javascript.0 (706) received all states
              2024-04-17 19:40:52.574 - info: javascript.0 (706) Start javascript script.js.Scripte.CronJobs
              2024-04-17 19:40:52.590 - error: javascript.0 (706) script.js.Scripte.CronJobs: Script Test1 aufgerufen
              2024-04-17 19:40:52.606 - info: javascript.0 (706) script.js.Scripte.CronJobs: registered 0 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
              2024-04-17 19:40:55.160 - info: host.iob instance system.adapter.simple-api.0 started with pid 721
              2024-04-17 19:40:55.593 - info: simple-api.0 (721) starting. Version 2.7.2 in /opt/iobroker/node_modules/iobroker.simple-api, node: v18.20.2, js-controller: 5.0.19
              2024-04-17 19:40:55.599 - warn: simple-api.0 (721) 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-17 19:40:55.600 - info: simple-api.0 (721) simpleAPI server listening on port 8087
              2024-04-17 19:40:55.601 - info: simple-api.0 (721) Allow states only when user is owner: false
              2024-04-17 19:40:55.603 - info: simple-api.0 (721) http server listening on port 8087
              2024-04-17 19:40:59.155 - info: host.iob instance system.adapter.socketio.0 started with pid 736
              2024-04-17 19:40:59.643 - info: socketio.0 (736) starting. Version 6.6.1 in /opt/iobroker/node_modules/iobroker.socketio, node: v18.20.2, js-controller: 5.0.19
              2024-04-17 19:40:59.652 - warn: socketio.0 (736) 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-17 19:40:59.664 - info: socketio.0 (736) socket.io server listening on port 8088
              2024-04-17 19:41:00.005 - error: javascript.0 (706) script.js.Scripte.CronJobs: In Function
              2024-04-17 19:41:10.002 - error: javascript.0 (706) script.js.Scripte.CronJobs: In Function
              2024-04-17 19:41:20.001 - error: javascript.0 (706) script.js.Scripte.CronJobs: In Function
              
              
              HomoranH Do not disturb
              HomoranH Do not disturb
              Homoran
              Global Moderator Administrators
              wrote on last edited by
              #26

              @peterfido

              gilt das bei dir auch:

              @hschief sagte in maximum of 1000 setState during boot:

              Javascript Version 7.8.0
              node 18.17.1
              jscontroller 5.0.19

              ?

              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 -

              P 1 Reply Last reply
              0
              • HomoranH Homoran

                @peterfido

                gilt das bei dir auch:

                @hschief sagte in maximum of 1000 setState during boot:

                Javascript Version 7.8.0
                node 18.17.1
                jscontroller 5.0.19

                ?

                P Offline
                P Offline
                peterfido
                wrote on last edited by peterfido
                #27

                @homoran Steht in der ersten Zeile meines Logs. Mein System ist mit node 18.20.2 aktueller.

                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 Reply Last reply
                0
                • H hschief

                  @thomas-braun said in maximum of 1000 setState during boot:

                  iob nodejs-update

                  Update durchgeführt, aktuelle Version ist jetzt: v.18.20.2, Fehler ist aber auch nach dem Update da.

                  Noch eine zusätzliche Info, wenn ich nach dem start des IOBrokers ein
                  iobroker restart javascript.0 läuft alles sauber.

                  Evtl. braucht der JavaScript Adapter andere Dienste die zu diesem Zeitpunkt noch nicht verfügbar sind ... nur eine Idee.

                  HomoranH Do not disturb
                  HomoranH Do not disturb
                  Homoran
                  Global Moderator Administrators
                  wrote on last edited by
                  #28

                  @peterfido

                  mit der gerade gefundenen Antwort
                  @hschief sagte in maximum of 1000 setState during boot:

                  @thomas-braun said in maximum of 1000 setState during boot:

                  iob nodejs-update

                  Update durchgeführt, aktuelle Version ist jetzt: v.18.20.2, Fehler ist aber auch nach dem Update da.

                  seid ihr also was diese Versionen angeht, identisch!
                  Sehr gut.

                  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 -

                  P H 2 Replies Last reply
                  0
                  • HomoranH Homoran

                    @peterfido

                    mit der gerade gefundenen Antwort
                    @hschief sagte in maximum of 1000 setState during boot:

                    @thomas-braun said in maximum of 1000 setState during boot:

                    iob nodejs-update

                    Update durchgeführt, aktuelle Version ist jetzt: v.18.20.2, Fehler ist aber auch nach dem Update da.

                    seid ihr also was diese Versionen angeht, identisch!
                    Sehr gut.

                    P Offline
                    P Offline
                    peterfido
                    wrote on last edited by
                    #29

                    @homoran Evtl. nützlich: Meine iobroker sind VMs unter proxmox. Die Uhren stehen auf Host.

                    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 Reply Last reply
                    0
                    • HomoranH Homoran

                      @peterfido

                      mit der gerade gefundenen Antwort
                      @hschief sagte in maximum of 1000 setState during boot:

                      @thomas-braun said in maximum of 1000 setState during boot:

                      iob nodejs-update

                      Update durchgeführt, aktuelle Version ist jetzt: v.18.20.2, Fehler ist aber auch nach dem Update da.

                      seid ihr also was diese Versionen angeht, identisch!
                      Sehr gut.

                      H Offline
                      H Offline
                      hschief
                      wrote on last edited by
                      #30

                      @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?

                      W paul53P 2 Replies Last reply
                      0
                      • 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?

                        W Online
                        W Online
                        Wildbill
                        wrote on last edited by
                        #31

                        @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 1 Reply Last reply
                        0
                        • 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
                          wrote on last edited by 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 Reply Last reply
                          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
                            wrote on last edited by
                            #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 Reply Last reply
                            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
                              wrote on last edited by
                              #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 Replies Last reply
                              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
                                wrote on last edited by
                                #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 Reply Last reply
                                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
                                  wrote on last edited by
                                  #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 Reply Last reply
                                  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 Do not disturb
                                    HomoranH Do not disturb
                                    Homoran
                                    Global Moderator Administrators
                                    wrote on last edited by
                                    #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 Replies Last reply
                                    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
                                      wrote on last edited by
                                      #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 Reply Last reply
                                      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
                                        wrote on last edited by
                                        #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 Reply Last reply
                                        0
                                        • DJMarc75D DJMarc75

                                          @homoran rischtisch

                                          Screenshot 2024-04-18 125435.png

                                          W Online
                                          W Online
                                          Wildbill
                                          wrote on last edited by
                                          #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 Replies Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          795

                                          Online

                                          32.6k

                                          Users

                                          82.2k

                                          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