NEWS
[Erledigt] S7 Adapter in Docker startet nicht
-
Hallo,
habe gerade mal zum testen auf meinen Synology DS918+ Docker installiert und den Container von Buanet/ioBroker heruntergeladen.
Danach habe ich ioBroker von meinem RPi gesichert und dort rüber migriert.
IoBroker funktioniert auch soweit, nur der S7-Adapter will nicht starten, bricht immer wieder ab mit folgenden Meldungen im Log:
host.iobroker 2018-09-19 22:23:31.689 info Restart adapter system.adapter.s7.0 because enabled host.iobroker 2018-09-19 22:23:31.689 error instance system.adapter.s7.0 terminated with code 0 (OK) Caught 2018-09-19 22:23:31.689 error by controller[0]: at Module._compile (module.js:577:32) Caught 2018-09-19 22:23:31.689 error by controller[0]: at Object. <anonymous>(/opt/iobroker/node_modules/iobroker.s7/node_modules/node-snap7/lib/node-snap7.js:8:45) Caught 2018-09-19 22:23:31.689 error by controller[0]: at bindings (/opt/iobroker/node_modules/iobroker.s7/node_modules/bindings/bindings.js:81:44) Caught 2018-09-19 22:23:31.689 error by controller[0]: at require (internal/module.js:20:19) Caught 2018-09-19 22:23:31.689 error by controller[0]: at Module.require (module.js:504:17) Caught 2018-09-19 22:23:31.689 error by controller[0]: at Function.Module._load (module.js:445:3) Caught 2018-09-19 22:23:31.688 error by controller[0]: at tryModuleLoad (module.js:453:12) Caught 2018-09-19 22:23:31.688 error by controller[0]: at Module.load (module.js:494:32) Caught 2018-09-19 22:23:31.688 error by controller[0]: at Object.Module._extensions..node (module.js:604:18) Caught 2018-09-19 22:23:31.688 error by controller[0]: at Error (native) Caught 2018-09-19 22:23:31.687 error by controller[0]: Error: /opt/iobroker/node_modules/iobroker.s7/node_modules/node-snap7/build/Release/node_snap7.node: wrong ELF class: ELFCLASS32 s7.0 2018-09-19 22:23:31.676 info terminating s7.0 2018-09-19 22:23:31.370 info starting. Version 1.1.4 in /opt/iobroker/node_modules/iobroker.s7, node: v6.14.4 s7.0 2018-09-19 22:23:31.171 error at Module._compile (module.js:577:32) s7.0 2018-09-19 22:23:31.171 error at Object. <anonymous>(/opt/iobroker/node_modules/iobroker.s7/node_modules/node-snap7/lib/node-snap7.js:8:45) s7.0 2018-09-19 22:23:31.171 error at bindings (/opt/iobroker/node_modules/iobroker.s7/node_modules/bindings/bindings.js:81:44) s7.0 2018-09-19 22:23:31.171 error at require (internal/module.js:20:19) s7.0 2018-09-19 22:23:31.171 error at Module.require (module.js:504:17) s7.0 2018-09-19 22:23:31.171 error at Function.Module._load (module.js:445:3) s7.0 2018-09-19 22:23:31.171 error at tryModuleLoad (module.js:453:12) s7.0 2018-09-19 22:23:31.171 error at Module.load (module.js:494:32) s7.0 2018-09-19 22:23:31.171 error at Object.Module._extensions..node (module.js:604:18) s7.0 2018-09-19 22:23:31.171 error at Error (native) s7.0 2018-09-19 22:23:31.171 error Error: /opt/iobroker/node_modules/iobroker.s7/node_modules/node-snap7/build/Release/node_snap7.node: wrong ELF class: ELFCLASS32 s7.0 2018-09-19 22:23:31.165 error uncaught exception: /opt/iobroker/node_modules/iobroker.s7/node_modules/node-snap7/build/Release/node_snap7.node: wrong ELF class: ELFCLASS32 host.iobroker 2018-09-19 22:23:30.601 info instance system.adapter.s7.0 started with pid 1423 host.iobroker 2018-09-19 22:23:00.592 info Restart adapter system.adapter.s7.0 because enabled host.iobroker 2018-09-19 22:23:00.592 error instance system.adapter.s7.0 terminated with code 0 (OK)</anonymous></anonymous>
Einzig Unterschied auf Anhieb zum RPi ist, dort habe ich die Node v6.14.2 laufen und im Docker v6.14.4 .
NPM ist bei beiden 3.10.10
Ich habe auch mal den den Adapter gelöscht und neu installiert, aber ohne Erfolg.
Vielleicht hat jemand ja eine Idee
-
Bitte Install log zeigen. Der Adapter hat eine Library mit einem "nativen" Teil was beim installieren kompiliert bzw runtergeladen wird. Irgendwas passt da gar nicht mit den binaries
wrong ELF class: ELFCLASS32
SPontan würde ich auf was mit 32 vs 64 bit vermuten aber ppuuuhhhh …
-
Hier der Log von der Installation, da lief alles ohne Probleme durch.
$ ./iobroker add s7 --host iobroker NPM version: 3.10.10 npm install iobroker.s7 --production --save --prefix "/opt/iobroker" (System call) host.iobroker install adapter s7 got /opt/iobroker/node_modules/iobroker.s7/admin upload [11] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/words.js words.js application/javascript upload [10] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/lib/js/jsgrid.min.js lib/js/jsgrid.min.js application/javascript upload [9] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/lib/js/jsgrid.js lib/js/jsgrid.js application/javascript upload [8] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/lib/js/grid.locale-ru.js lib/js/grid.locale-ru.js application/javascript upload [7] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/lib/js/grid.locale-de.js lib/js/grid.locale-de.js application/javascript upload [6] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/lib/css/jsgrid.min.css lib/css/jsgrid.min.css text/css upload [5] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/lib/css/jsgrid.css lib/css/jsgrid.css text/css upload [4] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/lib/css/jsgrid-theme.min.css lib/css/jsgrid-theme.min.css text/css upload [3] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/lib/css/jsgrid-theme.css lib/css/jsgrid-theme.css text/css upload [2] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/index.html index.html text/html upload [1] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/img/plc_back.png img/plc_back.png image/png upload [0] s7.admin /opt/iobroker/node_modules/iobroker.s7/admin/S7.png S7.png image/png host.iobroker object system.adapter.s7 created host.iobroker create instance s7 host.iobroker object system.adapter.s7.0.outputCount created host.iobroker object system.adapter.s7.0.inputCount created host.iobroker object system.adapter.s7.0.uptime created host.iobroker object system.adapter.s7.0.memRss created host.iobroker object system.adapter.s7.0.memHeapTotal created host.iobroker object system.adapter.s7.0.memHeapUsed created host.iobroker object system.adapter.s7.0.cputime created host.iobroker object system.adapter.s7.0.cpu created host.iobroker object system.adapter.s7.0.connected created host.iobroker object system.adapter.s7.0.alive created host.iobroker object system.adapter.s7.0 created process exited with code 0
Generell würde der Adapter laufen, ich habe einen Docker-Container mit "nur" ioBroker genommen, ohne das ich meine Config vom RPi drüberkopiere.
Wenn ich da den S7-Adapter installiere, dann startet er ganz normal und baut eine Verbindung auf.
-
Kenne mich mit docker null aus.
Suche mal in den node_modules das node-snap7 Verzeichnis und mach da ein
npm rebuild
Gesendet vom Handy …
-
Im Grunde ist Docker ja wie ein Betriebssystem zu sehen … also eigentlich sollte es für den Adapter jetzt kein Unterschied machen, zumal er ja bei einer "Neuinstallation" ja funktioniert.
Habe das rebuild gemacht, ohne Erfolg.
Ich glaube, es ist einfacher fast, alles neu zu machen von Grund auf.
Noch habe ich nicht die Masse da drin, meiste macht ja meine SPS.
Kurz dazu aber eine Frage, kann ich auch einzelne Adapter "exportieren" und dann neu "importieren"?
Mir geht es da vor allem um "Zigbee", damit ich nicht alle Sensoren wieder neu anlernen muss.
-
Es läuft
Was hab ich gemacht.
1. Instanz S7 gestoppt
2. ioBroker gestoppt
3. im Verzeichnis node_modules die beiden Verzeichnisse node-snap7 und iobroker.s7 gelöscht
4. ioBroker wieder gestartet
5. die Instanz S7 gestartet
ioBroker besorgt sich die fehlenden Sache nochmal neu und dann lief es.
Einfaches deinstallieren über die Mülltonne im ioBroker brachte kein Erfolg, erst dieser Weg jetzt.
Danke @apollon77 für Deine Hilfe!
-
Hallo ihr
Ich bin nun auch vom PI auf Docker umgestigen.
Soweit Funktioniert alles bis auf mein S7 Adapter.
Im Log steht folgendes:
st.IObroker 2019-02-08 22:05:49.055 info Restart adapter system.adapter.s7.0 because enabled
host.IObroker 2019-02-08 22:05:49.054 error instance system.adapter.s7.0 terminated with code 0 (OK)
host.IObroker 2019-02-08 22:05:49.054 error Caught by controller[0]: at Object.Module._extensions..js (module.js:664:10)
host.IObroker 2019-02-08 22:05:49.054 error Caught by controller[0]: at Module._compile (module.js:653:30)
host.IObroker 2019-02-08 22:05:49.054 error Caught by controller[0]: at Object. <anonymous>(/node_modules/node-snap7/lib/node-snap7.js:8:45)
host.IObroker 2019-02-08 22:05:49.054 error Caught by controller[0]: at bindings (/node_modules/bindings/bindings.js:81:44)
host.IObroker 2019-02-08 22:05:49.054 error Caught by controller[0]: at require (internal/module.js:11:18)
host.IObroker 2019-02-08 22:05:49.054 error Caught by controller[0]: at Module.require (module.js:597:17)
host.IObroker 2019-02-08 22:05:49.054 error Caught by controller[0]: at Function.Module._load (module.js:498:3)
host.IObroker 2019-02-08 22:05:49.054 error Caught by controller[0]: at tryModuleLoad (module.js:506:12)
host.IObroker 2019-02-08 22:05:49.054 error Caught by controller[0]: at Module.load (module.js:566:32)
host.IObroker 2019-02-08 22:05:49.054 error Caught by controller[0]: at Object.Module._extensions..node (module.js:682:18)
host.IObroker 2019-02-08 22:05:49.054 error Caught by controller[0]: Error: /node_modules/node-snap7/build/Release/node_snap7.node: wrong ELF class: ELFCLASS32
s7.0 2019-02-08 22:05:48.662 info starting. Version 1.1.4 in /node_modules/iobroker.s7, node: v8.15.0
host.IObroker 2019-02-08 22:05:48.091 info instance system.adapter.s7.0 started with pid 1618
Von Tugsi die Lösung habe ich schon ausproboert geht leider nicht.
Auch wenn ich einen neuen S7 Adapter anlege kommt die gleiche fehlermeldung.</anonymous>