Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Adapter für mehrere RPI

    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

    Adapter für mehrere RPI

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      e-i-k-e last edited by

      @Stabilostick:

      So eine Meldung hatte ich, als ich „aus versehen" 'socket.io 2.1.1' inklusive 'engine-io 3.2.0' installiert hatte, ohne den 'socket.io-client' auf @latest upzudaten (passiert alles im '/opt/iobroker/node_modules'-Ordner).

      War bei mir (echt, keine Kopie Deiner Meldung), wenn der Admin starten sollte:

      undefined Error: server error
          at Socket.onPacket (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\socket.js:445:19)
          at XHR. <anonymous>(C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\socket.js:268:10)
          at XHR.Emitter.emit (C:\dev\iobroker\node_modules\socket.io-client\node_modules\component-emitter\index.js:133:20)
          at XHR.Transport.onPacket (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\transport.js:145:8)
          at callback (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\transports\polling.js:144:10)
          at Object.exports.decodePayload (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-parser\lib\index.js:309:18)
          at XHR.Polling.onData (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\transports\polling.js:148:10)
          at Request. <anonymous>(C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\transports\polling-xhr.js:126:10)
          at Request.Emitter.emit (C:\dev\iobroker\node_modules\socket.io-client\node_modules\component-emitter\index.js:133:20)
          at Request.onData (C:\dev\iobroker\node_modules\socket.io-client\node_modules\engine.io-client\lib\transports\polling-xhr.js:296:8)</anonymous></anonymous>
      

      100% gleich!

      Vorschlag so als Anregung & Verdacht zur Ausführung im /opt/iobroker-Ordner zum Versionsprüfen:

      >npm ls socket.io
      >npm ls engine.io
      >npm ls socket.io-client
      >npm ls engine.io-client
      

      socket.io sollte v1.7.2 und engine.io v1.8.2 sein. Mit socket.io v2.1.1 ist ggf. noch nicht gut Kirschen essen, auch wenn der uWS in engine.io als default herausgenommen wurde.

      Wenn Version zu hoch: (Vorsicht!) engine-io und socket.io im /opt/iobroker-Ordner mit npm ohne '-g' deinstallieren und mit stable wieder herstellen.

      Zu technisch von mir? [emoji53] `

      So siehts bei mir aus.

      root@raspberrypi-display1:~# npm ls socket.io
      iobroker.inst@1.1.2 /root
      ├─┬ iobroker.admin@3.4.7
      │ └── socket.io@1.7.2
      └─┬ iobroker.js-controller@1.2.3
        └── socket.io@1.7.4
      
      
      root@raspberrypi-display1:~# npm ls engine.io
      iobroker.inst@1.1.2 /root
      ├─┬ iobroker.admin@3.4.7
      │ └─┬ socket.io@1.7.2
      │   └── engine.io@1.8.2
      └─┬ iobroker.js-controller@1.2.3
        └─┬ socket.io@1.7.4
          └── engine.io@1.8.5
      
      
      root@raspberrypi-display1:~# npm ls socket.io-client
      iobroker.inst@1.1.2 /root
      ├─┬ iobroker.admin@3.4.7
      │ └─┬ socket.io@1.7.2
      │   └── socket.io-client@1.7.2
      └─┬ iobroker.js-controller@1.2.3
        ├─┬ socket.io@1.7.4
        │ └── socket.io-client@1.7.4  deduped
        └── socket.io-client@1.7.4
      
      
      root@raspberrypi-display1:~# npm ls engine.io-client
      iobroker.inst@1.1.2 /root
      ├─┬ iobroker.admin@3.4.7
      │ └─┬ socket.io@1.7.2
      │   └─┬ socket.io-client@1.7.2
      │     └── engine.io-client@1.8.2
      └─┬ iobroker.js-controller@1.2.3
        └─┬ socket.io-client@1.7.4
          └── engine.io-client@1.8.5
      
      
      1 Reply Last reply Reply Quote 0
      • Stabilostick
        Stabilostick last edited by

        Hmm, schaut ganz gut aus. Ich habe mir gestern einen RPI mit ioBroker selbst installiert und habe die gleichen Versionen drauf wie Du, außer jeweils beim js-controller. Der hat bei mir zwar die gleiche Version 1.2.3, habe aber bei socket.io(-client) die 1.7.2 und bei engine.io(-client) die 1.8.2

        Ob das aber etwas ausmacht, weiß ich leider nicht. Vieleicht bin ich hier auch auf der falschen Fährte und das Ganze weist einfach auf ein Kommunikationsproblem mit dem Master hin…

        Trotzdem: Was sagten die Befehle von oben auf dem Master ausgeführt?

        1 Reply Last reply Reply Quote 0
        • E
          e-i-k-e last edited by

          Beim Master sieht es wie folgt aus.

          pi@sudoraspi-config:~ $ npm ls socket.io
          iobroker.inst@1.1.2 /home/pi
          ├─┬ iobroker.admin@2.0.9
          │ └── socket.io@1.7.4
          └─┬ iobroker.js-controller@1.2.3
            └── socket.io@1.7.4  deduped
          
          
          pi@sudoraspi-config:~ $ npm ls engine.io
          iobroker.inst@1.1.2 /home/pi
          └─┬ iobroker.admin@2.0.9
            └─┬ socket.io@1.7.4
              └── engine.io@1.8.5
          
             ╭─────────────────────────────────────╮
             │                                     │
             │   Update available 5.8.0 → 6.2.0    │
             │       Run npm i npm to update       │
             │                                     │
             ╰─────────────────────────────────────╯
          
          
          pi@sudoraspi-config:~ $ npm ls socket.io-client
          iobroker.inst@1.1.2 /home/pi
          ├─┬ iobroker.admin@2.0.9
          │ └─┬ socket.io@1.7.4
          │   └── socket.io-client@1.7.4  deduped
          └─┬ iobroker.js-controller@1.2.3
            └── socket.io-client@1.7.4
          
          
          pi@sudoraspi-config:~ $ npm ls engine.io-client
          iobroker.inst@1.1.2 /home/pi
          └─┬ iobroker.js-controller@1.2.3
            └─┬ socket.io-client@1.7.4
              └── engine.io-client@1.8.5
          
          

          ______________________________________________________________________________________________________-

          Ist das normal?

          (Slave)

          ` > root@raspberrypi-display1:~# cd /opt/iobroker

          root@raspberrypi-display1:/opt/iobroker# iobroker list instances

          undefined server error

          undefined Error: server error

          at Socket.onPacket (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:445:19)

          at XHR. <anonymous>(/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:268:10)

          at XHR.Emitter.emit (/root/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)

          at XHR.Transport.onPacket (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:145:8)

          at callback (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling.js:144:10)

          at Object.exports.decodePayload (/root/node_modules/engine.io-parser/lib/index.js:309:18)

          at XHR.Polling.onData (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling.js:148:10)

          at Request. <anonymous>(/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling-xhr.js:126:10)

          at Request.Emitter.emit (/root/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)

          at Request.onData (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling-xhr.js:296:8)</anonymous></anonymous> `

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

            Auch gut. Das npm-Update brauchst Du nicht zu machen. Die Version 5.8.0 ist in Ordnung.

            Jetzt weiß ich nicht mehr weiter. Wenn du den RPI wieder zum Master machst, geht alles? Nach welcher Anleitung gehst Du beim Verbinden vor?

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

              Und: Nutzt Du Redis?

              1 Reply Last reply Reply Quote 0
              • E
                e-i-k-e last edited by

                Ich bin nach dieser Anleitung vorgegangen.

                http://www.iobroker.net/docu/?page_id=3068&lang=de

                Redis habe ich zum Testen aktiviert.

                iobroker setup custom
                type of states DB [file, redis], default [file] : redis
                

                Zuvor habe ich die ip unter geändert.

                nano /etc/redis/redis.conf
                bind 0.0.0.0
                

                Habe es danach aber wieder auf default gestellt.

                Ob file oder redis, brachte keine Verbesserung.

                Was mir aber aufgefallen ist, unter:

                Host of objects DB(file), default[127.0.0.1]
                

                wird keine andere IP Adresse (Master: 0.0.0.0, Slave: 192.168.178.35) übernommenen/gespeichert.

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

                  Sollte aber.

                  Woran machst du das fest?

                  Beim nächsten Aufruf steht da erst einmal der default Wert.

                  Da musst du in der iobrojer.conf (?) Nachsehen.

                  Gruß Rainer

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

                    Datei /opt/iobroker/iobroker-data/iobroker.json

                    Bei lokaler DB:

                    {
                      "system": {
                        "memoryLimitMB": 0,
                        "hostname": ""
                      },
                      "multihostService": {
                        "enabled": false,
                        "secure": true
                      },
                      "network": {
                        "IPv4": true,
                        "IPv6": true,
                        "bindAddress": null,
                        "useSystemNpm": true
                      },
                      "objects": {
                        "type": "file",
                        "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379], couch - [port 5984].",
                        "host": "127.0.0.1",
                        "port": 9001,
                        "user": "",
                        "pass": "",
                        "noFileCache": false,
                        "connectTimeout": 2000
                      },
                      "states": {
                        "type": "file",
                        "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379].",
                        "host": "127.0.0.1",
                        "port": 9000,
                        "maxQueue": 1000,
                        "options": {
                          "auth_pass": null,
                          "retry_max_delay": 15000
                        }
                      },
                    [...]
                    
                    1 Reply Last reply Reply Quote 0
                    • E
                      e-i-k-e last edited by

                      Das ist auch alles merkwürdig. 😐

                      Die IP wurde richtig übernommen.

                      Anbei der Code vom Master

                        "system": {
                          "memoryLimitMB": 0,
                          "hostname": ""
                        },
                        "multihostService": {
                          "enabled": true,
                          "secure": true,
                          "password": "muster"
                        },
                        "network": {
                          "IPv4": true,
                          "IPv6": true,
                          "bindAddress": null,
                          "useSystemNpm": true
                        },
                        "objects": {
                          "type": "file",
                          "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379],$
                          "memoryLimitMB": 0,
                          "hostname": ""
                        },
                        "multihostService": {
                          "enabled": true,
                          "secure": true,
                          "password": "muster"
                        },
                        "network": {
                          "IPv4": true,
                          "IPv6": true,
                          "bindAddress": null,
                          "useSystemNpm": true
                        },
                        "objects": {
                          "type": "file",
                          "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379],$
                          "host": "0.0.0.0",
                          "port": 9001,
                       "pass": "",
                          "noFileCache": false,
                          "connectTimeout": 2000
                        },
                        "states": {
                          "type": "file",
                          "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379$
                          "host": "0.0.0.0",
                          "port": 9000,
                          "maxQueue": 1000,
                          "options": {
                            "auth_pass": null,
                            "retry_max_delay": 15000
                          }
                        },
                        "log": {
                          "level": "info",
                          "maxDays": 7,
                          "noStdout": true,
                           "file1": {
                              "type": "file",
                              "enabled": true,
                              "filename": "log/iobroker",
                              "fileext": ".log",
                              "maxsize": null,
                              "maxFiles": null
                            },
                            "syslog1": { "enabled": false,
                              "host": "localhost",
                              "host_comment": "The host running syslogd, defaults to localhost.",
                              "port_comment": "The port on the host that syslog is running on, defaul$
                              "protocol": "udp4",
                              "protocol_comment": "The network protocol to log over (e.g. tcp4, udp4,$
                              "path_comment": "The path to the syslog dgram socket (i.e. /dev/log or $
                              "facility_comment": "Syslog facility to use (Default: local0).",
                              "localhost": "iobroker",
                      
                      $ng from (Default: localhost).",
                              "sysLogType_comment": "The type of the syslog protocol to use (Default:$
                              "app_name_comment": "The name of the application (Default: process.titl$
                              "eol_comment": "The end of line character to be added to the end of the$
                            }
                          }
                        },
                        "dataDirComment": "Always relative to iobroker.js-controller/",
                        "dataDir": "../../iobroker-data/"
                      }
                      
                      

                      Vom Slave

                        "system": {
                          "memoryLimitMB": 0,
                          "hostname": ""
                        },
                        "multihostService": {
                          "enabled": false,
                          "secure": true
                        },
                        "network": {
                          "IPv4": true,
                          "IPv6": true,
                          "bindAddress": null,
                          "useSystemNpm": true
                        },
                        "objects": {
                          "type": "file",
                          "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379],$ "port": 9001,
                          "user": "",
                          "pass": "",
                          "noFileCache": false,
                          "connectTimeout": 2000
                        },
                        "states": {
                          "type": "file",
                          "typeComment": "Possible values: 'file' - [port 9000], 'redis' - [port 6379$
                          "host": "192.168.178.35",
                          "port": 9000,
                          "maxQueue": 1000,
                          "options": {
                            "auth_pass": null,
                            "retry_max_delay": 15000
                          }
                        },
                        "log": {
                          "level": "info",  
                          "maxDays": 7,
                          "noStdout": true,
                          "transport": {
                            "file1": {
                              "type": "file",
                              "enabled": true,
                              "filename": "log/iobroker",
                              "fileext": ".log",
                              "maxsize": null,
                              "maxFiles": null
                       "syslog1": {
                              "type": "syslog",
                              "enabled": false,
                              "host": "localhost",
                              "host_comment": "The host running syslogd, defaults to localhost.",
                              "port_comment": "The port on the host that syslog is running on, defaul$
                              "protocol": "udp4",
                              "protocol_comment": "The network protocol to log over (e.g. tcp4, udp4,$
                              "path_comment": "The path to the syslog dgram socket (i.e. /dev/log or $
                              "facility_comment": "Syslog facility to use (Default: local0).",
                              "localhost": "iobroker",
                              "localhost_comment": "Host to indicate that log messages are coming fro$
                              "sysLogType_comment": "The type of the syslog protocol to use (Default:$
                              "app_name_comment": "The name of the application (Default: process.titl$
                              "eol_comment": "The end of line character to be added to the end of the$
                            }
                          }
                        },
                        "dataDirComment": "Always relative to iobroker.js-controller/",
                       "dataDir": "../../iobroker-data/"
                      }
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators last edited by

                        Gib mal beim slave unter iobroker setup custom

                        Auch bei Objects die IP des masters ein

                        Gruß Rainer

                        1 Reply Last reply Reply Quote 0
                        • E
                          e-i-k-e last edited by

                          Ich habe die IP Adresse neu eingegeben.

                          Nun wird sie unter /opt/iobroker/iobroker-data/iobroker.json auch angezeigt.

                          Ich bin mir aber sicher, dass ich diese IP bereits eingegeben hatte. :?


                          Habe versucht, einen Adapter auf dem Slave hinzuzufügen.

                          Bekomme immer wieder die gleiche Meldung.

                          $ ./iobroker add hilink 
                          undefined server error
                          undefined Error: server error    at Socket.onPacket (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:445:19)
                              at XHR. <anonymous>(/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/socket.js:268:10)
                              at XHR.Emitter.emit (/root/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
                              at XHR.Transport.onPacket (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transport.js:145:8)
                              at callback (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling.js:144:10)
                              at Object.exports.decodePayload (/root/node_modules/engine.io-parser/lib/index.js:309:18)
                              at XHR.Polling.onData (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling.js:148:10)
                              at Request. <anonymous>(/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling-xhr.js:126:10)
                              at Request.Emitter.emit (/root/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
                              at Request.onData (/root/node_modules/socket.io-client/node_modules/engine.io-client/lib/transports/polling-xhr.js:296:8)</anonymous></anonymous>
                          

                          Anschließend habe ich die Verbindung zum Master getrennt und mich direkt auf den ioBroker angemeldet.

                          Hier kann die Adapter ohne Probleme installieren.


                          Nachtrag: Habe bei PI gerade komplett neu aufgesetzt.

                          Nun funktioniert alles!

                          Es ist aber trotzdem merkwürdig, dass es vorher nicht funktionierte! :?

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

                            Glückwunsch. Prima das es jetzt funktioniert. Darf ich noch fragen, welche npm-Version du jetzt nutzt und ob der Autostart auf dem PI sofort geklappt hat?

                            1 Reply Last reply Reply Quote 0
                            • E
                              e-i-k-e last edited by

                              Danke! 😉

                              Aktuell ist NPM 5.8.0 drauf.

                              Wobei ich auch bei dieser Neuinstallation das Problem hatte, dass NPM nicht vorhanden war bzw. mit installiert worden ist.

                              Ich habe mich an die folgende Anleitung gehalten. http://www.iobroker.net/docu/?page_id=5106&lang=de

                              Somit musste ich über > sudo apt-get install npm npm installieren, anschließend habe ich habe ich die Version 5.8.0 über > sudo npm install -g npm@5 eingespielt.

                              Der Autostart hat auch nicht geklappt, da die Datei iobroker.sh. fehlte.

                              :lol: :mrgreen:

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

                                Sie fehlte im /etc/init.d-Ordner?

                                1 Reply Last reply Reply Quote 0
                                • E
                                  e-i-k-e last edited by

                                  Korrekt.

                                  /etc/init.d/iobroker.sh

                                  Gibt es eigentlich noch mit der NPM Version 5.8.0 Probleme?

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

                                    Das schaut man sich gerade an. Bei mir ging es mit npm 4.6.1 inkl. der automatischen init.d-Anpassung. Alles wird besser…

                                    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

                                    475
                                    Online

                                    31.9k
                                    Users

                                    80.2k
                                    Topics

                                    1.3m
                                    Posts

                                    4
                                    23
                                    3840
                                    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