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
    475

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

  • 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.
  • O oFbEQnpoLKKl6mbY5e13

    @hschief

    Hat das was hiermit zu tun?:

    7.9.1 (2024-03-15)

    (klein0r) Configurable trigger warning limit (default: 100 per script)
    (klein0r) Allow to use objects in create state blocks for common
    (klein0r) Added warning if latitude or longitude is not configured correctly
    

    https://github.com/ioBroker/ioBroker.javascript/blob/master/CHANGELOG_OLD.md#791-2024-03-15

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

    @ofbeqnpolkkl6mby5e13
    Ich muss ehrlicher Weise gestehen, dass ich die Antwort nicht verstehe. Ich habe halt mehrere scripts mit einer Cron Anweisung die beim Systemstart ... und nur bei dem Systemstart diese Meldung auslösen.

    Ich habe ebenfalls schonmal den Iobroker 2 Minuten zeitversetzt gestartet, auch in diesem Fall kommt die Meldung.

    Nochmal weiter getestet. Wenn ich den IOBroker beim dem Systemstart nicht automatisch starten, sondern von Hand aus der Bash kommt die Meldung ebenfalls. Also immer beim dem ersten Start auf einem neu gebooteten System.

    Am Rande:
    Javascript Version 7.8.0
    node 18.17.1
    jscontroller 5.0.19

    H Thomas BraunT arteckA 3 Antworten Letzte Antwort
    0
    • H hschief

      @ofbeqnpolkkl6mby5e13
      Ich muss ehrlicher Weise gestehen, dass ich die Antwort nicht verstehe. Ich habe halt mehrere scripts mit einer Cron Anweisung die beim Systemstart ... und nur bei dem Systemstart diese Meldung auslösen.

      Ich habe ebenfalls schonmal den Iobroker 2 Minuten zeitversetzt gestartet, auch in diesem Fall kommt die Meldung.

      Nochmal weiter getestet. Wenn ich den IOBroker beim dem Systemstart nicht automatisch starten, sondern von Hand aus der Bash kommt die Meldung ebenfalls. Also immer beim dem ersten Start auf einem neu gebooteten System.

      Am Rande:
      Javascript Version 7.8.0
      node 18.17.1
      jscontroller 5.0.19

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

      @hschief
      Ich habe nun mal folgendes Testscript angelegt

      function Test1() {
          log('In Function','error');
          //var Modulation = getState('ems-esp.0.heatSources.hs1.curburnpow').val;
          //var currentConsumption = Math.round(6.94 * Modulation) / 10; // 1 Nachkommastelle
          setState('0_userdata.0.Allgemein.TestBoot', 'test', false);
      };
       
      log('Script Test1 aufgerufen','error');
      schedule("*/10 * * * * *", Test1 );
      

      Im normalen Betrieb erhalte ich alle 10s nun die Meldung "In Function", wie es zu erwarten war.

      Beim Boot passtiert im Log aber Folgendes:
      Ich erhalte mehr als 1000 Einträge mir folgender Meldung
      2024-04-16 14:25:31.532 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-16 14:25:31.553 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-16 14:25:31.559 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-16 14:25:31.573 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-16 14:25:31.580 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-16 14:25:31.591 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-16 14:25:31.598 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-16 14:25:31.610 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-16 14:25:31.622 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-16 14:25:31.634 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
      2024-04-16 14:25:31.642 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function

      Könnte evtl. mal jemand versuchen dies bei sich nachzustellen? Wenn das Verhalten bei einer anderen Installation beim boot reproduzierbar ist, dann würde ich einen Fehlerbericht erstellen

      AsgothianA 1 Antwort Letzte Antwort
      0
      • H hschief

        @ofbeqnpolkkl6mby5e13
        Ich muss ehrlicher Weise gestehen, dass ich die Antwort nicht verstehe. Ich habe halt mehrere scripts mit einer Cron Anweisung die beim Systemstart ... und nur bei dem Systemstart diese Meldung auslösen.

        Ich habe ebenfalls schonmal den Iobroker 2 Minuten zeitversetzt gestartet, auch in diesem Fall kommt die Meldung.

        Nochmal weiter getestet. Wenn ich den IOBroker beim dem Systemstart nicht automatisch starten, sondern von Hand aus der Bash kommt die Meldung ebenfalls. Also immer beim dem ersten Start auf einem neu gebooteten System.

        Am Rande:
        Javascript Version 7.8.0
        node 18.17.1
        jscontroller 5.0.19

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

        @hschief sagte in maximum of 1000 setState during boot:

        node 18.17.1

        Zu alt, updaten.

        iob nodejs-update
        

        Wenn das nicht funktioniert

        iob stop
        iob fix
        

        und dann nochmal nodejs-update.

        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

        H 1 Antwort Letzte Antwort
        0
        • H hschief

          @ofbeqnpolkkl6mby5e13
          Ich muss ehrlicher Weise gestehen, dass ich die Antwort nicht verstehe. Ich habe halt mehrere scripts mit einer Cron Anweisung die beim Systemstart ... und nur bei dem Systemstart diese Meldung auslösen.

          Ich habe ebenfalls schonmal den Iobroker 2 Minuten zeitversetzt gestartet, auch in diesem Fall kommt die Meldung.

          Nochmal weiter getestet. Wenn ich den IOBroker beim dem Systemstart nicht automatisch starten, sondern von Hand aus der Bash kommt die Meldung ebenfalls. Also immer beim dem ersten Start auf einem neu gebooteten System.

          Am Rande:
          Javascript Version 7.8.0
          node 18.17.1
          jscontroller 5.0.19

          arteckA Offline
          arteckA Offline
          arteck
          Developer Most Active
          schrieb am zuletzt editiert von arteck
          #8

          @hschief die 2 höher setzten
          302732fe-a79c-4a0b-ae50-a52768c9b92b-grafik.png

          das ist eine Sicherheitseinstellung damit der iobroker nbicht stehenbeleibt wenn javascript adapter einen von dir erzeugten Fehler hat (dauerschleife)

          aber wozu fragt man alle 10 sek den dp ab.. ?? das ist doch der Verbrauch oder ?

          trigger mal auf dessen Änderung von diesem .. lass allgemein die finger von cronjobs..

          on({id: 'ems-esp.0.heatSources.hs1.curburnpow', change: "any"}, function (obj) { 
              let currentConsumption = Math.round(6.94 * obj.state.val) / 10; // 1 Nachkommastelle
              setState('0_userdata.0.Technik.Heizung.24hVerbrauch', currentConsumption, true);
          });
          

          zigbee hab ich, zwave auch, nuc's genauso und HA auch

          David G.D H 2 Antworten Letzte Antwort
          0
          • arteckA arteck

            @hschief die 2 höher setzten
            302732fe-a79c-4a0b-ae50-a52768c9b92b-grafik.png

            das ist eine Sicherheitseinstellung damit der iobroker nbicht stehenbeleibt wenn javascript adapter einen von dir erzeugten Fehler hat (dauerschleife)

            aber wozu fragt man alle 10 sek den dp ab.. ?? das ist doch der Verbrauch oder ?

            trigger mal auf dessen Änderung von diesem .. lass allgemein die finger von cronjobs..

            on({id: 'ems-esp.0.heatSources.hs1.curburnpow', change: "any"}, function (obj) { 
                let currentConsumption = Math.round(6.94 * obj.state.val) / 10; // 1 Nachkommastelle
                setState('0_userdata.0.Technik.Heizung.24hVerbrauch', currentConsumption, true);
            });
            
            David G.D Online
            David G.D Online
            David G.
            schrieb am zuletzt editiert von
            #9

            @arteck sagte in maximum of 1000 setState during boot:

            lass allgemein die finger von cronjobs..

            Warum denn das?
            Gibt dich kaum einen Weg auf cron zu verzichten.
            Im genannten Fall hier ja, aber noch nicht allgemein.

            Zeigt eure Lovelace-Visualisierung klick
            (Auch ideal um sich Anregungen zu holen)

            Meine Tabellen für eure Visualisierung klick

            W arteckA 2 Antworten Letzte Antwort
            0
            • David G.D David G.

              @arteck sagte in maximum of 1000 setState during boot:

              lass allgemein die finger von cronjobs..

              Warum denn das?
              Gibt dich kaum einen Weg auf cron zu verzichten.
              Im genannten Fall hier ja, aber noch nicht allgemein.

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

              @david-g Vermutlich, weil CRON-Jobs gerne von unbedarfteren Usern, die (noch) nicht genau wissen, wie Javascript/Blockly funktioniert, um dann eben alle x Sekunden auf irgendwas zu prüfen, anstatt einfach einen passenden Trigger zu verwenden.

              Ja, CRON hat seine Berechtigung, auch innerhalb von Scripten, wo es Sinn macht. Aber das System mit zig CRON-Jobs zuzuballern, nur um Datenpunkte zu überprüfen ist eben genau der falsche Weg.

              Ich denke @arteck hat das genau in diese Richtung gedacht.

              Gruss, Jürgen

              1 Antwort Letzte Antwort
              1
              • David G.D David G.

                @arteck sagte in maximum of 1000 setState during boot:

                lass allgemein die finger von cronjobs..

                Warum denn das?
                Gibt dich kaum einen Weg auf cron zu verzichten.
                Im genannten Fall hier ja, aber noch nicht allgemein.

                arteckA Offline
                arteckA Offline
                arteck
                Developer Most Active
                schrieb am zuletzt editiert von arteck
                #11

                @david-g sagte in maximum of 1000 setState during boot:

                Gibt dich kaum einen Weg auf cron zu verzichten.

                gib mir ein Beispiel wo es nicht geht .. im Sekundenbereich
                wir reden nicht von letzte Werte speichern. am Tagesende.. oder starte um X Uhr
                sondern von einem ständig wiederkehrenden schedule im sekunden/minuten Bereich

                Im genannten Fall hier ja, aber noch nicht allgemein.

                es gibt Fälle ja.. aber meistens regeirt man auf einen Trigger(eine Wertänderung) und nicht auf ein loop(alle x sekunden noch dazu)..

                @hschief und wozu der doppelpost
                https://forum.iobroker.net/topic/74144/problem-during-boot-with-schedule-command-in-the-script

                zigbee hab ich, zwave auch, nuc's genauso und HA auch

                H 1 Antwort Letzte Antwort
                0
                • H hschief

                  @hschief
                  Ich habe nun mal folgendes Testscript angelegt

                  function Test1() {
                      log('In Function','error');
                      //var Modulation = getState('ems-esp.0.heatSources.hs1.curburnpow').val;
                      //var currentConsumption = Math.round(6.94 * Modulation) / 10; // 1 Nachkommastelle
                      setState('0_userdata.0.Allgemein.TestBoot', 'test', false);
                  };
                   
                  log('Script Test1 aufgerufen','error');
                  schedule("*/10 * * * * *", Test1 );
                  

                  Im normalen Betrieb erhalte ich alle 10s nun die Meldung "In Function", wie es zu erwarten war.

                  Beim Boot passtiert im Log aber Folgendes:
                  Ich erhalte mehr als 1000 Einträge mir folgender Meldung
                  2024-04-16 14:25:31.532 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.553 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.559 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.573 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.580 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.591 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.598 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.610 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.622 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.634 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.642 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function

                  Könnte evtl. mal jemand versuchen dies bei sich nachzustellen? Wenn das Verhalten bei einer anderen Installation beim boot reproduzierbar ist, dann würde ich einen Fehlerbericht erstellen

                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  schrieb am zuletzt editiert von Asgothian
                  #12

                  @hschief sagte in maximum of 1000 setState during boot:

                  @hschief
                  Ich habe nun mal folgendes Testscript angelegt

                  function Test1() {
                      log('In Function','error');
                      //var Modulation = getState('ems-esp.0.heatSources.hs1.curburnpow').val;
                      //var currentConsumption = Math.round(6.94 * Modulation) / 10; // 1 Nachkommastelle
                      setState('0_userdata.0.Allgemein.TestBoot', 'test', false);
                  };
                   
                  log('Script Test1 aufgerufen','error');
                  schedule("*/10 * * * * *", Test1 );
                  

                  Im normalen Betrieb erhalte ich alle 10s nun die Meldung "In Function", wie es zu erwarten war.

                  Beim Boot passtiert im Log aber Folgendes:
                  Ich erhalte mehr als 1000 Einträge mir folgender Meldung
                  2024-04-16 14:25:31.532 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.553 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.559 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.573 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.580 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.591 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.598 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.610 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.622 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.634 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                  2024-04-16 14:25:31.642 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function

                  Könnte evtl. mal jemand versuchen dies bei sich nachzustellen? Wenn das Verhalten bei einer anderen Installation beim boot reproduzierbar ist, dann würde ich einen Fehlerbericht erstellen

                  Poste doch bitte auch 1 mal die vollständige Fehlermeldung. Der interessante Teil ist bei deinem Post abgeschnitten.

                  A.

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                  H 1 Antwort Letzte Antwort
                  0
                  • arteckA arteck

                    @hschief die 2 höher setzten
                    302732fe-a79c-4a0b-ae50-a52768c9b92b-grafik.png

                    das ist eine Sicherheitseinstellung damit der iobroker nbicht stehenbeleibt wenn javascript adapter einen von dir erzeugten Fehler hat (dauerschleife)

                    aber wozu fragt man alle 10 sek den dp ab.. ?? das ist doch der Verbrauch oder ?

                    trigger mal auf dessen Änderung von diesem .. lass allgemein die finger von cronjobs..

                    on({id: 'ems-esp.0.heatSources.hs1.curburnpow', change: "any"}, function (obj) { 
                        let currentConsumption = Math.round(6.94 * obj.state.val) / 10; // 1 Nachkommastelle
                        setState('0_userdata.0.Technik.Heizung.24hVerbrauch', currentConsumption, true);
                    });
                    
                    H Offline
                    H Offline
                    hschief
                    schrieb am zuletzt editiert von
                    #13

                    @arteck
                    Hi, erstmal vielen Dank für die Tipps, nach meiner Meinung macht eine Erhöhung hier keinen Sinn. Die setstates werden ja nur duch ein Fehlverhalten des schedules ausgelöst und dürften eigentlich gar nicht entstehen.
                    Da ich noch andere Dinge zyklisch prüfe (ja, ich kenne auch die Triggerfunkion), würde ich lieber die Ursache in dem Schedulerproblem finden.

                    Zu dem Verbrauchswert: Ja ich würde auch lieber den 24h Wert abprüfen, leider wird dieser aber von der Heizung nicht sauber geliefert... Frag mich nicht warum ... wäre dann ein andere Thread hier.

                    1 Antwort Letzte Antwort
                    0
                    • arteckA arteck

                      @david-g sagte in maximum of 1000 setState during boot:

                      Gibt dich kaum einen Weg auf cron zu verzichten.

                      gib mir ein Beispiel wo es nicht geht .. im Sekundenbereich
                      wir reden nicht von letzte Werte speichern. am Tagesende.. oder starte um X Uhr
                      sondern von einem ständig wiederkehrenden schedule im sekunden/minuten Bereich

                      Im genannten Fall hier ja, aber noch nicht allgemein.

                      es gibt Fälle ja.. aber meistens regeirt man auf einen Trigger(eine Wertänderung) und nicht auf ein loop(alle x sekunden noch dazu)..

                      @hschief und wozu der doppelpost
                      https://forum.iobroker.net/topic/74144/problem-during-boot-with-schedule-command-in-the-script

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

                      @arteck
                      .. ja, gerne ein Beispiel... ich habe einen Datenpunkt der liefert im Sekundenbereich Telegramme von den Kollektoren, da möchte ich überhaupt nicht im Sekundenbereich Aktoren steuern sondern eher gleitend regeln. Zb. im Minutenbereich.. Bei PID Reglern wäre dies dann die einstellbare Delta-T Regelung.

                      Ich sehe mir im nächsten Schritt gerne das mit dem Node-JS upgrade an.. generell finde ich es aber interessant wie Diskussionen von der eigentlichen Fragestellung abdrifften ... denn dies war ja ... warum verhalten sich die Schedule Jobs beim Boot falsch.

                      mcm1957M 1 Antwort Letzte Antwort
                      1
                      • H hschief

                        @arteck
                        .. ja, gerne ein Beispiel... ich habe einen Datenpunkt der liefert im Sekundenbereich Telegramme von den Kollektoren, da möchte ich überhaupt nicht im Sekundenbereich Aktoren steuern sondern eher gleitend regeln. Zb. im Minutenbereich.. Bei PID Reglern wäre dies dann die einstellbare Delta-T Regelung.

                        Ich sehe mir im nächsten Schritt gerne das mit dem Node-JS upgrade an.. generell finde ich es aber interessant wie Diskussionen von der eigentlichen Fragestellung abdrifften ... denn dies war ja ... warum verhalten sich die Schedule Jobs beim Boot falsch.

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

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

                        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

                        haus-automatisierungH 1 Antwort Letzte Antwort
                        0
                        • AsgothianA Asgothian

                          @hschief sagte in maximum of 1000 setState during boot:

                          @hschief
                          Ich habe nun mal folgendes Testscript angelegt

                          function Test1() {
                              log('In Function','error');
                              //var Modulation = getState('ems-esp.0.heatSources.hs1.curburnpow').val;
                              //var currentConsumption = Math.round(6.94 * Modulation) / 10; // 1 Nachkommastelle
                              setState('0_userdata.0.Allgemein.TestBoot', 'test', false);
                          };
                           
                          log('Script Test1 aufgerufen','error');
                          schedule("*/10 * * * * *", Test1 );
                          

                          Im normalen Betrieb erhalte ich alle 10s nun die Meldung "In Function", wie es zu erwarten war.

                          Beim Boot passtiert im Log aber Folgendes:
                          Ich erhalte mehr als 1000 Einträge mir folgender Meldung
                          2024-04-16 14:25:31.532 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                          2024-04-16 14:25:31.553 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                          2024-04-16 14:25:31.559 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                          2024-04-16 14:25:31.573 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                          2024-04-16 14:25:31.580 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                          2024-04-16 14:25:31.591 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                          2024-04-16 14:25:31.598 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                          2024-04-16 14:25:31.610 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                          2024-04-16 14:25:31.622 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                          2024-04-16 14:25:31.634 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function
                          2024-04-16 14:25:31.642 - error: javascript.0 (726) script.js.Technik.Heizung.BootTestScript: In Function

                          Könnte evtl. mal jemand versuchen dies bei sich nachzustellen? Wenn das Verhalten bei einer anderen Installation beim boot reproduzierbar ist, dann würde ich einen Fehlerbericht erstellen

                          Poste doch bitte auch 1 mal die vollständige Fehlermeldung. Der interessante Teil ist bei deinem Post abgeschnitten.

                          A.

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

                          @asgothian
                          Hi, nun zu der Fehlermeldung ... sorry, ja dies ist im Text missvertständlich ausgedrückt. Ich hatte ein kleines Testscript gebaut, bei dem einfach nur alle 10s über die LogDirective die Meldung: in Function ausgegeben wird.

                          Es gibt leider keine Fehlermeldung ausser maximum 1000 setstate reached. Die Meldungen die zu sehen sind, sind die Ausgaben des Scripts, die eigentlich ja nur 6x Minute erscheinen dürfen.

                          1 Antwort Letzte Antwort
                          0
                          • Thomas BraunT Thomas Braun

                            @hschief sagte in maximum of 1000 setState during boot:

                            node 18.17.1

                            Zu alt, updaten.

                            iob nodejs-update
                            

                            Wenn das nicht funktioniert

                            iob stop
                            iob fix
                            

                            und dann nochmal nodejs-update.

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

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

                            paul53P mcm1957M HomoranH 3 Antworten Letzte Antwort
                            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.

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

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

                              Dann starte mal den schedule() mit einigen Sekunden Verzögerung.

                              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

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

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

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

                                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

                                P H 2 Antworten Letzte Antwort
                                0
                                • 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...

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

                                  Vielleicht sollte beim Testskript der Zeitstempel geschrieben werden. So könnte man sehen, ob Cron evtl. "denkt", dass es da noch einige Auslösungen in Verzug hat, falls Cron überhaupt "verpasste" Einsätze nachholt.

                                  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
                                  • 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
                                    schrieb am zuletzt editiert von
                                    #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 Antwort Letzte Antwort
                                    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
                                      schrieb am zuletzt editiert von
                                      #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 Antwort Letzte Antwort
                                      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
                                        schrieb am zuletzt editiert von
                                        #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 Antwort Letzte Antwort
                                        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
                                          schrieb am zuletzt editiert von
                                          #24

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

                                          1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          887

                                          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