Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Update ioBroker klappt nicht - gelöst durch neuinstallation

    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

    Update ioBroker klappt nicht - gelöst durch neuinstallation

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

      @dlaurenz sagte in Update ioBroker klappt nicht:

      10.2.0

      Die NPM passt nicht zu NODE 18.18.1

      D 1 Reply Last reply Reply Quote 0
      • D
        DLaurenz @DJMarc75 last edited by

        @djmarc75

        laut iob diag ok....

        Nodejs-Installation:    /usr/bin/nodejs         v18.18.1
                                /usr/bin/node           v18.18.1
                                /usr/bin/npm            10.2.0
                                /usr/bin/npx            10.2.0
                                /usr/bin/corepack       0.21.0
         
        Recommended versions are nodejs  and npm
        Your nodejs installation is correct
        

        wie bekomme ich die hoch? bzw. welche version muss es sein?

        Codierknecht 1 Reply Last reply Reply Quote 0
        • D
          DLaurenz @Thomas Braun last edited by

          @thomas-braun sagte in Update ioBroker klappt nicht:

          @dlaurenz

          Buster ist tot und du hampelst da als root herum und für 1GB läuft da auch viel zu viel komisches Zeug mit.

          Was ist saltprojext? Was macht webmin auf der Kiste? Was sind das für seltsame mounts?

          ich muss gerade schmunzeln während das update zu bulls-eye läuft....

          ihr liefert selber ein Image mit buster aus?

          Image basiert auf dem aktuellen Raspberry Pi OS (Buster) Lite
          

          https://forum.iobroker.net/topic/41520/raspberry-os-lite-image-for-with-iobroker

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

            @dlaurenz sagte in Update ioBroker klappt nicht:

            Wie wahrscheinlich ist es, dass es am OS liegt?

            Egal. Die Version ist obsolet... TOT.

            @dlaurenz sagte in Update ioBroker klappt nicht:

            wie bekomme ich die hoch? bzw. welche version muss es sein?

            sudo apt install --reinstall nodejs
            
            D 1 Reply Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @DLaurenz last edited by

              @dlaurenz sagte in Update ioBroker klappt nicht:

              laut iob diag ok....

              Nö. Der sagt Dir lediglich, dass Node korrekt installiert ist.
              Der zur Node-Version passende NPM hat immer die "halbe" Versionsnummer.
              Node 18 also mit NPM 9. Node 20 dementsprechend NPM 10.

              Ohne @Thomas-Braun hier zu nahe treten oder seine Arbeit an der Ecke schmälern zu wollen: iob diag ist ein Hilfsmittel ... mehr nicht.
              Es nimmt einem nicht die Arbeit ab.

              "hampelst"....

              Das allererste was ein Linux-Admin lernt: Man agiert im System nicht als User "root".
              Alles was man mit der Hand am Arm im System treibt, wird allerhöchstens mit temporären Rechten per "sudo" ausgeführt. Da mit "root" unterwegs zu sein, ist reine Bequemlichkeit und führt in aller Regel zu Fehlern.
              Es gibt da so einen schönen Spruch, der sinngemäß lautet: "Nur ausgewiesene Profis sollten sich als root anmelden - und die werden es nicht tun"

              Ansonsten wurde ja schon erwähnt:
              Ein Pi3 mit 1 GB RAM ist die absolute Minimalausstattung und mittlerweile fast nicht mehr sinnvoll (produktiv) einsetzbar. Da noch zusätzliche Verwaltungstools einzusetzen verbietet sich fast von selbst.
              Debian "buster" liegt inzwischen 2 Versionen zurück und ist definitiv tot. Inzwischen gibt's auch offiziell "bookworm" für den Pi.

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

                @codierknecht sagte in Update ioBroker klappt nicht:

                iob diag ist ein Hilfsmittel ... mehr nicht.
                Es nimmt einem nicht die Arbeit ab.

                Mehr soll es auch nicht sein.

                1 Reply Last reply Reply Quote 2
                • Homoran
                  Homoran Global Moderator Administrators @DLaurenz last edited by

                  @dlaurenz sagte in Update ioBroker klappt nicht:

                  ihr liefert selber ein Image mit buster aus?

                  datum gelesen?
                  Das war 2021

                  D 1 Reply Last reply Reply Quote 2
                  • D
                    DLaurenz @Homoran last edited by

                    @homoran
                    genau, deswegen ist es auch offiziell verlinkt.... wenn etwas nicht mehr freigegeben oder supported ist, gehört es entsprechend makiert, macht man so...

                    Homoran 1 Reply Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @DLaurenz last edited by Homoran

                      @dlaurenz sagte in Update ioBroker klappt nicht:

                      @homoran
                      genau, deswegen ist es auch offiziell verlinkt.... wenn etwas nicht mehr freigegeben oder supported ist, gehört es entsprechend makiert, macht man so...

                      ????

                      Wenn du den Download nutzen würdest, würdest du ein aktuelle Image bekommen, kein Buster.

                      der Beitrag ist historisch. Den lässt man so.

                      1 Reply Last reply Reply Quote 0
                      • D
                        DLaurenz @Codierknecht last edited by

                        @codierknecht

                        können wir mal über die sinn oder unsinnhaftigkeit bei mir aufhören zu sprechen und uns dem problem widmen? bisher hat sich keiner die mühe gemacht, zu fragen warum dinge so laufen sondern es wird wie üblich der oberlehrer rausgekehrt...

                        ich kenn linux schon seit dem es noch bookware war, ich weiß also was ich tue oder nicht tue... das dürften so ca. 25 jahre sein...

                        danke!

                        Codierknecht 1 Reply Last reply Reply Quote 0
                        • D
                          DLaurenz @Thomas Braun last edited by

                          @thomas-braun

                          so erledigt:

                          root@io-fhem:~# apt install --reinstall nodejs
                          Paketlisten werden gelesen… Fertig
                          Abhängigkeitsbaum wird aufgebaut… Fertig
                          Statusinformationen werden eingelesen… Fertig
                          Die folgenden Pakete wurden automatisch installiert und werden nicht mehr benötigt:
                            libdns-export1110 libisc-export1105 openresolv
                          Verwenden Sie »apt autoremove«, um sie zu entfernen.
                          0 aktualisiert, 0 neu installiert, 1 erneut installiert, 0 zu entfernen und 1 nicht aktualisiert.
                          Es müssen noch 0 B von 26,7 MB an Archiven heruntergeladen werden.
                          Nach dieser Operation werden 0 B Plattenplatz zusätzlich benutzt.
                          (Lese Datenbank ... 97255 Dateien und Verzeichnisse sind derzeit installiert.)
                          Vorbereitung zum Entpacken von .../nodejs_18.18.1-1nodesource1_armhf.deb ...
                          Detected old npm client, removing...
                          Entpacken von nodejs (18.18.1-1nodesource1) über (18.18.1-1nodesource1) ...
                          nodejs (18.18.1-1nodesource1) wird eingerichtet ...
                          Trigger für man-db (2.9.4-2) werden verarbeitet ...
                          Prüfe Prozesse...
                          Prüfe Kandidaten...
                          Scanning processor microcode...
                          Prüfe Linux-Kernel...
                          
                          Der laufende Kernel ist aktuell.
                          
                          Fehler beim Ermitteln von verfügbaren Prozessor Mikrocode-Upgrades.
                          
                          Dienste werden neu gestartet...
                           systemctl restart iobroker.service
                          
                          Es müssen keine Container neu gestartet werden.
                          
                          Es gibt keine Nutzer-Sitzungen mit veralteten Prozessen.
                          root@io-fhem:~# npm -v
                          9.8.1
                          

                          übrigens OS auch aktualisiert:

                          root@io-fhem:~# cat /etc/os-release
                          PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
                          NAME="Raspbian GNU/Linux"
                          VERSION_ID="11"
                          VERSION="11 (bullseye)"
                          VERSION_CODENAME=bullseye
                          ID=raspbian
                          ID_LIKE=debian
                          HOME_URL="http://www.raspbian.org/"
                          SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
                          BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
                          

                          wie zu erwarten ist das alles NICHT DAS PROBLEM...

                          root@io-fhem:~# iob upgrade fritzdect --debug
                          
                          This upgrade of "fritzdect" will introduce the following changes:
                          ==========================================================================
                          -> 2.4.1:
                          correctionts reported by adapter-checker
                          
                          -> 2.4.0:
                          new function for routines, correction for templates
                          ==========================================================================
                          
                          Would you like to upgrade fritzdect from @2.3.1 to @2.4.1 now? [(y)es, (n)o]: y
                          Update fritzdect from @2.3.1 to @2.4.1
                          NPM version: 9.8.1
                          Installing iobroker.fritzdect@2.4.1... (System call)
                          npm ERR! code ENOTEMPTY
                          npm ERR! syscall rename
                          npm ERR! path /opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket
                          npm ERR! dest /opt/iobroker/node_modules/@abandonware/.bluetooth-hci-socket-0H6suKAo
                          npm ERR! errno -39
                          npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket' -> '/opt/iobroker/node_modules/@abandonware/.bluetooth-hci-socket-0H6suKAo'
                          
                          npm ERR! A complete log of this run can be found in: /home/iobroker/.npm/_logs/2023-10-12T09_12_07_605Z-debug-0.log
                          host.io-fhem Cannot install iobroker.fritzdect@2.4.1: 217
                          

                          achso - zur Auslastung des Systems: (die letzte 35 Tage)

                          2023-10-12 11_16_43-Checkmk Local site homelab - Service graphs CPU utilization, io-fhem.png 2023-10-12 11_16_08-Checkmk Local site homelab - Service graphs io-fhem, Memory.png

                          Last ist immer nur wenn Sicherungen laufen....

                          der macht genau 2 Dinge - zigbee gateway & fhem host (für selve rolläden) das war es dann auch schon

                          Könnten wir dann mit der analyse starten? das wäre fein

                          Thomas Braun Homoran 3 Replies Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @DLaurenz last edited by

                            @dlaurenz sagte in Update ioBroker klappt nicht:

                            wie zu erwarten ist das alles NICHT DAS PROBLEM...

                            Das hat auch NIEMAND behauptet.

                            1 Reply Last reply Reply Quote 0
                            • Codierknecht
                              Codierknecht Developer Most Active @DLaurenz last edited by

                              @dlaurenz sagte in Update ioBroker klappt nicht:

                              ich weiß also was ich tue oder nicht tue

                              Warum fragst Du dann hier nach?

                              Da Probleme beim Update des ioBroker nach meiner Erfahrung nicht an ihm sondern am Unterbau liegen, sollte das Beheben der Ursache ja kein Problem sein.

                              Ich bin dann hier raus.
                              Viel Erfolg!

                              1 Reply Last reply Reply Quote 1
                              • Homoran
                                Homoran Global Moderator Administrators @DLaurenz last edited by

                                @dlaurenz sagte in Update ioBroker klappt nicht:

                                wie zu erwarten ist das alles NICHT DAS PROBLEM...

                                bitte nicht als root arbeiten. Das kann alle möglichen Rechte verbiegen.

                                Bitte iob fix als user ausführen in der Hoffnung, dass der Fixer die Rechte wiederherstellen kann.

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

                                  @dlaurenz sagte in Update ioBroker klappt nicht:

                                  Könnten wir dann mit der analyse starten? das wäre fein

                                  *** FAILED SERVICES ***
                                    UNIT             LOAD   ACTIVE SUB    DESCRIPTION
                                  
                                  * iobroker.service loaded failed failed ioBroker Server
                                  

                                  Warum auch immer.

                                  Das bauen von serialport geht in die Hose:

                                  npm ERR! make: *** [bindings.target.mk:114: Release/obj.target/bindings/src/serialport.o] Fehler 1
                                  
                                  npm ERR! gyp ERR! build error
                                  
                                  npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
                                  

                                  Warum auch immer. Vielleicht wegen alter Versionen vom gcc...

                                  npm ERR! invalid: iobroker.js-controller@5.0.13 /opt/iobroker/node_modules/iobroker.js-controller
                                  

                                  Installier den js-controller nochmal drüber.

                                  cd /opt/iobroker
                                  sudo -H -u iobroker npm install iobroker.js-controller
                                  
                                  DJMarc75 1 Reply Last reply Reply Quote 0
                                  • D
                                    DLaurenz last edited by

                                    @thomas-braun

                                    danke...

                                    geht auch nicht weiter

                                    root@io-fhem:~# gcc -v
                                    Using built-in specs.
                                    COLLECT_GCC=gcc
                                    COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/10/lto-wrapper
                                    Target: arm-linux-gnueabihf
                                    Configured with: ../src/configure -v --with-pkgversion='Raspbian 10.2.1-6+rpi1' --with-bugurl=file:///usr/share/doc/gcc-10/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-10 --program-prefix=arm-linux-gnueabihf- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libitm --disable-libquadmath --disable-libquadmath-support --enable-plugin --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-sjlj-exceptions --with-arch=armv6 --with-fpu=vfp --with-float=hard --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
                                    Thread model: posix
                                    Supported LTO compression algorithms: zlib zstd
                                    gcc version 10.2.1 20210110 (Raspbian 10.2.1-6+rpi1)
                                    
                                    

                                    hier der output.... lösche ich dann das jeweiliger verzeichnis.... land ich wieder da
                                    iob fix

                                    root@io-fhem:~# cd /opt/iobroker
                                    root@io-fhem:/opt/iobroker# su - pi
                                    pi@io-fhem:~ $ cd /opt/iobroker/
                                    pi@io-fhem:/opt/iobroker $ sudo -H -u iobroker npm install iobroker.js-controller
                                    npm ERR! code ENOTEMPTY
                                    npm ERR! syscall rename
                                    npm ERR! path /opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket
                                    npm ERR! dest /opt/iobroker/node_modules/@abandonware/.bluetooth-hci-socket-0H6suKAo
                                    npm ERR! errno -39
                                    npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket' -> '/opt/iobroker/node_modules/@abandonware/.bluetooth-hci-socket-0H6suKAo'
                                    
                                    npm ERR! A complete log of this run can be found in: /home/iobroker/.npm/_logs/2023-10-12T09_59_41_164Z-debug-0.log
                                    

                                    hab jetzt noch mal iob fix laufen lassen und dann nochmal

                                    pi@io-fhem:/opt/iobroker $ iob fix
                                    library: loaded
                                    Library version=2023-10-10
                                    
                                    ==========================================================================
                                    
                                        Welcome to the ioBroker installation fixer!
                                        Script version: 2023-04-02
                                    
                                        You might need to enter your password a couple of times.
                                    
                                    ==========================================================================
                                    
                                    
                                    ==========================================================================
                                        Installing prerequisites (1/5)
                                    ==========================================================================
                                    
                                    OK:1 http://archive.raspberrypi.org/debian bullseye InRelease
                                    OK:2 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
                                    OK:3 https://deb.nodesource.com/node_18.x nodistro InRelease
                                    Ign:4 https://download.webmin.com/download/repository sarge InRelease
                                    OK:5 https://repo.saltproject.io/salt/py3/debian/11/arm64/latest bullseye InRelease
                                    OK:6 https://download.webmin.com/download/repository sarge Release
                                    Paketlisten werden gelesen… Fertig
                                    E: Paket gcc-c+ kann nicht gefunden werden.
                                    E: Mittels regulärem Ausdruck »gcc-c+« konnte kein Paket gefunden werden.
                                    Installed gcc-c++
                                    
                                    ==========================================================================
                                        Checking ioBroker user and directory permissions (2/5)
                                    ==========================================================================
                                    
                                    Created /etc/sudoers.d/iobroker
                                    Fixing directory permissions...
                                    
                                    ==========================================================================
                                        Check and cleanup npm temporary directories (3/5)
                                    ==========================================================================
                                    
                                    Done.
                                    
                                    ==========================================================================
                                        Database maintenance (4/5)
                                    ==========================================================================
                                    
                                    Checking for uncompressed JSONL databases... This might take a while!
                                    
                                    No relevant JSONL files found to compress, skip
                                    
                                    ==========================================================================
                                        Checking autostart (5/5)
                                    ==========================================================================
                                    
                                    Enabling autostart...
                                    Autostart enabled!
                                    
                                    ==========================================================================
                                    
                                        Your installation was fixed successfully
                                        Run iobroker start to start ioBroker again!
                                    
                                    ==========================================================================
                                    

                                    jetzt ist es etwas anders... was ist mit den ganzen depricated warnungen?

                                    pi@io-fhem:/opt/iobroker $ sudo -H -u iobroker npm install iobroker.js-controller
                                    npm WARN deprecated dgram@1.0.1: npm is holding this package for security reasons. As it's a core Node module, we will not transfer it over to other users. You may safely remove the package from your dependencies.
                                    npm WARN deprecated har-validator@5.1.5: this library is no longer supported
                                    npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
                                    npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
                                    npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
                                    npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
                                    npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
                                    npm WARN cleanup Failed to remove some directories [
                                    npm WARN cleanup   [
                                    npm WARN cleanup     '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket',
                                    npm WARN cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/build/Release'] {
                                    npm WARN cleanup       errno: -39,
                                    npm WARN cleanup       code: 'ENOTEMPTY',
                                    npm WARN cleanup       syscall: 'rmdir',
                                    npm WARN cleanup       path: '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/build/Release'
                                    npm WARN cleanup     }
                                    npm WARN cleanup   ],
                                    npm WARN cleanup   [
                                    npm WARN cleanup     '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket',
                                    npm WARN cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/build/Release'] {
                                    npm WARN cleanup       errno: -39,
                                    npm WARN cleanup       code: 'ENOTEMPTY',
                                    npm WARN cleanup       syscall: 'rmdir',
                                    npm WARN cleanup       path: '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/build/Release'
                                    npm WARN cleanup     }
                                    npm WARN cleanup   ]
                                    npm WARN cleanup ]
                                    npm ERR! code 1
                                    npm ERR! path /opt/iobroker/node_modules/@serialport/bindings
                                    npm ERR! command failed
                                    npm ERR! command sh -c prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
                                    npm ERR! make: Verzeichnis „/opt/iobroker/node_modules/@serialport/bindings/build“ wird betreten
                                    npm ERR!   CXX(target) Release/obj.target/bindings/src/serialport.o
                                    npm ERR! make: Verzeichnis „/opt/iobroker/node_modules/@serialport/bindings/build“ wird verlassen
                                    npm ERR! gyp info it worked if it ends with ok
                                    npm ERR! gyp info using node-gyp@9.4.0
                                    npm ERR! gyp info using node@18.18.1 | linux | arm
                                    npm ERR! gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
                                    npm ERR! gyp info spawn /usr/bin/python3
                                    npm ERR! gyp info spawn args [
                                    npm ERR! gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
                                    npm ERR! gyp info spawn args   'binding.gyp',
                                    npm ERR! gyp info spawn args   '-f',
                                    npm ERR! gyp info spawn args   'make',
                                    npm ERR! gyp info spawn args   '-I',
                                    npm ERR! gyp info spawn args   '/opt/iobroker/node_modules/@serialport/bindings/build/config.gypi',
                                    npm ERR! gyp info spawn args   '-I',
                                    npm ERR! gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
                                    npm ERR! gyp info spawn args   '-I',
                                    npm ERR! gyp info spawn args   '/home/iobroker/.cache/node-gyp/18.18.1/include/node/common.gypi',
                                    npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
                                    npm ERR! gyp info spawn args   '-Dvisibility=default',
                                    npm ERR! gyp info spawn args   '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/18.18.1',
                                    npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
                                    npm ERR! gyp info spawn args   '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/18.18.1/<(target_arch)/node.lib',
                                    npm ERR! gyp info spawn args   '-Dmodule_root_dir=/opt/iobroker/node_modules/@serialport/bindings',
                                    npm ERR! gyp info spawn args   '-Dnode_engine=v8',
                                    npm ERR! gyp info spawn args   '--depth=.',
                                    npm ERR! gyp info spawn args   '--no-parallel',
                                    npm ERR! gyp info spawn args   '--generator-output',
                                    npm ERR! gyp info spawn args   'build',
                                    npm ERR! gyp info spawn args   '-Goutput_dir=.'
                                    npm ERR! gyp info spawn args ]
                                    npm ERR! gyp info spawn make
                                    npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
                                    npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
                                    npm ERR! ../src/serialport.cpp:78:51: 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]
                                    npm ERR!    78 |   uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
                                    npm ERR!       |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
                                    npm ERR! ../src/serialport.cpp:135:53: 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]
                                    npm ERR!   135 |   uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate);
                                    npm ERR!       |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:
                                    npm ERR! ../src/serialport.cpp:175:52: 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]
                                    npm ERR!   175 |   uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose);
                                    npm ERR!       |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:
                                    npm ERR! ../src/serialport.cpp:215:52: 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]
                                    npm ERR!   215 |   uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush);
                                    npm ERR!       |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
                                    npm ERR! ../src/serialport.cpp:270:50: 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]
                                    npm ERR!   270 |   uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet);
                                    npm ERR!       |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’:
                                    npm ERR! ../src/serialport.cpp:314:50: 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]
                                    npm ERR!   314 |   uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet);
                                    npm ERR!       |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    npm ERR! ../src/serialport.cpp: In function ‘void EIO_AfterGet(uv_work_t*)’:
                                    npm ERR! ../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)’
                                    npm ERR!   329 |     results->Set(Nan::New<v8::String>("cts").ToLocalChecked(), Nan::New<v8::Boolean>(data->cts));
                                    npm ERR!       |                                                                                                ^
                                    npm ERR! In file included from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-array-buffer.h:13,
                                    npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8.h:24,
                                    npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:73,
                                    npm ERR!                  from ../../../nan/nan.h:62,
                                    npm ERR!                  from ../src/./serialport.h:6,
                                    npm ERR!                  from ../src/serialport.cpp:1:
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                                    npm ERR!   244 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    npm ERR!       |                                     ^~~
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note:   candidate expects 3 arguments, 2 provided
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                                    npm ERR!   247 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    npm ERR!       |                                     ^~~
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note:   candidate expects 3 arguments, 2 provided
                                    npm ERR! ../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)’
                                    npm ERR!   330 |     results->Set(Nan::New<v8::String>("dsr").ToLocalChecked(), Nan::New<v8::Boolean>(data->dsr));
                                    npm ERR!       |                                                                                                ^
                                    npm ERR! In file included from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-array-buffer.h:13,
                                    npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8.h:24,
                                    npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:73,
                                    npm ERR!                  from ../../../nan/nan.h:62,
                                    npm ERR!                  from ../src/./serialport.h:6,
                                    npm ERR!                  from ../src/serialport.cpp:1:
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                                    npm ERR!   244 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    npm ERR!       |                                     ^~~
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note:   candidate expects 3 arguments, 2 provided
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                                    npm ERR!   247 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    npm ERR!       |                                     ^~~
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note:   candidate expects 3 arguments, 2 provided
                                    npm ERR! ../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)’
                                    npm ERR!   331 |     results->Set(Nan::New<v8::String>("dcd").ToLocalChecked(), Nan::New<v8::Boolean>(data->dcd));
                                    npm ERR!       |                                                                                                ^
                                    npm ERR! In file included from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-array-buffer.h:13,
                                    npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8.h:24,
                                    npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:73,
                                    npm ERR!                  from ../../../nan/nan.h:62,
                                    npm ERR!                  from ../src/./serialport.h:6,
                                    npm ERR!                  from ../src/serialport.cpp:1:
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                                    npm ERR!   244 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    npm ERR!       |                                     ^~~
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note:   candidate expects 3 arguments, 2 provided
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                                    npm ERR!   247 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    npm ERR!       |                                     ^~~
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note:   candidate expects 3 arguments, 2 provided
                                    npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’:
                                    npm ERR! ../src/serialport.cpp:363:58: 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]
                                    npm ERR!   363 |   uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate);
                                    npm ERR!       |                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    npm ERR! ../src/serialport.cpp: In function ‘void EIO_AfterGetBaudRate(uv_work_t*)’:
                                    npm ERR! ../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)’
                                    npm ERR!   378 |     results->Set(Nan::New<v8::String>("baudRate").ToLocalChecked(), Nan::New<v8::Integer>(data->baudRate));
                                    npm ERR!       |                                                                                                          ^
                                    npm ERR! In file included from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-array-buffer.h:13,
                                    npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8.h:24,
                                    npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:73,
                                    npm ERR!                  from ../../../nan/nan.h:62,
                                    npm ERR!                  from ../src/./serialport.h:6,
                                    npm ERR!                  from ../src/serialport.cpp:1:
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                                    npm ERR!   244 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    npm ERR!       |                                     ^~~
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note:   candidate expects 3 arguments, 2 provided
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                                    npm ERR!   247 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    npm ERR!       |                                     ^~~
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note:   candidate expects 3 arguments, 2 provided
                                    npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:
                                    npm ERR! ../src/serialport.cpp:409:52: 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]
                                    npm ERR!   409 |   uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain);
                                    npm ERR!       |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    npm ERR! ../src/serialport.cpp: At global scope:
                                    npm ERR! ../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses]
                                    npm ERR!   430 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) {
                                    npm ERR!       |                            ^
                                    npm ERR! ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses]
                                    npm ERR!   449 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
                                    npm ERR!       |                              ^
                                    npm ERR! In file included from ../../../nan/nan.h:62,
                                    npm ERR!                  from ../src/./serialport.h:6,
                                    npm ERR!                  from ../src/serialport.cpp:1:
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:1014:7: 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]
                                    npm ERR!  1014 |       (node::addon_register_func) (regfunc),                          \
                                    npm ERR!       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                    npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:1048:3: note: in expansion of macro ‘NODE_MODULE_X’
                                    npm ERR!  1048 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                                    npm ERR!       |   ^~~~~~~~~~~~~
                                    npm ERR! ../src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’
                                    npm ERR!   483 | NODE_MODULE(serialport, init);
                                    npm ERR!       | ^~~~~~~~~~~
                                    npm ERR! make: *** [bindings.target.mk:114: Release/obj.target/bindings/src/serialport.o] Fehler 1
                                    npm ERR! gyp ERR! build error
                                    npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
                                    npm ERR! gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:203:23)
                                    npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:517:28)
                                    npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:292:12)
                                    npm ERR! gyp ERR! System Linux 5.10.103-v7+
                                    npm ERR! gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
                                    npm ERR! gyp ERR! cwd /opt/iobroker/node_modules/@serialport/bindings
                                    npm ERR! gyp ERR! node -v v18.18.1
                                    npm ERR! gyp ERR! node-gyp -v v9.4.0
                                    npm ERR! gyp ERR! not ok
                                    
                                    npm ERR! A complete log of this run can be found in: /home/iobroker/.npm/_logs/2023-10-12T10_03_57_827Z-debug-0.log
                                    
                                    

                                    Der witz ist, die datei ist während des befehls erstellt worden:

                                    pi@io-fhem:/opt/iobroker $ ls -la /opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/build/Release
                                    insgesamt 72
                                    drwxrwxr-x+ 2 iobroker iobroker  4096 12. Okt 12:06 .
                                    drwxrwxr-x+ 3 iobroker iobroker  4096 12. Okt 12:06 ..
                                    -rwxrwxr-x+ 2 iobroker iobroker 62052 12. Okt 12:06 bluetooth_hci_socket.node
                                    
                                    Qix- created this issue in visionmedia/debug

                                    closed ReDos Vulnerability Regression Visibility Notice #797

                                    Qix- created this issue in visionmedia/debug

                                    closed ReDos Vulnerability Regression Visibility Notice #797

                                    Qix- created this issue in visionmedia/debug

                                    closed ReDos Vulnerability Regression Visibility Notice #797

                                    mikeal created this issue in request/request

                                    open Request’s Past, Present and Future #3142

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • DJMarc75
                                      DJMarc75 @Thomas Braun last edited by

                                      @thomas-braun

                                      https://forum.iobroker.net/topic/69038/iobroker-fix/5

                                      dort scheint u.U. das selbe Problem zu sein - kann mich aber auch täuschen

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        DLaurenz last edited by

                                        @djmarc75

                                        die meldung hatte ich auch gesehen - gibt aber kein gcc-c++ paket unter debian

                                        1 Reply Last reply Reply Quote 0
                                        • Homoran
                                          Homoran Global Moderator Administrators @DLaurenz last edited by

                                          @dlaurenz enotempty und code 25 erinnert mich an https://forum.iobroker.net/topic/57337/fehler-25-217-oder-enotempty-bei-adapter-install-update

                                          D 1 Reply Last reply Reply Quote 0
                                          • D
                                            DLaurenz @Homoran last edited by

                                            @homoran

                                            auch schon x-mal gemacht...

                                            pi@io-fhem:~ $ find "/opt/iobroker/node_modules" -type d -iname ".*-????????" ! -iname ".local-chromium" -exec echo {} \;
                                            pi@io-fhem:~ $ sudo -H -u iobroker npm install iobroker.js-controller
                                            npm notice
                                            npm notice New major version of npm available! 9.8.1 -> 10.2.0
                                            npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.2.0
                                            npm notice Run npm install -g npm@10.2.0 to update!
                                            npm notice
                                            npm ERR! code EACCES
                                            npm ERR! syscall mkdir
                                            npm ERR! path /home/pi/node_modules
                                            npm ERR! errno -13
                                            npm ERR! Error: EACCES: permission denied, mkdir '/home/pi/node_modules'
                                            npm ERR!  [Error: EACCES: permission denied, mkdir '/home/pi/node_modules'] {
                                            npm ERR!   errno: -13,
                                            npm ERR!   code: 'EACCES',
                                            npm ERR!   syscall: 'mkdir',
                                            npm ERR!   path: '/home/pi/node_modules'
                                            npm ERR! }
                                            npm ERR!
                                            npm ERR! The operation was rejected by your operating system.
                                            npm ERR! It is likely you do not have the permissions to access this file as the current user
                                            npm ERR!
                                            npm ERR! If you believe this might be a permissions issue, please double-check the
                                            npm ERR! permissions of the file and its containing directories, or try running
                                            npm ERR! the command again as root/Administrator.
                                            
                                            npm ERR! A complete log of this run can be found in: /home/iobroker/.npm/_logs/2023-10-12T10_31_49_005Z-debug-0.log
                                            pi@io-fhem:~ $ cd /opt/iobroker/
                                            pi@io-fhem:/opt/iobroker $ sudo -H -u iobroker npm install iobroker.js-controller
                                            npm WARN deprecated dgram@1.0.1: npm is holding this package for security reasons. As it's a core Node module, we will not transfer it over to other users. You may safely remove the package from your dependencies.
                                            npm WARN deprecated har-validator@5.1.5: this library is no longer supported
                                            npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
                                            npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
                                            npm WARN deprecated debug@4.1.1: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
                                            npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
                                            npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
                                            npm WARN cleanup Failed to remove some directories [
                                            npm WARN cleanup   [
                                            npm WARN cleanup     '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket',
                                            npm WARN cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/lib'] {
                                            npm WARN cleanup       errno: -39,
                                            npm WARN cleanup       code: 'ENOTEMPTY',
                                            npm WARN cleanup       syscall: 'rmdir',
                                            npm WARN cleanup       path: '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/lib'
                                            npm WARN cleanup     }
                                            npm WARN cleanup   ],
                                            npm WARN cleanup   [
                                            npm WARN cleanup     '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket',
                                            npm WARN cleanup     [Error: ENOTEMPTY: directory not empty, rmdir '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/lib'] {
                                            npm WARN cleanup       errno: -39,
                                            npm WARN cleanup       code: 'ENOTEMPTY',
                                            npm WARN cleanup       syscall: 'rmdir',
                                            npm WARN cleanup       path: '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/lib'
                                            npm WARN cleanup     }
                                            npm WARN cleanup   ]
                                            npm WARN cleanup ]
                                            npm ERR! code 1
                                            npm ERR! path /opt/iobroker/node_modules/@serialport/bindings
                                            npm ERR! command failed
                                            npm ERR! command sh -c prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild
                                            npm ERR! make: Verzeichnis „/opt/iobroker/node_modules/@serialport/bindings/build“ wird betreten
                                            npm ERR!   CXX(target) Release/obj.target/bindings/src/serialport.o
                                            npm ERR! make: Verzeichnis „/opt/iobroker/node_modules/@serialport/bindings/build“ wird verlassen
                                            npm ERR! gyp info it worked if it ends with ok
                                            npm ERR! gyp info using node-gyp@9.4.0
                                            npm ERR! gyp info using node@18.18.1 | linux | arm
                                            npm ERR! gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
                                            npm ERR! gyp info spawn /usr/bin/python3
                                            npm ERR! gyp info spawn args [
                                            npm ERR! gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
                                            npm ERR! gyp info spawn args   'binding.gyp',
                                            npm ERR! gyp info spawn args   '-f',
                                            npm ERR! gyp info spawn args   'make',
                                            npm ERR! gyp info spawn args   '-I',
                                            npm ERR! gyp info spawn args   '/opt/iobroker/node_modules/@serialport/bindings/build/config.gypi',
                                            npm ERR! gyp info spawn args   '-I',
                                            npm ERR! gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
                                            npm ERR! gyp info spawn args   '-I',
                                            npm ERR! gyp info spawn args   '/home/iobroker/.cache/node-gyp/18.18.1/include/node/common.gypi',
                                            npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
                                            npm ERR! gyp info spawn args   '-Dvisibility=default',
                                            npm ERR! gyp info spawn args   '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/18.18.1',
                                            npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
                                            npm ERR! gyp info spawn args   '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/18.18.1/<(target_arch)/node.lib',
                                            npm ERR! gyp info spawn args   '-Dmodule_root_dir=/opt/iobroker/node_modules/@serialport/bindings',
                                            npm ERR! gyp info spawn args   '-Dnode_engine=v8',
                                            npm ERR! gyp info spawn args   '--depth=.',
                                            npm ERR! gyp info spawn args   '--no-parallel',
                                            npm ERR! gyp info spawn args   '--generator-output',
                                            npm ERR! gyp info spawn args   'build',
                                            npm ERR! gyp info spawn args   '-Goutput_dir=.'
                                            npm ERR! gyp info spawn args ]
                                            npm ERR! gyp info spawn make
                                            npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
                                            npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’:
                                            npm ERR! ../src/serialport.cpp:78:51: 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]
                                            npm ERR!    78 |   uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen);
                                            npm ERR!       |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:
                                            npm ERR! ../src/serialport.cpp:135:53: 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]
                                            npm ERR!   135 |   uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate);
                                            npm ERR!       |                                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:
                                            npm ERR! ../src/serialport.cpp:175:52: 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]
                                            npm ERR!   175 |   uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose);
                                            npm ERR!       |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:
                                            npm ERR! ../src/serialport.cpp:215:52: 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]
                                            npm ERR!   215 |   uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush);
                                            npm ERR!       |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’:
                                            npm ERR! ../src/serialport.cpp:270:50: 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]
                                            npm ERR!   270 |   uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet);
                                            npm ERR!       |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’:
                                            npm ERR! ../src/serialport.cpp:314:50: 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]
                                            npm ERR!   314 |   uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet);
                                            npm ERR!       |                                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            npm ERR! ../src/serialport.cpp: In function ‘void EIO_AfterGet(uv_work_t*)’:
                                            npm ERR! ../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)’
                                            npm ERR!   329 |     results->Set(Nan::New<v8::String>("cts").ToLocalChecked(), Nan::New<v8::Boolean>(data->cts));
                                            npm ERR!       |                                                                                                ^
                                            npm ERR! In file included from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-array-buffer.h:13,
                                            npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8.h:24,
                                            npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:73,
                                            npm ERR!                  from ../../../nan/nan.h:62,
                                            npm ERR!                  from ../src/./serialport.h:6,
                                            npm ERR!                  from ../src/serialport.cpp:1:
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                                            npm ERR!   244 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                            npm ERR!       |                                     ^~~
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note:   candidate expects 3 arguments, 2 provided
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                                            npm ERR!   247 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                            npm ERR!       |                                     ^~~
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note:   candidate expects 3 arguments, 2 provided
                                            npm ERR! ../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)’
                                            npm ERR!   330 |     results->Set(Nan::New<v8::String>("dsr").ToLocalChecked(), Nan::New<v8::Boolean>(data->dsr));
                                            npm ERR!       |                                                                                                ^
                                            npm ERR! In file included from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-array-buffer.h:13,
                                            npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8.h:24,
                                            npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:73,
                                            npm ERR!                  from ../../../nan/nan.h:62,
                                            npm ERR!                  from ../src/./serialport.h:6,
                                            npm ERR!                  from ../src/serialport.cpp:1:
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                                            npm ERR!   244 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                            npm ERR!       |                                     ^~~
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note:   candidate expects 3 arguments, 2 provided
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                                            npm ERR!   247 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                            npm ERR!       |                                     ^~~
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note:   candidate expects 3 arguments, 2 provided
                                            npm ERR! ../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)’
                                            npm ERR!   331 |     results->Set(Nan::New<v8::String>("dcd").ToLocalChecked(), Nan::New<v8::Boolean>(data->dcd));
                                            npm ERR!       |                                                                                                ^
                                            npm ERR! In file included from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-array-buffer.h:13,
                                            npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8.h:24,
                                            npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:73,
                                            npm ERR!                  from ../../../nan/nan.h:62,
                                            npm ERR!                  from ../src/./serialport.h:6,
                                            npm ERR!                  from ../src/serialport.cpp:1:
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                                            npm ERR!   244 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                            npm ERR!       |                                     ^~~
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note:   candidate expects 3 arguments, 2 provided
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                                            npm ERR!   247 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                            npm ERR!       |                                     ^~~
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note:   candidate expects 3 arguments, 2 provided
                                            npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’:
                                            npm ERR! ../src/serialport.cpp:363:58: 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]
                                            npm ERR!   363 |   uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate);
                                            npm ERR!       |                                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            npm ERR! ../src/serialport.cpp: In function ‘void EIO_AfterGetBaudRate(uv_work_t*)’:
                                            npm ERR! ../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)’
                                            npm ERR!   378 |     results->Set(Nan::New<v8::String>("baudRate").ToLocalChecked(), Nan::New<v8::Integer>(data->baudRate));
                                            npm ERR!       |                                                                                                          ^
                                            npm ERR! In file included from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-array-buffer.h:13,
                                            npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8.h:24,
                                            npm ERR!                  from /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:73,
                                            npm ERR!                  from ../../../nan/nan.h:62,
                                            npm ERR!                  from ../src/./serialport.h:6,
                                            npm ERR!                  from ../src/serialport.cpp:1:
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
                                            npm ERR!   244 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                            npm ERR!       |                                     ^~~
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:244:37: note:   candidate expects 3 arguments, 2 provided
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
                                            npm ERR!   247 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                            npm ERR!       |                                     ^~~
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/v8-object.h:247:37: note:   candidate expects 3 arguments, 2 provided
                                            npm ERR! ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’:
                                            npm ERR! ../src/serialport.cpp:409:52: 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]
                                            npm ERR!   409 |   uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain);
                                            npm ERR!       |                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            npm ERR! ../src/serialport.cpp: At global scope:
                                            npm ERR! ../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses]
                                            npm ERR!   430 | SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local<v8::String>& v8str)) {
                                            npm ERR!       |                            ^
                                            npm ERR! ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses]
                                            npm ERR!   449 | SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) {
                                            npm ERR!       |                              ^
                                            npm ERR! In file included from ../../../nan/nan.h:62,
                                            npm ERR!                  from ../src/./serialport.h:6,
                                            npm ERR!                  from ../src/serialport.cpp:1:
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:1014:7: 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]
                                            npm ERR!  1014 |       (node::addon_register_func) (regfunc),                          \
                                            npm ERR!       |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                                            npm ERR! /home/iobroker/.cache/node-gyp/18.18.1/include/node/node.h:1048:3: note: in expansion of macro ‘NODE_MODULE_X’
                                            npm ERR!  1048 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
                                            npm ERR!       |   ^~~~~~~~~~~~~
                                            npm ERR! ../src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’
                                            npm ERR!   483 | NODE_MODULE(serialport, init);
                                            npm ERR!       | ^~~~~~~~~~~
                                            npm ERR! make: *** [bindings.target.mk:114: Release/obj.target/bindings/src/serialport.o] Fehler 1
                                            npm ERR! gyp ERR! build error
                                            npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
                                            npm ERR! gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:203:23)
                                            npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:517:28)
                                            npm ERR! gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:292:12)
                                            npm ERR! gyp ERR! System Linux 5.10.103-v7+
                                            npm ERR! gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
                                            npm ERR! gyp ERR! cwd /opt/iobroker/node_modules/@serialport/bindings
                                            npm ERR! gyp ERR! node -v v18.18.1
                                            npm ERR! gyp ERR! node-gyp -v v9.4.0
                                            npm ERR! gyp ERR! not ok
                                            
                                            npm ERR! A complete log of this run can be found in: /home/iobroker/.npm/_logs/2023-10-12T10_33_16_805Z-debug-0.log
                                            
                                            Qix- created this issue in visionmedia/debug

                                            closed ReDos Vulnerability Regression Visibility Notice #797

                                            Qix- created this issue in visionmedia/debug

                                            closed ReDos Vulnerability Regression Visibility Notice #797

                                            Qix- created this issue in visionmedia/debug

                                            closed ReDos Vulnerability Regression Visibility Notice #797

                                            mikeal created this issue in request/request

                                            open Request’s Past, Present and Future #3142

                                            ? Thomas Braun Homoran 3 Replies 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

                                            868
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            42
                                            2438
                                            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