<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Adapter debuggen mit VSCode]]></title><description><![CDATA[<p dir="auto">Hallo liebe 'Adapterprogrammierer'!</p>
<p dir="auto">Bis jetzt hab ich meine Adapter haubtsächlich mit Debug-Ausgaben 'gedebuggt'.</p>
<p dir="auto">Als ich allerdings gesehen hab wie leicht es ist (ein normales nodejs)-Programm mit VSCode (der Editor von Microsoft, selbst auf nodejs basierend) zu debuggen wollte ich das auch mal probieren.</p>
<p dir="auto">Ich habe deshalb auf meinem 'Ubuntu'-Testsystem das eigentlich eine VMVirtuelle Maschine ist VSCode installiert (mit dem Webbrowser das deb von der Microsoft-Website) und dann mal versucht einen adapter zu debuggen.</p>
<p dir="auto">Dazu ist es erst notwendig im iobroker.admin den Adapter zu stoppen und ihn dann per Kommandozeile zu starten (was ich schon vorher mein Entwickeln oft gemacht habe).</p>
<p dir="auto">Aber diesmal wird die Kommandozeile vom VSCode generiert!</p>
<p dir="auto">Die ersten Versuche liefen schief bis ich dann die folgenden Einstellungen für die launch.json gewählt habe und code mit sudo aus dem Adapter-Verzeichnis gestartet habe:<br />
<img src="/assets/uploads/files/1489_2016-12-26_001013.png" alt="1489_2016-12-26_001013.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Im launch.json hab ich die Argumente dazugefügt die ich auch beim Starten eines Adapters von der Kommandozeile verwende, ohne denen hat's nicht funktioniert wobei vielleich etwas davin optional ist.</p>
<p dir="auto">Danach kopnnte ich in VSCode auf den 'Bug' (Debug) clicken und die grüne Taste drücken:<br />
<img src="/assets/uploads/files/1489_2016-12-26_001851.png" alt="1489_2016-12-26_001851.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Und schon funktionierte es!</p>
<p dir="auto">Wie man sehen kann hab ich code mit````<br />
sudo code --user-data-dir=.</p>
<pre><code class="language-aufgerufen">
Leider konnte ich da noch nicht unter Windows testen da mein NUC zu langsahm ist und zu wenig Platz habe und ich am ArbeitsPC kein ioBroker drauf habe(n darf).

Es würde mich allerdings freuen von euch zu hören ob ihr es auch auf Windows geschafft habt!</code></pre>
]]></description><link>https://forum.iobroker.net/topic/4181/adapter-debuggen-mit-vscode</link><generator>RSS for Node</generator><lastBuildDate>Thu, 05 Mar 2026 19:43:30 GMT</lastBuildDate><atom:link href="https://forum.iobroker.net/topic/4181.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 25 Dec 2016 23:38:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Fri, 24 May 2019 15:23:35 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/greyhound" aria-label="Profile: greyhound">@<bdi>greyhound</bdi></a> Nein, eigentlich die vom Adapter. Aber vielleicht ist es ja auch ganz was anderes - per <code>npm link</code> gelinkte Pakete o.ä.?</p>
]]></description><link>https://forum.iobroker.net/post/264283</link><guid isPermaLink="true">https://forum.iobroker.net/post/264283</guid><dc:creator><![CDATA[AlCalzone]]></dc:creator><pubDate>Fri, 24 May 2019 15:23:35 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Fri, 24 May 2019 13:29:14 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alcalzone" aria-label="Profile: AlCalzone">@<bdi>AlCalzone</bdi></a> 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?</p>
]]></description><link>https://forum.iobroker.net/post/264218</link><guid isPermaLink="true">https://forum.iobroker.net/post/264218</guid><dc:creator><![CDATA[greyhound]]></dc:creator><pubDate>Fri, 24 May 2019 13:29:14 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Fri, 24 May 2019 05:48:39 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/greyhound" aria-label="Profile: greyhound">@<bdi>greyhound</bdi></a> 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.</p>
]]></description><link>https://forum.iobroker.net/post/264074</link><guid isPermaLink="true">https://forum.iobroker.net/post/264074</guid><dc:creator><![CDATA[AlCalzone]]></dc:creator><pubDate>Fri, 24 May 2019 05:48:39 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Thu, 23 May 2019 21:03:12 GMT]]></title><description><![CDATA[<p dir="auto">Der Tipp mit sourceMaps hat etwas weitergeholfen, aber der Debugger hielt danach auch beim unLoad nicht mehr an.<br />
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 ...</p>
<p dir="auto">Entsprechend des Installationsansatzes sollte die Commandbox nur via dem Startmenü &gt;&gt; ioBroker &lt;Instanzname&gt; Kommandozeile geöffnet werden.</p>
<p dir="auto">Als erstes meckerte VSC über fehlendes gulp und eslint ...</p>
<pre><code>&gt; cd node_modules\iobroker.husq-automower

&gt; npm install gulp

&gt; npm install eslint
</code></pre>
<p dir="auto">Dann als nächstes kamen beim Debuggen folgende Exceptions</p>
<pre><code>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.&lt;anonymous&gt; (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.&lt;anonymous&gt; (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.&lt;anonymous&gt; (C:\Program Files\iobroker\ioBroker01\node_modules\iobroker.js-controller\node_modules\ws\lib\Validation.js:10:23)
</code></pre>
<p dir="auto">okay, installiere ich nach</p>
<pre><code>cd node_modules\iobroker.js-controller

npm install supports-color
npm install bufferutil
npm install utf-8-validate
</code></pre>
<p dir="auto">Nun kamen folgende Exceptions</p>
<pre><code>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.&lt;anonymous&gt; (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.&lt;anonymous&gt; (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.&lt;anonymous&gt; (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.&lt;anonymous&gt; (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)
</code></pre>
<p dir="auto">okay, dann bauen wir die Module ...</p>
<pre><code>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
</code></pre>
<p dir="auto">So, nun lief das mit dem Debuggen schon ziemlich gut, aber dann<br />
<img src="/assets/uploads/files/1558644883058-41ca5ae5-395c-444e-84d6-bd0e0d7341ed-image.png" alt="41ca5ae5-395c-444e-84d6-bd0e0d7341ed-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Aah, VSC möchte lieber elevated gestartet werden.<br />
Im Adapterverzeichnis ein kleines Skript startVSC.bat mit folgendem Inhalt abgelegt:</p>
<pre><code>"C:\Users\&lt;Dein Anmeldename&gt;\AppData\Local\Programs\Microsoft VS Code\Code.exe"
</code></pre>
<p dir="auto">und via Explore als Administrator gestartet.</p>
<p dir="auto">Terminal öffnen (&lt;Ctrl&gt;+&lt;ö&gt;) und Adapter starten</p>
<pre><code>node --inspect-brk node_modules/iobroker.husq-automower/build/main.js --force --logs &lt;Enter&gt;
</code></pre>
<p dir="auto">dann das Debug gestartet und ...<br />
<img src="/assets/uploads/files/1558645286806-425d6601-35ea-4bad-9622-a2e9cee4331e-image.png" alt="425d6601-35ea-4bad-9622-a2e9cee4331e-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">endlich da, wo ich stehen wollte!</p>
<p dir="auto">Danke für die Unterstützung.</p>
]]></description><link>https://forum.iobroker.net/post/264059</link><guid isPermaLink="true">https://forum.iobroker.net/post/264059</guid><dc:creator><![CDATA[greyhound]]></dc:creator><pubDate>Thu, 23 May 2019 21:03:12 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Thu, 23 May 2019 13:46:29 GMT]]></title><description><![CDATA[<p dir="auto">Bin gerade nicht daheim.</p>
<p dir="auto">Aber probiere mal in der Attach-Konfiguration und in tsconfig.json <code>sourceMaps: true</code> zu setzen. Dann einmal kompilieren und die Adapter-Dateien aktualisieren. Anschließend müsste es gehen, wenn ich alles richtig im Kopf habe.</p>
]]></description><link>https://forum.iobroker.net/post/263947</link><guid isPermaLink="true">https://forum.iobroker.net/post/263947</guid><dc:creator><![CDATA[AlCalzone]]></dc:creator><pubDate>Thu, 23 May 2019 13:46:29 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Thu, 23 May 2019 08:11:40 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alcalzone" aria-label="Profile: AlCalzone">@<bdi>AlCalzone</bdi></a> said in <a href="/post/263885">Adapter debuggen mit VSCode</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/greyhound" aria-label="Profile: greyhound">@<bdi>greyhound</bdi></a> 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?</p>
<p dir="auto">Am besten teilst du mal deine <code>.vscode/launch.json</code> und <code>tsconfig.json</code>.</p>
<blockquote>
<p dir="auto">Außerdem ist im onUnload this.log == undefined.</p>
</blockquote>
<p dir="auto">Poste mal deinen Code, der im Konstruktor steht.</p>
</blockquote>
<p dir="auto">launch.json</p>
<pre><code>{
	// 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
		}
	]
}
</code></pre>
<p dir="auto">tsconfig.json</p>
<pre><code>{
	"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 =&gt; 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/**"]
}
</code></pre>
<p dir="auto">Konstruktor, ist die direkt vom Template abgeleitete Variante ohne eigenem Code</p>
<pre><code>class HusqAutomower extends utils.Adapter {
	public constructor(options: Partial&lt;ioBroker.AdapterOptions&gt; = {}) {
		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&lt;void&gt; {
		// 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);


</code></pre>
]]></description><link>https://forum.iobroker.net/post/263895</link><guid isPermaLink="true">https://forum.iobroker.net/post/263895</guid><dc:creator><![CDATA[greyhound]]></dc:creator><pubDate>Thu, 23 May 2019 08:11:40 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Thu, 23 May 2019 07:58:31 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/greyhound" aria-label="Profile: greyhound">@<bdi>greyhound</bdi></a> 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?</p>
<p dir="auto">Am besten teilst du mal deine <code>.vscode/launch.json</code> und <code>tsconfig.json</code>.</p>
<blockquote>
<p dir="auto">Außerdem ist im onUnload this.log == undefined.</p>
</blockquote>
<p dir="auto">Poste mal deinen Code, der im Konstruktor steht.</p>
]]></description><link>https://forum.iobroker.net/post/263885</link><guid isPermaLink="true">https://forum.iobroker.net/post/263885</guid><dc:creator><![CDATA[AlCalzone]]></dc:creator><pubDate>Thu, 23 May 2019 07:58:31 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Wed, 22 May 2019 19:17:46 GMT]]></title><description><![CDATA[<p dir="auto">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</p>
<pre><code>    onUnload(callback) {
        try {
            this.log.info('cleaned everything up...');
            callback();
        }
        catch (e) {
            callback();
        }
    }
</code></pre>
<p dir="auto">Habe das auch mit main.ts aus dem TypeScript-Adapter-Template versucht.<br />
Starte ich den Adpater direkt über iobroker-Admin wird augenscheinlich (laut Log) "onReady()" ausgeführt.</p>
<p dir="auto">Außerdem ist im onUnload this.log == undefined.</p>
<p dir="auto">Muss ich beim Debuggen "tricksen", sprich einige Code-Zweige "verbiegen" oder muss ich noch etwas konfigurieren?</p>
]]></description><link>https://forum.iobroker.net/post/263787</link><guid isPermaLink="true">https://forum.iobroker.net/post/263787</guid><dc:creator><![CDATA[greyhound]]></dc:creator><pubDate>Wed, 22 May 2019 19:17:46 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Tue, 08 Jan 2019 12:03:55 GMT]]></title><description><![CDATA[<p dir="auto">Könnte man dieses Verfahren auch auf normale Script Entwicklung anwenden?</p>
<p dir="auto">Vielleicht ging es mit einer zweiten Javascript Instanz, die man dann mit debug option neustartet.</p>
<p dir="auto">Hat das schon jemand ausprobiert.</p>
]]></description><link>https://forum.iobroker.net/post/209511</link><guid isPermaLink="true">https://forum.iobroker.net/post/209511</guid><dc:creator><![CDATA[Marty56]]></dc:creator><pubDate>Tue, 08 Jan 2019 12:03:55 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Thu, 25 Oct 2018 10:14:01 GMT]]></title><description><![CDATA[<p dir="auto">Ich habe definitiv auch schon mit Breakpoints debuggt. Woran das liegt, weiß ich aber jetzt nicht aus dem Kopf.</p>
<p dir="auto">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.</p>
]]></description><link>https://forum.iobroker.net/post/184562</link><guid isPermaLink="true">https://forum.iobroker.net/post/184562</guid><dc:creator><![CDATA[AlCalzone]]></dc:creator><pubDate>Thu, 25 Oct 2018 10:14:01 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Wed, 24 Oct 2018 17:56:51 GMT]]></title><description><![CDATA[<p dir="auto">super hat geklappt, die breakpoints klappen nicht, ist das normal oder kann ich das auch noch irgendwo einstellen?</p>
]]></description><link>https://forum.iobroker.net/post/184457</link><guid isPermaLink="true">https://forum.iobroker.net/post/184457</guid><dc:creator><![CDATA[Meistertr]]></dc:creator><pubDate>Wed, 24 Oct 2018 17:56:51 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Wed, 24 Oct 2018 06:17:04 GMT]]></title><description><![CDATA[<p dir="auto"><code>&gt; Debugger listening on ws://127.0.0.1:9229</code><br />
probier mal zusätzlich die Option</p>
<pre><code>--inspect=0.0.0.0:9229
</code></pre>
<p dir="auto">um node klarzumachen, dass es nicht nur auf der lokalen Loopback-IP lauschen soll.</p>
]]></description><link>https://forum.iobroker.net/post/184273</link><guid isPermaLink="true">https://forum.iobroker.net/post/184273</guid><dc:creator><![CDATA[AlCalzone]]></dc:creator><pubDate>Wed, 24 Oct 2018 06:17:04 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Tue, 23 Oct 2018 21:16:00 GMT]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">ich versuch gerade das remote debugging mit vs-code und node8, bekomme aber immer folgende Fehlermeldung:<br />
<code>&gt; Das Debugging erfolgt mit dem Inspektorprotokoll, weil die Node.js-Version nicht ermittelt werden konnte (Error: connect ECONNREFUSED 192.168.178.22:9229)</code><br />
hier die Terminalmeldung:<br />
` &gt; root@devbroker:/opt/iobroker# node –inspect-brk node_modules/iobroker.yeelight-2/main.js --force --logs</p>
<blockquote>
<p dir="auto">Debugger listening on ws://127.0.0.1:9229/068d2900-7dd5-4238-bb57-98d5ebe0fffe</p>
<p dir="auto">For help see <a href="https://nodejs.org/en/docs/inspector" rel="nofollow ugc">https://nodejs.org/en/docs/inspector</a> `</p>
</blockquote>
<p dir="auto">wie muss denn meine lanch.json aussehen kann mirt jemand helfen?</p>
]]></description><link>https://forum.iobroker.net/post/184250</link><guid isPermaLink="true">https://forum.iobroker.net/post/184250</guid><dc:creator><![CDATA[Meistertr]]></dc:creator><pubDate>Tue, 23 Oct 2018 21:16:00 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Wed, 02 Aug 2017 21:16:11 GMT]]></title><description><![CDATA[<p dir="auto">Wollte diesen Beitrag mal wieder etwas ergänzen.</p>
<p dir="auto">Hatte vorher immer Adapter auf einem Linux (in 'ner VM) oder unter Widows geschrieben und gedebuggt.</p>
<p dir="auto">Nun wollte ich code am Raspi testen und schreiben, aber er ist headless, also nur über SSH (oder ioBroker) zu erreichen.</p>
<p dir="auto">Um nun drauf trotzdem Adapter zu debuggen (direkt am Raspi) und nicht erst den fertigen Treiber von Git in ioBroker zu laden verwende ich folgende Methode:</p>
<p dir="auto">Ich habe für das pi-Benutzerverzeichnis einen Samba-share angelegt mit dem ich auf den Pi über Windows zugreifen kann.</p>
<p dir="auto">Im im pi-Benutzerverzeichnis lade ich mit git clone den Adapter herunter</p>
<pre><code>git clone https://github.com/frankjoke/iobroker.broadlink2
</code></pre>
<p dir="auto">Das ist wichtig da bei npm install (also im /opt/iobroker/… ) nicht alle Dateien zum synchronisieren mit Git geladen werden.</p>
<p dir="auto">Im iobroker soll der Adapter schon installiert sein. Dann verlinke ich die beiden mittels einem script 'linkadapter'</p>
<pre><code>#!/bin/sh

cpath=$(basename `pwd`)
for var in "$@"
do
    echo ln -f ./$var /opt/iobroker/node_modules/$cpath/$var
    sudo ln -f ./$var /opt/iobroker/node_modules/$cpath/$var
done

for var in package.json io-package.json README.md admin/index.html
do
    echo ln -f ./"$var" /opt/iobroker/node_modules/$cpath/$var
    sudo ln -f ./$var /opt/iobroker/node_modules/$cpath/$var
done

</code></pre>
<p dir="auto">das schaut dann z.B. so aus:</p>
<pre><code>cd ~/iobroker.broadlink2
~/linkadapter main.js
cd /opt/iobroker
iobroker stop broadlink2

</code></pre>
<p dir="auto">Das script setzt links von ioBroker-Verzeichnis in das Verzeichnis in dem entwickelt wird.</p>
<p dir="auto">Gut, unter Windows öffne ich jetzt das iobroker.broadlink2-Verzeichnis am Raspi mittels VS-Code.</p>
<p dir="auto">Dort habe auch im Debug-panel eine Konfiguration hinzugefügt welche dann folgende launch.json erzeugt:</p>
<pre><code>{
    // Use IntelliSense to learn about possible Node.js debug attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [

        {
            "type": "node",
            "request": "attach",
            "name": "JESSI4",
            "address": "192.168.xxx.xx",
            "port": 5858,
            "localRoot": "${workspaceRoot}",
            "remoteRoot": "/opt/iobroker/node_modules/iobroker.broadlink2",
            "smartStep": true,
        }
    ]
}
</code></pre>
<p dir="auto">Mein Raspi heißt JESSI4 und seine IP hab ich auch eingetragen, sowie die Folder des Adapters.</p>
<p dir="auto">Nun kann ich am Raspi mit dem Kommando</p>
<pre><code> node --debug-brk node_modules/iobroker.broadlink2/main.js --force --logs
</code></pre>
<p dir="auto">den Adapter im debug-mode starten und vor der 1. Zeile auf den debugger warten lassen</p>
<p dir="auto">Im VS Code clicke ich dann einfach auf den grünen Pfeil vorm 'JESSI4' und das Remote-Debug-Window kommt hoch!</p>
<p dir="auto">Am Raspi kann ich den Adapter und die Debug-Session mit ^C stoppen. Adapter-Meldungen werden im Terminal vom Raspi ausgegeben.</p>
<p dir="auto"><img src="/assets/uploads/files/1489_2017-08-02_231350.png" alt="1489_2017-08-02_231350.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Ach ja, natrürlich kann ich mit VS Code auch gleich auf git pushen/committen… und am Raspi auch npm publish!</p>
]]></description><link>https://forum.iobroker.net/post/90423</link><guid isPermaLink="true">https://forum.iobroker.net/post/90423</guid><dc:creator><![CDATA[frankjoke]]></dc:creator><pubDate>Wed, 02 Aug 2017 21:16:11 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Wed, 05 Apr 2017 10:12:23 GMT]]></title><description><![CDATA[<p dir="auto">Falls es jemanden interessiert, mit dem kompletten VS funktioniert das auch. Wenngleich das Anfügen etwas buggy ist (benötigt bei mir immer 2 Anläufe):</p>
<ul>
<li>
<p dir="auto">Auf Remote-Gerät per "node –debug-brk […]" den Prozess wartend starten</p>
</li>
<li>
<p dir="auto">Strg+Alt+P zum Anfügen an Prozesse</p>
</li>
<li>
<p dir="auto">Oben in der Liste Node.JS Remote Debuggin auswählen und darunter IP/Hostname eintragen [ENTER]</p>
</li>
<li>
<p dir="auto">Remote-Gerät zeigt entweder Fehler oder startet den Prozess ohne zu warten</p>
</li>
<li>
<p dir="auto">Abbrechen mit Strg+C und nochmals den obigen Befehl eingeben</p>
</li>
<li>
<p dir="auto">In VS unten in der Liste den einzigen Prozess auswählen und "Anfügen"</p>
</li>
</ul>
]]></description><link>https://forum.iobroker.net/post/75212</link><guid isPermaLink="true">https://forum.iobroker.net/post/75212</guid><dc:creator><![CDATA[AlCalzone]]></dc:creator><pubDate>Wed, 05 Apr 2017 10:12:23 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Mon, 03 Apr 2017 18:37:23 GMT]]></title><description><![CDATA[<p dir="auto">OK… bin einen Schritt weiter :-)</p>
<p dir="auto"><img src="/assets/uploads/files/327_debug_n_chster_schritt.jpg" alt="327_debug_n_chster_schritt.jpg" class=" img-fluid img-markdown" /></p>
<p dir="auto">Bei mir war der linke Bereich in VSCode recht klein. Neben dem grünen "Play-Button" musste ich noch "an den Prozess anfügen" auswählen. Im Standard steht das auf "Programm starten".</p>
<p dir="auto">Jetzt kämpfe ich mich erst einmal weiter durch.</p>
]]></description><link>https://forum.iobroker.net/post/75063</link><guid isPermaLink="true">https://forum.iobroker.net/post/75063</guid><dc:creator><![CDATA[ruhr70]]></dc:creator><pubDate>Mon, 03 Apr 2017 18:37:23 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Mon, 03 Apr 2017 18:24:44 GMT]]></title><description><![CDATA[<p dir="auto">Ich wollte mir Visual Studio Code ansehen und damit einen Adapter debugen (remote).</p>
<p dir="auto">Leider scheitere ich dabei :-(</p>
<p dir="auto">Auf dem Master läuft node <strong><strong>v4.8.1</strong></strong></p>
<p dir="auto">Auf dem Slave (pi 3) läuft node <strong><strong>v6.10.0</strong></strong> &lt;- hier soll der Adapter laufen</p>
<p dir="auto">Der Adapter, um den es geht wurde auf dem <strong><strong>Slave</strong></strong> eingespielt (erst einmal das ioBroker.template).</p>
<p dir="auto">(nach der Anleitung zum Template, Punkte 1-5 <a href="https://github.com/ioBroker/ioBroker.template" rel="nofollow ugc">https://github.com/ioBroker/ioBroker.template</a>)</p>
<p dir="auto">Instanz auf dem Slave hinzugefügt und danach:</p>
<pre><code>iobroker stop adapterName

pi@rasp33:~ $ node --debug-brk node_modules/iobroker.mhe-test/main.js --force --logs
Debugger listening on [::]:5858
</code></pre>
<p dir="auto">Das Adapterverzeichnis node_modules/iobroker.mhe-test steht als SMB Share zur Verfügung und wurde in VSCode geöffnet.</p>
<p dir="auto">Die <strong><strong>launch.json</strong></strong> wie folgt angepasst:</p>
<p dir="auto">(IP-Adresse des Slaves eingetragen)</p>
<pre><code>{
    // Use IntelliSense to learn about possible Node.js debug attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Programm starten",
            "program": "${workspaceRoot}/main.js"
        },
        {
            "type": "node",
            "request": "attach",
            "name": "An den Prozess anfügen",
            "address": "172.16.130.33",
            "port": 5858
        }
    ]
}
</code></pre>
<p dir="auto">Wenn ich nun bei <strong><strong>main.js</strong></strong> auf Debug gehe erhalte ich folgende Rückmeldung:</p>
<p dir="auto"><img src="/assets/uploads/files/327_debug_misslungen.jpg" alt="327_debug_misslungen.jpg" class=" img-fluid img-markdown" /></p>
<pre><code>DEBUG-KONSOLE in VSCode:

node --debug-brk=20556 --nolazy main.js 
Debugger listening on [::]:20556
</code></pre>
<p dir="auto">Mir fehlt bei dem Thema einfach die Erfahrung. Vielleicht hat a jemanden einen kleinen gedanklichen Anschubes für mich :mrgreen:</p>
]]></description><link>https://forum.iobroker.net/post/75061</link><guid isPermaLink="true">https://forum.iobroker.net/post/75061</guid><dc:creator><![CDATA[ruhr70]]></dc:creator><pubDate>Mon, 03 Apr 2017 18:24:44 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Sat, 07 Jan 2017 14:08:07 GMT]]></title><description><![CDATA[<p dir="auto">Habe eine Anleitung gefunden wie man node.js debuggen kann:</p>
<p dir="auto"><a href="http://www.mattzeunert.com/2016/06/01/node-v8-inspector-inspect.html" rel="nofollow ugc">http://www.mattzeunert.com/2016/06/01/n … spect.html</a></p>
<p dir="auto">also</p>
<pre><code>cd /opt/iobroker
iobroker stop adapterName
node --debug-brk node_modules/iobroker.adapterName/main.js --force --logs

</code></pre>
<p dir="auto">dann kommt</p>
<pre><code>Debugger listening on port 5858
</code></pre>
<p dir="auto">VSCode/WebStorm kann dann mit IP:5858 verbinden und Adapter wartet auf Debugger.</p>
]]></description><link>https://forum.iobroker.net/post/60886</link><guid isPermaLink="true">https://forum.iobroker.net/post/60886</guid><dc:creator><![CDATA[Bluefox]]></dc:creator><pubDate>Sat, 07 Jan 2017 14:08:07 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Thu, 29 Dec 2016 09:46:25 GMT]]></title><description><![CDATA[<p dir="auto">Ich habe gestern Abend mit Debugging in "Atom" (den Editor nehme ich aktuell) rumgespielt. Grundsätzlich mit dem Prozessstart von Bluefox tut es … aber beide Debugger-Addons für Atom haben genau da Bugs wo ichs brauche (bei dem einen kann ich keinen Breakpoint setzen, der andere startet noch nicht mal mit dem Remote-Prozess) :-((</p>
<p dir="auto">Dann also doch VSCode ... hm ... ;-)</p>
]]></description><link>https://forum.iobroker.net/post/59647</link><guid isPermaLink="true">https://forum.iobroker.net/post/59647</guid><dc:creator><![CDATA[apollon77]]></dc:creator><pubDate>Thu, 29 Dec 2016 09:46:25 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Wed, 28 Dec 2016 20:33:26 GMT]]></title><description><![CDATA[<p dir="auto">Hat hingehauen!</p>
<p dir="auto">Einzige andere Vorgehensweise: Habe ein Samba-share auf allen meiner (/opt)/iobroker gelegt und kann damit mit de VSCode direkt auf den Code am Raspi/Unix/NUK zugreifen und hetzt auch remote-debuggen :)</p>
<p dir="auto">Bei mir bleibt VSCode zwar nicht automatisch an der ersten Zeile stehen aber ich setzte sowieso einen breakpoint auf main()…</p>
]]></description><link>https://forum.iobroker.net/post/59608</link><guid isPermaLink="true">https://forum.iobroker.net/post/59608</guid><dc:creator><![CDATA[frankjoke]]></dc:creator><pubDate>Wed, 28 Dec 2016 20:33:26 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Tue, 27 Dec 2016 22:04:53 GMT]]></title><description><![CDATA[<p dir="auto">Habe gerade mit VS Code getestet. Es geht.</p>
<p dir="auto">1. Kode vom github runterladen und im VS Code aufmachen.</p>
<p dir="auto">Wichtig dieser Kode muss mit dem Remote Code übereinstimmen.</p>
<p dir="auto">2. Anzeigen =&gt; Debuggen<br />
<img src="/assets/uploads/files/48_2016-12-27_23_04_23-locale.json_-_iobroker.samsung_-_visual_studio_code.png" alt="48_2016-12-27_23_04_23-locale.json_-iobroker.samsung-_visual_studio_code.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">3. launch.json Editieren:<br />
<img src="/assets/uploads/files/48_2016-12-27_23_05_15-launch.json_-_iobroker.samsung_-_visual_studio_code.png" alt="48_2016-12-27_23_05_15-launch.json_-iobroker.samsung-_visual_studio_code.png" class=" img-fluid img-markdown" /><br />
Port und Adresse sind wichtig.</p>
<p dir="auto">4. Auf dem RasPI (oder noch irgendwo) dann Prozess starten:</p>
<pre><code>cd /opt/iobroker
node --debug-brk=55555 --expose_debug_as=v8debug node_modules/iobroker.samsung/samsung.js --force --logs

</code></pre>
<p dir="auto">5. Dann auf "Play" Button neben "Attach" drucken.<br />
<img src="/assets/uploads/files/48_2016-12-27_23_09_31-_mnt_opt_iobroker_node_modules_iobroker.samsung_samsung.js_-_iobroker.samsung_-_.png" alt="48_2016-12-27_23_09_31-mnt_opt_iobroker_node_modules_iobroker.samsung_samsung.js-iobroker.samsung-_.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">Als Ergebnis hält dann Debugger auf der ersten Zeile vom Programm.</p>
]]></description><link>https://forum.iobroker.net/post/59534</link><guid isPermaLink="true">https://forum.iobroker.net/post/59534</guid><dc:creator><![CDATA[Bluefox]]></dc:creator><pubDate>Tue, 27 Dec 2016 22:04:53 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Tue, 27 Dec 2016 21:45:40 GMT]]></title><description><![CDATA[<p dir="auto"><s>@fsjoke:</s></p>
<blockquote>
<p dir="auto">Danke BlueFox, hast es geschafft damit auch remote zu debuggen? Ich meine Chrome läuft auf PC uns node/ioBroker adapter auf NUC or Raspi?</p>
<p dir="auto">p.s.: Man kann auch ohne 'sudo code…' adapter debuggen wenn man code normal aufruft, aber eben nur solche die kein root brauchen. rpi2 (wegen GPIO) und radar (wegen noble) brauchen root z.B. `<br />
Ich konnte mit WebStorm schon remote debuggen.</p>
</blockquote>
<p dir="auto">Dafür muss man adapter wie folgt auf dem Gerät starten:</p>
<pre><code>cd /opt/iobroker
iobroker stop mqtt
node --debug-brk=55555 --expose_debug_as=v8debug node_modules/iobroker.mqtt/main.js --force --logs

</code></pre>
<p dir="auto">Und dann konnte WebStorm unter dem Port 55555 sich verbinden.</p>
<p dir="auto">Es sollte mit VSCode auch gehen.</p>
]]></description><link>https://forum.iobroker.net/post/59530</link><guid isPermaLink="true">https://forum.iobroker.net/post/59530</guid><dc:creator><![CDATA[Bluefox]]></dc:creator><pubDate>Tue, 27 Dec 2016 21:45:40 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Tue, 27 Dec 2016 21:21:44 GMT]]></title><description><![CDATA[<p dir="auto">Danke BlueFox, hast es geschafft damit auch remote zu debuggen? Ich meine Chrome läuft auf PC uns node/ioBroker adapter auf NUC or Raspi?</p>
<p dir="auto">p.s.: Man kann auch ohne 'sudo code…' adapter debuggen wenn man code normal aufruft, aber eben nur solche die kein root brauchen. rpi2 (wegen GPIO) und radar (wegen noble) brauchen root z.B.</p>
]]></description><link>https://forum.iobroker.net/post/59528</link><guid isPermaLink="true">https://forum.iobroker.net/post/59528</guid><dc:creator><![CDATA[frankjoke]]></dc:creator><pubDate>Tue, 27 Dec 2016 21:21:44 GMT</pubDate></item><item><title><![CDATA[Reply to Adapter debuggen mit VSCode on Tue, 27 Dec 2016 14:32:25 GMT]]></title><description><![CDATA[<p dir="auto">BTW: <a href="http://forum.iobroker.net/viewtopic.php?f=24&amp;t=4577" rel="nofollow ugc">http://forum.iobroker.net/viewtopic.php?f=24&amp;t=4577</a></p>
]]></description><link>https://forum.iobroker.net/post/59488</link><guid isPermaLink="true">https://forum.iobroker.net/post/59488</guid><dc:creator><![CDATA[Bluefox]]></dc:creator><pubDate>Tue, 27 Dec 2016 14:32:25 GMT</pubDate></item></channel></rss>