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. ioBroker Allgemein
  4. Adapter debuggen mit VSCode

NEWS

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

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

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

Adapter debuggen mit VSCode

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
29 Beiträge 8 Kommentatoren 17.7k 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.
  • MeistertrM Offline
    MeistertrM Offline
    Meistertr
    Developer
    schrieb am zuletzt editiert von
    #19

    super hat geklappt, die breakpoints klappen nicht, ist das normal oder kann ich das auch noch irgendwo einstellen?

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

      Ich habe definitiv auch schon mit Breakpoints debuggt. Woran das liegt, weiß ich aber jetzt nicht aus dem Kopf.

      Bei TypeScript ist manchmal das Problem, dass das Source-Mapping nicht funktioniert und die BPs daher im generierten JS-File erstellt werden müssen. Bei reinem JS sollte das aber kein Problem sein.

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

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Marty56
        schrieb am zuletzt editiert von
        #21

        Könnte man dieses Verfahren auch auf normale Script Entwicklung anwenden?

        Vielleicht ging es mit einer zweiten Javascript Instanz, die man dann mit debug option neustartet.

        Hat das schon jemand ausprobiert.

        HW:NUC (16 GB Ram)
        OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

        1 Antwort Letzte Antwort
        0
        • greyhoundG Offline
          greyhoundG Offline
          greyhound
          schrieb am zuletzt editiert von
          #22

          Ich habe es auch geschafft, meinen Adapter auf TS umzustellen (husq-automower) und wollte nun einiges debuggen. Leider springt der Code nach der Initialisierung im in

              onUnload(callback) {
                  try {
                      this.log.info('cleaned everything up...');
                      callback();
                  }
                  catch (e) {
                      callback();
                  }
              }
          

          Habe das auch mit main.ts aus dem TypeScript-Adapter-Template versucht.
          Starte ich den Adpater direkt über iobroker-Admin wird augenscheinlich (laut Log) "onReady()" ausgeführt.

          Außerdem ist im onUnload this.log == undefined.

          Muss ich beim Debuggen "tricksen", sprich einige Code-Zweige "verbiegen" oder muss ich noch etwas konfigurieren?

          ioBroker auf ODROID-XU4 / Influx u. a. auf FUJITSU D3400-B, Celeron G3900, 16 GB RAM / CCU2 / Nuki

          AlCalzoneA 1 Antwort Letzte Antwort
          0
          • greyhoundG greyhound

            Ich habe es auch geschafft, meinen Adapter auf TS umzustellen (husq-automower) und wollte nun einiges debuggen. Leider springt der Code nach der Initialisierung im in

                onUnload(callback) {
                    try {
                        this.log.info('cleaned everything up...');
                        callback();
                    }
                    catch (e) {
                        callback();
                    }
                }
            

            Habe das auch mit main.ts aus dem TypeScript-Adapter-Template versucht.
            Starte ich den Adpater direkt über iobroker-Admin wird augenscheinlich (laut Log) "onReady()" ausgeführt.

            Außerdem ist im onUnload this.log == undefined.

            Muss ich beim Debuggen "tricksen", sprich einige Code-Zweige "verbiegen" oder muss ich noch etwas konfigurieren?

            AlCalzoneA Offline
            AlCalzoneA Offline
            AlCalzone
            Developer
            schrieb am zuletzt editiert von AlCalzone
            #23

            @greyhound Ich debugge regelmäßig mit TypeScript und habe damit (fast) keine Probleme. Dass beim Debuggen plötzlich ein anderer Code-Zweig ausgeführt werden soll, kann eigentlich nicht sein. Hast du Source-Maps aktiviert?

            Am besten teilst du mal deine .vscode/launch.json und tsconfig.json.

            Außerdem ist im onUnload this.log == undefined.

            Poste mal deinen Code, der im Konstruktor steht.

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

            greyhoundG 1 Antwort Letzte Antwort
            0
            • AlCalzoneA AlCalzone

              @greyhound Ich debugge regelmäßig mit TypeScript und habe damit (fast) keine Probleme. Dass beim Debuggen plötzlich ein anderer Code-Zweig ausgeführt werden soll, kann eigentlich nicht sein. Hast du Source-Maps aktiviert?

              Am besten teilst du mal deine .vscode/launch.json und tsconfig.json.

              Außerdem ist im onUnload this.log == undefined.

              Poste mal deinen Code, der im Konstruktor steht.

              greyhoundG Offline
              greyhoundG Offline
              greyhound
              schrieb am zuletzt editiert von
              #24

              @AlCalzone said in Adapter debuggen mit VSCode:

              @greyhound Ich debugge regelmäßig mit TypeScript und habe damit (fast) keine Probleme. Dass beim Debuggen plötzlich ein anderer Code-Zweig ausgeführt werden soll, kann eigentlich nicht sein. Hast du Source-Maps aktiviert?

              Am besten teilst du mal deine .vscode/launch.json und tsconfig.json.

              Außerdem ist im onUnload this.log == undefined.

              Poste mal deinen Code, der im Konstruktor steht.

              launch.json

              {
              	// Verwendet IntelliSense zum Ermitteln möglicher Attribute.
              	// Zeigen Sie auf vorhandene Attribute, um die zugehörigen Beschreibungen anzuzeigen.
              	// Weitere Informationen finden Sie unter https://go.microsoft.com/fwlink/?linkid=830387
              	"version": "0.2.0",
              	"configurations": [
              		{
              			"type": "node",
              			"request": "launch",
              			"name": "Launch Program",
              			"program": "${workspaceFolder}\\build\\main.js",
              			"outFiles": ["${workspaceFolder}/**/*.js"]
              		},
              		{
              			"type": "node",
              			"request": "attach",
              			"name": "An den Prozess anfügen", // Name, der im VSCode Auswahlmenü neben dem grünen Play angezeigt wird
              			"address": "127.0.0.1", // Adresse, an dem der node.js Prozess läuft (bei Remote Debug, der Remote-Rechner)
              			"port": 5858 // Port, auf dem der node.js Debugger lauscht, der mit node --debug-brk ... gestartet wird
              		}
              	]
              }
              

              tsconfig.json

              {
              	"compileOnSave": true,
              	"compilerOptions": {
              		// do not compile anything, this file is just to configure type checking
              		// the compilation is configured in tsconfig.build.json
              		"noEmit": true,
              
              		// check JS files, but do not compile them => tsconfig.build.json
              		"allowJs": true,
              		"checkJs": true,
              
              		"noEmitOnError": true,
              		"outDir": "./build/",
              		"removeComments": false,
              		"module": "commonjs",
              		"moduleResolution": "node",
              		// this is necessary for the automatic typing of the adapter config
              		"resolveJsonModule": true,
              
              		// Set this to false if you want to disable the very strict rules (not recommended)
              		"strict": true,
              		// Or enable some of those features for more fine-grained control
              		// "strictNullChecks": true,
              		// "strictPropertyInitialization": true,
              		// "strictBindCallApply": true,
              		// "noImplicitAny": true,
              		// "noUnusedLocals": true,
              		// "noUnusedParameters": true,
              
              		// Consider targetting es2017 or higher if you require the new NodeJS 8+ features
              		"target": "es2015",
              
              		"sourceMap": false,
              		"inlineSourceMap": false,
              		"watch": false
              	},
              	"include": ["**/*.ts"],
              	"exclude": ["build/**", "node_modules/**", "admin/**"]
              }
              

              Konstruktor, ist die direkt vom Template abgeleitete Variante ohne eigenem Code

              class HusqAutomower extends utils.Adapter {
              	public constructor(options: Partial<ioBroker.AdapterOptions> = {}) {
              		super({
              			...options,
              			name: 'husq-automower',
              		});
              		this.on('ready', this.onReady.bind(this));
              		this.on('objectChange', this.onObjectChange.bind(this));
              		this.on('stateChange', this.onStateChange.bind(this));
              		// this.on("message", this.onMessage.bind(this));
              		this.on('unload', this.onUnload.bind(this));
              	}
              
              	/**
              	 * Is called when databases are connected and adapter received configuration.
              	 */
              	private async onReady(): Promise<void> {
              		// Initialize your adapter here
              
              		// The adapters config (in the instance object everything under the attribute "native") is accessible via
              		// this.config:
              		this.log.info('config option1: ' + this.config.option1);
              		this.log.info('config option2: ' + this.config.option2);
              
              
              

              ioBroker auf ODROID-XU4 / Influx u. a. auf FUJITSU D3400-B, Celeron G3900, 16 GB RAM / CCU2 / Nuki

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

                Bin gerade nicht daheim.

                Aber probiere mal in der Attach-Konfiguration und in tsconfig.json sourceMaps: true zu setzen. Dann einmal kompilieren und die Adapter-Dateien aktualisieren. Anschließend müsste es gehen, wenn ich alles richtig im Kopf habe.

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

                1 Antwort Letzte Antwort
                0
                • greyhoundG Offline
                  greyhoundG Offline
                  greyhound
                  schrieb am zuletzt editiert von
                  #26

                  Der Tipp mit sourceMaps hat etwas weitergeholfen, aber der Debugger hielt danach auch beim unLoad nicht mehr an.
                  Habe dann ja auf einem recht frischen Windows Pro x64 1809 mit dem neuen Windows-Installer mir eine neue ioBroker-Instanz installiert. Das lief recht unkompliziert, dann ging es an VSC ...

                  Entsprechend des Installationsansatzes sollte die Commandbox nur via dem Startmenü >> ioBroker <Instanzname> Kommandozeile geöffnet werden.

                  Als erstes meckerte VSC über fehlendes gulp und eslint ...

                  > cd node_modules\iobroker.husq-automower
                  
                  > npm install gulp
                  
                  > npm install eslint
                  

                  Dann als nächstes kamen beim Debuggen folgende Exceptions

                  Error: Cannot find module 'supports-color'
                      at Function.Module._resolveFilename (module.js:548:15)
                      at Function.Module._load (module.js:475:25)
                      at Module.require (module.js:597:17)
                      at require (internal/module.js:11:18)
                      at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\debug\src\node.js:29:23)
                      at Module._compile (module.js:653:30)
                  	
                  Error: Cannot find module 'bufferutil'
                      at Function.Module._resolveFilename (module.js:548:15)
                      at Function.Module._load (module.js:475:25)
                      at Module.require (module.js:597:17)
                      at require (internal/module.js:11:18)
                      at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\ws\lib\BufferUtil.js:35:22)
                  	
                  Error: Cannot find module 'utf-8-validate'
                      at Function.Module._resolveFilename (module.js:548:15)
                      at Function.Module._load (module.js:475:25)
                      at Module.require (module.js:597:17)
                      at require (internal/module.js:11:18)
                      at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\ws\lib\Validation.js:10:23)
                  

                  okay, installiere ich nach

                  cd node_modules\iobroker.js-controller
                  
                  npm install supports-color
                  npm install bufferutil
                  npm install utf-8-validate
                  

                  Nun kamen folgende Exceptions

                  Error: ENOENT: no such file or directory, scandir 'C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\bufferutil\build\Release'
                      at Object.fs.readdirSync (fs.js:904:18)
                      at getFirst (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:47:20)
                      at Function.load.path (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:27:17)
                      at load (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:16:30)
                      at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\bufferutil\index.js:4:45)
                      at Module._compile (module.js:653:30)
                      at Object.Module._extensions..js (module.js:664:10)
                      at Module.load (module.js:566:32)
                      at tryModuleLoad (module.js:506:12)
                      at Function.Module._load (module.js:498:3)
                  	
                  
                  Error: ENOENT: no such file or directory, scandir 'C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\bufferutil\build\Debug'
                      at Object.fs.readdirSync (fs.js:904:18)
                      at getFirst (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:47:20)
                      at Function.load.path (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:30:15)
                      at load (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:16:30)
                      at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\bufferutil\index.js:4:45)
                      at Module._compile (module.js:653:30)
                      at Object.Module._extensions..js (module.js:664:10)
                      at Module.load (module.js:566:32)
                      at tryModuleLoad (module.js:506:12)
                      at Function.Module._load (module.js:498:3)
                  	
                  Error: ENOENT: no such file or directory, scandir 'C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\utf-8-validate\build\Release'
                      at Object.fs.readdirSync (fs.js:904:18)
                      at getFirst (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:47:20)
                      at Function.load.path (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:27:17)
                      at load (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:16:30)
                      at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\utf-8-validate\index.js:4:45)
                      at Module._compile (module.js:653:30)
                      at Object.Module._extensions..js (module.js:664:10)
                      at Module.load (module.js:566:32)
                      at tryModuleLoad (module.js:506:12)
                      at Function.Module._load (module.js:498:3)
                  	
                  Error: ENOENT: no such file or directory, scandir 'C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\utf-8-validate\build\Debug'
                      at Object.fs.readdirSync (fs.js:904:18)
                      at getFirst (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:47:20)
                      at Function.load.path (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:30:15)
                      at load (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:16:30)
                      at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\utf-8-validate\index.js:4:45)
                      at Module._compile (module.js:653:30)
                      at Object.Module._extensions..js (module.js:664:10)
                      at Module.load (module.js:566:32)
                      at tryModuleLoad (module.js:506:12)
                      at Function.Module._load (module.js:498:3)
                  

                  okay, dann bauen wir die Module ...

                  cd node_modules\iobroker.js-controller\node_modules\bufferutil
                  node-gyp configure
                  node-gyp build
                  
                  cd node_modules\iobroker.js-controller\node_modules\utf-8-validate
                  node-gyp configure
                  node-gyp build
                  

                  So, nun lief das mit dem Debuggen schon ziemlich gut, aber dann
                  41ca5ae5-395c-444e-84d6-bd0e0d7341ed-image.png

                  Aah, VSC möchte lieber elevated gestartet werden.
                  Im Adapterverzeichnis ein kleines Skript startVSC.bat mit folgendem Inhalt abgelegt:

                  "C:\Users\<Dein Anmeldename>\AppData\Local\Programs\Microsoft VS Code\Code.exe"
                  

                  und via Explore als Administrator gestartet.

                  Terminal öffnen (<Ctrl>+<ö>) und Adapter starten

                  node --inspect-brk node_modules/iobroker.husq-automower/build/main.js --force --logs <Enter>
                  

                  dann das Debug gestartet und ...
                  425d6601-35ea-4bad-9622-a2e9cee4331e-image.png

                  endlich da, wo ich stehen wollte!

                  Danke für die Unterstützung.

                  ioBroker auf ODROID-XU4 / Influx u. a. auf FUJITSU D3400-B, Celeron G3900, 16 GB RAM / CCU2 / Nuki

                  AlCalzoneA 1 Antwort Letzte Antwort
                  0
                  • greyhoundG greyhound

                    Der Tipp mit sourceMaps hat etwas weitergeholfen, aber der Debugger hielt danach auch beim unLoad nicht mehr an.
                    Habe dann ja auf einem recht frischen Windows Pro x64 1809 mit dem neuen Windows-Installer mir eine neue ioBroker-Instanz installiert. Das lief recht unkompliziert, dann ging es an VSC ...

                    Entsprechend des Installationsansatzes sollte die Commandbox nur via dem Startmenü >> ioBroker <Instanzname> Kommandozeile geöffnet werden.

                    Als erstes meckerte VSC über fehlendes gulp und eslint ...

                    > cd node_modules\iobroker.husq-automower
                    
                    > npm install gulp
                    
                    > npm install eslint
                    

                    Dann als nächstes kamen beim Debuggen folgende Exceptions

                    Error: Cannot find module 'supports-color'
                        at Function.Module._resolveFilename (module.js:548:15)
                        at Function.Module._load (module.js:475:25)
                        at Module.require (module.js:597:17)
                        at require (internal/module.js:11:18)
                        at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\debug\src\node.js:29:23)
                        at Module._compile (module.js:653:30)
                    	
                    Error: Cannot find module 'bufferutil'
                        at Function.Module._resolveFilename (module.js:548:15)
                        at Function.Module._load (module.js:475:25)
                        at Module.require (module.js:597:17)
                        at require (internal/module.js:11:18)
                        at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\ws\lib\BufferUtil.js:35:22)
                    	
                    Error: Cannot find module 'utf-8-validate'
                        at Function.Module._resolveFilename (module.js:548:15)
                        at Function.Module._load (module.js:475:25)
                        at Module.require (module.js:597:17)
                        at require (internal/module.js:11:18)
                        at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\ws\lib\Validation.js:10:23)
                    

                    okay, installiere ich nach

                    cd node_modules\iobroker.js-controller
                    
                    npm install supports-color
                    npm install bufferutil
                    npm install utf-8-validate
                    

                    Nun kamen folgende Exceptions

                    Error: ENOENT: no such file or directory, scandir 'C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\bufferutil\build\Release'
                        at Object.fs.readdirSync (fs.js:904:18)
                        at getFirst (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:47:20)
                        at Function.load.path (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:27:17)
                        at load (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:16:30)
                        at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\bufferutil\index.js:4:45)
                        at Module._compile (module.js:653:30)
                        at Object.Module._extensions..js (module.js:664:10)
                        at Module.load (module.js:566:32)
                        at tryModuleLoad (module.js:506:12)
                        at Function.Module._load (module.js:498:3)
                    	
                    
                    Error: ENOENT: no such file or directory, scandir 'C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\bufferutil\build\Debug'
                        at Object.fs.readdirSync (fs.js:904:18)
                        at getFirst (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:47:20)
                        at Function.load.path (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:30:15)
                        at load (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:16:30)
                        at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\bufferutil\index.js:4:45)
                        at Module._compile (module.js:653:30)
                        at Object.Module._extensions..js (module.js:664:10)
                        at Module.load (module.js:566:32)
                        at tryModuleLoad (module.js:506:12)
                        at Function.Module._load (module.js:498:3)
                    	
                    Error: ENOENT: no such file or directory, scandir 'C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\utf-8-validate\build\Release'
                        at Object.fs.readdirSync (fs.js:904:18)
                        at getFirst (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:47:20)
                        at Function.load.path (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:27:17)
                        at load (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:16:30)
                        at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\utf-8-validate\index.js:4:45)
                        at Module._compile (module.js:653:30)
                        at Object.Module._extensions..js (module.js:664:10)
                        at Module.load (module.js:566:32)
                        at tryModuleLoad (module.js:506:12)
                        at Function.Module._load (module.js:498:3)
                    	
                    Error: ENOENT: no such file or directory, scandir 'C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\utf-8-validate\build\Debug'
                        at Object.fs.readdirSync (fs.js:904:18)
                        at getFirst (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:47:20)
                        at Function.load.path (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:30:15)
                        at load (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\node-gyp-build\index.js:16:30)
                        at Object.<anonymous> (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\utf-8-validate\index.js:4:45)
                        at Module._compile (module.js:653:30)
                        at Object.Module._extensions..js (module.js:664:10)
                        at Module.load (module.js:566:32)
                        at tryModuleLoad (module.js:506:12)
                        at Function.Module._load (module.js:498:3)
                    

                    okay, dann bauen wir die Module ...

                    cd node_modules\iobroker.js-controller\node_modules\bufferutil
                    node-gyp configure
                    node-gyp build
                    
                    cd node_modules\iobroker.js-controller\node_modules\utf-8-validate
                    node-gyp configure
                    node-gyp build
                    

                    So, nun lief das mit dem Debuggen schon ziemlich gut, aber dann
                    41ca5ae5-395c-444e-84d6-bd0e0d7341ed-image.png

                    Aah, VSC möchte lieber elevated gestartet werden.
                    Im Adapterverzeichnis ein kleines Skript startVSC.bat mit folgendem Inhalt abgelegt:

                    "C:\Users\<Dein Anmeldename>\AppData\Local\Programs\Microsoft VS Code\Code.exe"
                    

                    und via Explore als Administrator gestartet.

                    Terminal öffnen (<Ctrl>+<ö>) und Adapter starten

                    node --inspect-brk node_modules/iobroker.husq-automower/build/main.js --force --logs <Enter>
                    

                    dann das Debug gestartet und ...
                    425d6601-35ea-4bad-9622-a2e9cee4331e-image.png

                    endlich da, wo ich stehen wollte!

                    Danke für die Unterstützung.

                    AlCalzoneA Offline
                    AlCalzoneA Offline
                    AlCalzone
                    Developer
                    schrieb am zuletzt editiert von
                    #27

                    @greyhound die ganzen fehlenden module klingen mir danach als wäre die package.json unvollständig. Wenn alle dependencies vollständig sind und der adapter in iobroker installiert wurde dürften keine module fehlen. Schon gar nicht eslint, welches eigentlich nur zur Entwicklungszeit im Editor benötigt wird.

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

                    greyhoundG 1 Antwort Letzte Antwort
                    0
                    • AlCalzoneA AlCalzone

                      @greyhound die ganzen fehlenden module klingen mir danach als wäre die package.json unvollständig. Wenn alle dependencies vollständig sind und der adapter in iobroker installiert wurde dürften keine module fehlen. Schon gar nicht eslint, welches eigentlich nur zur Entwicklungszeit im Editor benötigt wird.

                      greyhoundG Offline
                      greyhoundG Offline
                      greyhound
                      schrieb am zuletzt editiert von
                      #28

                      @AlCalzone Das selbe Problem hatte ich auch bei meiner alten Installation und du meinst sicherlich die package.json vom js-controller, denn dort sind ja die Fehler aufgetreten oder?

                      ioBroker auf ODROID-XU4 / Influx u. a. auf FUJITSU D3400-B, Celeron G3900, 16 GB RAM / CCU2 / Nuki

                      AlCalzoneA 1 Antwort Letzte Antwort
                      0
                      • greyhoundG greyhound

                        @AlCalzone Das selbe Problem hatte ich auch bei meiner alten Installation und du meinst sicherlich die package.json vom js-controller, denn dort sind ja die Fehler aufgetreten oder?

                        AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        schrieb am zuletzt editiert von
                        #29

                        @greyhound Nein, eigentlich die vom Adapter. Aber vielleicht ist es ja auch ganz was anderes - per npm link gelinkte Pakete o.ä.?

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

                        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
                        FAQ Cloud / IOT
                        HowTo: Node.js-Update
                        HowTo: Backup/Restore
                        Downloads
                        BLOG

                        897

                        Online

                        32.4k

                        Benutzer

                        81.5k

                        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