Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] NPM modul integrieren mit Javascript adapter

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] NPM modul integrieren mit Javascript adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • Dutchman
      Dutchman Developer Most Active Administrators last edited by

      Hi,

      Kurze hilfe gefragt, ich moechte eine sonne anlage auslesen mit VBUS dazu ist ein NPM pakket anwesend (resol-vbus).

      Laut javascript adapter musst npm install resol-vus ausgefuehrt werden in

      iobroker/adapter/javascript
      

      benutzter javascript code:

      //var vbus = require('resol-vbus');
      var connection = new vbus.TcpConnection({
      	host: '192.168.1.19',
      	viaTag: 'gerritvrij@gmail.com',             // only necessary if connected using VBus.net
      	password: '1Delta34',	
      	channel: 1,                  // only necessary if connected to a DL3
      });
      
      var connectPromise = connection.connect();
      
      connectPromise.then(function() {
      	console.log('Connected!');
      }, function() {
      	console.log('Connection failed');
      });
      

      1 - Dieser ordner gibt es bei mir nicht ? (/opt/iobroker/node_modules/iobroker.javascript wohl)

      2 - installieren ich per NPM im root von iobroker oder de pfad oben kommt beim starten vom dazugehoerigen script "script.js.common.ResoBus_Test: ReferenceError: vbus is not defined"

      da er vbus is not defined sagt gehe ich mal davon aus das dieses NPM pakket nicht richtig installiert ist ?

      Habe probier resol-vbus im javascript adapter ein zu tragen und im script laut beschreibung, leider beides ohne erfolg

      Help ? 🙂

      ~Dutch

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        Das NPM-Modul resol-vbus muss in der Konfiguration der Javascript-Instanz unter "Zusätzliche NPM-Module" eingetragen werden. Es wird dann automatisch installiert.

        1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators last edited by

          @paul53:

          Das NPM-Modul resol-vbus muss in der Konfiguration der Javascript-Instanz unter "Zusätzliche NPM-Module" eingetragen werden. Es wird dann automatisch installiert. `

          das habe ich gemacht (mehr aus zufall entdeckt 8-) :lol: ) leider dan immernoch selber fehler.

          Also:

          • resol-vbus in javascript adapter einggetragen

          • start des adapters installiert auch das modul (sehe ich im log)

          • danach immernoch gleicher fehler "ReferenceError: vbus is not defined"

          log der installation/fehler:

          ! ```
          2017-06-06 18:38:36.657 - [31merror[39m: javascript.0 script.js.common.ResoBus_Test: ReferenceError: vbus is not defined at script.js.common.ResoBus_Test:2:22 2017-06-06 18:39:07.194 - [32minfo[39m: javascript.0 Stop script script.js.common.ResoBus_Test 2017-06-06 18:39:07.217 - [32minfo[39m: javascript.0 Start javascript script.js.common.ResoBus_Test 2017-06-06 18:39:16.771 - [32minfo[39m: javascript.0 script.js.common.ResoBus_Test: registered 0 subscriptions and 0 schedules 2017-06-06 18:39:16.868 - [32minfo[39m: javascript.0 script.js.common.ResoBus_Test: Connection failed 2017-06-06 18:39:30.826 - [32minfo[39m: javascript.0 Stop script script.js.common.ResoBus_Test 2017-06-06 18:39:32.005 - [32minfo[39m: javascript.0 Stop script script.js.common.ResoBus_Test 2017-06-06 18:39:40.935 - [32minfo[39m: host.iObroker_pi_Test object change system.adapter.javascript.0 2017-06-06 18:39:40.937 - [32minfo[39m: host.iObroker_pi_Test stopInstance system.adapter.javascript.0 2017-06-06 18:39:40.938 - [32minfo[39m: host.iObroker_pi_Test stopInstance system.adapter.javascript.0 killing pid 3599 2017-06-06 18:39:40.969 - [32minfo[39m: javascript.0 terminating 2017-06-06 18:39:41.046 - [32minfo[39m: host.iObroker_pi_Test instance system.adapter.javascript.0 terminated with code 0 (OK) 2017-06-06 18:39:43.478 - [32minfo[39m: host.iObroker_pi_Test instance system.adapter.javascript.0 started with pid 3680 2017-06-06 18:39:48.260 - [32minfo[39m: javascript.0 starting. Version 3.3.8 in /opt/iobroker/node_modules/iobroker.javascript, node: v4.2.1 2017-06-06 18:39:48.300 - [32minfo[39m: javascript.0 requesting all states 2017-06-06 18:39:48.307 - [32minfo[39m: javascript.0 requesting all objects 2017-06-06 18:39:48.896 - [32minfo[39m: javascript.0 received all states 2017-06-06 18:39:49.233 - [32minfo[39m: javascript.0 received all objects 2017-06-06 18:39:49.288 - [32minfo[39m: javascript.0 Start javascript script.js.common.ResoBus_Test 2017-06-06 18:39:49.623 - [31merror[39m: javascript.0 script.js.common.ResoBus_Test: ReferenceError: vbus is not defined at script.js.common.ResoBus_Test:2:22 2017-06-06 18:39:52.761 - [32minfo[39m: javascript.0 Stop script script.js.common.ResoBus_Test 2017-06-06 18:40:22.319 - [32minfo[39m: host.iObroker_pi_Test object change system.adapter.javascript.0 2017-06-06 18:40:22.321 - [32minfo[39m: host.iObroker_pi_Test stopInstance system.adapter.javascript.0 2017-06-06 18:40:22.322 - [32minfo[39m: host.iObroker_pi_Test stopInstance system.adapter.javascript.0 killing pid 3680 2017-06-06 18:40:22.351 - [32minfo[39m: javascript.0 terminating 2017-06-06 18:40:22.406 - [32minfo[39m: host.iObroker_pi_Test instance system.adapter.javascript.0 terminated with code 0 (OK) 2017-06-06 18:45:49.116 - [32minfo[39m: host.iObroker_pi_Test object change system.adapter.javascript.0 2017-06-06 18:45:49.144 - [32minfo[39m: host.iObroker_pi_Test instance system.adapter.javascript.0 started with pid 3915 2017-06-06 18:45:54.117 - [32minfo[39m: javascript.0 starting. Version 3.3.8 in /opt/iobroker/node_modules/iobroker.javascript, node: v4.2.1 2017-06-06 18:45:54.160 - [32minfo[39m: javascript.0 npm install resol-vbus --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call) 2017-06-06 18:46:23.737 - [32minfo[39m: javascript.0 serialport@4.0.7 install /opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport node-pre-gyp install --fallback-to-build ! 2017-06-06 18:46:30.464 - [31merror[39m: javascript.0 node-pre-gyp 2017-06-06 18:46:30.466 - [31merror[39m: javascript.0 ERR! Tried to download(404): https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7/serialport-v4.0.7-node-v46-linux-arm.tar.gz node-pre-gyp ERR! Pre-built binaries not found for serialport@4.0.7 and node@4.2.1 (node-v46 ABI) (falling back to source compile with node-gyp) ! 2017-06-06 18:46:35.157 - [31merror[39m: javascript.0 gyp 2017-06-06 18:46:35.181 - [31merror[39m: javascript.0 WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/4.2.1" gyp WARN EACCES attempting to reinstall using temporary dev dir "/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/.node-gyp" ! 2017-06-06 18:46:42.897 - [32minfo[39m: javascript.0 make: Entering directory '/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/build' make: Leaving directory '/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/build' ! 2017-06-06 18:46:42.899 - [31merror[39m: javascript.0 make: *** No rule to make target '../.node-gyp/4.2.1/include/node/common.gypi', needed by 'Makefile'. Stop. ! 2017-06-06 18:46:42.926 - [31merror[39m: javascript.0 gyp 2017-06-06 18:46:42.937 - [31merror[39m: javascript.0 ERR! build error ! 2017-06-06 18:46:42.956 - [31merror[39m: javascript.0 gyp 2017-06-06 18:46:42.957 - [31merror[39m: javascript.0 ERR! stack Error: make failed with exit code: 2 ! 2017-06-06 18:46:42.959 - [31merror[39m: javascript.0 gyp 2017-06-06 18:46:42.961 - [31merror[39m: javascript.0 ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23) ! 2017-06-06 18:46:42.966 - [31merror[39m: javascript.0 gyp ERR! stack at emitTwo (events.js:87:13) gyp ERR! stack at ChildProcess.emit (events.js:172:7) gyp 2017-06-06 18:46:42.968 - [31merror[39m: javascript.0 ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) ! 2017-06-06 18:46:42.971 - [31merror[39m: javascript.0 gyp ERR! System Linux 4.9.24-v7+ ! 2017-06-06 18:46:42.990 - [31merror[39m: javascript.0 gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/build/Release/serialport.node" "--module_name=serialport" "--module_path=/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/build/Release" gyp ERR! cwd /opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport gyp ERR! node -v v4.2.1 gyp ERR! node-gyp -v v3.0.3 gyp ERR! not ok ! 2017-06-06 18:46:43.002 - [31merror[39m: javascript.0 node-pre-gyp ERR! build error ! 2017-06-06 18:46:43.025 - [31merror[39m: javascript.0 node-pre-gyp 2017-06-06 18:46:43.028 - [31merror[39m: javascript.0 ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/build/Release/serialport.node --module_name=serialport --module_path=/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/build/Release' (1) node-pre-gyp ERR! stack at ChildProcess. <anonymous>(/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/node_modules/node-pre-gyp/lib/util/compile.js:83:29) node-pre-gyp ERR! 2017-06-06 18:46:43.029 - [31merror[39m: javascript.0 stack at emitTwo (events.js:87:13) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:172:7) node-pre-gyp 2017-06-06 18:46:43.031 - [31merror[39m: javascript.0 ERR! stack at maybeClose (internal/child_process.js:818:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5) ! 2017-06-06 18:46:43.033 - [31merror[39m: javascript.0 node-pre-gyp ERR! System Linux 4.9.24-v7+ ! 2017-06-06 18:46:43.046 - [31merror[39m: javascript.0 node-pre-gyp ERR! command "/usr/local/bin/node" "/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd /opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport node-pre-gyp ERR! node -v v4.2.1 node-pre-gyp ERR! node-pre-gyp -v v0.6.32 node-pre-gyp ERR! not ok ! 2017-06-06 18:46:43.060 - [32minfo[39m: javascript.0 Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/build/Release/serialport.node --module_name=serialport --module_path=/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/build/Release' (1) ! 2017-06-06 18:46:43.105 - [31merror[39m: javascript.0 npm 2017-06-06 18:46:43.121 - [31merror[39m: javascript.0 2017-06-06 18:46:43.128 - [31merror[39m: javascript.0 WARN optional dep failed, continuing serialport@4.0.7 ! 2017-06-06 18:46:46.792 - [32minfo[39m: javascript.0 resol-vbus@0.16.0 iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus ├── sprintf@0.1.5 ├── buffer-more-ints@0.0.2 ├── q@1.5.0 ├── lodash@2.4.1 ├── moment-timezone@0.5.13 ├── numeral@1.5.6 └── moment@2.18.1 ! 2017-06-06 18:46:51.301 - [32minfo[39m: javascript.0 requesting all states 2017-06-06 18:46:51.310 - [32minfo[39m: javascript.0 requesting all objects 2017-06-06 18:46:51.860 - [32minfo[39m: javascript.0 received all states 2017-06-06 18:46:52.203 - [32minfo[39m: javascript.0 received all objects 2017-06-06 18:46:52.301 - [32minfo[39m: javascript.0 Start javascript script.js.common.ResoBus_Test[/code]</anonymous>

          1 Reply Last reply Reply Quote 0
          • Dutchman
            Dutchman Developer Most Active Administrators last edited by

            update:

            erster fehler kam von installation auf rapsberry PI, auf meinem prod host gleiches probleme (aber keine installations fehler. Log:

            ! ````
            javascript.1 2017-06-06 21:50:49.536 info Stop script script.js.Testing.vbus
            javascript.1 2017-06-06 21:49:28.900 error at script.js.Testing.vbus:2:22
            javascript.1 2017-06-06 21:49:28.900 error script.js.Testing.vbus: ReferenceError: vbus is not defined
            javascript.1 2017-06-06 21:49:28.885 info Start javascript script.js.Testing.vbus
            javascript.1 2017-06-06 21:49:14.756 info Stop script script.js.Testing.vbus
            javascript.0 2017-06-06 21:49:14.745 info Stop script script.js.Testing.vbus
            cloud.0 2017-06-06 21:49:09.652 warn State openhab.0.items.Doorbell_RingRing is invalid.
            cloud.0 2017-06-06 21:49:09.652 warn State openhab.0.items.Doorbell_DingDong is invalid.
            cloud.0 2017-06-06 21:49:09.652 warn State openhab.0.items.Doorbell is invalid.
            cloud.0 2017-06-06 21:49:09.651 warn State openhab.0.items.Doorbel_Jazz is invalid.
            cloud.0 2017-06-06 21:49:09.651 warn State openhab.0.items.Doorbel_Church is invalid.
            cloud.0 2017-06-06 21:49:09.651 warn State openhab.0.items.Doorbel_Bird is invalid.
            javascript.0 2017-06-06 21:49:08.343 info Stop script script.js.Testing.Script4
            cloud.0 2017-06-06 21:49:01.587 warn State openhab.0.items.Doorbell_RingRing is invalid.
            cloud.0 2017-06-06 21:49:01.587 warn State openhab.0.items.Doorbell_DingDong is invalid.
            cloud.0 2017-06-06 21:49:01.587 warn State openhab.0.items.Doorbell is invalid.
            cloud.0 2017-06-06 21:49:01.586 warn State openhab.0.items.Doorbel_Jazz is invalid.
            cloud.0 2017-06-06 21:49:01.583 warn State openhab.0.items.Doorbel_Church is invalid.
            cloud.0 2017-06-06 21:49:01.568 warn State openhab.0.items.Doorbel_Bird is invalid.
            javascript.1 2017-06-06 21:48:28.129 info script.js.Testing.Script2: test_6
            javascript.1 2017-06-06 21:48:26.128 info script.js.Testing.Script2: test_5
            javascript.1 2017-06-06 21:48:25.124 info script.js.Testing.Script2: test_4
            javascript.1 2017-06-06 21:48:23.117 info script.js.Testing.Script2: test_3
            javascript.1 2017-06-06 21:48:21.115 info script.js.Testing.Script2: test_2
            javascript.1 2017-06-06 21:48:20.119 info script.js.Testing.CountDown: registered 4 subscriptions and 0 schedules
            javascript.1 2017-06-06 21:48:20.110 info Start javascript script.js.Testing.CountDown
            javascript.1 2017-06-06 21:48:20.109 info script.js.Testing.Script2: registered 0 subscriptions and 0 schedules
            javascript.1 2017-06-06 21:48:20.108 info script.js.Testing.Script2: test_1
            javascript.1 2017-06-06 21:48:20.095 info Start javascript script.js.Testing.Script2
            javascript.1 2017-06-06 21:48:19.922 info received all objects
            javascript.1 2017-06-06 21:48:19.525 info received all states
            javascript.1 2017-06-06 21:48:18.861 info requesting all objects
            javascript.1 2017-06-06 21:48:18.855 info requesting all states
            javascript.1 2017-06-06 21:48:18.824 info └── serialport@4.0.7 (bindings@1.2.1, commander@2.9.0, lie@3.1.1, debug@2.6.8, nan@2.6.2, object.assign@4.0.4)
            javascript.1 2017-06-06 21:48:18.824 info ├── moment@2.18.1
            javascript.1 2017-06-06 21:48:18.824 info ├── numeral@1.5.6
            javascript.1 2017-06-06 21:48:18.824 info ├── moment-timezone@0.5.13
            javascript.1 2017-06-06 21:48:18.824 info ├── lodash@2.4.1
            javascript.1 2017-06-06 21:48:18.824 info ├── q@1.5.0
            javascript.1 2017-06-06 21:48:18.824 info ├── sprintf@0.1.5
            javascript.1 2017-06-06 21:48:18.824 info ├── buffer-more-ints@0.0.2
            javascript.1 2017-06-06 21:48:18.824 info resol-vbus@0.16.0 opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus
            javascript.1 2017-06-06 21:48:17.719 info [serialport] Success: "/opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport/build/Release/serialport.node" is installed via remote
            javascript.1 2017-06-06 21:48:14.086 info > node-pre-gyp install --fallback-to-build
            javascript.1 2017-06-06 21:48:14.086 info > serialport@4.0.7 install /opt/iobroker/node_modules/iobroker.javascript/node_modules/resol-vbus/node_modules/serialport
            javascript.1 2017-06-06 21:48:14.086 info
            javascript.1 2017-06-06 21:48:03.595 info npm install resol-vbus --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call)
            javascript.1 2017-06-06 21:48:03.585 info starting. Version 3.3.8 in /opt/iobroker/node_modules/iobroker.javascript, node: v4.8.3
            host.HomeControl 2017-06-06 21:48:02.241 info instance system.adapter.javascript.1 started with pid 97366
            host.HomeControl 2017-06-06 21:47:59.281 info instance system.adapter.javascript.1 terminated with code 0 (OK)
            javascript.1 2017-06-06 21:47:59.234 info terminating

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              Den Kommentar hast Du wieder entfernt ?

              //var vbus = require('resol-vbus');
              

              –>

              var vbus = require('resol-vbus');
              
              
              1 Reply Last reply Reply Quote 0
              • Dutchman
                Dutchman Developer Most Active Administrators last edited by

                @paul53:

                Den Kommentar hast Du wieder entfernt ?

                //var vbus = require('resol-vbus');
                

                –>

                var vbus = require('resol-vbus');
                
                ```` `  
                

                jup, der sollte aber auch uerfluessig sein da das module bereits geladen ist. Wen ich den comment entferne she ich das kein wert vorhanden ist:

                
                var vbus = require('resol-vbus');
                log (vbus)
                
                

                er gibt im log:

                22:26:45.734	[info]	javascript.1 Stop script script.js.Testing.vbus
                22:26:45.764	[info]	javascript.0 Start javascript script.js.Testing.vbus
                22:26:45.768	[error]	javascript.0 script.js.Testing.vbus: ReferenceError: vbus is not defined at script.js.Testing.vbus:2:22
                22:27:09.998	[info]	javascript.1 Stop script script.js.Testing.vbus
                22:27:10.015	[info]	javascript.0 Stop script script.js.Testing.vbus
                22:27:12.078	[info]	javascript.0 Start javascript script.js.Testing.vbus
                22:27:12.078	[info]	javascript.0 script.js.Testing.vbus: [object Object]
                22:27:12.078	[info]	javascript.0 script.js.Testing.vbus: registered 0 subscriptions and 0 schedules
                22:27:15.050	[info]	javascript.0 script.js.Testing.vbus: Connection failed
                22:27:31.900	[info]	javascript.0 Stop script script.js.Testing.vbus
                
                
                1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 last edited by

                  Jedes NPM-Modul muss im Skript einer Variablen (oder Konstanten) per require('Modul-Name') zugeordnet werden, damit auf die Funktionen / Eigenschaften des Moduls zugegriffen werden kann. Wird das gleiche Modul in einem weiteren Skript benötigt, muss es dort wieder so erfolgen.

                  Es ist ein Objekt vorhanden, das im Log immer so dargestellt wird:

                  22:27:12.078   [info]   javascript.0 script.js.Testing.vbus: [object Object]
                  
                  1 Reply Last reply Reply Quote 0
                  • Dutchman
                    Dutchman Developer Most Active Administrators last edited by

                    Danke @Paul53, morgen weiter das wird wohl das Problem sein.

                    Kann man den Inhalt dieses objects auf wiedergeben lassen sodass man den Inhalt sieht?

                    ~Dutch

                    –-----------------------

                    Send from mobile device

                    1 Reply Last reply Reply Quote 0
                    • AlCalzone
                      AlCalzone Developer last edited by

                      du kannst per JSON.stringify(objekt) den Inhalt eines Objekts auf der Konsole ausgeben… wird aber etwas unübersichtlich bei einem NPM-Modul. Dann lieber die Dokumentation bemühen.

                      Aber eigentlich sollte es wie in deinem ersten Post gehen, sofern du die erste Zeile nicht auskommentierst.

                      Wie Paul53 schon geschrieben hat, require brauchst du trotz Eintrag im Adapter. Woher soll JS sonst wissen, dass du auf das Modul über die Variable "vbus" zugreifen willst?

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      746
                      Online

                      31.7k
                      Users

                      79.8k
                      Topics

                      1.3m
                      Posts

                      3
                      9
                      5311
                      Loading More Posts
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes
                      Reply
                      • Reply as topic
                      Log in to reply
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                      The ioBroker Community 2014-2023
                      logo