Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. js-controller 4.0.x jetzt für alle User im STABLE!

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

js-controller 4.0.x jetzt für alle User im STABLE!

js-controller 4.0.x jetzt für alle User im STABLE!

Scheduled Pinned Locked Moved ioBroker Allgemein
501 Posts 83 Posters 154.5k Views 58 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.
  • Thomas BraunT Thomas Braun

    @patrickfro

    Schaut nach Netzwerkproblemen aus.

    P Offline
    P Offline
    PatrickFro
    wrote on last edited by
    #110

    @thomas-braun Ich habe den Adminadapter mal downgegradet, funktionierte. Eine neuere Version wurde mir dann auch direkt angeboten. Somit war dieses Problem vielleicht auch nur kurzfristig

    Zumindest das untere Problem haben laut Github auch andere.

    1 Reply Last reply
    0
    • P Offline
      P Offline
      PatrickFro
      wrote on last edited by
      #111

      Noch ein Test: Ich habe ein Backup eines anderen Raspis mit IoBroker auf den neuen aufgespielt, selbes Verhalten mit Absturz bei klick auf "Benutzer"

      1 Reply Last reply
      0
      • P PatrickFro

        Moin,

        ich schätze, mein Fehler hat auch mit dem js-controller zu tun.

        Ich musste einen iobroker neu installieren. Dieses habe ich nun 3 Mal durchgeführt, immer selbes Ergebnis:

        Im Log:

        admin.0
        2022-02-28 10:34:22.677	warn	Cannot update news: getaddrinfo EAI_AGAIN iobroker.live
        admin.0
        2022-02-28 10:34:22.672	warn	Cannot update rating: getaddrinfo EAI_AGAIN rating.iobroker.net
        admin.0
        2022-02-28 10:05:23.273	warn	Active repository "stable cannot be read
        admin.0
        2022-02-28 10:05:23.272	warn	Repository cannot be read: Active repo - stable
        

        Zudem, klicke ich auf Benutzer, erscheint dieses:

        5d06fa5c-41da-4c86-9932-fd93344b465a-image.png

        Ich habe sowohl die automatische als auch die manuelle Installation durchgeführt, habe neues Linux genutzt, keine andere Verwendung des Raspis gehabt.

        apollon77A Online
        apollon77A Online
        apollon77
        wrote on last edited by
        #112

        @patrickfro Also das sind DNS Lookup issues ... es gab nen anderen User der auch berichtet hat das das bei einem Reboot manchmal passiert.. Wenn er danach Adapter manuell restartet passiert es nicht. Das wäre dann irgendwie ein Timeing issue beim Boot und verfügbarkeit vom DNS Dienst ... müsste man aber getrennt anschauen weil dafür kann der Controller nichts.

        Auch das Standard systemd service hat "after network.target" drin, also sollte an sich alles passen ... keine Ahnung was da besonders ist.

        Wäre für mich langsam wert einen eigenen Thread zu haben wo man dem auf den Grund geht

        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
        P 1 Reply Last reply
        0
        • wendy2702W wendy2702

          Hi,

          ich habe mit dem JS4.0.15 Problem mit dem automatischen Stoppen der Adapter. Aktuell aufgefallen beim birthdays Adapter. Wenn ich hier zum Beipiel das loglevel ändere wird die Instanz bzw. der Prozess scheinbar nicht gestoppt was dann das zur Folge hat:

          2022-02-28 09:53:31.901  - debug: birthdays.1 (13847) filling next with 11 days left
          2022-02-28 09:53:31.915  - debug: birthdays.1 (13847) filling nextAfter with 26 days left
          2022-02-28 09:53:46.434  - info: host.iobroker stopInstance system.adapter.birthdays.1 (force=false, process=true)
          2022-02-28 09:53:46.434  - info: host.iobroker stopInstance canceled schedule system.adapter.birthdays.1
          2022-02-28 09:53:49.577  - info: host.iobroker instance scheduled system.adapter.birthdays.1 0 0 * * *
          2022-02-28 09:53:49.606  - info: host.iobroker instance system.adapter.birthdays.1 started with pid 13871
          2022-02-28 09:53:50.445  - error: birthdays.1 (13871) birthdays.1 already running
          2022-02-28 09:53:50.447  - warn: birthdays.1 (13871) Terminated (ADAPTER_ALREADY_RUNNING): Without reason
          2022-02-28 09:53:51.069  - error: host.iobroker instance system.adapter.birthdays.1 terminated with code 7 (ADAPTER_ALREADY_RUNNING)
          2022-02-28 09:54:15.748  - info: host.iobroker "system.adapter.birthdays.1" disabled
          2022-02-28 09:54:15.749  - info: host.iobroker stopInstance system.adapter.birthdays.1 (force=false, process=false)
          2022-02-28 09:54:15.750  - info: host.iobroker stopInstance canceled schedule system.adapter.birthdays.1
          2022-02-28 09:54:22.474  - info: host.iobroker "system.adapter.birthdays.1" enabled
          2022-02-28 09:54:22.474  - info: host.iobroker stopInstance system.adapter.birthdays.1 (force=false, process=false)
          2022-02-28 09:54:25.615  - info: host.iobroker instance scheduled system.adapter.birthdays.1 0 0 * * *
          2022-02-28 09:54:25.644  - info: host.iobroker instance system.adapter.birthdays.1 started with pid 13916
          2022-02-28 09:54:26.630  - error: birthdays.1 (13916) birthdays.1 already running
          2022-02-28 09:54:26.631  - warn: birthdays.1 (13916) Terminated (ADAPTER_ALREADY_RUNNING): Without reason
          2022-02-28 09:54:27.252  - error: host.iobroker instance system.adapter.birthdays.1 terminated with code 7 (ADAPTER_ALREADY_RUNNING)
          
          

          Ist das noch ein Problem vom Controller oder Adapter oder ganz was anderes?

          apollon77A Online
          apollon77A Online
          apollon77
          wrote on last edited by
          #113

          @wendy2702 Naja, da kein anderer Schedule Adapter scheinbar isues macht wäre ich erstmal beim Adapter und nicht beim Controller 🙂 Gff mal issue beim Adapter öffnen.

          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
          wendy2702W 1 Reply Last reply
          0
          • P PatrickFro

            Moin,

            ich schätze, mein Fehler hat auch mit dem js-controller zu tun.

            Ich musste einen iobroker neu installieren. Dieses habe ich nun 3 Mal durchgeführt, immer selbes Ergebnis:

            Im Log:

            admin.0
            2022-02-28 10:34:22.677	warn	Cannot update news: getaddrinfo EAI_AGAIN iobroker.live
            admin.0
            2022-02-28 10:34:22.672	warn	Cannot update rating: getaddrinfo EAI_AGAIN rating.iobroker.net
            admin.0
            2022-02-28 10:05:23.273	warn	Active repository "stable cannot be read
            admin.0
            2022-02-28 10:05:23.272	warn	Repository cannot be read: Active repo - stable
            

            Zudem, klicke ich auf Benutzer, erscheint dieses:

            5d06fa5c-41da-4c86-9932-fd93344b465a-image.png

            Ich habe sowohl die automatische als auch die manuelle Installation durchgeführt, habe neues Linux genutzt, keine andere Verwendung des Raspis gehabt.

            apollon77A Online
            apollon77A Online
            apollon77
            wrote on last edited by
            #114

            @patrickfro Und für das Admin issue bitte dort ein Issue öffnen

            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
            P 1 Reply Last reply
            0
            • apollon77A apollon77

              @patrickfro Also das sind DNS Lookup issues ... es gab nen anderen User der auch berichtet hat das das bei einem Reboot manchmal passiert.. Wenn er danach Adapter manuell restartet passiert es nicht. Das wäre dann irgendwie ein Timeing issue beim Boot und verfügbarkeit vom DNS Dienst ... müsste man aber getrennt anschauen weil dafür kann der Controller nichts.

              Auch das Standard systemd service hat "after network.target" drin, also sollte an sich alles passen ... keine Ahnung was da besonders ist.

              Wäre für mich langsam wert einen eigenen Thread zu haben wo man dem auf den Grund geht

              P Offline
              P Offline
              PatrickFro
              wrote on last edited by
              #115

              @apollon77 Danke für die Info. Letztlich ist das für mich kein Problem, da alles trotzdem funktioniert und bisher bei jeder Installation nur jeweils einmal bzw. bei Neustart angezeigt wurde.

              Das zweite Problem (das Bild) ist aber was anderes. Kann dieses denn auch mit dem js-Controller zu tun haben? Gerade habe ich zum weiteren Test auch eine neue VM in Proxmox angelegt und IoBroker installiert. Auch hier habe ich die Abstürze beim Reiter Benutzer. Es ist somit nichts Raspi-spezifisches.

              1 Reply Last reply
              0
              • apollon77A apollon77

                @patrickfro Und für das Admin issue bitte dort ein Issue öffnen

                P Offline
                P Offline
                PatrickFro
                wrote on last edited by
                #116

                @apollon77 Ok, also eher Admin. Dafür sind schon mehrere Threats geöffnet. Dann werde ich mal abwarten, was da passiert und leider bis dahin im Keller keine Alarmanlage haben.

                1 Reply Last reply
                0
                • apollon77A apollon77

                  @wendy2702 Naja, da kein anderer Schedule Adapter scheinbar isues macht wäre ich erstmal beim Adapter und nicht beim Controller 🙂 Gff mal issue beim Adapter öffnen.

                  wendy2702W Online
                  wendy2702W Online
                  wendy2702
                  wrote on last edited by
                  #117

                  @apollon77 sagte in js-controller 4.0.x jetzt für alle User im STABLE!:

                  @wendy2702 Naja, da kein anderer Schedule Adapter scheinbar isues macht wäre ich erstmal beim Adapter und nicht beim Controller 🙂 Gff mal issue beim Adapter öffnen.

                  Scheinbar war das schon bekannt und es gab gerade eine neue Version. Mal testen und beobachten.

                  Bitte keine Fragen per PN, die gehören ins Forum!

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

                  padrinoP 1 Reply Last reply
                  1
                  • wendy2702W wendy2702

                    @apollon77 sagte in js-controller 4.0.x jetzt für alle User im STABLE!:

                    @wendy2702 Naja, da kein anderer Schedule Adapter scheinbar isues macht wäre ich erstmal beim Adapter und nicht beim Controller 🙂 Gff mal issue beim Adapter öffnen.

                    Scheinbar war das schon bekannt und es gab gerade eine neue Version. Mal testen und beobachten.

                    padrinoP Online
                    padrinoP Online
                    padrino
                    Most Active
                    wrote on last edited by
                    #118

                    So, wollte eigentlich erstmal auf 3.3 upgraden, hab aber nicht mitbekommen, dass V4 im Stable ist... Also hat das System automatisch versucht V4 zu installieren.
                    Ergebnis, mein iob ist hin. 😞
                    Installation spuckte nach gut 5 Minuten folgendes aus:

                    pi@raspberrypi:/opt/iobroker $ iobroker upgrade self
                    Update js-controller from @3.1.6 to @4.0.15
                    NPM version: 6.14.15
                    npm install iobroker.js-controller@4.0.15 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call)
                    In file included from ../../nan/nan.h:56,
                                     from ../src/unix_dgram.cc:5:
                    /home/iobroker/.cache/node-gyp/12.22.6/include/node/node.h:736:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
                           (node::addon_register_func) (regfunc),                          \
                                                               ^
                    /home/iobroker/.cache/node-gyp/12.22.6/include/node/node.h:770:3: note: in expansion of macro ‘NODE_MODULE_X’
                       NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                       ^~~~~~~~~~~~~
                    ../src/unix_dgram.cc:404:1: note: in expansion of macro ‘NODE_MODULE’
                     NODE_MODULE(unix_dgram, Initialize)
                     ^~~~~~~~~~~
                     Objects 127.0.0.1:59278 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"]
                     States 127.0.0.1:60766 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"]
                     Objects 127.0.0.1:59278 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"]
                     Objects 127.0.0.1:59278 Error from InMemDB: Error: scan NOT SUPPORTED
                    /opt/iobroker/node_modules/standard-as-callback/built/index.js:6
                            throw e;
                            ^
                    
                    ReplyError: Error scan NOT SUPPORTED
                        at parseError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:179:12)
                        at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:302:14)
                    Emitted 'error' event on ScanStream instance at:
                        at /opt/iobroker/node_modules/ioredis/built/ScanStream.js:38:22
                        at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:12:23)
                        at /opt/iobroker/node_modules/standard-as-callback/built/index.js:33:51
                        at processTicksAndRejections (internal/process/task_queues.js:97:5) {
                      command: {
                        name: 'scan',
                        args: [ '0', 'MATCH', 'cfg.o.system.host.*', 'COUNT', '250' ]
                      }
                    }
                    npm ERR! code ELIFECYCLE
                    npm ERR! errno 1
                    npm ERR! iobroker.js-controller@4.0.15 install: `node iobroker.js setup first`
                    npm ERR! Exit status 1
                    npm ERR!
                    npm ERR! Failed at the iobroker.js-controller@4.0.15 install script.
                    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                    
                    npm ERR! A complete log of this run can be found in:
                    npm ERR!     /home/iobroker/.npm/_logs/2022-02-28T19_25_50_415Z-debug.log
                    host.raspberrypi Cannot install iobroker.js-controller@4.0.15: 1
                    pi@raspberrypi:/opt/iobroker $
                    
                    

                    iobroker start bleibt nun still, sprich admin nicht erreichbar...

                    gebe ich nur iobroker ein kommt

                    pi@raspberrypi:/opt/iobroker $ iobroker
                    internal/modules/cjs/loader.js:818
                      throw err;
                      ^
                    
                    Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js'
                        at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
                        at Function.Module._load (internal/modules/cjs/loader.js:667:27)
                        at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
                        at internal/main/run_main_module.js:17:47 {
                      code: 'MODULE_NOT_FOUND',
                      requireStack: []
                    }
                    
                    

                    Ich weiß schon, wieso ich normal nach dem Prinzip "never change a running system" handele, denn, wenn wie jetzt was schief geht steht man als noob wie der Ochs vorm Scheunentor. 😞

                    Thomas BraunT apollon77A 2 Replies Last reply
                    0
                    • padrinoP padrino

                      So, wollte eigentlich erstmal auf 3.3 upgraden, hab aber nicht mitbekommen, dass V4 im Stable ist... Also hat das System automatisch versucht V4 zu installieren.
                      Ergebnis, mein iob ist hin. 😞
                      Installation spuckte nach gut 5 Minuten folgendes aus:

                      pi@raspberrypi:/opt/iobroker $ iobroker upgrade self
                      Update js-controller from @3.1.6 to @4.0.15
                      NPM version: 6.14.15
                      npm install iobroker.js-controller@4.0.15 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call)
                      In file included from ../../nan/nan.h:56,
                                       from ../src/unix_dgram.cc:5:
                      /home/iobroker/.cache/node-gyp/12.22.6/include/node/node.h:736:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
                             (node::addon_register_func) (regfunc),                          \
                                                                 ^
                      /home/iobroker/.cache/node-gyp/12.22.6/include/node/node.h:770:3: note: in expansion of macro ‘NODE_MODULE_X’
                         NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                         ^~~~~~~~~~~~~
                      ../src/unix_dgram.cc:404:1: note: in expansion of macro ‘NODE_MODULE’
                       NODE_MODULE(unix_dgram, Initialize)
                       ^~~~~~~~~~~
                       Objects 127.0.0.1:59278 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"]
                       States 127.0.0.1:60766 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"]
                       Objects 127.0.0.1:59278 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"]
                       Objects 127.0.0.1:59278 Error from InMemDB: Error: scan NOT SUPPORTED
                      /opt/iobroker/node_modules/standard-as-callback/built/index.js:6
                              throw e;
                              ^
                      
                      ReplyError: Error scan NOT SUPPORTED
                          at parseError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:179:12)
                          at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:302:14)
                      Emitted 'error' event on ScanStream instance at:
                          at /opt/iobroker/node_modules/ioredis/built/ScanStream.js:38:22
                          at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:12:23)
                          at /opt/iobroker/node_modules/standard-as-callback/built/index.js:33:51
                          at processTicksAndRejections (internal/process/task_queues.js:97:5) {
                        command: {
                          name: 'scan',
                          args: [ '0', 'MATCH', 'cfg.o.system.host.*', 'COUNT', '250' ]
                        }
                      }
                      npm ERR! code ELIFECYCLE
                      npm ERR! errno 1
                      npm ERR! iobroker.js-controller@4.0.15 install: `node iobroker.js setup first`
                      npm ERR! Exit status 1
                      npm ERR!
                      npm ERR! Failed at the iobroker.js-controller@4.0.15 install script.
                      npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                      
                      npm ERR! A complete log of this run can be found in:
                      npm ERR!     /home/iobroker/.npm/_logs/2022-02-28T19_25_50_415Z-debug.log
                      host.raspberrypi Cannot install iobroker.js-controller@4.0.15: 1
                      pi@raspberrypi:/opt/iobroker $
                      
                      

                      iobroker start bleibt nun still, sprich admin nicht erreichbar...

                      gebe ich nur iobroker ein kommt

                      pi@raspberrypi:/opt/iobroker $ iobroker
                      internal/modules/cjs/loader.js:818
                        throw err;
                        ^
                      
                      Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js'
                          at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
                          at Function.Module._load (internal/modules/cjs/loader.js:667:27)
                          at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
                          at internal/main/run_main_module.js:17:47 {
                        code: 'MODULE_NOT_FOUND',
                        requireStack: []
                      }
                      
                      

                      Ich weiß schon, wieso ich normal nach dem Prinzip "never change a running system" handele, denn, wenn wie jetzt was schief geht steht man als noob wie der Ochs vorm Scheunentor. 😞

                      Thomas BraunT Online
                      Thomas BraunT Online
                      Thomas Braun
                      Most Active
                      wrote on last edited by Thomas Braun
                      #119

                      @padrino sagte in js-controller 4.0.x jetzt für alle User im STABLE!:

                      Ich weiß schon, wieso ich normal nach dem Prinzip "never change a running system" handele

                      Der dämliche Spruch hat sich jetzt genau in die Situation gebracht.
                      Je größer die Versionssprünge werfen umso heikler wird das u.U.

                      iobroker status
                      

                      sagt? Aber besser in einem eigenen Thread.

                      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

                      padrinoP 1 Reply Last reply
                      0
                      • Thomas BraunT Thomas Braun

                        @padrino sagte in js-controller 4.0.x jetzt für alle User im STABLE!:

                        Ich weiß schon, wieso ich normal nach dem Prinzip "never change a running system" handele

                        Der dämliche Spruch hat sich jetzt genau in die Situation gebracht.
                        Je größer die Versionssprünge werfen umso heikler wird das u.U.

                        iobroker status
                        

                        sagt? Aber besser in einem eigenen Thread.

                        padrinoP Online
                        padrinoP Online
                        padrino
                        Most Active
                        wrote on last edited by
                        #120

                        @thomas-braun sagte in js-controller 4.0.x jetzt für alle User im STABLE!:

                        Der dämliche Spruch hat sich jetzt genau in die Situation gebracht.

                        Naja, es lief ja vor dem Update... was ja unbestritten ist. 🤷

                        @thomas-braun sagte in js-controller 4.0.x jetzt für alle User im STABLE!:

                        Je größer die Versionssprünge werfen umso heikler wird das u.U.

                        Sollte dann nicht der Installer das berücksichtigen und erstmal "klein" updaten, oder einem dazu raten?

                        Auf jeden Fall, hat mir jetzt ein
                        npm install iobroker.js-controller@3.3
                        mir iob wohl erstmal wieder zum Laufen gebracht.

                        Thomas BraunT 1 Reply Last reply
                        0
                        • padrinoP padrino

                          @thomas-braun sagte in js-controller 4.0.x jetzt für alle User im STABLE!:

                          Der dämliche Spruch hat sich jetzt genau in die Situation gebracht.

                          Naja, es lief ja vor dem Update... was ja unbestritten ist. 🤷

                          @thomas-braun sagte in js-controller 4.0.x jetzt für alle User im STABLE!:

                          Je größer die Versionssprünge werfen umso heikler wird das u.U.

                          Sollte dann nicht der Installer das berücksichtigen und erstmal "klein" updaten, oder einem dazu raten?

                          Auf jeden Fall, hat mir jetzt ein
                          npm install iobroker.js-controller@3.3
                          mir iob wohl erstmal wieder zum Laufen gebracht.

                          Thomas BraunT Online
                          Thomas BraunT Online
                          Thomas Braun
                          Most Active
                          wrote on last edited by
                          #121

                          @padrino

                          Dann kannst du ja jetzt das System auf Stand bringen. Ich würde mit nodeJS anfangen und das auf v14 bringen.

                          Linux-Werkzeugkasten:
                          https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                          NodeJS Fixer Skript:
                          https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                          iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                          1 Reply Last reply
                          0
                          • padrinoP padrino

                            So, wollte eigentlich erstmal auf 3.3 upgraden, hab aber nicht mitbekommen, dass V4 im Stable ist... Also hat das System automatisch versucht V4 zu installieren.
                            Ergebnis, mein iob ist hin. 😞
                            Installation spuckte nach gut 5 Minuten folgendes aus:

                            pi@raspberrypi:/opt/iobroker $ iobroker upgrade self
                            Update js-controller from @3.1.6 to @4.0.15
                            NPM version: 6.14.15
                            npm install iobroker.js-controller@4.0.15 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call)
                            In file included from ../../nan/nan.h:56,
                                             from ../src/unix_dgram.cc:5:
                            /home/iobroker/.cache/node-gyp/12.22.6/include/node/node.h:736:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
                                   (node::addon_register_func) (regfunc),                          \
                                                                       ^
                            /home/iobroker/.cache/node-gyp/12.22.6/include/node/node.h:770:3: note: in expansion of macro ‘NODE_MODULE_X’
                               NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                               ^~~~~~~~~~~~~
                            ../src/unix_dgram.cc:404:1: note: in expansion of macro ‘NODE_MODULE’
                             NODE_MODULE(unix_dgram, Initialize)
                             ^~~~~~~~~~~
                             Objects 127.0.0.1:59278 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"]
                             States 127.0.0.1:60766 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"]
                             Objects 127.0.0.1:59278 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"]
                             Objects 127.0.0.1:59278 Error from InMemDB: Error: scan NOT SUPPORTED
                            /opt/iobroker/node_modules/standard-as-callback/built/index.js:6
                                    throw e;
                                    ^
                            
                            ReplyError: Error scan NOT SUPPORTED
                                at parseError (/opt/iobroker/node_modules/redis-parser/lib/parser.js:179:12)
                                at parseType (/opt/iobroker/node_modules/redis-parser/lib/parser.js:302:14)
                            Emitted 'error' event on ScanStream instance at:
                                at /opt/iobroker/node_modules/ioredis/built/ScanStream.js:38:22
                                at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:12:23)
                                at /opt/iobroker/node_modules/standard-as-callback/built/index.js:33:51
                                at processTicksAndRejections (internal/process/task_queues.js:97:5) {
                              command: {
                                name: 'scan',
                                args: [ '0', 'MATCH', 'cfg.o.system.host.*', 'COUNT', '250' ]
                              }
                            }
                            npm ERR! code ELIFECYCLE
                            npm ERR! errno 1
                            npm ERR! iobroker.js-controller@4.0.15 install: `node iobroker.js setup first`
                            npm ERR! Exit status 1
                            npm ERR!
                            npm ERR! Failed at the iobroker.js-controller@4.0.15 install script.
                            npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
                            
                            npm ERR! A complete log of this run can be found in:
                            npm ERR!     /home/iobroker/.npm/_logs/2022-02-28T19_25_50_415Z-debug.log
                            host.raspberrypi Cannot install iobroker.js-controller@4.0.15: 1
                            pi@raspberrypi:/opt/iobroker $
                            
                            

                            iobroker start bleibt nun still, sprich admin nicht erreichbar...

                            gebe ich nur iobroker ein kommt

                            pi@raspberrypi:/opt/iobroker $ iobroker
                            internal/modules/cjs/loader.js:818
                              throw err;
                              ^
                            
                            Error: Cannot find module '/opt/iobroker/node_modules/iobroker.js-controller/iobroker.js'
                                at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
                                at Function.Module._load (internal/modules/cjs/loader.js:667:27)
                                at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
                                at internal/main/run_main_module.js:17:47 {
                              code: 'MODULE_NOT_FOUND',
                              requireStack: []
                            }
                            
                            

                            Ich weiß schon, wieso ich normal nach dem Prinzip "never change a running system" handele, denn, wenn wie jetzt was schief geht steht man als noob wie der Ochs vorm Scheunentor. 😞

                            apollon77A Online
                            apollon77A Online
                            apollon77
                            wrote on last edited by
                            #122

                            @padrino Ok, lösung ist sehr einfach: Nicht "iob uplgrade self nehmen" ... ALso fix durchcontroller per npm drüberbügeln 🙂

                            • iobroker stoppen
                            • cd /opt/iobroker
                            • npm iobroker.js-controller@4.0.15 --production
                            • iobroker starten

                            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
                            • S Offline
                              S Offline
                              sandro_gera
                              wrote on last edited by sandro_gera
                              #123

                              Hallo an alle,

                              auf meine Slave Raspberry 3b hat das update wunderbar funktioniert.
                              Leider bekomme ich schon beim Backup auf meine Master, Raspberry 4, folgende Fehlermeldung.

                              pi@RaspBerry4BioBroker:~ $ iob backup
                              Server Objects 192.168.178.16:45850 Error from InMemDB: Error: CONFIG-UNSUPPORTED for ["set","notify-keyspace-events","Exe"]
                              Server Objects 192.168.178.16:45850 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"]
                              Server Objects 192.168.178.16:45850 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"]
                              Server Objects 192.168.178.16:45856 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace cfg.: Data=["meta.*"]
                              host.RaspBerry4BioBroker 7321 states saved
                              host.RaspBerry4BioBroker 8839 objects saved
                              Server Objects 192.168.178.16:45856 Error from InMemDB: Error: subscribe NOT SUPPORTED
                              Server States 192.168.178.16:56964 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"]
                              Server States 192.168.178.16:56966 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace meta.: Data=["meta.*"]
                              Backup created: /opt/iobroker/backups/2022_03_01-11_17_31_backupiobroker.tar.gz
                              
                              

                              Die ip Adress von meinem Slave ist die 192.168.178.16 der Master hat die 17.

                              Ich habe wie immer zuerst den Slave geupdatet.

                              Ich blick da nicht durch und hoffe mir kann jemand helfen.

                              Ich hab IOBroker auf dem Slave gestopt.
                              Danach lief das bachup auf dem Master durch.
                              Allerdinge bekomme ich beim Upate des Masters jetzt folgende Fehlermeldung.

                              pi@RaspBerry4BioBroker:~ $ iob upgrade self
                              Update js-controller from @3.3.22 to @4.0.15
                              NPM version: 6.14.16
                              npm install iobroker.js-controller@4.0.15 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call)
                              In file included from ../../nan/nan.h:56,
                                               from ../src/unix_dgram.cc:5:
                              /home/iobroker/.cache/node-gyp/14.19.0/include/node/node.h:793:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
                                     (node::addon_register_func) (regfunc),                          \
                                                                         ^
                              /home/iobroker/.cache/node-gyp/14.19.0/include/node/node.h:827:3: note: in expansion of macro ‘NODE_MODULE_X’
                                 NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                                 ^~~~~~~~~~~~~
                              ../src/unix_dgram.cc:404:1: note: in expansion of macro ‘NODE_MODULE’
                               NODE_MODULE(unix_dgram, Initialize)
                               ^~~~~~~~~~~
                              Server Objects 127.0.0.1:36656 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"]
                              Server States 127.0.0.1:56862 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"]
                              Server Objects 127.0.0.1:36656 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"]
                              Server States 127.0.0.1:56864 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace meta.: Data=["meta.*"]
                              Server Objects 127.0.0.1:36656 Error from InMemDB: Error: Unknown LUA script load
                              Server Objects 127.0.0.1:36656 Error from InMemDB: Error: Unknown LUA script load
                              Server Objects 127.0.0.1:36656 Error from InMemDB: Error: Unknown LUA script load
                              Server Cannot move /opt/iobroker/iobroker-data/objects.json.new to /opt/iobroker/iobroker-data/objects.json: ENOENT: no such file or directory, stat '/opt/iobroker/iobroker-data/objects.json.new'. Try direct write as fallback
                              
                              

                              Master RPI4 8GB, Slave RPI3 1GB
                              Node.js v18.17.1, npm: 9.6.7,
                              JS-Controller: 5.0.16

                              apollon77A 1 Reply Last reply
                              0
                              • S sandro_gera

                                Hallo an alle,

                                auf meine Slave Raspberry 3b hat das update wunderbar funktioniert.
                                Leider bekomme ich schon beim Backup auf meine Master, Raspberry 4, folgende Fehlermeldung.

                                pi@RaspBerry4BioBroker:~ $ iob backup
                                Server Objects 192.168.178.16:45850 Error from InMemDB: Error: CONFIG-UNSUPPORTED for ["set","notify-keyspace-events","Exe"]
                                Server Objects 192.168.178.16:45850 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"]
                                Server Objects 192.168.178.16:45850 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"]
                                Server Objects 192.168.178.16:45856 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace cfg.: Data=["meta.*"]
                                host.RaspBerry4BioBroker 7321 states saved
                                host.RaspBerry4BioBroker 8839 objects saved
                                Server Objects 192.168.178.16:45856 Error from InMemDB: Error: subscribe NOT SUPPORTED
                                Server States 192.168.178.16:56964 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"]
                                Server States 192.168.178.16:56966 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace meta.: Data=["meta.*"]
                                Backup created: /opt/iobroker/backups/2022_03_01-11_17_31_backupiobroker.tar.gz
                                
                                

                                Die ip Adress von meinem Slave ist die 192.168.178.16 der Master hat die 17.

                                Ich habe wie immer zuerst den Slave geupdatet.

                                Ich blick da nicht durch und hoffe mir kann jemand helfen.

                                Ich hab IOBroker auf dem Slave gestopt.
                                Danach lief das bachup auf dem Master durch.
                                Allerdinge bekomme ich beim Upate des Masters jetzt folgende Fehlermeldung.

                                pi@RaspBerry4BioBroker:~ $ iob upgrade self
                                Update js-controller from @3.3.22 to @4.0.15
                                NPM version: 6.14.16
                                npm install iobroker.js-controller@4.0.15 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call)
                                In file included from ../../nan/nan.h:56,
                                                 from ../src/unix_dgram.cc:5:
                                /home/iobroker/.cache/node-gyp/14.19.0/include/node/node.h:793:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
                                       (node::addon_register_func) (regfunc),                          \
                                                                           ^
                                /home/iobroker/.cache/node-gyp/14.19.0/include/node/node.h:827:3: note: in expansion of macro ‘NODE_MODULE_X’
                                   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                                   ^~~~~~~~~~~~~
                                ../src/unix_dgram.cc:404:1: note: in expansion of macro ‘NODE_MODULE’
                                 NODE_MODULE(unix_dgram, Initialize)
                                 ^~~~~~~~~~~
                                Server Objects 127.0.0.1:36656 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"]
                                Server States 127.0.0.1:56862 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"]
                                Server Objects 127.0.0.1:36656 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"]
                                Server States 127.0.0.1:56864 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace meta.: Data=["meta.*"]
                                Server Objects 127.0.0.1:36656 Error from InMemDB: Error: Unknown LUA script load
                                Server Objects 127.0.0.1:36656 Error from InMemDB: Error: Unknown LUA script load
                                Server Objects 127.0.0.1:36656 Error from InMemDB: Error: Unknown LUA script load
                                Server Cannot move /opt/iobroker/iobroker-data/objects.json.new to /opt/iobroker/iobroker-data/objects.json: ENOENT: no such file or directory, stat '/opt/iobroker/iobroker-data/objects.json.new'. Try direct write as fallback
                                
                                
                                apollon77A Online
                                apollon77A Online
                                apollon77
                                wrote on last edited by
                                #124

                                @sandro_gera Ok, nochmal langsam:

                                Zum "Fehler bei Backup": Du hast einen Slave aktualisiert und machst dann ein backup auf dem Slave der damit noch gegen einen "alten" Master verbunden ist? Ja, dann sind solche Meldungen zu erwarten, sollten aber egal sein, kannste also ignorieren.

                                Das Update auf dem master sieht an sich auch ok aus ... bzw ... bleibt er da hängen oder ist das die ganze Ausgabe und danach war ok?? Aber auch hier sind diese Meldungen zu erwarten ...

                                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
                                S matthscM 2 Replies Last reply
                                0
                                • apollon77A apollon77

                                  @sandro_gera Ok, nochmal langsam:

                                  Zum "Fehler bei Backup": Du hast einen Slave aktualisiert und machst dann ein backup auf dem Slave der damit noch gegen einen "alten" Master verbunden ist? Ja, dann sind solche Meldungen zu erwarten, sollten aber egal sein, kannste also ignorieren.

                                  Das Update auf dem master sieht an sich auch ok aus ... bzw ... bleibt er da hängen oder ist das die ganze Ausgabe und danach war ok?? Aber auch hier sind diese Meldungen zu erwarten ...

                                  S Offline
                                  S Offline
                                  sandro_gera
                                  wrote on last edited by
                                  #125

                                  @apollon77

                                  Danke Apollon, es sieht so aus als ob des update auch auf dem Master funktioniert hat.

                                  Ich werd das mal beobachten und falls in den Protokollen was auftaucht was ich nicht verstehe melde ich mich wieder.

                                  Master RPI4 8GB, Slave RPI3 1GB
                                  Node.js v18.17.1, npm: 9.6.7,
                                  JS-Controller: 5.0.16

                                  1 Reply Last reply
                                  1
                                  • apollon77A apollon77

                                    @sandro_gera Ok, nochmal langsam:

                                    Zum "Fehler bei Backup": Du hast einen Slave aktualisiert und machst dann ein backup auf dem Slave der damit noch gegen einen "alten" Master verbunden ist? Ja, dann sind solche Meldungen zu erwarten, sollten aber egal sein, kannste also ignorieren.

                                    Das Update auf dem master sieht an sich auch ok aus ... bzw ... bleibt er da hängen oder ist das die ganze Ausgabe und danach war ok?? Aber auch hier sind diese Meldungen zu erwarten ...

                                    matthscM Offline
                                    matthscM Offline
                                    matthsc
                                    Developer
                                    wrote on last edited by
                                    #126

                                    Ich habe mein Master/Slave System problemlos von 3.3.22 auf 4.0.15 aktualisiert.

                                    Master: RPi 4
                                    Slaves: 2x RPi Zero (nur BLE Adapter)
                                    Redis als State-DB

                                    Alle Systeme laufen unter Dietpi/Debian Buster mit NodeJS 14 / NPM 6

                                    1 Reply Last reply
                                    1
                                    • Michael SchmittM Michael Schmitt

                                      @apollon77
                                      Hi,
                                      wie werde ich diese Meldungen los? Kommen nach dem update

                                      2022-02-25 22:31:24.720 - warn: deconz.0 (12037) Object Groups.9.xy is invalid: Default value has to be stringified but received type "object"
                                      2022-02-25 22:31:24.721 - warn: deconz.0 (12037) This object will not be created in future versions. Please report this to the developer.
                                      2022-02-25 22:31:28.989 - warn: deconz.0 (12037) Object Groups.9.xy is invalid: Default value has to be stringified but received type "object"
                                      2022-02-25 22:31:28.990 - warn: deconz.0 (12037) This object will not be created in future versions. Please report this to the developer.
                                      
                                      H Offline
                                      H Offline
                                      hausautomation.digital
                                      wrote on last edited by
                                      #127

                                      @michael-schmitt said in js-controller 4.0.x jetzt für alle User im STABLE!:

                                      @apollon77
                                      Hi,
                                      wie werde ich diese Meldungen los? Kommen nach dem update

                                      2022-02-25 22:31:24.720 - warn: deconz.0 (12037) Object Groups.9.xy is invalid: Default value has to be stringified but received type "object"
                                      2022-02-25 22:31:24.721 - warn: deconz.0 (12037) This object will not be created in future versions. Please report this to the developer.
                                      2022-02-25 22:31:28.989 - warn: deconz.0 (12037) Object Groups.9.xy is invalid: Default value has to be stringified but received type "object"
                                      2022-02-25 22:31:28.990 - warn: deconz.0 (12037) This object will not be created in future versions. Please report this to the developer.
                                      

                                      Geht mir genau so. Gibts da schon eine Lösung??

                                      fehler.jpg

                                      Michael SchmittM 1 Reply Last reply
                                      0
                                      • H hausautomation.digital

                                        @michael-schmitt said in js-controller 4.0.x jetzt für alle User im STABLE!:

                                        @apollon77
                                        Hi,
                                        wie werde ich diese Meldungen los? Kommen nach dem update

                                        2022-02-25 22:31:24.720 - warn: deconz.0 (12037) Object Groups.9.xy is invalid: Default value has to be stringified but received type "object"
                                        2022-02-25 22:31:24.721 - warn: deconz.0 (12037) This object will not be created in future versions. Please report this to the developer.
                                        2022-02-25 22:31:28.989 - warn: deconz.0 (12037) Object Groups.9.xy is invalid: Default value has to be stringified but received type "object"
                                        2022-02-25 22:31:28.990 - warn: deconz.0 (12037) This object will not be created in future versions. Please report this to the developer.
                                        

                                        Geht mir genau so. Gibts da schon eine Lösung??

                                        fehler.jpg

                                        Michael SchmittM Online
                                        Michael SchmittM Online
                                        Michael Schmitt
                                        wrote on last edited by Michael Schmitt
                                        #128

                                        @hausautomation-digital

                                        installiere mal von NPM die Version 1.3.20 (für deconz)

                                        1 Reply Last reply
                                        2
                                        • apollon77A apollon77

                                          Hallo ioBroker-Community,

                                          nach längerer Entwicklungszeit kommt heute der neue js-controller 4.0 (Releasename "Isabelle") für alle User ins Stable Repository (sollte im laufe des Abends bei allen auftauchen). Dieser Artikel enthält alle wichtigen Infos zu diesem Release und im zweiten Post eine kleine FAQ.
                                          Ich bedanke mich bei allen fleißigen Testern der Community während der Beta Phase!

                                          Node.js Versions-Anforderungen
                                          In diesem Release entfällt Node.js 10.x, welches seit April letztem Jahr nicht mehr gepflegt wird. Node.js 16.x ist dazugekommen. Die unterstützten Node.js Versionen sind damit: 12.x, 14.x und 16.x. Die empfohlene Node.js Version für ioBroker heben wir mit diesem Release auf 14.x an (siehe auch https://forum.iobroker.net/topic/49480/node-js-10-x-ist-tot-es-lebe-node-js-14). Node.js 16.x wird mit js-controller 4.0 nun auch mit npm 7 bzw. 8 unterstützt.
                                          Bitte beachtet weiterhin bei Node.js Updates die Anleitung im Forum unter https://forum.iobroker.net/topic/44566/how-to-node-js-für-iobroker-richtig-updaten-2021-edition . Infos ebenso hier in der FAQ hier im Thread.

                                          Informationen zur Version
                                          Neben einigen Optimierungen und Verbesserungen stand der Haupt-Fokus dieser Version auf Performance-Verbesserungen. Ein paar neue Features sind aber ebenfalls hinzugekommen. Auch daran den Wildwuchs in der Umsetzung einiger Adapter etwas einzugrenzen wurde weiter gearbeitet, was ggf. zu neuen Log-Meldungen für bestimmte Fälle führt. Bitte unterstützt hier wieder und legt bei den relevanten Adaptern im GitHub Issues an, damit diese Dinge gefixt werden können.

                                          Mit dem js-controller 4.0 wird intern die Datenbank von "file" auf "jsonl" umgestellt. Dies geschieht bei der Installation automatisch ohne weitere Aktionen, wenn file genutzt wird. Weitere Details dazu sieht in der FAQ (Post #2)! Nach erfolgter Migration erscheint beim nächsten Öffnen (oder Reloads falls offen) des Admin5 auch eine Information dazu:

                                          jsonl-warnung.png

                                          Für Redis Installationen haben wir ein Problem entdeckt, welches von der betriebssystem-Konfiguration von dem Host abhängt wo der Redis-Server drauf läuft. Wer also Redis als Datenbank nutzt bitte unter https://forum.iobroker.net/topic/52976/wichtiger-hinweis-für-redis-installationen nachsehen und sein System prüfen und potentiell beheben.

                                          Detailliertere Informationen zu allen Änderungen und Features findet Ihr weiter unten und im Changelog.

                                          In Summe sind in dieser Version wieder über 120 Änderungen in über 450 commits eingeflossen. Dafür bedanke mich diesmal wieder besonders bei foxriver76, AlCalzone und natürlich Bluefox und auch ein paar weiteren Entwicklern für die aktive Mitarbeit an dieser Version!

                                          Der js-controller 4.0 ist generell kompatibel mit allen bestehenden ioBroker-Systemen. Ein Update von der 2.0/2.1/2.2/3.x ist problemlos möglich. Wir empfehlen allerings vor dem Update auf die 4.0 idealerweise ein Update auf die 3.3.x durchzuführen, da ein Downgrade nach einem erfolgten Update nur auf eine 3.3.x möglich ist (siehe FAQ)! Nur die Node.js Version muss weiterhin mindestens 12.x sein, wie oben bereits ausgeführt.

                                          Aktuell ist nur node-red <2.4.2 inkompatibel, aber es gibt noch einige Versions-Empfehlungen weiter unten.


                                          Installation


                                          VOR der Installation

                                          Wie bei jedem Test dieser Art: Bitte macht ein Backup! iobroker backup bzw. kopieren des iobroker-data Verzeichnisses reichen an sich aus. Bitte nicht das node_modules Verzeichnis einfach kopieren, da sonst symbolische Links kaputt gehen können, was zu größeren Problemen danach führt. Eine alte 3.3.x-Version des js-controller kann im Notfall einfach wieder per npm install iobroker.js-controller@version ("version" durch die gewünschte Versionsnummer ersetzen, vorher ins ioBroker Verzeichnis wechseln cd /opt/iobroker) installiert werden und sollte alles wieder herstellen.

                                          Für die User, welche die experimentelle JSONL-Datenbank bereits einsetzen, ändert sich nichts - ausser das dieser Datenbank-Typ nun die offizielle ist 🙂

                                          Nötige Adapter-Aktualisierungen

                                          Aktuell sind drei Adapter bekannt, welche aktualisiert werden müssen bzw. sollten:

                                          • Backitup sollte auf 2.3.3+ aktualisiert sein, damit vor allem Restores mit js-controller 4 sauber funktionieren
                                          • Admin sollte auf 5.3.1+ aktualisiert sein, damit alle Settings für den js-controller 4 korrekt editiert werden können
                                          • Node-Red muss auf Verson 2.4.2 aktualisiert sein, da der Adapter sonst nicht funktioniert
                                          • km200 (see https://github.com/frankjoke/ioBroker.km200/issues/69😞 Fix is described in https://forum.iobroker.net/post/760260
                                          • systeminformation Am Ende der gleiche wie wie direkt oben drüber bei km200

                                          Am besten dennoch VOR dem js-controller Update alle verfügbaren Adapter-Updates prüfen und alle Updates installieren, die im Changelog auf Optimierungen oder Anpassungen für den js-controller 4.0 hinweisen.

                                          Es werden aber, wie oben ausgeführt, einige Adapter ggf. Warnungen ins Log schreiben - und ggf kommen ein paar neue dazu, welche aber primär bei Objektanlagen interessant sind und weniger im Betrieb "nerven". Meldungen die vor dem Upgrade im Log waren sind jetzt auch noch da.
                                          Bitte zuerst versuchen die gemeldeten Objekt-IDs via Admin zu löschen und den Adapter neu zu starten. Wenn die Meldungen danach nicht weg sein sollten ist aktuell die einzige Option das Loglevel der betroffenen Instanz auf "Warning" zu setzen - aber erst nachdem die Logs idealerweise in einem GitHub-Issue beim entsprechendem Adapter gemeldet wurden!

                                          Achtung: MASTER-Systeme Reihenfolgen beachten!

                                          Bei einem Multi-Host-System, welches auf js-controller 2.2 oder 3.x läuft, ist es beim Update auf Version 4.0 empfohlen, zuerst das Master-System zu aktualisieren. Der Master muss dann wieder gestartet werden. Die Slaves werden danach aktualisiert!

                                          Bei Updates von Master/Slave-Systemen mit js-controller 1.5 oder früher auf die 4.0 müssen zwingend zuerst die Slaves und der Master als letztes aktualisiert werden. Beim Slave Update muss der alte Master aber noch laufen. Die Slaves bleiben nach dem Update offline und können sich nicht zum Master verbinden und werden erst wieder funktionieren wenn auch der Master auf die 4.0 aktualisiert wurde!

                                          Windows

                                          Aus der Community kommt von @sigi234 eine Anleitung für ein Windows Update https://forum.iobroker.net/topic/51574/windows-installation-update

                                          Für alle "alten manuellen" Installationen gilt

                                          • iobroker update
                                          • ioBroker muss gestoppt sein.
                                          • Vor dem Update bitte prüfen das keine Prozesse mehr laufen
                                          • iobroker upgrade self
                                          • ioBroker starten

                                          Linux

                                          ACHTUNG: Wer von einer kleineren js-controller Version als 3.2 kommt, sollte direkt per npm installieren und NICHT per iob uograde self!!

                                          • iobroker update (Repository aktualisieren)
                                          • iobroker stop
                                          • prüfen das keine Prozesse (Adapter, Backups) mehr laufen (ps auxww|grep io und auch ps auxww|grep backup ). Es passiert manchmal das trotz dem Stoppen noch Zombies zurückbleiben
                                          • iobroker fix (Alle Rechte im Dateisystem, Linux-Pakete u.ä. aktualisieren)
                                          • iobroker upgrade self (Ausführung des Updates)
                                          • iobroker start

                                          Die Installation wird - wenn Sie von einem 2.x/3.x-System aus erfolgt - einige Warnungen/Fehler loggen. Wenn diese aussehen wie im folgenden Bild gezeigt (GET/SET-UNSUPPOTED bzw LUA script load error), ist dies erwartet und ok!

                                          Update js-controller from @3.3.22 to @4.0.15
                                          npm install iobroker.js-controller@4.0.15 --loglevel error --unsafe-perm --prefix "/opt/iobroker" (System call)
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets"]
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: GET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.protocolVersion"]
                                          Server States 127.0.0.1:60678 Error from InMemDB: Error: GET-UNSUPPORTED for namespace meta.: Data=["meta.states.protocolVersion"]
                                          Server States 127.0.0.1:60680 Error from InMemDB: Error: PSUBSCRIBE-UNSUPPORTED for namespace meta.: Data=["meta.*"]
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: Unknown LUA script load
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: Unknown LUA script load
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: Unknown LUA script load
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: SET-UNSUPPORTED for namespace cfg.: Data=["meta.objects.features.useSets",{"type":"Buffer","data":[49]}]
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: multi NOT SUPPORTED
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: sadd NOT SUPPORTED
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: exec NOT SUPPORTED
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: multi NOT SUPPORTED
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: sadd NOT SUPPORTED
                                          Server Objects 127.0.0.1:37942 Error from InMemDB: Error: exec NOT SUPPORTED
                                          

                                          Wichtig: Falls es bei Updates von js-controller 3.2.x bei update oder upgrade einen Fehler gibt "No connection to database" dann bitte nochmals versuchen und wenn es wieder passiert folgende Schritte ausführen:

                                          • Editiere /opt/iobroker/iobroker-data/iobroker.json
                                          • Unter objects und states gibt es jeweils ein ' "connectTimeout": 2000,`
                                          • Zahl ändern auf 5000
                                          • Neu versuchen
                                          • Der Wert kann so bleiben weil er eh beim js-controller 4 der neue Standardwert ist

                                          Bei Fehlern:
                                          Wenn bei der Installation Fehler wegen fehlender Zugriffsrechte auftreten, am besten den Installation-Fixer (iobroker fix wer schon einen js-controller 2.x oder höher hat, alternativ weiterhin manuell via curl -sL https://iobroker.net/fix.sh | bash -) nutzen und die Installation wiederholen.
                                          Falls es auch danach noch Fehler gibt, bitte die Installation erneut mittels sudo -H -u iobroker npm install iobroker.js-controller versuchen. Bitte berichtet solche Fälle hier im Thread.

                                          Die Installation kann ggf. Warnungen ausspucken über potentiell "deprecated" NPM Module oder Compiler-Warnungen oder (bei optionalen Paketen auch -Fehler) anzeigen (z.B, unix_dgram, serialport, pam_authentication und ggf andere). Hier gilt wie immer: Ignorieren 🙂
                                          Ebenso eine Aufforderung "npm audit fix" auszuführen kann ignoriert werden!

                                          NACH der Installation

                                          Nach der Installation sollte der ioBroker automatisch wieder starten. Falls doch nicht bitte mittels iobroker start starten.

                                          Wenn alles klappt merkt Ihr ausser der höheren Versionsnummer in der Host-Ansicht im Admin keinen Unterschied. Alles funktioniert weiterhin wie vorher. Alle Adapterinstanzen starten und funktionieren. Wenn das so ist hat alles geklappt.

                                          Falls im Log Warn-Meldungen auftauchen mit dem Hinweis diese an den Entwickler zu senden, dann bitte schauen welcher Adapter es ist und entsprechend dort Issues bitte anlegen!

                                          Wie bereits gesagt, viele Änderungen fanden hinter den Kulissen statt.

                                          BREAKING CHANGES

                                          • Support for Node.js 10 is dropped! Supported are Node.js 12.x, 14.x and 16.x
                                          • CLI command iob update --updateable changed to iob update --updatable
                                          • CLI command iob update http://download.iobroker.net/sources-dist.json is not supported anymore
                                          • CLI command iob rebuild adaptername is no longer supported because of the new way of automatic rebuilds and some unwanted side effects
                                          • CLI command iob state get <id> will no longer handle binary state values (which was never really working before). We added iob state getBinary <id> <encoding> as new way.
                                          • Ensure that on a backup-restore the same adapters and adapter versions are restored as existing on backup time. Also check js-controller version and error on mismatch (is allowed to be forced accepted by --force parameter for restore)
                                          • The "file" database will be automatically converted into JSONL and the database types that use "file" are adjusted to "jsonl" on installation (and backup restore). This means that a rollback of js-controller is only possible to 3.3 after 4.0 was installed! Rollback to former versions require a manual migration to "file" DB before the downgrade! (COMMUNICATION, TESTFOKUS)

                                          Hier für Interessierte als Spoiler noch alle weiteren Änderungen als Zusammenfassung:


                                          Features

                                          • (bluefox) Added complexity rules for user passwords: New created passwords need to follow the following rules (TODO ADMIN UI INFO ISSUE):
                                            • minimum length is 8
                                            • contains at least one digit
                                            • contains at least one lower case letter
                                            • contains at least one upper case letter
                                          • (foxriver76) Introduce option "--custom" when deleting instances or adapter to also clean up relevant custom entries from all objects (TODO ADMIN ISSUE ADD CHECKBOX!, TESTFOKUS)
                                          • (foxriver76) Added new host objects to provide Node.js version and PID
                                          • (foxriver76) Updated the Linux capabilities on js-controller start when a Node.js version change was detected (and initial on first run)
                                          • (AlCalzone/foxriver76) Further optimize strategy for required Node.js module rebuilds. We first try to run rebuild in root package and if still packages are left (or it fails) we try to rebuild the really affected modules alone. Should give better results then former strategy (TESTFOKUS)
                                          • (bluefox) Added support for configuring multiple repositories (TODO LINK+INFO FLAG)
                                          • (Apollon77) Streamline logging configuration for all available transports: A set Loglevel in config means that this loglevel is pinned for the transport for all cases. An Empty/not set level ("Default" in Admin) means that logging is dynamic and can be adjusted per Instance controller or loglevel state on the fly.
                                          • (foxriver76) Added installedFrom info to adapter start log line when not installed from npm normally

                                          Optimizations and Fixes

                                          • (Apollon77/foxriver76) Improve performance of object deletions (also when deleting instances or adapters) significantly (file-db 4x faster, jsonl-db 14x faster, redis 360x% !! faster)
                                          • (foxriver76/Apollon77) Improve performance for redis object searches by up to 2,5x by using lookup structures for object types and custom object properties. This optimization is only active for single host redis systems automatically, but can be activated for multihost redis systems too after all hosts are (and stay!) on js-controller 4.0! (TODO DOCS)
                                          • (foxriver76/Apollon77) Improve performance for object searches in general by limiting search namespaces to the relevant ones automatically
                                          • (foxriver76) Improve handling of backup restores when custom hostnames were used (especially relevant for Docker usage)
                                          • (foxriver76) Optimize backup to make sure invalid user-generated JSONs do not prevent backups from being considered valid
                                          • (foxriver76/klein0r) Improved CLI help
                                          • (foxriver76) Preserve changed instance names also when updating adapter (name was reset before)
                                          • (foxriver76) stop adapters on Windows prior update to prevent EBUSY
                                          • (foxriver76) Prevent crashes for uploads with invalid adapter installations
                                          • (bluefox) Removed news from instance/adapter objects on install/update because taken from repository in Admin5 (TODO CHECK ADMIN4 EFFECTS)
                                          • (AlCalzone) Removed extraneous "npm install" inside adapter directory
                                          • (foxriver76/AlCalzone) reduce JSONL compression frequency to reduce I/O (relevant when experimental JSONL database modules are used)
                                          • (foxriver76) prevent uploading js-controller (creating system.adapter.js-controller object) and remove existing cases on setup first
                                          • (foxriver76) prevent crash when multihost password is invalid and multihost active
                                          • (bluefox/foxriver76) bigger internal refactorings in cli commands (TESTFOKUS)
                                          • (foxriver76) made logging of not fulfilled adapter dependencies more user-friendly
                                          • (foxriver76) Check user and group assignments and remove unknown users from groups (could have happened in earlier versions) in setup first
                                          • (foxriver76) Prevent crash on adapter install/update if version string in repo is invalid
                                          • (AlCalzone) Update and optimize JSONL database integration and configuration options
                                          • (foxriver76) make sure that settings for file/jsonl DB in configfile are also respected
                                          • (foxriver76) Update seq integration for logging
                                          • (foxriver76) If logging can not be initialized because of a fatal error do not start js-controller
                                          • (foxriver76) Prevent start of a debug session for an instance that is already running
                                          • (Apollon77) Fix an edge case for file db which could lead to main and backup file being broken in strange situations with multiple crashes in a row
                                          • (foxriver76) make sure that admin, backitup and discovery instances are created when update of controller happens if installed and no instance exists
                                          • (Apollon77) Optimize Stop Handling to prevent errors
                                          • (Apollon77) Optimize Adapter process initialization to prevent edge case errors
                                          • (foxriver76) Optimize meta object sync
                                          • (Apollon77) make sure to really end CLI process when they should end in error cases
                                          • (Apollon77) catch error when streaming data to stdout and this is closed already
                                          • (Apollon77) Optimize some special cases on adapter start
                                          • (AlCalzone) Prevent issues when backup interval is configured with invalid values
                                          • (AlCalzone) Prevent db-file-locking issues for jsonl database; the connectTimeout for databases is now minimum 5s (overrides lower values from configuration)
                                          • (foxriver76) allow instance deletion when executed from an other host
                                          • (foxriver76) stop the database before executing upgrade self; Will be effective for all upgrades >4.0.5
                                          • (Apollon77/foxriver76) Optimize database initialization and destroys
                                          • (Apollon77) Update winston-syslog to prevent errors
                                          • (Apollon77, foxriver76, bluefox, AlCalzone) Several fixes and refactorings to prevent potential crash cases reported by Sentry and other sources

                                          Developer relevant DEPRECATIONS/WARNINGS

                                          • js-controller is no longer installable from GitHub because is now a monorepo. Use @dev tag on npm to get the nightly build of master js-controller!
                                          • log info when setState is used for an object of type file - use setBinaryState instead!
                                          • log info when default value of an object is invalid (e.g. does not match object type)
                                          • log info when common.states is used and not an object (deprecate String usage)
                                          • log info when common.min/common.max exists on non numbers and contain invalid values/types
                                          • add get/setForeignBinaryState methods as copy from get/setBinaryState allow adapter to migrate; get/setBinaryState will be changed in 4.1 to be "non Foreign"
                                          • Enhanced object checks: adapter need to have a name as string
                                          • Decline calls for getForeignObjects with non string pattern (was pot. crashing before)
                                          • adapter.tools is deprecated and replaced by a shim. Use methods in adapter class or adapter-core instead or open issues if you need more internal functions
                                            The object view definition "custom/state" is now removed from js-controller after being replaced by "system/custom" in js-controller 3.3. All relevant adapters are updated (COMMUNICATION)
                                          • remove all Fifo Methods from adapter.js because deprecated since 1.x
                                          • remove adapter.objects.* methods because deprecated since 2.x

                                          Developer relevant new Features

                                          • (jogibear9988) Add new "unload-safe" promise based "adapter.delay" method to delay further code execution, but still make sure code do not continue after unload was called. This method can not be used inside the "unload" method itself!
                                          • (jogibear9988/AlCalzone/foxriver76/Apollon77) Revamp adapter.*Timeout and adapter.*Interval methods to be "unload-safe" and also clear missing timeouts without warnings for more developer convenience! The methods to set a timeout or interval can not be used inside the "unload" method itself!
                                          • (foxriver76) Allow to set "null" for common.states and not log error for object (also for extend)
                                          • (AlCalzone) Introduce new methods in tools for Node.js module management: installNodeModule, uninstallNodeModule (TODO Issues adapter that use npm install -> Move))
                                          • (bluefox) Add license management functionality to host. Adapters can use adapter.getSuitableLicenses to get available relevant licenses (TODO DOCS)
                                          • (AlCalzone) Switch NPM relevant handling to library pak to be more flexible for the future which package manager we want to use. Important: There are still parts that rely on npm for now!
                                          • (bluefox) Also report docker info when sending diag data
                                          • (foxriver76) Add server time to getHostInfo message
                                          • (foxriver76) For multihost clusters with js-controller 4.0+ the hosts automatically determine a "primary" host that can be used js-controller internally (right now, preparation for future topics)
                                          • (Apollon77) Add database types to crash data reported to sentry

                                          Developer relevant Optimizations and Fixes

                                          • (foxriver76) fixed permissionError on setBinaryState
                                          • (foxriver76) preserve "native" content for instanceObjects when updating the objects on adapter start
                                          • (Apollon77/foxriver76) Limit the search scope for object types host, adapter, instance, instanceStats, enum, script, group, user, config to the relevant namespaces when no search start/end is provided to speedup these calls in general
                                          • (foxriver76) Optimize deleteDevice/deleteChannel methods to just delete all objects the relevant device/channel
                                          • (foxriver76) Removed some magic path lookups to be compatible to npm 7/8. Appname of controller is now always "iobroker" ("ioBroker" in dev cases)
                                          • (foxriver76) Also use Sentry (if enabled/allowed) in CLI commands whenever database is initialized to report crashes from CLI if they happen
                                          • (foxriver76) Introduce a database protocol version number to allow detection of the available database features in multihost environments
                                          • (bluefox) Prevent issues when using adapter.addChannelToEnum because of missing callback
                                          • (foxriver76) make sure autoSubscribe works as expected in all cases
                                          • (Apollon77) Correctly return null when a session is expired
                                          • general dependency updates
                                          • code style optimizations and streamline code

                                          Wie Fehler melden?


                                          Wer sich unsicher ist, ob ein Fehler vorliegt, sollte am besten hier im Thread das Problem beschreiben. So können wir alle versuchen, das Problem nachzuvollziehen und ggf. einzugrenzen.

                                          Bitte checkt auch die "Known issues Liste" (zweiter Post) mit den Dingen die aktuell während dem Beta-Test bekannt sind und bis zum Release noch angepasst werden.

                                          Sobald ein Fehler auftritt der in einer Fehlermeldung oder einen Crash mit Fehlerdetails im Log oder auf Kommandozeile endet, dann dazu am besten direkt ein GitHub-Issue im js-controller Projekt öffnen und zusätzlich hier im Thread posten. Je detaillierter die Angaben im Issue sind (genaue Fehlermeldungen/Logs, Infos zur OS- und Node.js-Umgebung sowie genaue Schritte zur Reproduktion des Problems), umso schneller können wir Fehler einkreisen und beheben.

                                          Wir wünschen allen viel Spaß mit der neuen Version des js-controller.

                                          Ingo

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

                                          @apollon77

                                          Hi Ingo, mir ist grad aufgefallen, das nach dem Upgrade auf v4 die Disk IO, CPU Last, Ram Bedarf vom Redis LXC gestiegen ist. Der Zeitpunkt des Anstiegs passt genau zum Upgrade-Zeitpunkt.

                                          redis-cli 6.0.11
                                          js-controller 4.0.15
                                          node 14.19.0
                                          npm 6.14.16

                                          Hast ne Idee?

                                          67cabad3-d9e7-4347-94f1-6ee658fcc315-image.png

                                          Bildschirmfoto 2022-03-02 um 19.30.10.png

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

                                          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

                                          623

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe