Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [How-to] Node.js ioBroker richtig updaten-2021/22 Edition

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [How-to] Node.js ioBroker richtig updaten-2021/22 Edition

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 @guergen last edited by

      @guergen sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:

      /opt/iobroker/node_modules/@serialport/bindings

      Mal in das Verzeichnis wechseln und dort ein "npm install --production" machen

      M 1 Reply Last reply Reply Quote 1
      • M
        Marty56 @apollon77 last edited by

        @apollon77 Ich habe node v12.22.7. Ist das richtig, dass ich noch ca. 2 Jahre mit dem Update warten kann?

        J Thomas Braun apollon77 3 Replies Last reply Reply Quote 0
        • J
          Jan1 @Marty56 last edited by

          @marty56
          Theoretisch ja nur praktisch nicht sinnvoll. Ich bin schon lange auf 14 und null Probleme 😉

          M 1 Reply Last reply Reply Quote 0
          • M
            Marty56 @Jan1 last edited by

            @jan1 Warum meinst Du, dass es nur theoretisch sinnvoll ist?

            Wenn ich mir den Thread ansehe, dann brauche ich die ganzen Probleme erstmal nicht.

            J 1 Reply Last reply Reply Quote 0
            • J
              Jan1 @Marty56 last edited by Jan1

              @marty56
              Ich habe nicht alles gelesen und das meiste was ich gelesen habe, sind wohl (mal wieder) mitgeschleppte Probleme, die versteckt die ganze Zeit schon da waren und nun eben erst deutlich zu sehen sind. Was wiederum nicht wirklich was mit Node 14 zu tun hat, sondern ehr mit zerfledderten Systemen, die jetzt eben mal ein Update oder gleich mehrere erhalten haben.
              Ergo, bleib aktuell und habe keine Problem 😉

              Es gibt so gut wie kein Grund auf 12 zu bleiben.

              Probier es einfach aus und schau obs läuft, zurück geht genau so schnell wie hoch.
              Hatte ne Zeitlang produktiv 16 nmit NPM 7 laufen und keine Probleme, dann mit NPM 6 und weil ich eben gerne bastle, wieder zurück auf 14 und alles ohne Ärger.

              1 Reply Last reply Reply Quote 0
              • Thomas Braun
                Thomas Braun Most Active @Marty56 last edited by Thomas Braun

                @marty56

                RELEASE	STATUS	INITIAL RELEASE	ACTIVE LTS START	MAINTENANCE LTS START	END-OF-LIFE
                v12		2019-04-23	2019-10-21	        2020-11-30	        2022-04-30
                

                https://nodejs.org/en/about/releases/

                Für nodeJS12 also ist im April 22 Schicht. Also kannst du auch jetzt wechseln. Die Erfahrung zeigt: Je länger gewartet wird, umso mehr Probleme gibt es

                1 Reply Last reply Reply Quote 0
                • TepMan
                  TepMan last edited by

                  Nach dem Update auf nodejs 14 startet der Jeelink-Adapter nicht mehr:

                  host.raspi4
                  2021-11-20 10:50:26.370	error	instance system.adapter.jeelink.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
                  host.raspi4
                  2021-11-20 10:50:26.369	error	Caught by controller[0]: }
                  host.raspi4
                  2021-11-20 10:50:26.369	error	Caught by controller[0]: ]
                  host.raspi4
                  2021-11-20 10:50:26.368	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/lib/binding/node-v83-linux-arm/bindings.node'
                  host.raspi4
                  2021-11-20 10:50:26.368	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/addon-build/default/install-root/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.368	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/addon-build/debug/install-root/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.367	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/addon-build/release/install-root/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.366	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/compiled/14.18.1/linux/arm/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.366	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/build/default/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.365	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/Release/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.364	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/out/Release/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.364	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/Debug/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.364	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/out/Debug/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.363	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/build/Release/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.363	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/build/Debug/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.362	error	Caught by controller[0]: '/opt/iobroker/node_modules/@serialport/bindings/build/bindings.node',
                  host.raspi4
                  2021-11-20 10:50:26.362	error	Caught by controller[0]: tries: [
                  host.raspi4
                  2021-11-20 10:50:26.361	error	Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1085:14) {
                  host.raspi4
                  2021-11-20 10:50:26.361	error	Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/@serialport/bindings/lib/index.js:14:22)
                  host.raspi4
                  2021-11-20 10:50:26.360	error	Caught by controller[0]: at require (internal/modules/cjs/helpers.js:93:18)
                  host.raspi4
                  2021-11-20 10:50:26.359	error	Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:974:19)
                  host.raspi4
                  2021-11-20 10:50:26.359	error	Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:790:12)
                  host.raspi4
                  2021-11-20 10:50:26.358	error	Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:950:32)
                  host.raspi4
                  2021-11-20 10:50:26.358	error	Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
                  host.raspi4
                  2021-11-20 10:50:26.357	error	Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1085:14)
                  host.raspi4
                  2021-11-20 10:50:26.356	error	Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/@serialport/bindings/lib/linux.js:1:36)
                  host.raspi4
                  2021-11-20 10:50:26.356	error	Caught by controller[0]: at bindings (/opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:126:9)
                  host.raspi4
                  2021-11-20 10:50:26.356	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/lib/binding/node-v83-linux-arm/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.355	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/addon-build/default/install-root/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.354	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/addon-build/debug/install-root/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.354	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/addon-build/release/install-root/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.353	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/compiled/14.18.1/linux/arm/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.352	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/build/default/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.351	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/Release/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.351	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/out/Release/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.350	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/Debug/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.349	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/out/Debug/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.349	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/build/Release/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.348	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/build/Debug/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.347	error	Caught by controller[0]: → /opt/iobroker/node_modules/@serialport/bindings/build/bindings.node
                  host.raspi4
                  2021-11-20 10:50:26.347	error	Caught by controller[0]: Error: Could not locate the bindings file. Tried:
                  host.raspi4
                  2021-11-20 10:50:26.342	error	Caught by controller[0]: ^
                  host.raspi4
                  2021-11-20 10:50:26.341	error	Caught by controller[0]: throw err;
                  host.raspi4
                  2021-11-20 10:50:26.332	error	Caught by controller[0]: /opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:135
                  

                  Ich habe schon versucht, den Adapter neu zu bauen, steigt mit einem Fehler aus:

                  pi@raspi4:/opt/iobroker/node_modules/@serialport/bindings $ iobroker rebuild jeelink --install
                  npm install --loglevel error --production (System call1) in "/opt/iobroker/node_modules/iobroker.jeelink"
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:78:69: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
                                                                                       ^~~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:135:71: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate);
                                                                                         ^~~~~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:175:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose);
                                                                                        ^~~~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:215:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush);
                                                                                        ^~~~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:270:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet);
                                                                                      ^~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:314:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet);
                                                                                      ^~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘void EIO_AfterGet(uv_work_t*)’:
                  ../src/serialport.cpp:329:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                       results->Set(Nan::New<v8::String>("cts").ToLocalChecked(), Nan::New<v8::Boolean>(data->cts));
                                                                                                                  ^
                  In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67,
                                   from ../../../nan/nan.h:58,
                                   from ../src/./serialport.h:6,
                                   from ../src/serialport.cpp:1:
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                  ../src/serialport.cpp:330:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                       results->Set(Nan::New<v8::String>("dsr").ToLocalChecked(), Nan::New<v8::Boolean>(data->dsr));
                                                                                                                  ^
                  In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67,
                                   from ../../../nan/nan.h:58,
                                   from ../src/./serialport.h:6,
                                   from ../src/serialport.cpp:1:
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                  ../src/serialport.cpp:331:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                       results->Set(Nan::New<v8::String>("dcd").ToLocalChecked(), Nan::New<v8::Boolean>(data->dcd));
                                                                                                                  ^
                  In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67,
                                   from ../../../nan/nan.h:58,
                                   from ../src/./serialport.h:6,
                                   from ../src/serialport.cpp:1:
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:363:76: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate);
                                                                                              ^~~~~~~~~~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘void EIO_AfterGetBaudRate(uv_work_t*)’:
                  ../src/serialport.cpp:378:106: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::IntegerFactory<v8::Integer>::return_t)’
                       results->Set(Nan::New<v8::String>("baudRate").ToLocalChecked(), Nan::New<v8::Integer>(data->baudRate));
                                                                                                                            ^
                  In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67,
                                   from ../../../nan/nan.h:58,
                                   from ../src/./serialport.h:6,
                                   from ../src/serialport.cpp:1:
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:409:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain);
                                                                                        ^~~~~~~~~~~~~~
                  ../src/serialport.cpp: At global scope:
                  ../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses]
                   SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) {
                                              ^
                  ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses]
                   SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
                                                ^
                  In file included from ../../../nan/nan.h:58,
                                   from ../src/./serialport.h:6,
                                   from ../src/serialport.cpp:1:
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:787:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘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.18.1/include/node/node.h:821:3: note: in expansion of macro ‘NODE_MODULE_X’
                     NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                     ^~~~~~~~~~~~~
                  ../src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’
                   NODE_MODULE(serialport, init);
                   ^~~~~~~~~~~
                  make: *** [bindings.target.mk:112: Release/obj.target/bindings/src/serialport.o] Fehler 1
                  gyp ERR! build error
                  gyp ERR! stack Error: `make` failed with exit code: 2
                  gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
                  gyp ERR! stack     at ChildProcess.emit (events.js:400:28)
                  gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12)
                  gyp ERR! System Linux 5.10.63-v7l+
                  gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
                  gyp ERR! cwd /opt/iobroker/node_modules/iobroker.jeelink/node_modules/@serialport/bindings
                  gyp ERR! node -v v14.18.1
                  gyp ERR! node-gyp -v v5.1.0
                  gyp ERR! not ok
                  npm ERR! code ELIFECYCLE
                  npm ERR! errno 1
                  npm ERR! @serialport/bindings@2.0.8 install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild`
                  npm ERR! Exit status 1
                  npm ERR!
                  npm ERR! Failed at the @serialport/bindings@2.0.8 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/2021-11-20T09_52_25_659Z-debug.log
                   
                  Rebuild jeelink done
                  

                  Anhand des Outputs ist zu sehen, das serialport wohl Probleme macht, habe versucht, das nach der Anleitung oben direkt neu zu bauen, klappt leider auch nicht:

                  pi@raspi4:/opt/iobroker/node_modules/@serialport/bindings $ npm install --production
                   
                  > @serialport/bindings@2.0.8 install /opt/iobroker/node_modules/@serialport/bindings
                  > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
                   
                  prebuild-install WARN install No prebuilt binaries found (target=14.18.1 runtime=node arch=arm libc= platform=linux)
                  make: Verzeichnis „/opt/iobroker/node_modules/@serialport/bindings/build“ wird betreten
                    CXX(target) Release/obj.target/bindings/src/serialport.o
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:78:69: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
                                                                                       ^~~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:135:71: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate);
                                                                                         ^~~~~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:175:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose);
                                                                                        ^~~~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:215:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush);
                                                                                        ^~~~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:270:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet);
                                                                                      ^~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:314:68: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet);
                                                                                      ^~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘void EIO_AfterGet(uv_work_t*)’:
                  ../src/serialport.cpp:329:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                       results->Set(Nan::New<v8::String>("cts").ToLocalChecked(), Nan::New<v8::Boolean>(data->cts));
                                                                                                                  ^
                  In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67,
                                   from ../node_modules/nan/nan.h:58,
                                   from ../src/./serialport.h:6,
                                   from ../src/serialport.cpp:1:
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                  ../src/serialport.cpp:330:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                       results->Set(Nan::New<v8::String>("dsr").ToLocalChecked(), Nan::New<v8::Boolean>(data->dsr));
                                                                                                                  ^
                  In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67,
                                   from ../node_modules/nan/nan.h:58,
                                   from ../src/./serialport.h:6,
                                   from ../src/serialport.cpp:1:
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                  ../src/serialport.cpp:331:96: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::FactoryBase<v8::Boolean>::return_t)’
                       results->Set(Nan::New<v8::String>("dcd").ToLocalChecked(), Nan::New<v8::Boolean>(data->dcd));
                                                                                                                  ^
                  In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67,
                                   from ../node_modules/nan/nan.h:58,
                                   from ../src/./serialport.h:6,
                                   from ../src/serialport.cpp:1:
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:363:76: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate);
                                                                                              ^~~~~~~~~~~~~~~~~~~~
                  ../src/serialport.cpp: In function ‘void EIO_AfterGetBaudRate(uv_work_t*)’:
                  ../src/serialport.cpp:378:106: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, Nan::imp::IntegerFactory<v8::Integer>::return_t)’
                       results->Set(Nan::New<v8::String>("baudRate").ToLocalChecked(), Nan::New<v8::Integer>(data->baudRate));
                                                                                                                            ^
                  In file included from /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:67,
                                   from ../node_modules/nan/nan.h:58,
                                   from ../src/./serialport.h:6,
                                   from ../src/serialport.cpp:1:
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note:   candidate expects 3 arguments, 2 provided
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                     V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                                       ^~~
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note:   candidate expects 3 arguments, 2 provided
                  ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:
                  ../src/serialport.cpp:409:70: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
                     uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain);
                                                                                        ^~~~~~~~~~~~~~
                  ../src/serialport.cpp: At global scope:
                  ../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses]
                   SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) {
                                              ^
                  ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses]
                   SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
                                                ^
                  In file included from ../node_modules/nan/nan.h:58,
                                   from ../src/./serialport.h:6,
                                   from ../src/serialport.cpp:1:
                  /home/iobroker/.cache/node-gyp/14.18.1/include/node/node.h:787:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘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.18.1/include/node/node.h:821:3: note: in expansion of macro ‘NODE_MODULE_X’
                     NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                     ^~~~~~~~~~~~~
                  ../src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’
                   NODE_MODULE(serialport, init);
                   ^~~~~~~~~~~
                  make: *** [bindings.target.mk:112: Release/obj.target/bindings/src/serialport.o] Fehler 1
                  make: Verzeichnis „/opt/iobroker/node_modules/@serialport/bindings/build“ wird verlassen
                  gyp ERR! build error
                  gyp ERR! stack Error: `make` failed with exit code: 2
                  gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
                  gyp ERR! stack     at ChildProcess.emit (events.js:400:28)
                  gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12)
                  gyp ERR! System Linux 5.10.63-v7l+
                  gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
                  gyp ERR! cwd /opt/iobroker/node_modules/@serialport/bindings
                  gyp ERR! node -v v14.18.1
                  gyp ERR! node-gyp -v v5.1.0
                  gyp ERR! not ok
                  npm ERR! code ELIFECYCLE
                  npm ERR! errno 1
                  npm ERR! @serialport/bindings@2.0.8 install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild`
                  npm ERR! Exit status 1
                  npm ERR!
                  npm ERR! Failed at the @serialport/bindings@2.0.8 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/2021-11-20T09_54_34_853Z-debug.log
                  

                  Bin jetzt mit meinem Latein am Ende und bräuchte eure Hilfe.

                  js-controller ist 3.3.18, admin ist 5.x, weitere Daten zum System:

                  Plattform
                  linux
                  Betriebssystem
                  linux
                  Architektur
                  arm
                  CPUs
                  4
                  Geschwindigkeit
                  1500 MHz
                  Modell
                  ARMv7 Processor rev 3 (v7l)
                  RAM
                  7.71 GB
                  System-Betriebszeit
                  01:09:25
                  Node.js
                  v14.18.1 (Empfohlene Version v12.22.7)
                  NPM
                  6.14.15
                  Datenträgergröße
                  457.2 GB
                  freier Festplattenspeicher
                  425.39 GB
                  Anzahl der Adapter
                  363
                  Betriebszeit
                  00:47:26
                  Aktive Instanzen
                  18
                  location
                  /opt/iobroker/
                  Hostname
                  raspi4

                  Thomas Braun 1 Reply Last reply Reply Quote 0
                  • Thomas Braun
                    Thomas Braun Most Active @TepMan last edited by

                    @tepman
                    Ein separater Thread ist schon sinnvoll.
                    Hier geht es weiter:
                    https://forum.iobroker.net/topic/49521/jeelink-adapter-startet-nicht-mehr

                    1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 @Marty56 last edited by

                      @marty56 Das kann ich Dir nicht sagen ... EIn Jahr mindestens ... Zwei vllt

                      Thomas Braun Segway 2 Replies Last reply Reply Quote 1
                      • Thomas Braun
                        Thomas Braun Most Active @apollon77 last edited by Thomas Braun

                        @apollon77

                        Nee, max 6 Monate noch für v12:
                        EOL ist am 30.04.2022

                        476576b9-f666-463f-9c61-48ef5d1d36cc-image.png

                        1 Reply Last reply Reply Quote 0
                        • J
                          Jan1 last edited by

                          Ich finde die Update Diskussion immer wieder etwas lustig, da man früher oder später eh muss und ja, muss. Also somit hat sich die Frage wie lange man noch auf ner alten Version bleiben kann in sofern beantwortet. Man sucht sich ein Tag an dem man Lust und Zeit hat und macht es einfach, fertig.

                          Sollten danach tatsächlich Fehler auftauchen, dann meldet man diese, denn nur so werden die auch beseitigt.

                          1 Reply Last reply Reply Quote 1
                          • Segway
                            Segway @apollon77 last edited by

                            @apollon77
                            Mittlerweile wird ja nodejs 14 empfohlen.
                            Frage: Läuft Iobroker auch bereits unter nodejs16 ?

                            Thomas Braun 1 Reply Last reply Reply Quote 0
                            • Thomas Braun
                              Thomas Braun Most Active @Segway last edited by

                              @segway
                              Das dürfte stark von den jeweiligen Adaptern abhängen. Bei mir läuft es auch mit node16/17 und npm@8 im Testsystem.
                              Die Empfehlung ist aber ganz klar node 12/14 zu verwenden.

                              M 1 Reply Last reply Reply Quote 0
                              • M
                                marsmännchen @Thomas Braun last edited by

                                Hallo, beim Update auf Node.js 14
                                bekomme ich folgende Fehlermeldung:

                                Holen:1 http://archive.raspberrypi.org/debian buster InRelease [32,6 kB]
                                Holen:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15,0 kB]
                                Holen:3 https://deb.nodesource.com/node_12.x buster InRelease [4.584 B]
                                Holen:4 https://deb.nodesource.com/node_12.x buster/main armhf Packages [777 B]
                                Paketlisten werden gelesen... Fertig
                                E: Für das Depot »http://raspbian.raspberrypi.org/raspbian buster InRelease« wurde der »Suite«-Wert von »stable« in »oldstable« geändert.
                                N: Sie müssen dies explizit bestätigen, bevor Aktualisierungen von diesem Depot angewendet werden können. Lesen Sie die apt-secure(8)-Handbuchseite, wenn Sie we                         itere Informationen benötigen.
                                E: Für das Depot »http://archive.raspberrypi.org/debian buster InRelease« wurde  der »Suite«-Wert von »testing« in »oldstable« geändert.
                                N: Sie müssen dies explizit bestätigen, bevor Aktualisierungen von diesem Depot  angewendet werden können. Lesen Sie die apt-secure(8)-Handbuchseite, wenn Sie we                         itere Informationen benötigen.
                                Error executing command, exiting
                                
                                

                                Heißt das mein Buster ist zu alt?

                                No LSB modules are available.
                                Distributor ID: Raspbian
                                Description:    Raspbian GNU/Linux 10 (buster)
                                Release:        10
                                Codename:       buster
                                
                                

                                Mein Slave hat ordnungsgemäß das Update durchgeführt, da ist aber "bullseye"
                                Wie könnte ich da weiter machen?
                                MfG
                                Patrick

                                Thomas Braun J Homoran 3 Replies Last reply Reply Quote 0
                                • Thomas Braun
                                  Thomas Braun Most Active @marsmännchen last edited by

                                  @marsmännchen

                                  sudo apt update
                                  sudo apt dist-upgrade
                                  

                                  Ggf. Fragen zum Suite-Wert bestätigen.

                                  1 Reply Last reply Reply Quote 1
                                  • J
                                    Jan1 @marsmännchen last edited by Jan1

                                    @marsmännchen
                                    Du hast die Nodesource noch auf 12. Normal änderst die auf 14 und machst dann ganz normal ein System Update, dann meckert da auch nix 😉

                                    M Thomas Braun 2 Replies Last reply Reply Quote 1
                                    • Homoran
                                      Homoran Global Moderator Administrators @marsmännchen last edited by

                                      @marsmännchen sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:

                                      Heißt das mein Buster ist zu alt?

                                      nicht wirklich, aber es ist im Moment nicht (mehr) die aktuelle Version sondern oldstable

                                      1 Reply Last reply Reply Quote 1
                                      • M
                                        marsmännchen @Jan1 last edited by

                                        @jan1 @Thomas-Braun @Homoran

                                        Danke Ihr drei!!👍

                                        J 1 Reply Last reply Reply Quote 0
                                        • Thomas Braun
                                          Thomas Braun Most Active @Jan1 last edited by

                                          @jan1 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:

                                          machst dann ganz normal ein System Update, dann meckert da auch nix

                                          Das Meckern hat aber hier nichts mit nodejs zu tun. Da wäre auch mit node14 im Repo 'gemeckert' worden.

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            Jan1 @marsmännchen last edited by Jan1

                                            @marsmännchen
                                            Und/Oder gehst mir dem Buster auch gleich mal auf Bullseye hoch.

                                            @Thomas-Braun
                                            kommt bei mir ja nie vor, da immer aktuell 😉

                                            Thomas Braun 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            942
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            97
                                            812
                                            319898
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo