Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. [Aufruf] IKEA-Trådfri Adapter testen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    12
    1
    328

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.3k

[Aufruf] IKEA-Trådfri Adapter testen

Geplant Angeheftet Gesperrt Verschoben Tester
471 Beiträge 49 Kommentatoren 133.4k Aufrufe 5 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • H Offline
    H Offline
    han_swurst
    schrieb am zuletzt editiert von
    #38

    Hallo AlCalzone,

    ich habs jetzt mit nem frisch installierten Raspi 3 und iobroker unter node 6.10.3 versucht.

    Gleicher Fehler.

    MfG

    Chris

    1 Antwort Letzte Antwort
    0
    • AlCalzoneA Offline
      AlCalzoneA Offline
      AlCalzone
      Developer
      schrieb am zuletzt editiert von
      #39

      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.

      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

      1 Antwort Letzte Antwort
      0
      • HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #40

        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

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        1 Antwort Letzte Antwort
        0
        • HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von
          #41

          Auch nach versuch über die Konsole kein trådfri ordner

          ! ````
          linaro@linaro-alip:/opt/iobroker$ npm install https://github.com/AlCalzone/ioBroker.tradfri --production

          node-mbed-dtls@2.4.4 preinstall /opt/iobroker/node_modules/.staging/node-mbed-dtls-a5e9e04f
          node downloadDeps.js

          Cloning into 'mbedtls'...

          bufferutil@1.1.0 install /opt/iobroker/node_modules/bufferutil
          node-gyp rebuild

          make: 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 ok

          node-mbed-dtls@2.4.4 install /opt/iobroker/node_modules/node-mbed-dtls
          node-gyp rebuild

          make: 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 ELIFECYCLE

          npm 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

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          1 Antwort Letzte Antwort
          0
          • H Offline
            H Offline
            han_swurst
            schrieb am zuletzt editiert von Jey Cee
            #42

            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

            log.txt

            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

            log.txt

            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

            1 Antwort Letzte Antwort
            0
            • AlCalzoneA Offline
              AlCalzoneA Offline
              AlCalzone
              Developer
              schrieb am zuletzt editiert von
              #43

              @han_swurst:

              > 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.

              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

              1 Antwort Letzte Antwort
              0
              • AlCalzoneA Offline
                AlCalzoneA Offline
                AlCalzone
                Developer
                schrieb am zuletzt editiert von
                #44

                @Homoran:

                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.

                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  ACE76
                  schrieb am zuletzt editiert von
                  #45

                  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

                  1 Antwort Letzte Antwort
                  0
                  • H Offline
                    H Offline
                    han_swurst
                    schrieb am zuletzt editiert von
                    #46

                    @AlCalzone:

                    @han_swurst:

                    > 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

                    1 Antwort Letzte Antwort
                    0
                    • AlCalzoneA Offline
                      AlCalzoneA Offline
                      AlCalzone
                      Developer
                      schrieb am zuletzt editiert von
                      #47

                      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…

                      Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                      1 Antwort Letzte Antwort
                      0
                      • AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        schrieb am zuletzt editiert von
                        #48

                        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…

                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                        1 Antwort Letzte Antwort
                        0
                        • S Offline
                          S Offline
                          smartie
                          schrieb am zuletzt editiert von
                          #49

                          Hallo!

                          "Update: Ich kann euer Problem mittlerweile reproduzieren. Bei Ausführung über Konsole gibt es weitere Infos:

                          Code:

                          io.tradfri.0: ../../nan/nan.h:704: Nan::MaybeLocal v8::objectNan::CopyBuffer(const char*, uint32_t): Assertion `size <= imp::kMaxLength && "too large buffer"' failed.

                          Wenn ich jetzt noch wüsste, warum das vorher bei mir funktioniert hat…"

                          Nun, ohne der große JS Experte zu sein:

                          Ich würde vermuten das wenn das auf RPi NICH läuft, auf anderen Umgebungen schon würde ich schlicht vermuten das es daran liegt, das der standardmäßig für JAVA bereitgestellte Speicher auf dem RPi schlicht kleiner ist als in anderen Umgebungen.

                          Das ist denke ich aber eher Symptom und nicht Ursache. Die Frage ist: Was braucht denn im tradfri Adapter so eine Menge an Speicher, denn offensichtlich ist die Größe, also der Wert des 1. Parameters zu groß ....

                          Ich bekomme diese start/crash schleife auch ohne eigegebene IP/Securitycode ....</v8::object>

                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            smartie
                            schrieb am zuletzt editiert von
                            #50

                            So, ich muss nun meinen Beitrag ergänzen - das Fehlerbild hat sich geändert.

                            Mein erstes Problem war: Die Prozedur zum Entfernen von node.js 4 hat wohl nicht funktioniert - und so hatte ich v4 und v7 parallel ( fieser weise hat die Command-line auf v7 zugegriffen, aber ioBroker auf v4).

                            Somit bin ich jetzt bei dem Status: Keine IP eingetragen –> Adapter läuft.

                            "Irgend eine IP - nur kein tradfri gate" --> Adapter sended coap request - und bekommt natürlich keine Antwort.

                            Sobald ich die IP vom Gate eingebe - auch ohne Securitycode crasht der Adapter mit

                            "host.csprint01 2017-05-30 16:43:38.925 error instance system.adapter.tradfri.0 terminated with code null ()

                            host.csprint01 2017-05-30 16:43:38.924 warn instance system.adapter.tradfri.0 terminated due to SIGABRT"

                            So ins Blaue geraten also dann wenn der client irgendwas antwortet ....

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              smartie
                              schrieb am zuletzt editiert von
                              #51

                              Hallo zusammen!

                              Ich habe mal ein bischen angefangen zu debuggen- um einzugrenzen wo der crash passiert:

                              Es liegt an coapClient.js

                              Line 147 - 172

                              Mehr Details habe ich noch nicht, aber vielleicht hilft's ja ….

                              1 Antwort Letzte Antwort
                              0
                              • AlCalzoneA Offline
                                AlCalzoneA Offline
                                AlCalzone
                                Developer
                                schrieb am zuletzt editiert von
                                #52

                                Danke für den Input. Mir ist bewusst, dass es an den 3rd-party libs liegt - irgendwas mit fehlerhafter Buffer-Größe. Hatte weiter oben auch schon mal einen Log gepostet mit dem exakten Fehler.

                                Was mich nur wundert:

                                Ich habe die erste Version auf einem Raspi 2 entwickelt, auf dem vorher schon einiges anderes installiert war. Da hats einwandfrei funktioniert. Die CI-Tests ebenfalls.

                                Dann kamen die ersten Nutzer, die es auf diversen Systemen nicht ausführen konnten. Auf einem frisch aufgesetzten Raspi (2 oder 3, weiß ich gerade nicht) ging es dann plötzlich auch bei mir nicht mehr. Irgendwas scheint also zu fehlen, nur was…?

                                Naja, ich werde die COAP und DTLS-Libraries demnächst durch eigenen Code ersetzen - ist nicht so schrecklich umfangreich auf der Client-Seite. Bin nur gerade im Umzugsstress, da ist keine Zeit für so Spielchen.

                                Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                1 Antwort Letzte Antwort
                                0
                                • S Offline
                                  S Offline
                                  smartie
                                  schrieb am zuletzt editiert von
                                  #53

                                  Das ist sicher eine gute Idee.

                                  Ich bin auch noch einen Schritt weiter:

                                  Das Problem liegt in coap-dtls/index.js , bei der Instantiierung des Agent ab Zeile 41 - 52.

                                  1 Antwort Letzte Antwort
                                  0
                                  • AlCalzoneA Offline
                                    AlCalzoneA Offline
                                    AlCalzone
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #54

                                    Das Problem müsste eigentlich im Paket mbed-dtls liegen, da hier die Bindings zum nativen C-Code liegen.

                                    https://github.com/AlCalzone/node-mbed- … master/src

                                    Wenn du die exakte Stelle finden solltest, lass es mich wissen. Ansonsten werde ich (sobald ich Zeit habe) die Libraries durch selbstgeschriebenen Code (reines JS) ersetzen.

                                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      smartie
                                      schrieb am zuletzt editiert von
                                      #55

                                      Damit kann ich dienen:

                                      in node-mbed-dstl\client_socket.js

                                      Zeile 52: Bei der Instantiierung von mbed.DtlsClientSocket kracht's …..

                                      Gruß

                                      Smartie

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        smartie
                                        schrieb am zuletzt editiert von
                                        #56

                                        @smartie:

                                        Damit kann ich dienen:

                                        in node-mbed-dstl\client_socket.js

                                        Zeile 52: Bei der Instantiierung von mbed.DtlsClientSocket kracht's …..

                                        Gruß

                                        Smartie `

                                        … ich nehm alles zurück und behaupte das Gegenteil ....

                                        Dar Aufruf

                                        const data = this.mbedSocket.receiveData(msg);

                                        in client_socket.js macht das Problem. (So um Zeilennummer 85).

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          sunny999999
                                          schrieb am zuletzt editiert von
                                          #57

                                          Gibts in dieser Richtung was neues ?

                                          Häng auch da und warte auf ne Lösung oder nen workaround…...

                                          Thx

                                          Sunny

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          491

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe