NEWS
Tradfri Tutorial
-
Achsoo, ich dachte das kommt von nem Skript
Ich hab gerade 1.1.9 veröffentlicht. Da hat tatsächlich was mit den Gruppen-States nicht gestimmt. So ähnlich wie wir es schon mal mit Szenen hatten.
-
Ok, prima, danke. Hab ich grad bei mir schon installiert die 1.1.9 und geht nun in die Erprobung.
-
Guten Abend in die Runde,
ich habe den Tradfri Adapter installiert, er startet jedoch nicht, bleibt rot.
Da ich hier keine entsprechenden Hinweise gefunden habe, hoffe ich auf Eure Hilfe…
der log-Eintrag
Error: Cannot find module '/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto/build/Release/node-v48-linux-x64/node_aead_crypto.node'
deutet wohl auf eine fehlerhafte Node-Umgebung hin?
Das System läuft auf einer Synology im Docker:
Node 6.13.1
NPM 3.10.10
Admin 3.3.3
Das log im debug Level anbei.
Ulrich
1841_log.txt -
Error: Cannot find module '/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto/build/Release/node-v48-linux-x64/node_aead_crypto.node'
deutet wohl auf eine fehlerhafte Node-Umgebung hin? `
Da wurde eine Abhängigkeit nicht (bzw. nicht vollständig) installiert. Führe mal auf der Konsole folgendes aus:cd /opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto/ npm install --production
und poste den Log, wenn es danach noch nicht geht oder Fehler auftreten.
-
Vielen Dank für den Tip.
Nach Ausführung erscheinen diese Fehler im Log:
undefined2018-03-21 19:03:35.765 - info: host.iobrokerBosaca instance system.adapter.tradfri.0 started with pid 5707
2018-03-21 19:03:36.422 - error: Caught by controller[0]: module.js:478
2018-03-21 19:03:36.422 - error: Caught by controller[0]: throw err;
2018-03-21 19:03:36.422 - error: Caught by controller[0]: ^
2018-03-21 19:03:36.423 - error: Caught by controller[0]: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto/build/Release/node-v48-linux-x64/node_aead_crypto.node'
2018-03-21 19:03:36.423 - error: Caught by controller[0]: at Function.Module._resolveFilename (module.js:476:15)
2018-03-21 19:03:36.423 - error: Caught by controller[0]: at Function.Module._load (module.js:424:25)
2018-03-21 19:03:36.423 - error: Caught by controller[0]: at Module.require (module.js:504:17)
2018-03-21 19:03:36.423 - error: Caught by controller[0]: at require (internal/module.js:20:19)
2018-03-21 19:03:36.423 - error: Caught by controller[0]: at Object. (/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto/index.js:4:15)
2018-03-21 19:03:36.423 - error: Caught by controller[0]: at Module._compile (module.js:577:32)
2018-03-21 19:03:36.423 - error: Caught by controller[0]: at Object.Module._extensions..js (module.js:586:10)
2018-03-21 19:03:36.424 - error: Caught by controller[0]: at Module.load (module.js:494:32)
2018-03-21 19:03:36.424 - error: Caught by controller[0]: at tryModuleLoad (module.js:453:12)
2018-03-21 19:03:36.424 - error: Caught by controller[0]: at Function.Module._load (module.js:445:3)
2018-03-21 19:03:36.424 - error: host.iobrokerBosaca instance system.adapter.tradfri.0 terminated with code 1 ()
2018-03-21 19:03:36.424 - info: host.iobrokerBosaca Restart adapter system.adapter.tradfri.0 because enabled
Was kann ich machen?
Ulrich
-
Öhhh. Dann brauche ich den Log von dem Befehl den ich dir oben gepostet hab.
-
Hallo,
nach der Eingabe von
cd /opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto/
npm install –production
kommt
npm WARN lifecycle node-aead-crypto@1.0.5~install: cannot run in wd %s %s (wd=%s) node-aead-crypto@1.0.5 no
de lib/install.js /opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto
Vielen Dank für Deine Unterstützung
Ulrich
-
npm WARN lifecycle node-aead-crypto@1.0.5~install: cannot run in wd %s %s (wd=%s) node-aead-crypto@1.0.5 no
de lib/install.js /opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto `
bedeutet dass es Rechteprobleme gibt. In den neueren Versionen ist npm etwas pingelig geworden, was Installationen mit sudo angeht - gibt immer öfter das Problem, welches du gerade hast. Ich arbeite dran, sudo in iobroker bestmöglich zu vermeiden, aber da gibt es noch bisschen was zu klären.Was dich angeht has du zwei Möglichkeiten:
1. Rechte des Ordners zurück auf deinen Benutzer übertragen (macht einiges einfacher)
sudo chown $(whoami) -R /opt/iobroker
2. Die Installation per sudo ausführen:
cd /opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto/ sudo npm install --production --unsafe-perm
-
probiere ich,
nur bin ich auf der Synology immer root, Zugriffsbeschränkungen habe ich da keine, sudo benutze ich da gar nicht.
Edit:
daher auch die Meldungen
root@iobrokerBosaca:~# sudo chown $(whoami) -R /opt/iobroker
sudo: Die Audit-Nachricht kann nicht gesendet werden: Unbekannter Fehler -1
sudo: pam_open_session: Systemfehler
sudo: Regelwerks-Plugin konnte Sitzung nicht initialisieren
root@iobrokerBosaca:/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto# sudo npm ins
tall –production --unsafe-perm
sudo: Die Audit-Nachricht kann nicht gesendet werden: Unbekannter Fehler -1
sudo: pam_open_session: Systemfehler
sudo: Regelwerks-Plugin konnte Sitzung nicht initialisieren
und
root@iobrokerBosaca:/opt/iobroker# whoami
root
-
Hmmmm, wenn du eh nur root bist, sollte es keine Probleme mit Rechten geben. Funktioniert
npm install --production --unsafe-perm
ohne sudo?
-
wobei ich mir immer die Frage stelle, ob ein
sudo su ````als user pi ausreicht. Danach erscheint der Prompt ja als root! Gruß Rainer
-
Npm versucht, Installationsskripte mit niedrigeren Rechten auszuführen, um möglicherweise böse Skripte auszuschließen. Das dürfte auch bei root per "sudo su" zutreffen. Daher gibts das –unsafe-perm Flag. Wie das ist, wenn es "eh" nur root gibt, weiß ich leider nicht, da ich diesen Fall nicht habe.
Kannst du einfach mal nur
npm run install
und dann
node lib/install.js
im Package-Ordner ausführen und jeweils die Logs posten? Mich würde das mal interessieren, wie sich das verhält. Nach dem letzten Befehl ist das Paket dann auch hoffentlich installiert, sodass du auch was davon hast.
-
Bitte sehr:
root@iobrokerBosaca:~# cd /opt/iobroker/node_modules/iobroker.tradfri
root@iobrokerBosaca:/opt/iobroker/node_modules/iobroker.tradfri# npm run install
npm ERR! Linux 3.10.102
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "run" "install"
npm ERR! node v6.13.1
npm ERR! npm v3.10.10
npm ERR! missing script: install
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR! <https://github.com/npm/npm/issues>
npm ERR! Please include the following file with any support request:
npm ERR! /opt/iobroker/node_modules/iobroker.tradfri/npm-debug.log
root@iobrokerBosaca:/opt/iobroker/node_modules/iobroker.tradfri# node lib/install.js
module.js:478
throw err;
^
Error: Cannot find module '/opt/iobroker/node_modules/iobroker.tradfri/lib/install.js'
at Function.Module._resolveFilename (module.js:476:15)
at Function.Module._load (module.js:424:25)
at Module.runMain (module.js:611:10)
at run (bootstrap_node.js:387:7)
at startup (bootstrap_node.js:153:9)
at bootstrap_node.js:500:3
root@iobrokerBosaca:/opt/iobroker/node_modules/iobroker.tradfri#
-
Falscher Ordner
=> /opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto
-
Ähem, ja klar :roll:
root@iobrokerBosaca:/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto# npm run inst
all
node-aead-crypto@1.0.5 install /opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto
node lib/install.js
running default installation script
node-aead-crypto@1.0.5 install:default /opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead
-crypto
node-pre-gyp install –fallback-to-build
[node-aead-crypto] Success: "/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto/buil
d/Release/node-v59-linux-x64/node_aead_crypto.node" already installed
Pass –update-binary to reinstall or --build-from-source to recompile
root@iobrokerBosaca:/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto# node lib/ins
tall.js
running default installation script
node-aead-crypto@1.0.5 install:default /opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead
-crypto
node-pre-gyp install --fallback-to-build
[node-aead-crypto] Success: "/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto/buil
d/Release/node-v59-linux-x64/node_aead_crypto.node" already installed
Pass –update-binary to reinstall or --build-from-source to recompile
root@iobrokerBosaca:/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto#
Edit:
das log immer noch unverändert:
undefined2018-03-23 13:53:21.534 - info: host.iobrokerBosaca instance system.adapter.tradfri.0 started with pid 11368
2018-03-23 13:53:22.203 - error: Caught by controller[0]: module.js:478
2018-03-23 13:53:22.203 - error: Caught by controller[0]: throw err;
2018-03-23 13:53:22.203 - error: Caught by controller[0]: ^
2018-03-23 13:53:22.204 - error: Caught by controller[0]: Error: Cannot find module '/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto/build/Release/node-v48-linux-x64/node_aead_crypto.node'
2018-03-23 13:53:22.204 - error: Caught by controller[0]: at Function.Module._resolveFilename (module.js:476:15)
2018-03-23 13:53:22.204 - error: Caught by controller[0]: at Function.Module._load (module.js:424:25)
2018-03-23 13:53:22.204 - error: Caught by controller[0]: at Module.require (module.js:504:17)
2018-03-23 13:53:22.204 - error: Caught by controller[0]: at require (internal/module.js:20:19)
2018-03-23 13:53:22.204 - error: Caught by controller[0]: at Object. (/opt/iobroker/node_modules/iobroker.tradfri/node_modules/node-aead-crypto/index.js:4:15)
2018-03-23 13:53:22.204 - error: Caught by controller[0]: at Module._compile (module.js:577:32)
2018-03-23 13:53:22.204 - error: Caught by controller[0]: at Object.Module._extensions..js (module.js:586:10)
2018-03-23 13:53:22.205 - error: Caught by controller[0]: at Module.load (module.js:494:32)
2018-03-23 13:53:22.205 - error: Caught by controller[0]: at tryModuleLoad (module.js:453:12)
2018-03-23 13:53:22.205 - error: Caught by controller[0]: at Function.Module._load (module.js:445:3)
2018-03-23 13:53:22.205 - error: host.iobrokerBosaca instance system.adapter.tradfri.0 terminated with code 1 ()
-
> Cannot find module '…/node-v48-linux-x64/node_aead_crypto.node'
> Success: "…/node-v59-linux-x64/node_aead_crypto.node" already installed
Hast du mehrere Node-Versionen installiert? v59 ist Node v9.x, v48 ist Node v6.x
-
Nicht dass ich wüsste…
root@iobrokerBosaca:/opt/iobroker# node -v
v6.13.1
root@iobrokerBosaca:/opt/iobroker#
Wier kann ich das herausfinden?
-
which node
könnte einen Anhaltspunkt geben, ob node in nem seltsamen Verzeichnis liegt.
Vielleicht ist die Installation aber auch nur verwirrt.
Im üblichen Ordner bitte mal folgendes ausführen:
node-pre-gyp reinstall --build-from-source
bzw (wenn er den Befehl nicht findet):
node_modules/.bin/node-pre-gyp reinstall --build-from-source
-
Das war der entscheidende Hinweis! :lol:
Der Adapter ist grün!
Vielen Dank für Deine Geduld, hätte ich alleine nicht geschafft!
Habe schon tagelang gelesen und alles (mir) Plausible versucht :roll:
Ein schönes Wochenende!
Ulrich
-
Mal ne allgemeine Frage:
Wenn ich ein Hue Leuchtmittel an TRÅDFRI anlerne, sollte per Zigbee ja grundsätzlich gehen (wie geht das eigentlich?!), könnte ich es dann über den Adapter steuern? Oder müsste der Adapter dafür angepasst werden?