NEWS
[Aufruf] IKEA-Trådfri Adapter testen
-
Achja, auch meine Mac-Adresse entspricht der Seriennummer. `
Das ist klar!Die ersten drei Paare heben den Hersteller an.
Diese wollte alCalzone wissen.
Gruß
Rainer
-
Ja, halte dich an die Installationsanleitung auf Github:
` > Installation on Raspberry PIMake sure you have git installed. If not: sudo apt-get install git-core
Install this adapter via the ioBroker GUI -> This will result in an error
Open the console and navigate to /opt/iobroker/node_modules/iobroker.tradfri
There, run sudo npm install –production --unsafe-perm, this will take a while.
If neccessary, add an adapter instance, then configure it by entering the IP/hostname of your gateway and the security code that can be found under that. `
Die Installation erfordert git-core zum Nachladen von Paketen und erhöhte Rechte (–unsafe-perm) zur Kompilierung der Pakete. Beides kann ich für die automatische Installation leider nicht vorgeben (oder ich bin zu doof dafür).
Ich vermute, dir fehlt git, da er die Datei aes.o nicht findet:
make: *** No rule to make target 'Release/obj.target/mbedcrypto/mbedtls/library/aes.o', needed by 'Release/obj.target/mbedcrypto.a'. Stop.
–
Da du schon der zweite mit dem gleichen Problem auf Node 4.x bist, kann ich mich wohl doch nicht einfach auf Travis verlassen...
Ich werde die Tage mal auf 4.x downgraden und schauen, ob ich die Ursache finde.
Hast du ein paar Details für mich zu deiner Umgebung?
Hardware / Software inkl. Versionen?
-
Hallo,
wie ich schon geschrieben habe, bin ich nach Deiner Anleitung vorgegangen
git-core ist drauf.
Beim Installieren unter 6.10.3 kommt er ja garnicht so weit das er unter iobroker/node_modules das Verzeichnis iobroker.tradfri erstellt.
Das ganze läuft in nem Docker-Container auf einer Synology.
iobroker und alle installierten Adapter sind aktuell.
MfG
Chris
-
Hallo AlCalzone,
muss es wirklich git-core sein?
Ich hatte nur git installiert.
Auf welcher von meinen Plattformen es gerade läuft weiß ich gerade nicht. Müsste aber mindestens nodejs v6 sein.
Gruß
Rainer
-
git-core ist ein subset von git, wenn man nicht alle Funktionen braucht. git sollte es also auch tun.
-
Hallo,
wie ich schon geschrieben habe, bin ich nach Deiner Anleitung vorgegangen
git-core ist drauf.
Beim Installieren unter 6.10.3 kommt er ja garnicht so weit das er unter iobroker/node_modules das Verzeichnis iobroker.tradfri erstellt. `
Hmmm, probier mal anstatt der Installation per Admin-UI folgendes, dann kannst du dir auch Schritt 3/4 sparen:cd /opt/iobroker sudo npm install https://github.com/AlCalzone/ioBroker.tradfri/tarball/master --production --unsafe-perm
anschließend im Admin die Instanz hinzufügen oder
iobroker add tradfri
-
Hallo AlCalzone,
unter Node 6.10.3 ist der Adapter jetzt installiert, es kommt aber immer noch der gleiche Fehler:
host.bla 2017-05-10 16:58:42.165 error instance system.adapter.tradfri.0 terminated with code null () host.bla 2017-05-10 16:58:42.165 warn instance system.adapter.tradfri.0 terminated due to SIGABRT
MfG
Chris
-
Ok, um das mal zusammenzufassen:
han_swurst: Docker-Container (VM?) => läuft nicht
mctom: VM => läuft nicht
Homoran: Raspberry (?) => läuft
ich: Raspberry => läuft
Welches Betriebssystem hab ihr am Laufen? Und hat jemand ne Idee, wie ich euer Setup replizieren kann für Tests?
-
Homoran: Raspberry (?) => läuft `
:lol: irgendwodrauf nur definitiv kein RasPi :lol:Cubie, Tinker, pine64 oder nuc.
Ich muss nachsehen.
Edit:
Ist der nuc mit debian 9 netinstall "stretch" und nodejs 7.x
Installation habe ich allerdings schon mit der vorversion vom Adapter gemacht.
Gruß
Rainer
-
Hallo AlCalzone,
ich habs jetzt mit nem frisch installierten Raspi 3 und iobroker unter node 6.10.3 versucht.
Gleicher Fehler.
MfG
Chris
-
okay… jetzt bin ich verwirrt.
Kannst du die Installationslogs mal in eine Datei umleiten und mir diese zukommen lassen?
sudo npm install [...] 2>&1 | tee log.txt
–-
Aber gut, dass du auf nem frischen Pi3 testen konntest... das kann ich nämlich auch.
Ich habe ne Vermutung, die ich später mal überprüfen werde. Auf meinem Dev-Pi läuft auch der zwave- und fhem(-Adapter), beide wollten vorher zusätzliche Pakete installiert haben. Eventuell brauchen wir auch eins davon, und das scheint dir zu fehlen.
-
Ich habe es gerade auf einem meiner beiden Tinker unter nodejs 6.2 versucht.
Die Installation über den admin mittels pfad von github endet mit error 25.
Anschließend existiert der Ordner iobroker.tradfri unter /opt/iobroker/node_modules/ NICHT!
Gruß
Rainer
-
Auch nach versuch über die Konsole kein trådfri ordner
! ````
linaro@linaro-alip:/opt/iobroker$ npm install https://github.com/AlCalzone/ioBroker.tradfri --productionnode-mbed-dtls@2.4.4 preinstall /opt/iobroker/node_modules/.staging/node-mbed-dtls-a5e9e04f
node downloadDeps.jsCloning into 'mbedtls'...
bufferutil@1.1.0 install /opt/iobroker/node_modules/bufferutil
node-gyp rebuildmake: Entering directory '/opt/iobroker/node_modules/bufferutil/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
In file included from ../node_modules/nan/nan.h:82:0,
from ../src/bufferutil.cc:16:
../node_modules/nan/nan_new.h: In function ‘v8::Local NanIntern::To(v8::Handlev8::integer) [with T = v8:
:Int32; v8::Handle v8::integer= v8::Localv8::integer]:
../node_modules/nan/nan_new.h:34:64: warning: ‘v8::Local v8::int32v8::Value::ToInt32() const’ is deprecated
(declared at /home/linaro/.node-gyp/6.10.2/include/node/v8.h:8202): Use maybe version [-Wdeprecated-declarat
ions]
Tov8::int32(v8::Handle v8::integeri) { return i->ToInt32(); }
^
../node_modules/nan/nan_new.h: In function ‘v8::Local NanIntern::To(v8::Handlev8::integer) [with T = v8:
:Uint32; v8::Handle v8::integer= v8::Localv8::integer]’:
../node_modules/nan/nan_new.h:39:65: warning: ‘v8::Local v8::uint32v8::Value::ToUint32() const’ is deprecat
ed (declared at /home/linaro/.node-gyp/6.10.2/include/node/v8.h:8196): Use maybe version [-Wdeprecated-declar
ations]
Tov8::uint32(v8::Handle v8::integeri) { return i->ToUint32(); }
^
In file included from ../node_modules/nan/nan_new.h:189:0,
from ../node_modules/nan/nan.h:82,
from ../src/bufferutil.cc:16:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8: :booleanobject="">::return_t NanIntern::Factoryv8::booleanobject::New(bool)’:
../node_modules/nan/nan_implementation_12_inl.h:49:38: warning: ‘static v8::Local v8::valuev8::BooleanObjec
t::New(bool)’ is deprecated (declared at /home/linaro/.node-gyp/6.10.2/include/node/v8.h:4008): Pass an isola
te [-Wdeprecated-declarations]
return v8::BooleanObject::New(value).Asv8::booleanobject();
^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8: :script="">::return_t NanIntern::Factoryv8::script::New(v8::Localv8::string)’:
../node_modules/nan/nan_implementation_12_inl.h:166:69: warning: ‘static v8::Local v8::scriptv8::ScriptComp
iler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated (
declared at /home/linaro/.node-gyp/6.10.2/include/node/v8.h:1352): Use maybe version [-Wdeprecated-declaratio
ns]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8: :script="">::return_t NanIntern::Factoryv8::script::New(v8::Localv8::string, const v8::ScriptOrigin&)’:
../node_modules/nan/nan_implementation_12_inl.h:173:69: warning: ‘static v8::Local v8::scriptv8::ScriptComp
iler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated (
declared at /home/linaro/.node-gyp/6.10.2/include/node/v8.h:1352): Use maybe version [-Wdeprecated-declaratio
ns]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8: :string="">::return_t NanIntern::Factoryv8::string::New(const uint8_t*, int)’:
../node_modules/nan/nan_implementation_12_inl.h:206:42: warning: ‘static v8::Local v8::stringv8::String::Ne
wFromOneByte(v8::Isolate*, const uint8_t*, v8::String::NewStringType, int)’ is deprecated (declared at /home/
linaro/.node-gyp/6.10.2/include/node/v8.h:2332): Use maybe version [-Wdeprecated-declarations]
v8::String::kNormalString, length);
^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8: :string="">::return_t NanIntern::Factoryv8::string::New(v8::String::ExternalStringResource*)’:
../node_modules/nan/nan_implementation_12_inl.h:217:66: warning: ‘static v8::Local v8::stringv8::String::Ne
wExternal(v8::Isolate*, v8::String::ExternalStringResource*)’ is deprecated (declared at /home/linaro/.node-g
yp/6.10.2/include/node/v8.h:2371): Use maybe version [-Wdeprecated-declarations]
return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8: :unboundscript="">::return_t NanIntern::Factoryv8::unboundscript::New(v8::Localv8::string)’:
../node_modules/nan/nan_implementation_12_inl.h:237:76: warning: ‘static v8::Local v8::unboundscriptv8::Scr
iptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ i
s deprecated (declared at /home/linaro/.node-gyp/6.10.2/include/node/v8.h:1333): Use maybe version [-Wdepreca
ted-declarations]
return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8: :unboundscript="">::return_t NanIntern::Factoryv8::unboundscript::New(v8::Localv8::string, const v8::ScriptO
rigin&)’:
../node_modules/nan/nan_implementation_12_inl.h:244:76: warning: ‘static v8::Local v8::unboundscriptv8::Scr
iptCompiler::CompileUnbound(v8::Isolate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ i
s deprecated (declared at /home/linaro/.node-gyp/6.10.2/include/node/v8.h:1333): Use maybe version [-Wdepreca
ted-declarations]
return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
^
In file included from ../src/bufferutil.cc:16:0:
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:261:25: error: redefinition of ‘template <class t="">v8::Local _NanEnsureLocal(v8::
Local)’
NAN_INLINE v8::Local _NanEnsureLocal(v8::Local val) {
^
../node_modules/nan/nan.h:256:25: note: ‘template <class t="">v8::Local _NanEnsureLocal(v8::Handle)’ previ
ously declared here
NAN_INLINE v8::Local _NanEnsureLocal(v8::Handle val) {
^
../node_modules/nan/nan.h: In function ‘bool NanIdleNotification(int)’:
../node_modules/nan/nan.h:289:71: warning: ‘bool v8::Isolate::IdleNotification(int)’ is deprecated (declared
at /home/linaro/.node-gyp/6.10.2/include/node/v8.h:6114): use IdleNotificationDeadline() [-Wdeprecated-declar
ations]
return v8::Isolate::GetCurrent()->IdleNotification(idle_time_in_ms);
^
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:473:20: error: variable or field ‘NanAddGCEpilogueCallback’ declared void
v8::Isolate::GCEpilogueCallback callback
^
../node_modules/nan/nan.h:473:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCEpilogueCallback callback
^
../node_modules/nan/nan.h:474:18: error: expected primary-expression before ‘gc_type_filter’
, v8::GCType gc_type_filter = v8::kGCTypeAll) {
^
../node_modules/nan/nan.h:479:20: error: variable or field ‘NanRemoveGCEpilogueCallback’ declared void
v8::Isolate::GCEpilogueCallback callback) {
^
../node_modules/nan/nan.h:479:7: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCEpilogueCallback callback) {
^
../node_modules/nan/nan.h:484:20: error: variable or field ‘NanAddGCPrologueCallback’ declared void
v8::Isolate::GCPrologueCallback callback
^
../node_modules/nan/nan.h:484:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCPrologueCallback callback
^
../node_modules/nan/nan.h:485:18: error: expected primary-expression before ‘gc_type_filter’
, v8::GCType gc_type_filter = v8::kGCTypeAll) {
^
../node_modules/nan/nan.h:490:20: error: variable or field ‘NanRemoveGCPrologueCallback’ declared void
v8::Isolate::GCPrologueCallback callback) {
^
../node_modules/nan/nan.h:490:7: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
v8::Isolate::GCPrologueCallback callback) {
^
../node_modules/nan/nan.h:661:13: error: ‘node::smalloc’ has not been declared
, node::smalloc::FreeCallback callback
^
../node_modules/nan/nan.h:661:35: error: expected ‘,’ or ‘...’ before ‘callback’
, node::smalloc::FreeCallback callback
^
../node_modules/nan/nan.h: In function ‘v8::Local v8::objectNanNewBufferHandle(char*, size_t, int)’:
../node_modules/nan/nan.h:665:50: error: ‘callback’ was not declared in this scope
v8::Isolate::GetCurrent(), data, length, callback, hint);
^
../node_modules/nan/nan.h:665:60: error: ‘hint’ was not declared in this scope
v8::Isolate::GetCurrent(), data, length, callback, hint);
^
../node_modules/nan/nan.h: In function ‘v8::Local v8::objectNanNewBufferHandle(const char*, uint32_t)’:
../node_modules/nan/nan.h:672:67: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
^
In file included from ../src/bufferutil.cc:10:0:
/home/linaro/.node-gyp/6.10.2/include/node/node_buffer.h:46:40: note: initializing argument 2 of ‘v8::MaybeLo
cal v8::objectnode::Buffer::New(v8::Isolate*, char*, size_t)’
NODE_EXTERN v8::MaybeLocal v8::objectNew(v8::Isolate* isolate,
^
In file included from ../src/bufferutil.cc:16:0:
../node_modules/nan/nan.h:672:67: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((ch
ar*)data), size)’ from ‘v8::MaybeLocalv8::object’ to ‘v8::Localv8::object’
return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
^
../node_modules/nan/nan.h: In function ‘v8::Local v8::objectNanNewBufferHandle(uint32_t)’:
../node_modules/nan/nan.h:676:61: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), size
)’ from ‘v8::MaybeLocalv8::object’ to ‘v8::Localv8::object’
return node::Buffer::New(v8::Isolate::GetCurrent(), size);
^
../node_modules/nan/nan.h: In function ‘v8::Local v8::objectNanBufferUse(char*, uint32_t)’:
../node_modules/nan/nan.h:683:12: error: ‘Use’ is not a member of ‘node::Buffer’
return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
^
../node_modules/nan/nan.h: In function ‘v8::Local v8::scriptNanCompileScript(v8::Localv8::string, const v
8::ScriptOrigin&)’:
../node_modules/nan/nan.h:710:74: warning: ‘static v8::Local v8::scriptv8::ScriptCompiler::Compile(v8::Isol
ate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated (declared at /home/lina
ro/.node-gyp/6.10.2/include/node/v8.h:1352): Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
^
../node_modules/nan/nan.h: In function ‘v8::Local v8::scriptNanCompileScript(v8::Localv8::string)’:
../node_modules/nan/nan.h:717:74: warning: ‘static v8::Local v8::scriptv8::ScriptCompiler::Compile(v8::Isol
ate*, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions)’ is deprecated (declared at /home/lina
ro/.node-gyp/6.10.2/include/node/v8.h:1352): Use maybe version [-Wdeprecated-declarations]
return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
^
../src/bufferutil.cc: In static member function ‘static void BufferUtil::Initialize(v8::Handlev8::object)’:
../src/bufferutil.cc:30:52: error: call of overloaded ‘NODE_SET_METHOD(v8::Localv8::functiontemplate&, cons
t char [7], void (&)(const v8::FunctionCallbackInfov8::value&))’ is ambiguous
NODE_SET_METHOD(t, "unmask", BufferUtil::Unmask);
^
../src/bufferutil.cc:30:52: note: candidates are:
In file included from ../src/bufferutil.cc:8:0:
/home/linaro/.node-gyp/6.10.2/include/node/node.h:244:13: note: void node::NODE_SET_METHOD(v8::Local<v8::temp late="">, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local v8::templaterecv,
^
/home/linaro/.node-gyp/6.10.2/include/node/node.h:257:13: note: void node::NODE_SET_METHOD(v8::Local<v8::obje ct="">, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local v8::objectrecv,
^
../src/bufferutil.cc:31:48: error: call of overloaded ‘NODE_SET_METHOD(v8::Localv8::functiontemplate&, cons
t char [5], void (&)(const v8::FunctionCallbackInfov8::value&))’ is ambiguous
NODE_SET_METHOD(t, "mask", BufferUtil::Mask);
^
../src/bufferutil.cc:31:48: note: candidates are:
In file included from ../src/bufferutil.cc:8:0:
/home/linaro/.node-gyp/6.10.2/include/node/node.h:244:13: note: void node::NODE_SET_METHOD(v8::Local<v8::temp late="">, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local v8::templaterecv,
^
/home/linaro/.node-gyp/6.10.2/include/node/node.h:257:13: note: void node::NODE_SET_METHOD(v8::Local<v8::obje ct="">, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local v8::objectrecv,
^
../src/bufferutil.cc:32:50: error: call of overloaded ‘NODE_SET_METHOD(v8::Localv8::functiontemplate&, cons
t char [6], void (&)(const v8::FunctionCallbackInfov8::value&))’ is ambiguous
NODE_SET_METHOD(t, "merge", BufferUtil::Merge);
^
../src/bufferutil.cc:32:50: note: candidates are:
In file included from ../src/bufferutil.cc:8:0:
/home/linaro/.node-gyp/6.10.2/include/node/node.h:244:13: note: void node::NODE_SET_METHOD(v8::Local<v8::temp late="">, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local v8::templaterecv,
^
/home/linaro/.node-gyp/6.10.2/include/node/node.h:257:13: note: void node::NODE_SET_METHOD(v8::Local<v8::obje ct="">, const char*, v8::FunctionCallback)
inline void NODE_SET_METHOD(v8::Local v8::objectrecv,
^
bufferutil.target.mk:94: recipe for target 'Release/obj.target/bufferutil/src/bufferutil.o' failed
make: *** [Release/obj.target/bufferutil/src/bufferutil.o] Error 1
make: Leaving directory '/opt/iobroker/node_modules/bufferutil/build'
gyp ERR! build error
gyp ERR! stack Error:make
failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:2
3)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.16
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild
"
gyp ERR! cwd /opt/iobroker/node_modules/bufferutil
gyp ERR! node -v v6.10.2
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not oknode-mbed-dtls@2.4.4 install /opt/iobroker/node_modules/node-mbed-dtls
node-gyp rebuildmake: Entering directory '/opt/iobroker/node_modules/node-mbed-dtls/build'
CC(target) Release/obj.target/mbedcrypto/mbedtls/library/aes.o
CC(target) Release/obj.target/mbedcrypto/mbedtls/library/aesni.o
CC(target) Release/obj.target/mbedcrypto/mbedtls/library/arc4.o
CC(target) Release/obj.target/mbedcrypto/mbedtls/library/asn1parse.o
CC(target) Release/obj.target/mbedcrypto/mbedtls/library/asn1write.o
CC(target) Release/obj.target/mbedcrypto/mbedtls/library/base64.o
CC(target) Release/obj.target/mbedcrypto/mbedtls/library/bignum.o
../mbedtls/library/bignum.c: In function ‘mpi_mul_hlp’:
../mbedtls/library/bignum.c:1168:1: error: r7 cannot be used in asm here
}
^
../mbedtls/library/bignum.c:1168:1: error: r7 cannot be used in asm here
mbedcrypto.target.mk:144: recipe for target 'Release/obj.target/mbedcrypto/mbedtls/library/bignum.o' failed
make: *** [Release/obj.target/mbedcrypto/mbedtls/library/bignum.o] Error 1
make: Leaving directory '/opt/iobroker/node_modules/node-mbed-dtls/build'
gyp ERR! build error
gyp ERR! stack Error:make
failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:2
3)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.16
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild
"
gyp ERR! cwd /opt/iobroker/node_modules/node-mbed-dtls
gyp ERR! node -v v6.10.2
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
iobroker@1.0.0 /opt/iobroker
── (empty)npm WARN babel-eslint@5.0.4 requires a peer of eslint@<2.3.0 but none was installed.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 (node_modules/bufferutil):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bufferutil@1.1.0 install:node-gyp rebuild
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm ERR! Linux 4.4.16
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "https://github.com/AlCalzone/ioBroker.tradfri" "--p
roduction"
npm ERR! node v6.10.2
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLEnpm ERR! node-mbed-dtls@2.4.4 install:
node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-mbed-dtls@2.4.4 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-mbed-dtls package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs node-mbed-dtls
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls node-mbed-dtls
npm ERR! There is likely additional logging output above.npm ERR! Please include the following file with any support request:
npm ERR! /opt/iobroker/npm-debug.log
npm ERR! code 1</v8::object></v8::obje></v8::template></v8::temp></v8::value></v8::functiontemplate></v8::object></v8::obje></v8::template></v8::temp></v8::value></v8::functiontemplate></v8::object></v8::obje></v8::template></v8::temp></v8::value></v8::functiontemplate></v8::object></v8::script></v8::string></v8::script></v8::script></v8::string></v8::script></v8::object></v8::object></v8::object></v8::object></v8::object></v8::object></v8::object></v8::object></v8::object></v8::object></class></class></v8::unboundscript></v8::string></v8::unboundscript></v8:></v8::unboundscript></v8::string></v8::unboundscript></v8:></v8::string></v8::string></v8:></v8::string></v8::string></v8:></v8::script></v8::string></v8::script></v8:></v8::script></v8::string></v8::script></v8:></v8::booleanobject></v8::value></v8::booleanobject></v8:></v8::integer></v8::uint32></v8::uint32></v8::integer></v8::integer></v8::integer></v8::integer></v8::int32></v8::int32></v8::integer></v8::integer></v8::integer>Gruß Rainer
-
Hallo AlCalzone,
ich hab den Pi nochmal frisch aufgesetzt um alles nochmal durchzuführen und meine Schritte zu dokumentieren.
Also gestartet wird mit nem frischen Pi3, anschließend node und iobroker installieren:
alten node Kram entfernen..
sudo apt-get --purge remove node sudo apt-get --purge remove nodejs sudo apt-get autoremove sudo reboot
Repos für node 6.x einrichten und node 6.10.3 installieren:
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install -y build-essentials python nodejs reboot
Verzeichnis für iobroker erstellen und iobroker installieren:
sudo mkdir /opt/iobroker sudo chmod 777 /opt/iobroker cd /opt/iobroker sudo npm install iobroker --unsafe-perm
Beim installieren traten Fehler bei iobroker.discovery auf.
Keine Ahnung ob das für Dein Adapter relevant ist.
Hier mal das Log für die Installation von iobroker
git-core und anschließend Deinen Adapter installieren:
sudo apt-get install git-core sudo npm install https://github.com/AlCalzone/ioBroker.tradfri/tarball/master --production --unsafe-perm 2>&1 | tee tradfri_inst.log
Hier das Log der Installation
Adapter instanzieren…
iobroker add tradfri
Ausgabe:
iobroker add tradfri host.raspberrypi install adapter tradfri npm install –production (System call) in "/opt/iobroker/node_modules/iobroker.tradfri" got /opt/iobroker/node_modules/iobroker.tradfri/admin upload [2] tradfri.admin /opt/iobroker/node_modules/iobroker.tradfri/admin/words.js words.js application/javascript upload [1] tradfri.admin /opt/iobroker/node_modules/iobroker.tradfri/admin/tradfri.png tradfri.png image/png upload [0] tradfri.admin /opt/iobroker/node_modules/iobroker.tradfri/admin/index.html index.html text/html host.raspberrypi object system.adapter.tradfri created host.raspberrypi create instance tradfri host.raspberrypi object system.adapter.tradfri.0.outputCount created host.raspberrypi object system.adapter.tradfri.0.inputCount created host.raspberrypi object system.adapter.tradfri.0.uptime created host.raspberrypi object system.adapter.tradfri.0.memRss created host.raspberrypi object system.adapter.tradfri.0.memHeapTotal created host.raspberrypi object system.adapter.tradfri.0.memHeapUsed created host.raspberrypi object system.adapter.tradfri.0.connected created host.raspberrypi object system.adapter.tradfri.0.alive created host.raspberrypi object system.adapter.tradfri.0 created
Eingabe von IP und SecurityCode…
Und leider wieder derselbe Fehler im iobroker Log:
host.raspberrypi 2017-05-11 22:11:28.803 info Restart adapter system.adapter.tradfri.0 because enabled host.raspberrypi 2017-05-11 22:11:28.802 error instance system.adapter.tradfri.0 terminated with code null () host.raspberrypi 2017-05-11 22:11:28.802 warn instance system.adapter.tradfri.0 terminated due to SIGABRT host.raspberrypi 2017-05-11 22:11:26.334 info instance system.adapter.tradfri.0 started with pid 4488 host.raspberrypi 2017-05-11 22:10:56.317 info Restart adapter system.adapter.tradfri.0 because enabled host.raspberrypi 2017-05-11 22:10:56.316 error instance system.adapter.tradfri.0 terminated with code null () host.raspberrypi 2017-05-11 22:10:56.315 warn instance system.adapter.tradfri.0 terminated due to SIGABRT host.raspberrypi 2017-05-11 22:10:53.745 info instance system.adapter.tradfri.0 started with pid 4478 host.raspberrypi 2017-05-11 22:10:51.290 info instance system.adapter.tradfri.0 terminated with code 0 (OK) tradfri.0 2017-05-11 22:10:51.254 info terminating host.raspberrypi 2017-05-11 22:10:51.223 info stopInstance system.adapter.tradfri.0 killing pid 4467 host.raspberrypi 2017-05-11 22:10:51.222 info stopInstance system.adapter.tradfri.0 host.raspberrypi 2017-05-11 22:10:51.217 info object change system.adapter.tradfri.0 tradfri.0 2017-05-11 22:06:41.889 info requesting coap endpoint /15001 tradfri.0 2017-05-11 22:06:41.837 info starting. Version 0.1.2 in /opt/iobroker/node_modules/iobroker.tradfri, node: v6.10.3 host.raspberrypi 2017-05-11 22:06:39.392 info instance system.adapter.tradfri.0 started with pid 4467 host.raspberrypi 2017-05-11 22:06:39.358 info object change system.adapter.tradfri.0
Was mir noch aufgefallen ist, die Instanz des Adapters terminiert sich sobald sie eine IP konfiguriert hat. Im unkonfiguriertem Zustand, oder wenn die IP gelöscht wird, bleibt die Instanz gestartet.
MfG
Chris
-
> mdns@2.3.3 install /opt/iobroker/node_modules/mdns > node-gyp rebuild make: Entering directory '/opt/iobroker/node_modules/mdns/build' CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o In file included from ../src/dns_sd.cpp:1:0: ../src/mdns.hpp:32:20: fatal error: dns_sd.h: Datei oder Verzeichnis nicht gefunden #include <dns_sd.h> ^ compilation terminated. dns_sd_bindings.target.mk:149: recipe for target 'Release/obj.target/dns_sd_bindings/src/dns_sd.o' failed make: *** [Release/obj.target/dns_sd_bindings/src/dns_sd.o] Error 1 make: Leaving directory '/opt/iobroker/node_modules/mdns/build'</dns_sd.h> ```` `
Da haben wir's doch! Ich schau, wie man das beheben/verhindern kann.
-
Auch nach versuch über die Konsole kein trådfri ordner
CC(target) Release/obj.target/mbedcrypto/mbedtls/library/bignum.o ../mbedtls/library/bignum.c: In function ‘mpi_mul_hlp’: ../mbedtls/library/bignum.c:1168:1: error: r7 cannot be used in asm here } ^ ../mbedtls/library/bignum.c:1168:1: error: r7 cannot be used in asm here mbedcrypto.target.mk:144: recipe for target 'Release/obj.target/mbedcrypto/mbedtls/library/bignum.o' failed ```` `
Die DTLS-Library scheint hier nicht kompatibel zu sein Muss ich mal schauen, ob ich ein anderes Paket finde.
-
Hallo,
erst einmal vielen Dank an AlCalzone für die Entwicklung dieses Adapters!
Nach stöbern im Thread habe ich es letztendlich geschafft den Tradfri Adapter zu installieren. Nun habe ich allerdings das Problem, dass sich der Adapter scheinbar nicht mit dem Gateway verbindet, obwohl die IP als auch Security Code stimmen. Ich finde einfach den Fehler nicht selbst.
Das Log zeigt die folgende Schleife (IP anonymisiert):
tradfri.0 2017-05-13 00:11:06.844 info requesting coap endpoint 192.168.XXX.XX/15001 tradfri.0 2017-05-13 00:11:06.820 info starting. Version 0.1.2 in /opt/iobroker/node_modules/iobroker.tradfri, node: v4.8.1 tradfri.0 2017-05-13 00:11:06.774 debug statesDB connected tradfri.0 2017-05-13 00:11:06.699 debug objectDB connected tradfri.0 2017-05-13 00:10:52.588 info requesting coap endpoint 192.168.XXX.XX/15001 tradfri.0 2017-05-13 00:10:52.564 info starting. Version 0.1.2 in /opt/iobroker/node_modules/iobroker.tradfri, node: v4.8.1 tradfri.0 2017-05-13 00:10:52.497 debug statesDB connected tradfri.0 2017-05-13 00:10:52.423 debug objectDB connected
Unter den Objekten werden keine Datenpunkte für die Geräte angelegt. Lediglich eine Instanz.
Hat jemand eine Idee woran dies liegen könnte? Falls ich noch etwas anderes beisteuern kann zur Fehlerfindung bitte ich um Hinweis.
PS:
@han_swurst:Was mir noch aufgefallen ist, die Instanz des Adapters terminiert sich sobald sie eine IP konfiguriert hat. Im unkonfiguriertem Zustand, oder wenn die IP gelöscht wird, bleibt die Instanz gestartet. `
Gerade noch diesen Post gesehen und überprüft. Ist bei mir genau so. Ändert aber nichts daran, dass kein Ordner angelegt wird mit den Geräten.
2436_screenshot.jpg -
> mdns@2.3.3 install /opt/iobroker/node_modules/mdns > node-gyp rebuild make: Entering directory '/opt/iobroker/node_modules/mdns/build' CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o In file included from ../src/dns_sd.cpp:1:0: ../src/mdns.hpp:32:20: fatal error: dns_sd.h: Datei oder Verzeichnis nicht gefunden #include <dns_sd.h> ^ compilation terminated. dns_sd_bindings.target.mk:149: recipe for target 'Release/obj.target/dns_sd_bindings/src/dns_sd.o' failed make: *** [Release/obj.target/dns_sd_bindings/src/dns_sd.o] Error 1 make: Leaving directory '/opt/iobroker/node_modules/mdns/build'</dns_sd.h> ```` `
Da haben wir's doch! Ich schau, wie man das beheben/verhindern kann. `
Das ist nicht das Problem. Da fehlen ein nur ein paar Abhängigkeiten für mdns.
Ein apt-get install libavahi-compat-libdnssd-dev behebt den Fehler beim Installieren von mdns.
Ich hab auch schon libcoap installiert bzw. kompiliert. Aber auch damit bringt der Adapter den bekannten Fehler.
Nochwas:
Ich weiß nicht obs Dir beim Fehler suchen hilft, aber der Adapter schmiert nur ab, wenn man die IP vom Ikea-Gateway eingibt.
MfG
Chris
-
Danke für die zahlreichen Infos. Ich kann noch nichts versprechen, da ich aktuell nicht viel Zeit habe, aber ich versuche im Laufe der Woche nachzuvollziehen, was da bei euch schief läuft.
Dass keine Objekte angelegt werden, ist zu erwarten, da der Adapter keine Verbindung herstellt. Die Objekte sollten bei erfolgreicher Verbindung angelegt werden.
–-
Update: Ich kann euer Problem mittlerweile reproduzieren. Bei Ausführung über Konsole gibt es weitere Infos:
io.tradfri.0: ../../nan/nan.h:704: Nan::MaybeLocal <v8::object>Nan::CopyBuffer(const char*, uint32_t): Assertion `size <= imp::kMaxLength && "too large buffer"' failed.</v8::object>
Wenn ich jetzt noch wüsste, warum das vorher bei mir funktioniert hat…
-
Ich habe mal nach Alternativen geschaut:
-
mbed-dtls (aktuelle Lösung, problematisch)
-
tiny-dtls (in C geschrieben, schlecht bis nicht dokumentiert, muss ich irgendwie wrappen)
-
node-dtls (nodeJS, aber kann nur RSA, kein PSK wie von Tradfri benötigt, Code ist etwas… äääh unübersichtlich)
-
libcoap (kann kein DTLS, der beigelegte client erfordert pro überwachter Ressource [das sind einige] einen neuen Prozess)
Habe mich jetzt entschieden, DTLS und CoAP selbst zu implementieren, das wird aber noch ein bisschen dauern…
-