Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Smartmeter Exception nach Umzug von Docker /var/lib/docker

    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

    Smartmeter Exception nach Umzug von Docker /var/lib/docker

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jgee2 last edited by

      Hallo zusammen,

      nachdem ich in diesem Forum keine Lösung für mein Problem finden konnte, hier nun mein erster Beitrag. Ich hoffe, ich mache dabei alles richtig.

      Ich bin kein versierter Linux-, Docker- oder ioBroker-Profi, weshalb ich nun auch vor folgendem Problem stehe, das ich ohne Hilfe nicht lösen kann:

      Mein ioBroker läuft auf einem Raspberry Pi 4B mit Debian Buster Light in einem Docker Container vom Image buanet/iobroker. Die Container verwalte ich mit Portainer. Alle Images und Adapter sind "latest" und wurden gestern frisch installiert. Der Smartmeter-Adapter (Version 3.1.2) lief ohne Probleme und konnte von /dev/ttyUSB0 Daten lesen und im ioBroker bereitstellen, bis ich das Docker Default-Verzeichnis /var/lib/docker gemäß dieser Anleitung auf ein anderes Speichermedium umgezogen habe.

      Danach habe ich alle Docker-Container neu erstellt, und die laufen auch ohne Probleme. Auch der ioBroker-Container und die Adapter funktionieren, bis auf den Smartmeter-Adapter. Der wirft im Log folgende Exception:


      host.8c0fcaf3bc7c 2020-04-14 16:36:41.220 error instance system.adapter.smartmeter.0 terminated with code 1 (JS_CONTROLLER_STOPPED)
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.220 error Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.219 error Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:778:30)
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.219 error Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/@serialport/bindings/lib/linux.js:2:36)
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.219 error Caught by controller[0]: at bindings (/opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:112:48)
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.218 error Caught by controller[0]: at require (internal/modules/cjs/helpers.js:25:18)
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.218 error Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:692:17)
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.217 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:585:3)
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.217 error Caught by controller[0]: at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.217 error Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:653:32)
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.217 error Caught by controller[0]: at Object.Module._extensions..node (internal/modules/cjs/loader.js:807:18)
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.217 error Caught by controller[0]: Error: /opt/iobroker/node_modules/@serialport/bindings/build/Release/bindings.node: failed to map segment from shared object
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.216 error Caught by controller[0]: ^
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.216 error Caught by controller[0]: throw e;
      host.8c0fcaf3bc7c 2020-04-14 16:36:41.216 error Caught by controller[0]: /opt/iobroker/node_modules/@serialport/bindings/node_modules/bindings/bindings.js:121
      host.8c0fcaf3bc7c 2020-04-14 16:36:40.390 info instance system.adapter.smartmeter.0 started with pid 973
      host.8c0fcaf3bc7c 2020-04-14 16:36:10.381 info Restart adapter system.adapter.smartmeter.0 because enabled

      Auffällig ist, dass der Adapter in der ioBroker-Konfiguration die Portliste nicht mehr erstellen kann. Per SSH habe ich daraufhin als root auf dem Raspberry geprüft, dass das Device /dev/ttyUSB0 noch funktioniert und Daten sendet. Auch in der Shell des ioBroker-Containers habe ich das geprüft. Auch dort sendet das Device fleißig Daten.

      Habe ich durch die Verzeichnis-Änderung womöglich ein Rechte-Problem erzeugt? In der Container-Shell habe ich ja vermutlich andere Rechte als der ioBroker.

      Da ich, wie gesagt Gelegenheitsbastler bin, bin ich mit dem Fehler und Lösungen leider überfordert. Ich weiß auch nicht, welche weiteren Informationen ihr bräuchtet, um mir zu helfen. Und einen Dump von allem, was mir relevant erscheint, möchte ich euch ersparen. Kann mir jemand helfen und sagen, welche Informationen er/sie dafür bräuchte?

      Viele Grüße

      Jo

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

        Soweit mir bekannt musst du den USB Port Durchreichen

        https://forum.iobroker.net/search?term=Docker usb&in=titlesposts&page=2

        J 1 Reply Last reply Reply Quote 0
        • J
          jgee2 @wendy2702 last edited by

          @wendy2702 Daran liegt es leider nicht. Das Device ist in iobroker verfügbar und sendet Daten. Das Problem scheint mir eher hier, in Zeile 6, zu liegen:

          $ ./iobroker add smartmeter  --host 6d0f1bdd8703
          NPM version: 6.14.4
          npm install iobroker.smartmeter@3.1.2 --loglevel error --prefix "/opt/iobroker" (System call)
          sh: 1: 
          prebuild-install: Permission denied
          

          host.6d0f1bdd8703 install adapter smartmeter
          upload [5] smartmeter.admin /opt/iobroker/node_modules/iobroker.smartmeter/admin/words.js words.js application/javascript
          upload [4] smartmeter.admin /opt/iobroker/node_modules/iobroker.smartmeter/admin/tooltip.css tooltip.css text/css
          upload [3] smartmeter.admin /opt/iobroker/node_modules/iobroker.smartmeter/admin/smartmeter.png smartmeter.png image/png
          upload [2] smartmeter.admin /opt/iobroker/node_modules/iobroker.smartmeter/admin/smartmeter.jpg smartmeter.jpg image/jpeg
          upload [1] smartmeter.admin /opt/iobroker/node_modules/iobroker.smartmeter/admin/questionmark.png questionmark.png image/png
          upload [0] smartmeter.admin /opt/iobroker/node_modules/iobroker.smartmeter/admin/index.html index.html text/html
          host.6d0f1bdd8703 object system.adapter.smartmeter created/updated
          host.6d0f1bdd8703 create instance smartmeter
          host.6d0f1bdd8703 object smartmeter.0.info.connection created
          host.6d0f1bdd8703 object smartmeter.0.info created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.sigKill created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.eventLoopLag created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.outputCount created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.inputCount created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.uptime created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.memRss created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.memHeapTotal created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.memHeapUsed created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.cputime created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.cpu created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.compactMode created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.connected created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0.alive created
          host.6d0f1bdd8703 object system.adapter.smartmeter.0 created
          process exited with code 0
          

          Kann mir jemand sagen, wie ich das Problem lösen kann? Momentan tendiere ich dazu, einfach eine größere Micro-SD zu nutzen und das Problem damit zu umgehen.

          Viele Grüße

          Jo

          1 Reply Last reply Reply Quote 0
          • H
            Holzlenkrad last edited by

            Du musst mal gucken, ob das zusätzliche Device zufällig mit der Flag noexec gemountet ist. Das darf es nämlich nicht.

            Und du hättest auch nicht unbedingt das komplette Verzeichnis von Docker umziehen müssen, es reicht ja auch, wenn du den Container so startest, dass nur die Dateien von iobroker usw. auf dem externen Datenträger liegen.
            Also mit
            -v "/mnt/usb-stick/iobroker:/opt/iobroker" o.ä.

            J 1 Reply Last reply Reply Quote 0
            • J
              jgee2 @Holzlenkrad last edited by

              Hallo @Holzlenkrad! Danke für deine Antwort. Mit dem zusätzlichen Device meinst du nicht den USB-Lesekopf auf den Smartmeter zugreifen will, sondern das Speichermedium auf dem jetzt das iobroker-Verzeichnis liegt oder? Das wird ohne noexec flag in der fstab gemountet. Ich nutze Portainer und habe dort keine Möglichkeit gefunden, das Container-Volume auf ein anderes Medium zu mounten. Daher habe ich mich entschlossen, das gesamte Verzeichnis umzuziehen. Eine Lösung habe ich noch nicht gefunden. Dummerweise läuft nach dem Umzug des gesamten iobroker-Verzeichnises auch der KNX-Adapter nicht mehr. Ich habe ein größeres Speichermedium bestellt und werde alles sauber neu einrichten. Viele Grüße Jo

              H 1 Reply Last reply Reply Quote 0
              • H
                Holzlenkrad @jgee2 last edited by

                @jgee2

                Du musst in Portainer unter "Volume mapping" dann rechts das blaue "Bind" anklicken

                J 1 Reply Last reply Reply Quote 0
                • J
                  jgee2 @Holzlenkrad last edited by

                  @Holzlenkrad, statt Volume also Bind nutzen? Ok, probiere ich aus. Danke für den Tipp!

                  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

                  888
                  Online

                  31.9k
                  Users

                  80.1k
                  Topics

                  1.3m
                  Posts

                  docker docker portainer bridge buanet docker-portainer exception smartmeter-adapter
                  3
                  7
                  758
                  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