NEWS
Tradfri Adapter 2.0.0 Instanz lässt sich nicht hinzufügen
-
Werde ich heute Abend direkt mal ausprobieren.
Danke schonmal für die Hilfe!!
-
Installation unter Windows:
$ ./iobroker url "https://github.com/AlCalzone/ioBroker.tradfri/tarball/master" tradfri --debug install https://github.com/AlCalzone/ioBroker.tradfri/tarball/master npm install https://github.com/AlCalzone/ioBroker.tradfri/tarball/master --production --save --prefix "C:/dev/iobroker" (System call) > node-dtls-client@0.5.4 install C:\dev\iobroker\node_modules\iobroker.tradfri\node_modules\node-dtls-client > node install/postinstall.js node-dtls-client: testing NodeJS version Version < 10, installing node-aead-crypto... > node-aead-crypto@1.1.3 install C:\dev\iobroker\node_modules\node-aead-crypto > node lib/install.js running default installation script > node-aead-crypto@1.1.3 install:default C:\dev\iobroker\node_modules\node-aead-crypto > node-pre-gyp install --fallback-to-build node-pre-gyp WARN Pre-built binaries not installable for node-aead-crypto@1.1.3 and node@8.11.1 (node-v57 ABI, unknown) (falling back to source compile with node-gyp) node-pre-gyp WARN Hit error ENOTDIR: Cannot cd into 'C:\dev\iobroker\node_modules\node-aead-crypto\build\Release\node-v57-win32-x64' Die Projekte in dieser Projektmappe werden nacheinander erstellt. Um eine parallele Erstellung zu erm�glichen, m�ssen Sie den Schalter "/m" hinzuf�gen. node-aes-ccm.cc node-aes-gcm.cc addon.cc win_delay_load_hook.cc Bibliothek "C:\dev\iobroker\node_modules\node-aead-crypto\build\Release\node_aead_crypto.lib" und Objekt "C:\dev\iobroker\node_modules\node-aead-crypto\build\Release\node_aead_crypto.exp" werden erstellt. Code wird generiert. Codegenerierung ist abgeschlossen. node_aead_crypto.vcxproj -> C:\dev\iobroker\node_modules\node-aead-crypto\build\Release\\node_aead_crypto.node Copying C:\dev\iobroker\node_modules\node-aead-crypto\build\Release\/node_aead_crypto.node to C:/dev/iobroker/node_modules/node-aead-crypto/build/Release/node-v57-win32-x64\node_aead_crypto.node 1 Datei(en) kopiert. + node-aead-crypto@1.1.3added 101 packages from 382 contributors in 74.127s + iobroker.tradfri@2.0.0added 13 packages from 11 contributors in 81.112s got C:/dev/iobroker/node_modules/iobroker.tradfri/admin upload [30] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/src/pages/groups.tsx src/pages/groups.tsx application/octet-stream upload [20] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/remote_dimmer.png icons/remote_dimmer.png image/png upload [19] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/remote.png icons/remote.png image/png upload [18] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/plug.png icons/plug.png image/png upload [17] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/panel_ws.png icons/panel_ws.png image/png upload [16] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/panel.png icons/panel.png image/png upload [15] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/motion_sensor.png icons/motion_sensor.png image/png upload [14] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/gu10_ws.png icons/gu10_ws.png image/png upload [13] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/gu10_2700k.png icons/gu10_2700k.png image/png upload [12] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/gu10.png icons/gu10.png image/png upload [11] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/gateway.png icons/gateway.png image/png upload [10] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/door_ws.png icons/door_ws.png image/png upload [9] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/bulb_ws.png icons/bulb_ws.png image/png upload [8] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/bulb_rgb.png icons/bulb_rgb.png image/png upload [7] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/bulb_2700k.png icons/bulb_2700k.png image/png upload [6] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/icons/bulb.png icons/bulb.png image/png upload [5] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/build/vendor.bundle.js.map build/vendor.bundle.js.map application/json upload [4] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/build/vendor.bundle.js build/vendor.bundle.js application/javascript upload [3] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/build/runtime.bundle.js.map build/runtime.bundle.js.map application/json upload [2] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/build/runtime.bundle.js build/runtime.bundle.js application/javascript upload [1] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/build/main.bundle.js.map build/main.bundle.js.map application/json upload [0] tradfri.admin C:/dev/iobroker/node_modules/iobroker.tradfri/admin/build/main.bundle.js build/main.bundle.js application/javascript process exited with code 0
Sieht gut aus. Kann leider die Funktion nicht testen, da keine Tradfri-Geräte hier.
js-controller 1.5.0
admin 3.4.9
node 8.11.1
npm 6.3.0
-
Installation unter armbian auf raspby schlägt fehl.
js-controller 1.2.3
admin 3.4.6
npm 4.6.1
node 8.11.3
Kommando-Ausführung: $ ./iobroker url "https://github.com/AlCalzone/ioBroker.tradfri/tarball/master" tradfri --debug
$ ./iobroker url "https://github.com/AlCalzone/ioBroker.tradfri/tarball/master" tradfri --debug install https://github.com/AlCalzone/ioBroker.tradfri/tarball/master npm install https://github.com/AlCalzone/ioBroker.tradfri/tarball/master --production --prefix "/opt/iobroker" (System call) > node-dtls-client@0.5.4 install /opt/iobroker/node_modules/node-dtls-client > node install/postinstall.js node-dtls-client: testing NodeJS version Version < 10, installing node-aead-crypto... npm ERR! path /root/.npm/_logsnpm ERR! code EACCES npm ERR! errno -13 npm ERR! syscall scandir npm ERR! Error: EACCES: permission denied, scandir '/root/.npm/_logs'npm ERR! { Error: EACCES: permission denied, scandir '/root/.npm/_logs' npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'scandir', npm ERR! path: '/root/.npm/_logs' } npm ERR! npm ERR! Please try running this command again as root/Administrator. glob error { Error: EACCES: permission denied, scandir '/root/.npm/_logs' errno: -13, code: 'EACCES', syscall: 'scandir', path: '/root/.npm/_logs' } npm ERR! path /root/.npm/node-aead-crypto/1.1.4/packagenpm ERR! code EACCES npm ERR! errno -13 npm ERR! syscall mkdir npm ERR! Error: EACCES: permission denied, mkdir '/root/.npm/node-aead-crypto/1.1.4/package'npm ERR! { Error: EACCES: permission denied, mkdir '/root/.npm/node-aead-crypto/1.1.4/package' npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'mkdir', npm ERR! path: '/root/.npm/node-aead-crypto/1.1.4/package', npm ERR! parent: 'node-dtls-client' } npm ERR! npm ERR! Please try running this command again as root/Administrator. ┌───────────────────────────────────────────────────┐ │ npm update check failed │ │ Try running with sudo or get access │ │ to the local update config store via │ │ sudo chown -R $USER:$(id -gn $USER) /root/.config │ └───────────────────────────────────────────────────┘ iobroker.inst@1.1.2 /opt/iobroker└── (empty) npm ERR! code ELIFECYCLEnpm ERR! errno 243 npm ERR! node-dtls-client@0.5.4 install: `node install/postinstall.js`npm ERR! Exit status 243 npm ERR! npm ERR! Failed at the node-dtls-client@0.5.4 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! /root/.npm/_logs/2018-08-09T08_58_00_519Z-debug.log ERROR: Cannot parse /opt/iobroker/node_modules/iobroker.js-controller/adapter/tradfri/io-package.json:Error: ENOENT: no such file or directory, open '/opt/iobroker/node_modules/iobroker.js-controller/adapter/tradfri/io-package.json' process exited with code 0
Soso, erfolgreich bei der Vorgeschichte? Wer's glaubt….
iobroker selbst läuft mit sudo unter user pi.
Warum macht die Installationsroutine in diesem Fall kein
./sudo iobroker url ….
-
Antwort: Weil es auch nichts bringt.
Warum: ioBroker selbst läuft als root. Der Fehler sitzt tiefer.
344 silly install node-dtls-client@0.5.4 345 info lifecycle node-dtls-client@0.5.4~install: node-dtls-client@0.5.4 346 verbose lifecycle node-dtls-client@0.5.4~install: unsafe-perm in lifecycle false 347 verbose lifecycle node-dtls-client@0.5.4~install: PATH: /usr/lib/node_modules/npm/bin/node-gyp-bin:/opt/iobroker/node_modules/node-dtls-client/node_modules/.bin:/opt/iobroker/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 348 verbose lifecycle node-dtls-client@0.5.4~install: CWD: /opt/iobroker/node_modules/node-dtls-client 349 silly lifecycle node-dtls-client@0.5.4~install: Args: [ '-c', 'node install/postinstall.js' ] 350 silly lifecycle node-dtls-client@0.5.4~install: Returned: code: 243 signal: null 351 info lifecycle node-dtls-client@0.5.4~install: Failed to exec install script
-> unsafe-perm in lifecycle false
-
"–unsafe-perm" als Parameter beim Aufruf von npm install ist das Schlüsselwort. Das sorgt dafür dass Skripte während der Installation mit erhöhten Rechten ausgeführt werden:
sudo npm i iobroker.tradfri --unsafe-perm
Ist aber eigentlich nur nötig, wenn die Dateirechte aufgrund einer anderen sudo npm-Installation schon verpfuscht sind. Wenn wir es endlich hinbekommen, ioBroker ohne sudo zu installieren https://github.com/ioBroker/ioBroker/issues/48 dann ist das auch nicht mehr nötig.
Bis dahin kann
sudo chown $(whoami) -R /opt/iobroker
VOR der Adapter-Installation helfen.
Edit: oder Upgrade auf NodeJS 10, da wird das problematische Paket nämlich gar nicht installiert. Bringt aber ganz andere Probleme mit sich.
–-
Mir stellt sich aber wieder die Frage, warum nicht freigegebene Entwicklerversionen installiert werden, ohne Aufforderung durch den Entwickler. 2.0 ist weder latest noch stable:
npm view iobroker.tradfri version 1.4.1
Siehe auch https://github.com/ioBroker/ioBroker.admin/issues/285
-
-
Ich bin auch nur auf 2.0.0 umgestiegen weil 1.4.1 bei mir den Gateway auf teufel komm raus nicht finden will.
Wenn ich 1.4.1 zum laufen bekomme, gerne….
Ich kann 1.4.1 installieren und eine Instanz hinzufügen. Soweit so gut. Ich bekomme aber keine Verbindung zum Gateway. Tradfri in HomeKit einbinden geht. und die Original Ikea App geht auch. Aber 1.4.1 bekomme ich in iobroker nicht mehr ans laufen. Obwohl es früher funktioniert hat. Da es in Verbindung mit anderen Systemen funktioniert, schliesse ich einen Hardwarefehler aus.
Ich bin für jeden Vorschlag offen...
Ich probiere heute Abend aber auch gerne die anderen Lösungsansätze. Die Hauptsache ist das es nachher funktioniert. Welche Version dann läuft ist mir dann egal.
-
Daran ändert die Adapter-Version in diesem Fall nichts, da die zugrundeliegende Library node-tradfri-client für die Verbindung zuständig ist, und die sollte sich bei den Adapterversionen nicht unterscheiden.
Starte deine Instanz mal mit Debug-Logs (in der Instanzenliste im Expertenmodus aktivieren). Dann sollte man hoffentlich sehen, was los ist. Ich rate mal ins Blaue:
-
Du verbindest per IP, in deinem Netzwerk will es aber aus unerfindlichen Gründen nur per Hostname gehen
-
Du verbindest per Hostname, in deinem Netzwerk will es aber aus unerfindlichen Gründen nur per IP gehen (gab es beides schon)
-
Du hast dich vertippt
-
Irgendwas anderes
-
-
Guten Morgen.
Ich habe mich dann gestern Abend durch den von Stabilostick verlinkten Forenbeitrag durchgearbeitet. Und es läuft jetzt. Es schien wohl das der Adapter nicht mit genügend Rechten installiert wurde. Rein aus Interesse… Wie kann das sein? Ich führe entweder auf den Raspi alles mit "sudo" aus oder ich arbeite mit den Terminal Adapter direkt in iobroker. Der wird doch auch mit superuser Rechten ausgeführt....
Auf jeden fall schonmal danke für eure schnelle Hilfe! Es funktioniert jetzt wieder alles wie es soll...
Bin jetzt auch wieder auf 1.4.1
-
Wie kann das sein? Ich führe entweder auf den Raspi alles mit "sudo" aus oder ich arbeite mit den Terminal Adapter direkt in iobroker. Der wird doch auch mit superuser Rechten ausgeführt…. `
npm ist schuld. Wenn das nicht die –unsafe-perm Option bekommt, werden Installationsskripte mit verringerten Rechten ausgeführt. Dann schlägt die Kompilierung von Modulen in ein Verzeichnis, wo root der Owner ist, in der Regel fehl. Zudem setzen neuere npm-Versionen die Zugriffsrechte auf Verzeichnisse entsprechend, d.h. eine sudo-Installation sorgt dafür, dass die Modul-Ordner plötzlich nur root gehören und User mit verringerten Rechten nicht mehr darin arbeiten dürfen.
Im Optimalfall würde sudo im ioBroker-Umfeld gar nicht benötigt, sondern nur dann wenn auf Systemverzeichnisse zugegriffen wird. Dann gibts auch keine Zugriffsprobleme auf die ioBroker-Verzeichnisse und man kann alle Adapter ohne sudo installieren.
In dieser traumhaften Welt leben wir aber noch nicht, denn bis dahin ist noch Arbeit nötig: https://github.com/ioBroker/ioBroker/issues/48