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. ioBroker Allgemein
  4. Javascript 6.1.0 - Neue Funktionen (Beta)

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Javascript 6.1.0 - Neue Funktionen (Beta)

Scheduled Pinned Locked Moved ioBroker Allgemein
52 Posts 11 Posters 6.9k Views 16 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.
  • apollon77A apollon77

    @marty56 Also bitte gern prüfen. Bei mir lokal war es damit gefixt ... war eine interessante Challenge bis ich das problem mal verstanden hab ... der Fix waren dann 2 Mins :-)

    SteffS Offline
    SteffS Offline
    Steff
    wrote on last edited by
    #6

    @apollon77,

    Update auf 6.1.0 hat problemlos funktioniert, Der Schedule Bug ist weg.

    Super Arbeit!

    Gruß Steffen

    ioBroker auf Intel NUC 7CJYH / Debian 12 / States & Objects in JSONL / Repo --> Beta / HM CCU2 V2.61.7 / Siemens LOGO! (0BA7 / 0BA8)
    Admin V7.7.22 / Node V22.21.0 / NPM V10.9.4 / JSC V7.1.0 / JSE V9.0.17

    1 Reply Last reply
    1
    • apollon77A apollon77

      Hallo alle zusammen,

      im Laufe des Tages sollte JavaScript 6.1.0 im Beta Repository auftauchen und bringt neben Fehlerbehebungen ein paar Neuigkeiten mit über die ich gern Informieren möchte:

      Schutz vor Amoklaufenden Skripten

      In letzter Zeit hatten wir häufiger Supportfälle wogesamte ioBroker Systeme sehr unresponsive/langsam wurden. Ursache waren mehrfach "Amok laufende Skripte", die durch Fehler einfach massive viele State Werte gesetzt haben.

      Der JavaScript Adapter überwacht ab sofort die Anzahl der setState pro Skript und wenn dies pro Minute mehr als 1000 sind (der Wert ist global im Adapter konfigurierbar) - 1000/Min sind 16 pro Sekunde - wird das Skript beendet! Ein Fehler wird geloggt.

      Technisch wird auch nicht direkt bei der "ersten Minute" das Skript beendet sondern erst wenn es 2 aufeinanderfolgende Minuten mehr als 1000 waren, um zB größere Skripte die viele Dinge beim Start tun nicht direkt wieder abzuschiessen.

      Wem 1000 zu wenig ist kann dies ändern in der Adapter-Konfiguration.

      Ich denke mit solch einem Schutz sollten wir in der Zukunft solche Probleme vermeiden

      createState Methode

      Auf vielfachen Wunsch gibt es jetzt eine createAlias Methode analog zu createState.
      Doku: https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#createalias

      Im einfachsten Fall bekommt diese Methode nur die ID des Ursprungsobjekts und übernimmt auch die Common Werte von diesem. Weiterhin können aber auch alle anderen Varianten (read/write IDs mit Funktions angegeben werden oder common (partiell) mit einem angegebenen Objekt überschrieben werden.

      setStateDelayed im Selector

      setStateDelayed ist nun auch als Methode im Selector verfügbar

      exec hat "options" Objekt

      Mit dem Options Objekt, welches direkt an nodejs durchgegeben wird können für exec's weitere Einstellungen vorgenommen werden.
      Was geht steht hier: https://nodejs.org/api/child_process.html#child_processexeccommand-options-callback

      Viel Spass mit der neuen Version und Feedback dazu bitte gern hier im Thread.

      Ingo

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by paul53
      #7

      @apollon77
      Anmerkung zur Doku: Es ist kein Wunder, dass Nutzer immer wieder den Begriff "Variable" für einen "Datenpunkt" verwenden, wenn es in der Doku so vorgelebt wird.

      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

      HomoranH 1 Reply Last reply
      0
      • paul53P paul53

        @apollon77
        Anmerkung zur Doku: Es ist kein Wunder, dass Nutzer immer wieder den Begriff "Variable" für einen "Datenpunkt" verwenden, wenn es in der Doku so vorgelebt wird.

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

        @paul53 hast du einen Link?

        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 -

        paul53P 1 Reply Last reply
        0
        • HomoranH Homoran

          @paul53 hast du einen Link?

          paul53P Offline
          paul53P Offline
          paul53
          wrote on last edited by
          #9

          @homoran sagte: Link?

          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

          HomoranH apollon77A 2 Replies Last reply
          1
          • apollon77A apollon77

            @marty56 sagte in Javascript 6.1.0 - Neue Funktionen (Beta):

            Schön, dass es wieder ein Update gibt und dass es createAlias gibt. deleteAlias fände ich auch noch wünschenswert.

            delObject ist exakt das gleiche, also unnötig.

            Der Bug, dass bei on schedule ()... und Neustart des entsprechenden Scripts die Timer nicht gelöscht werden, ist noch drin oder?

            Dann poste ich mal das ganze Changelog, dann beantwortet sich deine Frage von allein:

            • (Apollon77) Add a configurable check for number of setStates per Minute to prevent scripts from taking down ioBroker. Default are 1000 setState per minute. Only stops if the number is reached 2 minutes in a row!
            • (Apollon77) Add createAlias method to create aliases for states
            • (Apollon77) Add setStateDelayed to selector
            • (Apollon77) Add options to exec command
            • (Apollon77) Fix issues with cancelling schedules when stopping scripts
            • (bluefox) Corrected debug mode

            Gefixter Debugger und das mit den Schedules fällt unter die "Fehlerbehebungen" die oben genannt, aber nicht weiter ausgeführt, sind ;)

            D Offline
            D Offline
            darkiop
            Most Active
            wrote on last edited by
            #10

            @apollon77 sagte in Javascript 6.1.0 - Neue Funktionen (Beta):

            Der Bug, dass bei on schedule ()... und Neustart des entsprechenden Scripts die Timer nicht gelöscht werden, ist noch drin oder?

            Dann poste ich mal das ganze Changelog, dann beantwortet sich deine Frage von allein:

            Dabei fällt mir gerade folgende Frage ein: Kann man die laufenden Timer irgendwo sehen?

            Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

            1 Reply Last reply
            0
            • paul53P paul53

              @homoran sagte: Link?

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

              @paul53 Danke!

              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 -

              M 1 Reply Last reply
              0
              • HomoranH Homoran

                @paul53 Danke!

                M Offline
                M Offline
                Marty56
                wrote on last edited by
                #12

                Ich habe tatsächlich diesen neuen Fehler "setState Checker" bekommen, bei einem Script.

                Script script.js.common.Energie is calling setState more than 1000 times per minute! Stopping Script now! Please check your script
                

                Es wäre schön, wenn man etwas mehr Infos zu dem State oder der Zeile bekommen könnte, wo dieser Fehler auftritt.

                HW:NUC (16 GB Ram)
                OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                HomoranH apollon77A 2 Replies Last reply
                0
                • M Marty56

                  Ich habe tatsächlich diesen neuen Fehler "setState Checker" bekommen, bei einem Script.

                  Script script.js.common.Energie is calling setState more than 1000 times per minute! Stopping Script now! Please check your script
                  

                  Es wäre schön, wenn man etwas mehr Infos zu dem State oder der Zeile bekommen könnte, wo dieser Fehler auftritt.

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

                  @marty56 ich hab keine Ahnung von javascript.
                  Aber was für Infos fehlen dir denn?

                  such mal alle setState()
                  da scheinen in einer Schleife im Millisekundentakt States geprüft zu werden.

                  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 -

                  1 Reply Last reply
                  0
                  • M Marty56

                    Ich habe tatsächlich diesen neuen Fehler "setState Checker" bekommen, bei einem Script.

                    Script script.js.common.Energie is calling setState more than 1000 times per minute! Stopping Script now! Please check your script
                    

                    Es wäre schön, wenn man etwas mehr Infos zu dem State oder der Zeile bekommen könnte, wo dieser Fehler auftritt.

                    apollon77A Offline
                    apollon77A Offline
                    apollon77
                    wrote on last edited by
                    #14

                    @marty56 er zählt alle set state pro Skript. Des Weiteren einmal pro Minute schaut er nach der Zahl. Wie soll man das denn auf ein einzelnes setState runterbrechen? Das geht nicht.

                    Starte dein Skript im verbose Mode und jede Aktion wird geloggt. Dann siehst du vllt mehr.

                    Und ja es kann ja sein das das für das Skript ok ist. Aber solltest du prüfen bevor du das Limit hoch setzt.

                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                    1 Reply Last reply
                    0
                    • paul53P paul53

                      @homoran sagte: Link?

                      apollon77A Offline
                      apollon77A Offline
                      apollon77
                      wrote on last edited by
                      #15

                      @paul53 hm … ok ich stehende einen Fehler das in Beispielen createState kommt. Aber wo ist variable? Ok muss ich nachher mal am pc suchen. Oder mach nen pr :-))

                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                      HomoranH paul53P 2 Replies Last reply
                      0
                      • apollon77A apollon77

                        @paul53 hm … ok ich stehende einen Fehler das in Beispielen createState kommt. Aber wo ist variable? Ok muss ich nachher mal am pc suchen. Oder mach nen pr :-))

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

                        @apollon77 createState('myAlias', {id: {read: 'myReadValiable', write: 'myWriteVariable'}})
                        vielleicht besser datapoint

                        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 -

                        apollon77A 1 Reply Last reply
                        1
                        • M Online
                          M Online
                          MCU
                          wrote on last edited by
                          #17

                          @darkiop
                          https://forum.iobroker.net/topic/39912/liste-aller-aktiven-scheduler/2

                          NUC i7 64GB mit Proxmox ---- Jarvis Infos Aktualisierungen der Doku auf Instagram verfolgen -> mcuiobroker Instagram
                          Wenn Euch mein Vorschlag geholfen hat, bitte rechts "^" klicken.

                          D 1 Reply Last reply
                          2
                          • HomoranH Homoran

                            @apollon77 createState('myAlias', {id: {read: 'myReadValiable', write: 'myWriteVariable'}})
                            vielleicht besser datapoint

                            apollon77A Offline
                            apollon77A Offline
                            apollon77
                            wrote on last edited by
                            #18

                            @homoran ok my fault dann. Fixe Doku nachher

                            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                            1 Reply Last reply
                            1
                            • apollon77A apollon77

                              @paul53 hm … ok ich stehende einen Fehler das in Beispielen createState kommt. Aber wo ist variable? Ok muss ich nachher mal am pc suchen. Oder mach nen pr :-))

                              paul53P Offline
                              paul53P Offline
                              paul53
                              wrote on last edited by
                              #19

                              @apollon77 sagte: mach nen pr :-))

                              Erledigt.

                              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

                              apollon77A 2 Replies Last reply
                              1
                              • paul53P paul53

                                @apollon77 sagte: mach nen pr :-))

                                Erledigt.

                                apollon77A Offline
                                apollon77A Offline
                                apollon77
                                wrote on last edited by
                                #20

                                @paul53 Danke!!

                                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                1 Reply Last reply
                                0
                                • M MCU

                                  @darkiop
                                  https://forum.iobroker.net/topic/39912/liste-aller-aktiven-scheduler/2

                                  D Offline
                                  D Offline
                                  darkiop
                                  Most Active
                                  wrote on last edited by
                                  #21

                                  @mcu Danke dir, kein fehler da etwas transparenz zu haben ;)

                                  Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

                                  1 Reply Last reply
                                  0
                                  • paul53P paul53

                                    @apollon77 sagte: mach nen pr :-))

                                    Erledigt.

                                    apollon77A Offline
                                    apollon77A Offline
                                    apollon77
                                    wrote on last edited by
                                    #22

                                    @paul53 Danke! merged und auch noch ein anderer Fehler gefixt.

                                    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                    1 Reply Last reply
                                    0
                                    • BananaJoeB Offline
                                      BananaJoeB Offline
                                      BananaJoe
                                      Most Active
                                      wrote on last edited by
                                      #23

                                      @apollon77 sagte in Javascript 6.1.0 - Neue Funktionen (Beta):

                                      Der JavaScript Adapter überwacht ab sofort die Anzahl der setState pro Skript und wenn dies pro Minute mehr als 1000 sind (der Wert ist global im Adapter konfigurierbar) - 1000/Min sind 16 pro Sekunde - wird das Skript beendet! Ein Fehler wird geloggt.

                                      Mhh, sehe ich das nur im Log? Ich spiele darauf an mich z.B. per Telegram benachrichtigen zu lassen. Die States unter javascript.0.scriptEnabled zu überwachen ist denke ich nicht hilfreich.
                                      Mein Monitoring kann aber auch mit Log-Dateien umgehen - ich bräuchte dafür aber mal eine Beispiel wie so ein Logeintrag aussieht.

                                      Ansonsten: Klasse Idee!

                                      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                      apollon77A 1 Reply Last reply
                                      0
                                      • BananaJoeB BananaJoe

                                        @apollon77 sagte in Javascript 6.1.0 - Neue Funktionen (Beta):

                                        Der JavaScript Adapter überwacht ab sofort die Anzahl der setState pro Skript und wenn dies pro Minute mehr als 1000 sind (der Wert ist global im Adapter konfigurierbar) - 1000/Min sind 16 pro Sekunde - wird das Skript beendet! Ein Fehler wird geloggt.

                                        Mhh, sehe ich das nur im Log? Ich spiele darauf an mich z.B. per Telegram benachrichtigen zu lassen. Die States unter javascript.0.scriptEnabled zu überwachen ist denke ich nicht hilfreich.
                                        Mein Monitoring kann aber auch mit Log-Dateien umgehen - ich bräuchte dafür aber mal eine Beispiel wie so ein Logeintrag aussieht.

                                        Ansonsten: Klasse Idee!

                                        apollon77A Offline
                                        apollon77A Offline
                                        apollon77
                                        wrote on last edited by
                                        #24

                                        @bananajoe ja aktuell nur log. Man könnte theoretisch noch den scriptProblem state Zähler erhöhen.

                                        Zum Beispiel: scroll mal hier im thread hoch. marty56 war reingerannt ;-)

                                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                        BananaJoeB 1 Reply Last reply
                                        1
                                        • apollon77A apollon77

                                          @bananajoe ja aktuell nur log. Man könnte theoretisch noch den scriptProblem state Zähler erhöhen.

                                          Zum Beispiel: scroll mal hier im thread hoch. marty56 war reingerannt ;-)

                                          BananaJoeB Offline
                                          BananaJoeB Offline
                                          BananaJoe
                                          Most Active
                                          wrote on last edited by
                                          #25

                                          @apollon77 Gefunden. ist dann ein Error? (Du hats im Eingangspost geschrieben das ein Fehler geloggt wird)

                                          ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                                          apollon77A 1 Reply 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          649

                                          Online

                                          32.6k

                                          Users

                                          82.1k

                                          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