Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Error/Bug
  4. Node-Enocean Modul kann nicht per "require" eingebunden werden

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

Node-Enocean Modul kann nicht per "require" eingebunden werden

Scheduled Pinned Locked Moved Error/Bug
10 Posts 4 Posters 2.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    KevinK
    wrote on last edited by
    #1

    Hallo zusammen,

    ich arbeite gerade mit Hochdruck daran, EnOcean Komponenten über ioBroker steuern zu können.

    Dazu habe ich das Modul node-enocean per NPM installiert. Bis auf dass serialport und leveldown per build from source installiert wurden, gab es keine Auffälligkeiten bei der Installation von node-enocean.

    Nun kann ich das node-enocean Modul aber nicht per "require" in mein Skript einbinden. Ich erhalte dabei die folgende Fehlermeldung:

    	javascript.0 script.js.common.Enocean_Dimmer: missing ) after argument list at Module._compile (module.js:542:28), at Object.Module._extensions..js (module.js:579:10), at Module.load (module.js:487:32), at tryModuleLoad (module.js:446:12), at Function.Module._load (module.js:438:3), at Module.require (module.js:497:17), at require (internal/module.js:20:19), at require (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:753:32), at script.js.common.Enocean_Dimmer:1:20, at ContextifyScript.Script.runInContext (vm.js:35:29)
    

    Der Require Befehl:

    var enocean      = require("node-enocean");
    

    Könnt ihr mir bitte sagen, wie ich den Fehler beheben kann?

    Vielen Dank im Voraus!
    3122_node-enocean_fehler.jpg

    1 Reply Last reply
    0
    • Jey CeeJ Online
      Jey CeeJ Online
      Jey Cee
      Developer
      wrote on last edited by
      #2

      Japp installiert das Modul nicht mit npm, sondern Ruf die Einstellungen deiner JavaScript Adapter Instanz auf und trag dort den Namen des Moduls ein.

      Anschließend wird es automatisch installiert und die Instanz startet neu. Danach sollte es funktionieren.

      Gesendet von Unterwegs

      Persönlicher Support
      Spenden -> paypal.me/J3YC33

      1 Reply Last reply
      0
      • K Offline
        K Offline
        KevinK
        wrote on last edited by
        #3

        Vielen Dank für den Tipp Jey Cee. Ich habe direkt versucht ihn umzusetzen. Nach dem npm uninstall, cache clear und reboot habe ich node-enocean von ioBroker installieren lassen

        Das Ergebnis ist jedoch, dass die Fehlermeldung beim Aufruf von "Require" wieder auftritt:

        javascript.0	2017-08-09 09:32:45.632	error	at Module._compile (module.js:542:28), at Object.Module._extensions..js (module.js:579:10), at Module.load (module.js:487:32), at tryModuleLoad (module.js:446:12), at Function.Module._
        javascript.0	2017-08-09 09:32:45.632	error	script.js.common.Enocean_Dimmer: missing ) after argument list
        

        Bei der ioBroker Installation des node-enocean treten die folgenden Fehler im Loglevel Error auf (siehe unten).

        Es scheint ja immer zu Problemen mit den Modulen Serialport und Leveldownzu kommen (Habe es schon mehrfach auf verschiedene Arten versucht).

        Können diese Installationsprobleme unter Umständen der Grund sein? Weiß jemand, wie ich sie lösen kann?

        <u>1.)</u>

        javascript.0	2017-08-09 09:25:20.302	error	WARN install No prebuilt binaries found (target=6.11.1 runtime=node arch=arm platform=linux)
        javascript.0	2017-08-09 09:25:20.301	error	prebuild-install
        javascript.0	2017-08-09 09:25:20.282	error	http 404 https://github.com/level/leveldown/releases/download/v1.7.2/leveldown-v1.7.2-node-v48-linux-arm.tar.gz
        javascript.0	2017-08-09 09:25:20.281	error	prebuild-install
        javascript.0	2017-08-09 09:25:19.418	error	prebuild-install http request GET https://github.com/level/leveldown/releases/download/v1.7.2/leveldown-v1.7.2-node-v48-linux-arm.tar.gz
        javascript.0	2017-08-09 09:25:19.418	error	info looking for cached prebuild @ /root/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.7.2-leveldown-v1.7.2-node-v48-linux-arm.tar.gz
        javascript.0	2017-08-09 09:25:19.417	error	prebuild-install
        javascript.0	2017-08-09 09:25:19.399	error	info looking for local prebuild @ prebuilds/leveldown-v1.7.2-node-v48-linux-arm.tar.gz
        javascript.0	2017-08-09 09:25:19.398	error	prebuild-install
        javascript.0	2017-08-09 09:25:19.385	error	info begin Prebuild-install version 2.2.1
        javascript.0	2017-08-09 09:25:19.384	error	
        javascript.0	2017-08-09 09:25:19.382	error	prebuild-install
        

        <u>2.)</u>

        javascript.0	2017-08-09 09:28:06.096	info	SOLINK_MODULE(target) Release/obj.target/serialport.node
        javascript.0	2017-08-09 09:28:05.035	error	^
        javascript.0	2017-08-09 09:28:05.035	error	obj->fd_ = info[0]->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:28:05.035	error	../src/serialport_poller.cpp:86:31: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecate
        javascript.0	2017-08-09 09:28:05.035	error	../src/serialport_poller.cpp: In static member function 'static Nan::NAN_METHOD_RETURN_TYPE SerialportPoller::New(Nan::NAN_METHOD_ARGS_TYPE)':
        javascript.0	2017-08-09 09:28:02.942	info	CXX(target) Release/obj.target/serialport/src/serialport_poller.o
        javascript.0	2017-08-09 09:28:02.276	error	^
        javascript.0	2017-08-09 09:28:02.276	error	result->vtime = Nan::Get(options, Nan::New("vtime").ToLocalChecked()).ToLocalChecked()->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:28:02.276	error	../src/serialport_unix.cpp:44:111: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecate
        javascript.0	2017-08-09 09:28:02.272	error	^
        javascript.0	2017-08-09 09:28:02.272	error	result->vmin = Nan::Get(options, Nan::New("vmin").ToLocalChecked()).ToLocalChecked()->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:28:02.272	error	../src/serialport_unix.cpp:43:109: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated
        javascript.0	2017-08-09 09:28:02.272	error	../src/serialport_unix.cpp: In function 'OpenBatonPlatformOptions* ParsePlatformOptions(const v8::Local&)':
        javascript.0	2017-08-09 09:28:00.151	info	CXX(target) Release/obj.target/serialport/src/serialport_unix.o
        javascript.0	2017-08-09 09:27:56.228	error	^
        javascript.0	2017-08-09 09:27:56.228	error	int fd = info[0]->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:27:56.228	error	../src/serialport.cpp:600:29: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated-decl
        javascript.0	2017-08-09 09:27:56.228	error	../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)':
        javascript.0	2017-08-09 09:27:56.218	error	^
        javascript.0	2017-08-09 09:27:56.218	error	int fd = info[0]->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:27:56.218	error	../src/serialport.cpp:540:29: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated-decl
        javascript.0	2017-08-09 09:27:56.218	error	../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)':
        javascript.0	2017-08-09 09:27:56.212	error	^
        javascript.0	2017-08-09 09:27:56.212	error	int fd = info[0]->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:27:56.212	error	../src/serialport.cpp:492:29: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated-decl
        javascript.0	2017-08-09 09:27:56.212	error	../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)':
        javascript.0	2017-08-09 09:27:56.184	error	^
        javascript.0	2017-08-09 09:27:56.184	error	baton->fd = info[0]->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:27:56.184	error	../src/serialport.cpp:354:32: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated-decl
        javascript.0	2017-08-09 09:27:56.184	error	../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)':
        javascript.0	2017-08-09 09:27:56.173	error	^
        javascript.0	2017-08-09 09:27:56.173	error	int fd = info[0]->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:27:56.173	error	../src/serialport.cpp:234:29: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated-decl
        javascript.0	2017-08-09 09:27:56.173	error	../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Write(Nan::NAN_METHOD_ARGS_TYPE)':
        javascript.0	2017-08-09 09:27:56.167	error	^
        javascript.0	2017-08-09 09:27:56.167	error	baton->baudRate = Nan::Get(options, Nan::New("baudRate").ToLocalChecked()).ToLocalChecked()->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:27:56.167	error	../src/serialport.cpp:198:116: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated-de
        javascript.0	2017-08-09 09:27:56.162	error	^
        javascript.0	2017-08-09 09:27:56.162	error	int fd = info[0]->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:27:56.162	error	../src/serialport.cpp:173:29: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated-decl
        javascript.0	2017-08-09 09:27:56.162	error	../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)':
        javascript.0	2017-08-09 09:27:56.159	error	^
        javascript.0	2017-08-09 09:27:56.159	error	int fd = argv[1]->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:27:56.159	error	../src/serialport.cpp:153:31: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated-decl
        javascript.0	2017-08-09 09:27:56.159	error	../src/serialport.cpp: In function 'void EIO_AfterOpen(uv_work_t*)':
        javascript.0	2017-08-09 09:27:56.140	error	^
        javascript.0	2017-08-09 09:27:56.140	error	baton->stopBits = ToStopBitEnum(Nan::Get(options, Nan::New("stopBits").ToLocalChecked()).ToLocalChecked()->ToNumber()->NumberValue());
        javascript.0	2017-08-09 09:27:56.140	error	../src/serialport.cpp:113:131: warning: 'v8::Local v8::Value::ToNumber() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8173): Use maybe version [-Wdeprecated-d
        javascript.0	2017-08-09 09:27:56.140	error	^
        javascript.0	2017-08-09 09:27:56.140	error	baton->bufferSize = Nan::Get(options, Nan::New("bufferSize").ToLocalChecked()).ToLocalChecked()->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:27:56.140	error	../src/serialport.cpp:111:120: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated-de
        javascript.0	2017-08-09 09:27:56.136	error	^
        javascript.0	2017-08-09 09:27:56.136	error	baton->dataBits = Nan::Get(options, Nan::New("dataBits").ToLocalChecked()).ToLocalChecked()->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:27:56.136	error	../src/serialport.cpp:110:116: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated-de
        javascript.0	2017-08-09 09:27:56.134	error	^
        javascript.0	2017-08-09 09:27:56.134	error	baton->baudRate = Nan::Get(options, Nan::New("baudRate").ToLocalChecked()).ToLocalChecked()->ToInt32()->Int32Value();
        javascript.0	2017-08-09 09:27:56.134	error	../src/serialport.cpp:109:116: warning: 'v8::Local v8::Value::ToInt32() const' is deprecated (declared at /root/.node-gyp/6.11.1/include/node/v8.h:8209): Use maybe version [-Wdeprecated-dec
        javascript.0	2017-08-09 09:27:56.134	error	../src/serialport.cpp: In function 'Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)':
        javascript.0	2017-08-09 09:27:54.052	info	CXX(target) Release/obj.target/serialport/src/serialport.o
        javascript.0	2017-08-09 09:27:54.050	info	make: Entering directory '/opt/iobroker/node_modules/iobroker.javascript/node_modules/serialport/build'
        javascript.0	2017-08-09 09:27:48.858	error	node-pre-gyp ERR! Pre-built binaries not found for serialport@3.1.2 and node@6.11.1 (node-v48 ABI) (falling back to source compile with node-gyp)
        javascript.0	2017-08-09 09:27:48.851	error	
        javascript.0	2017-08-09 09:27:48.847	error	Tried to download: https://github.com/voodootikigod/node-serialport/releases/download/3.1.2/serialport-v3.1.2-node-v48-linux-arm.tar.gz
        javascript.0	2017-08-09 09:27:48.845	error	
        javascript.0	2017-08-09 09:27:48.842	error	ERR!
        javascript.0	2017-08-09 09:27:48.839	error	
        javascript.0	2017-08-09 09:27:48.835	error	node-pre-gyp
        javascript.0	2017-08-09 09:27:35.612	info	> node-pre-gyp install --fallback-to-build
        
        1 Reply Last reply
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          wrote on last edited by
          #4

          Bei mir siehts so aus:

          d:\test\node_modules\node-enocean\index.js:226
                          socket.on( "get-last-sensor-value" , async function( id ) {
                                                               ^^^^^
          SyntaxError: missing ) after argument list
          

          Das ist EcmaScript 6-Syntax und funktioniert nur ab NodeJS 7.x (besser 8.x). Ist halt etwas blöd vom Programmierer, das nicht durch einen Transpiler wie Babel/TypeScript/etc. zu jagen.

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

          1 Reply Last reply
          0
          • K Offline
            K Offline
            KevinK
            wrote on last edited by
            #5

            Ich bin jetzt kein Experte…

            Nach einer Installation der Version 8.2.1 kam es bei der Installation von node-enocean zu anderen Fehlern. Zudem hatte ioBroker den javascript Adapter immernoch mit einer 6er Node Version geladen, wodurch das Update in der Form gar nicht gezogen wurde.

            Hat jemand einen spezifischen Hinweis, was ich machen kann, damit der Fehler nicht mehr auftritt?

            Jetzt mal ganz doof... Kann ich die scheinbar fehlende Klammer nicht irgendwo ergänzen? 😉

            Vielen Dank und Gruß

            Kevin

            1 Reply Last reply
            0
            • AlCalzoneA Offline
              AlCalzoneA Offline
              AlCalzone
              Developer
              wrote on last edited by
              #6

              @KevinK:

              Jetzt mal ganz doof… Kann ich die scheinbar fehlende Klammer nicht irgendwo ergänzen? 😉 `
              Da fehlt keine Klammer. Async ist ein neues Keyword, das einer Funktionsdefinition vorangestellt wird. Der Parser kennt das nicht und denkt, die Liste der Argumente müsste zuende sein.

              Wenn du die "anderen" Fehler mal postest, kann man dir vllt helfen 😉

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

              1 Reply Last reply
              0
              • K Offline
                K Offline
                KevinK
                wrote on last edited by
                #7

                > Wenn du die "anderen" Fehler mal postest, kann man dir vllt helfen

                Vielen Dank für den Hinweis, AlCalzone. Ich versuche einmal so viele Infos wie möglich zusammenzutragen:

                Folgenden Aufruf setze ich ab:

                /opt/iobroker/node_modules/iobroker.javascript# npm install node-enocean --unsafe-perm
                

                Ich hatte zuerst Fehler angezeigt bekommen, dass er sich zu registry registry.npmjs.org nicht verbinden konnte.

                Dazu habe ich die IP in das /etc/hosts file eingetragen und die Installation hat daraufhin funktioniert.

                Ich versuche erst einmal weiter und berichte später.

                <u>Edit1:</u>

                Letztendlich hat die das Update von 6.x auf 8.2.1 keine Früchte getragen und die gleichen Fehler aufgeworfen bei node-enocean. Im Log wurde aber auch alle Adapter noch mit 6.x geladen. Vielleicht habe ich hier beim Update geschlampt. Da kam es zur Entscheidung, es mit einer sauberen neuen 8.2.1 ohne vorinstallierter 6.x zu versuchen…

                <u>EDIT2:</u>

                Den vergangenen Tag habe ich ca 10 mal (immer mit verschiedenen Hacks) versucht, auf einer neuen sauberen Jessie Lite unter Node 8.2.1 (NPM 5.3) ioBroker zum laufen zu bekommen. Dabei sind quasi alle Fehler aus dem Thread http://forum.iobroker.net/viewtopic.php?t=7450 auch bei mir aufgetreten (plus etwaige zusätzliche durch die verschiedenen Herangehensweisen…).

                Leider habe ich es nicht geschafft, ioBroker zum fliegen zu bekommen.

                Falls noch jemand eine ToDo list für die Installation unter 8.2.1 parat hat, nehme ich sie gern an 😄

                Ansonsten versuche ich mich wohl als nächstes mal mit 7.x

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  KevinK
                  wrote on last edited by
                  #8

                  😄 😄 😄 Mit 7.x hat die Installation von ioBroker, JS-Adapter sowie node-enocean Modul funktioniert!!! 😄 😄 😄

                  Ich hab beim Browseraufruf jedoch den Hinweis bekommen, dass ich doch bitte auf 4,6 oder 8 updaten soll, da 7.x nicht supported wird.

                  Kennt jemand Komplikationen bei ioBroker mit node 7.x?

                  1 Reply Last reply
                  0
                  • HomoranH Offline
                    HomoranH Offline
                    Homoran
                    Global Moderator Administrators
                    wrote on last edited by
                    #9

                    Bei mir läuft 7.x stabil.

                    Der Grund ist ein anderer. Nur die geraden Versionen werden eine Langzeitunterstützung bekommen, die ingeraden sind sozusagen Entwicklerversionen.

                    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 Reply Last reply
                    0
                    • K Offline
                      K Offline
                      KevinK
                      wrote on last edited by
                      #10

                      Okay, also erst einmal kein Grund zur Sorge. Danke für die Info, Rainer.

                      Gruß Kevin

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      613

                      Online

                      32.4k

                      Users

                      81.4k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe