NEWS
dev-server mit vis1 widget Unterstützung
-
Ich habe den dev-server um die Möglichkeit erweitert, so das man nun auch vis1 widgets entwickeln und debuggen kann. Die Synchronisierung mit vis1 erfolgt automatisch im Hintergrund
Nachdem @tt-tom bereits eine Vorgängerversion erfolgreich testen konnte, erweitere ich hier mal den Testaufruf an weitere interessierte.
Damit man die aktuell offizielle Version des dev-servers nicht deinstallieren muss, kann man diese Version auch mit einer Parallel-Installation testen.
Dazu geht man wie folgt vor:
- angenommen wird eine Verzeichnisstruktur für eure Adapterentwicklung wie folgt.
<Hauptverzeichnis>
|-<Repository Adapter1-Verzeichnis>
|-<Repository Adapter2-Verzeichnis>- zur Installation geht mit der Kommandozeile in das <Hauptverzeichnis> und gebt folgenden Befehl ein:
git clone https://github.com/oweitman/dev-server.gitDer Befehl lädt alle sourcen herunter und legt das Verzeichnis dev-server unterhalb eures <Hauptverzeichnis> an.
- danach geht ih in euer Adapterverzeichnis und startet den dev-server mittels dem folgenden Befehl
node ../dev-server/dist/index.js watchAnstelle von watch können natürlich auch alle anderen dev-server Befehle verwendet werden, wie bspw setup.
-
ab jetzt werden nun alle Änderungen, die ihr unterhalb des Verzeichnisses /widgets macht nicht nur in das Adapterverzeichnis synchronisiert, sondern auch nach vis1.
Ein entsprechender Reload im Browser mit F5 lädt die Änderungen im browser -
Debugging
5A) über die developer console des Browsers (ich hab aktuell nur chrome getestet) könnt ihr sofort debuggen und breakpoints setzen.

5B) um auch bspw in vscode zu debuggen, müsst ihr den browser über eine zusätzliche Konfiguration in der .vscode/launch.json starten:
{ "type": "chrome", "request": "launch", "name": "vis edit", "url": "http://127.0.0.1:8082/vis/edit.html?main#test", "trace": true, "skipFiles": ["socket.io.js"] },main bezeichnet das vis-Projekt
test bezeichnet die vis view, die ich extra angelegt habeWenn die launch.json ergänzt ist, erscheint im debugging Reiter das entsprechende Profil. Nach Auswahl des Profils und Klick auf das grüne Dreieck, startet der Debug-Browser und das Skript hält am breakpoint, nachdem alles geladen wurde.

Andere Entwicklungs-IDEs habe ich nicht probiert.
Ich würde mich freuen wenn noch weitere mittesten würden.
Anmekrungen gerne hier oder im auf github
https://github.com/oweitman/dev-server -
Ich habe den dev-server um die Möglichkeit erweitert, so das man nun auch vis1 widgets entwickeln und debuggen kann. Die Synchronisierung mit vis1 erfolgt automatisch im Hintergrund
Nachdem @tt-tom bereits eine Vorgängerversion erfolgreich testen konnte, erweitere ich hier mal den Testaufruf an weitere interessierte.
Damit man die aktuell offizielle Version des dev-servers nicht deinstallieren muss, kann man diese Version auch mit einer Parallel-Installation testen.
Dazu geht man wie folgt vor:
- angenommen wird eine Verzeichnisstruktur für eure Adapterentwicklung wie folgt.
<Hauptverzeichnis>
|-<Repository Adapter1-Verzeichnis>
|-<Repository Adapter2-Verzeichnis>- zur Installation geht mit der Kommandozeile in das <Hauptverzeichnis> und gebt folgenden Befehl ein:
git clone https://github.com/oweitman/dev-server.gitDer Befehl lädt alle sourcen herunter und legt das Verzeichnis dev-server unterhalb eures <Hauptverzeichnis> an.
- danach geht ih in euer Adapterverzeichnis und startet den dev-server mittels dem folgenden Befehl
node ../dev-server/dist/index.js watchAnstelle von watch können natürlich auch alle anderen dev-server Befehle verwendet werden, wie bspw setup.
-
ab jetzt werden nun alle Änderungen, die ihr unterhalb des Verzeichnisses /widgets macht nicht nur in das Adapterverzeichnis synchronisiert, sondern auch nach vis1.
Ein entsprechender Reload im Browser mit F5 lädt die Änderungen im browser -
Debugging
5A) über die developer console des Browsers (ich hab aktuell nur chrome getestet) könnt ihr sofort debuggen und breakpoints setzen.

5B) um auch bspw in vscode zu debuggen, müsst ihr den browser über eine zusätzliche Konfiguration in der .vscode/launch.json starten:
{ "type": "chrome", "request": "launch", "name": "vis edit", "url": "http://127.0.0.1:8082/vis/edit.html?main#test", "trace": true, "skipFiles": ["socket.io.js"] },main bezeichnet das vis-Projekt
test bezeichnet die vis view, die ich extra angelegt habeWenn die launch.json ergänzt ist, erscheint im debugging Reiter das entsprechende Profil. Nach Auswahl des Profils und Klick auf das grüne Dreieck, startet der Debug-Browser und das Skript hält am breakpoint, nachdem alles geladen wurde.

Andere Entwicklungs-IDEs habe ich nicht probiert.
Ich würde mich freuen wenn noch weitere mittesten würden.
Anmekrungen gerne hier oder im auf github
https://github.com/oweitman/dev-server@OliverIO sagte in dev-server mit vis1 widget Unterstützung:
hi @oliverio
kleiner Hinweis noch. Bevor man mit watch anfangen kann, muss der Server mitrungestartet werden. Dann den WEB und Vis Adapter installiert, sonst kommt es zu dieser Fehlermeldung.Visdebug iobroker.public-transport /home/tom/ioBroker.public-transport/.dev-server/default> node node_modules/iobroker.js-controller/iobroker.js visdebug public-transport Cannot find iobroker.vis 2026-02-25 15:40:03.341 - info: host.dev-public-transport-devserver received SIGINT node:internal/errors:985 const err = new Error(message); ^ Error: Command failed: node node_modules/iobroker.js-controller/iobroker.js visdebug public-transport at genericNodeError (node:internal/errors:985:15) at wrappedFn (node:internal/errors:539:14) at checkExecSyncError (node:child_process:925:11) at Module.execSync (node:child_process:997:15) at DevServer.execSync (file:///home/tom/dev-server/dist/index.js:1707:19) at DevServer.visDebugAdapter (file:///home/tom/dev-server/dist/index.js:1614:14) at FSWatcher.<anonymous> (file:///home/tom/dev-server/dist/index.js:1156:22) { status: 29, signal: null, output: [ null, null, null ], pid: 114544, stdout: null, stderr: null } Node.js v24.13.1 2026-02-25 15:40:03.342 - debug: host.dev-public-transport-devserver stop isStopping=0 isDaemon=false allInstancesStopped=false 2026-02-25 15:40:03.342 - info: host.dev-public-transport-devserver stopInstance system.adapter.admin.0 (force=false, process=true) 2026-02-25 15:40:03.342 - info: host.dev-public-transport-devserver stopInstance system.adapter.public-transport.0 (force=false, process=false) 2026-02-25 15:40:03.343 - info: host.dev-public-transport-devserver stopInstance system.adapter.admin.0 send kill signal -
@OliverIO sagte in dev-server mit vis1 widget Unterstützung:
hi @oliverio
kleiner Hinweis noch. Bevor man mit watch anfangen kann, muss der Server mitrungestartet werden. Dann den WEB und Vis Adapter installiert, sonst kommt es zu dieser Fehlermeldung.Visdebug iobroker.public-transport /home/tom/ioBroker.public-transport/.dev-server/default> node node_modules/iobroker.js-controller/iobroker.js visdebug public-transport Cannot find iobroker.vis 2026-02-25 15:40:03.341 - info: host.dev-public-transport-devserver received SIGINT node:internal/errors:985 const err = new Error(message); ^ Error: Command failed: node node_modules/iobroker.js-controller/iobroker.js visdebug public-transport at genericNodeError (node:internal/errors:985:15) at wrappedFn (node:internal/errors:539:14) at checkExecSyncError (node:child_process:925:11) at Module.execSync (node:child_process:997:15) at DevServer.execSync (file:///home/tom/dev-server/dist/index.js:1707:19) at DevServer.visDebugAdapter (file:///home/tom/dev-server/dist/index.js:1614:14) at FSWatcher.<anonymous> (file:///home/tom/dev-server/dist/index.js:1156:22) { status: 29, signal: null, output: [ null, null, null ], pid: 114544, stdout: null, stderr: null } Node.js v24.13.1 2026-02-25 15:40:03.342 - debug: host.dev-public-transport-devserver stop isStopping=0 isDaemon=false allInstancesStopped=false 2026-02-25 15:40:03.342 - info: host.dev-public-transport-devserver stopInstance system.adapter.admin.0 (force=false, process=true) 2026-02-25 15:40:03.342 - info: host.dev-public-transport-devserver stopInstance system.adapter.public-transport.0 (force=false, process=false) 2026-02-25 15:40:03.343 - info: host.dev-public-transport-devserver stopInstance system.adapter.admin.0 send kill signal