NEWS
[Tester gesucht] Visual Studio Code Extension für ioBroker
-
@Rosi8818 Im
.iobrokerOrdner befinden sich die Definitionen der ioBroker spezifischen JavaScript Funktionen. Du solltest bei dir also den Ordner voniobrokerin.iobrokerumbenennen. Ich muss allerdings dazu sagen, dass das Ganze noch nicht so funktioniert, wie ich mir das wünsche. Um zuverlässig die ioBroker JavaScript Funktionen in anderen Skripten über Intellisense angezeigt zu bekommen, musst du diejavascript.d.tsöffnen und den Tab auch geöffnet lassen. Ich versuch das in Zukunft zu verbessern.@Jschnorr Falls du es schaffen solltest ein Skript über SSH zu debuggen, wäre ich da auch sehr interessiert daran. Eventuell kann ich das Vorgehen dann in die VS Code Extension übernehmen.
-
@Rosi8818 Im
.iobrokerOrdner befinden sich die Definitionen der ioBroker spezifischen JavaScript Funktionen. Du solltest bei dir also den Ordner voniobrokerin.iobrokerumbenennen. Ich muss allerdings dazu sagen, dass das Ganze noch nicht so funktioniert, wie ich mir das wünsche. Um zuverlässig die ioBroker JavaScript Funktionen in anderen Skripten über Intellisense angezeigt zu bekommen, musst du diejavascript.d.tsöffnen und den Tab auch geöffnet lassen. Ich versuch das in Zukunft zu verbessern.@Jschnorr Falls du es schaffen solltest ein Skript über SSH zu debuggen, wäre ich da auch sehr interessiert daran. Eventuell kann ich das Vorgehen dann in die VS Code Extension übernehmen.
@nokxs super danke, das werde ich machen. Bin mir auch bewusst das nicht alles funktioniert, Du suchst ja auch tester. Vielleicht kann ich ja mit meinem wenigen Wissen auch das ein oder andere beitragen. Neulinge "nerven" zwar manchmal, stellen aber auch Fragen quer wegen der großen "Unwissenheit" der Themen ;)
-
-
@nokxs super danke, das werde ich machen. Bin mir auch bewusst das nicht alles funktioniert, Du suchst ja auch tester. Vielleicht kann ich ja mit meinem wenigen Wissen auch das ein oder andere beitragen. Neulinge "nerven" zwar manchmal, stellen aber auch Fragen quer wegen der großen "Unwissenheit" der Themen ;)
@rosi8818 Ich bin dankbar für jeden Tester und ich freue mich auch, wenn meine Arbeit auch anderen zugute kommt :-) . Auch finde ich es super möglichst viele verschieden "Arten" von Anwender zu haben, sprich auch Neulinge sollen mit der Extension zurecht kommen und einen Mehrwert durch diese haben. Nur so wird das irgendwann mal eine runde Sache ;-) .
Es macht übrigens erst einmal gar nichts aus, den
.iobrokerOrdner zu löschen. Wenn der Ordner allerdings gelöscht ist, wird eine Autovervollständigung der ioBroker Funktionen (z.B.setState(...)) auf keinen Fall mehr funktionieren. -
@Rosi8818 Im
.iobrokerOrdner befinden sich die Definitionen der ioBroker spezifischen JavaScript Funktionen. Du solltest bei dir also den Ordner voniobrokerin.iobrokerumbenennen. Ich muss allerdings dazu sagen, dass das Ganze noch nicht so funktioniert, wie ich mir das wünsche. Um zuverlässig die ioBroker JavaScript Funktionen in anderen Skripten über Intellisense angezeigt zu bekommen, musst du diejavascript.d.tsöffnen und den Tab auch geöffnet lassen. Ich versuch das in Zukunft zu verbessern.@Jschnorr Falls du es schaffen solltest ein Skript über SSH zu debuggen, wäre ich da auch sehr interessiert daran. Eventuell kann ich das Vorgehen dann in die VS Code Extension übernehmen.
@nokxs Bei mir klappt das ganz gut mit Intellisense, die
javascript.d.tsmuss ich dafür nicht mal auf haben. Der Zugriff auf die globalen Funktionen klappt, nur das ich durch meine Variante auch auf die Funktionen anderer Skripte Zugriff habe mit Intellisense aber das stört mich nicht.
Eslint klappt soweit auch, ich habe die Konfiguration davon aber um die Einstellung"no-undef": "off"ergänzt, da die Funktionen aus derjavascript.d.tsnicht erkannt werden und sonst alles rot markiert wird. Und in den Globalen Skripten muss noch diese Zeile/* eslint-disable no-unused-vars */ergänzt werden, damit die Funktionen nicht rot angestrichen werden, da sie meistens nicht im Globalen Skript aufgerufen werden. -
@nokxs Bei mir klappt das ganz gut mit Intellisense, die
javascript.d.tsmuss ich dafür nicht mal auf haben. Der Zugriff auf die globalen Funktionen klappt, nur das ich durch meine Variante auch auf die Funktionen anderer Skripte Zugriff habe mit Intellisense aber das stört mich nicht.
Eslint klappt soweit auch, ich habe die Konfiguration davon aber um die Einstellung"no-undef": "off"ergänzt, da die Funktionen aus derjavascript.d.tsnicht erkannt werden und sonst alles rot markiert wird. Und in den Globalen Skripten muss noch diese Zeile/* eslint-disable no-unused-vars */ergänzt werden, damit die Funktionen nicht rot angestrichen werden, da sie meistens nicht im Globalen Skript aufgerufen werden.@patrickbs96 Ich werde mir das als nächstes mal anschauen und bekomme die Intellisense hoffentlich stabil zum Laufen :-)
Für alle interessierten: Ich hab gerade ein neues Release der Extension veröffentlicht: https://github.com/nokxs/iobroker-javascript-vs-code-extension/releases/tag/v0.9.0
Intern hat sich in diesem Release sehr viel verändert. Unter anderem werden die Namen der Skripte jetzt anders ausgelesen, da es bei Skripten mit Sonderzeichen wie zB. "_" zu Problemen gekommen ist.
Ich empfehle die Skripte lokal zu löschen und neue herunterzuladen, damit zukünftige Probleme vermieden werden.
-
@patrickbs96 Ich werde mir das als nächstes mal anschauen und bekomme die Intellisense hoffentlich stabil zum Laufen :-)
Für alle interessierten: Ich hab gerade ein neues Release der Extension veröffentlicht: https://github.com/nokxs/iobroker-javascript-vs-code-extension/releases/tag/v0.9.0
Intern hat sich in diesem Release sehr viel verändert. Unter anderem werden die Namen der Skripte jetzt anders ausgelesen, da es bei Skripten mit Sonderzeichen wie zB. "_" zu Problemen gekommen ist.
Ich empfehle die Skripte lokal zu löschen und neue herunterzuladen, damit zukünftige Probleme vermieden werden.
@nokxs Danke für die neuen Features.
Beim "Delete" erfolgt kein automatischer Refresh. Hier muss man oben erst auf den Button drücken, damit man sieht, dass die gelöschte Datei nicht mehr da ist.
-
@patrickbs96 Ich werde mir das als nächstes mal anschauen und bekomme die Intellisense hoffentlich stabil zum Laufen :-)
Für alle interessierten: Ich hab gerade ein neues Release der Extension veröffentlicht: https://github.com/nokxs/iobroker-javascript-vs-code-extension/releases/tag/v0.9.0
Intern hat sich in diesem Release sehr viel verändert. Unter anderem werden die Namen der Skripte jetzt anders ausgelesen, da es bei Skripten mit Sonderzeichen wie zB. "_" zu Problemen gekommen ist.
Ich empfehle die Skripte lokal zu löschen und neue herunterzuladen, damit zukünftige Probleme vermieden werden.
-
@nokxs Danke dir für das Update. Klappt super.
Falls du meine Konfiguration für Intellisense brauchst, sag bescheid ;-)
@patrickbs96 Ich hab leider gerade wenig Zeit an der Extension weiter zu arbeiten, es wäre aber super, wenn du mir deine Konfiguration zur Verfügung stellen könntest :-)
-
@nokxs Ich hab mit der Version 0.9.0 das Verhalten, dass ich doppelt auf die Icons Start oder Stop klicken muss, damit sich vorne das Zeichen verändert.

In der Statusleiste steht schon beim ersten Klick, das das Skript entsprechend gestartet / gestoppt wurde

Sieht noch jemand das Verhalten bei sich?
-
@nokxs Ich hab mit der Version 0.9.0 das Verhalten, dass ich doppelt auf die Icons Start oder Stop klicken muss, damit sich vorne das Zeichen verändert.

In der Statusleiste steht schon beim ersten Klick, das das Skript entsprechend gestartet / gestoppt wurde

Sieht noch jemand das Verhalten bei sich?
@feuersturm Ich kann das Problem bei mir nachvollziehen. Es ist bei mir so, dass das Skrip zwar nach einem Klick gestartet/gestoppt, der Status im Script Explorer aber nicht richtig aktualisiert wird. Ich hab hierfür einen neuen Issue in GitHub angelegt: https://github.com/nokxs/iobroker-javascript-vs-code-extension/issues/31
-
@nokxs Ich hab mit der Version 0.9.0 das Verhalten, dass ich doppelt auf die Icons Start oder Stop klicken muss, damit sich vorne das Zeichen verändert.

In der Statusleiste steht schon beim ersten Klick, das das Skript entsprechend gestartet / gestoppt wurde

Sieht noch jemand das Verhalten bei sich?
@feuersturm Ich habe gerade die Version 0.9.1 veröffentlicht, in welcher der Fehler behoben sein sollte. Kannst du bei dir mal testen, ob alles wieder so funktioniert, wie es soll?
-
@feuersturm Ich habe gerade die Version 0.9.1 veröffentlicht, in welcher der Fehler behoben sein sollte. Kannst du bei dir mal testen, ob alles wieder so funktioniert, wie es soll?
@nokxs Habe die Version 0.9.1 installiert und das Play / Pause Icon verhält sich wie gewünscht. Danke :-)
-
@nokxs Habe die Version 0.9.1 installiert und das Play / Pause Icon verhält sich wie gewünscht. Danke :-)
Hallo
Ich versuche gerade VS Code (ganz neu für mich) auf meinem PC einzurichten.
Die Erweiterung "ioBroker.javascript" habe ich in VC Code bereits installiert.
ioBroker läuft bei mir auf einer Synology DS in einem Docker.
Leider bekomme ich keine Verbindung zum ioBroker.
In der iobroker-config-json habe ich folgendes stehen:{ "ioBrokerUrl": "192.168.178.10", "socketIoPort": 8081, "workspaceSubPath": "/opt/iobroker/scripts_sync/", "scriptExplorer": { "collapseDirectoriesOnStartup": true } }Was muss noch eingestellt werden?
-
Hallo
Ich versuche gerade VS Code (ganz neu für mich) auf meinem PC einzurichten.
Die Erweiterung "ioBroker.javascript" habe ich in VC Code bereits installiert.
ioBroker läuft bei mir auf einer Synology DS in einem Docker.
Leider bekomme ich keine Verbindung zum ioBroker.
In der iobroker-config-json habe ich folgendes stehen:{ "ioBrokerUrl": "192.168.178.10", "socketIoPort": 8081, "workspaceSubPath": "/opt/iobroker/scripts_sync/", "scriptExplorer": { "collapseDirectoriesOnStartup": true } }Was muss noch eingestellt werden?
-
Hallo
Ich versuche gerade VS Code (ganz neu für mich) auf meinem PC einzurichten.
Die Erweiterung "ioBroker.javascript" habe ich in VC Code bereits installiert.
ioBroker läuft bei mir auf einer Synology DS in einem Docker.
Leider bekomme ich keine Verbindung zum ioBroker.
In der iobroker-config-json habe ich folgendes stehen:{ "ioBrokerUrl": "192.168.178.10", "socketIoPort": 8081, "workspaceSubPath": "/opt/iobroker/scripts_sync/", "scriptExplorer": { "collapseDirectoriesOnStartup": true } }Was muss noch eingestellt werden?
@greatemu Meine Config sieht so aus und funktioniert:
{ "ioBrokerUrl": "http://192.168.178.77", "socketIoPort": 8081, "scriptRoot": "/", "scriptExplorer": { "collapseDirectoriesOnStartup": false } }Laut Doku ist
scriptRootMandatory. Das fehlt bei dir.@nokxs In diesem Beispiel https://github.com/nokxs/iobroker-javascript-vs-code-extension/blob/main/doc/.iobroker-config.json taucht
scriptRootaber nicht auf. Gibt es den Parameter noch? -
@unclesam said in [Tester gesucht] Visual Studio Code Extension für ioBroker:
TS und einen JS "Declaration Server"
Das ist ein Language Server, quasi eine Instanz, die das Skript-Projekt (inklusive aller referenzierten Module und Typdefinitionen) im Speicher hält - bzw. eigentlich nur ein Wrapper um TypeScript. Mit einem TCP-Server hat das nichts zu tun.
Zwar verwendet VSCode unter der Haube auch einen Language Server, der ist aber nicht kompatibel mit meinem Wrapper, der primär Kompilieren ohne Festplattenzugriff im Sinn hat.Ehrliche Meinung: Vom Debuggen würde ich abraten.
Mit JS wirds vielleicht noch irgendwie hinhauen, wobei ich nicht weiß ob das mit der Node.js VM geht (wir verwenden VM2 nicht wirklich). Spätestens bei TS, den unter der Haube kompilierten Skripten und erst recht bei den Tricksereien, die da für top-level-await und den wilden Mix aus globalen Skripten und Modulen getrieben werden, ist der Spaß endgültig vorbei.@alcalzone sagte in [Tester gesucht] Visual Studio Code Extension für ioBroker:
Ehrliche Meinung: Vom Debuggen würde ich abraten.
Ich widerspreche @AlCalzone ja sehr ungern ;-) , aber im letzten Dev Meeting hat @Bluefox uns das ioBroker JavaScript Debugging im Browser gezeigt (nächste Version javascript Adapter). Ich denke, da ist der Weg nicht mehr sehr weit, um das auch aus VS Code anzubieten.
Vielleicht wäre es sinnvoll, wenn sich @nokxs und @Bluefox mal austauschen würden :)
-
@greatemu Meine Config sieht so aus und funktioniert:
{ "ioBrokerUrl": "http://192.168.178.77", "socketIoPort": 8081, "scriptRoot": "/", "scriptExplorer": { "collapseDirectoriesOnStartup": false } }Laut Doku ist
scriptRootMandatory. Das fehlt bei dir.@nokxs In diesem Beispiel https://github.com/nokxs/iobroker-javascript-vs-code-extension/blob/main/doc/.iobroker-config.json taucht
scriptRootaber nicht auf. Gibt es den Parameter noch?@feuersturm sagte in [Tester gesucht] Visual Studio Code Extension für ioBroker:
...Laut Doku ist
scriptRootMandatory. Das fehlt bei dir. ...Ich habe die Config angepasst und es funktioniert immer noch nicht.
-
@feuersturm sagte in [Tester gesucht] Visual Studio Code Extension für ioBroker:
...Laut Doku ist
scriptRootMandatory. Das fehlt bei dir. ...Ich habe die Config angepasst und es funktioniert immer noch nicht.
@greatemu Wie sieht denn deine config jetzt aus? Liegt deine Config in dem Workspace in dem du arbeitest? Bekommst du eine Fehlermeldung, wenn du F1 drückst und dann "iobroker: Conntect to ioBroker" auswählst?
In der Readme hab ich geade noch folgendes gelesen: "Current limitation: ioBroker instances with a password are not supported yet". Trifft das auf dich zu?
-
@alcalzone sagte in [Tester gesucht] Visual Studio Code Extension für ioBroker:
Ehrliche Meinung: Vom Debuggen würde ich abraten.
Ich widerspreche @AlCalzone ja sehr ungern ;-) , aber im letzten Dev Meeting hat @Bluefox uns das ioBroker JavaScript Debugging im Browser gezeigt (nächste Version javascript Adapter). Ich denke, da ist der Weg nicht mehr sehr weit, um das auch aus VS Code anzubieten.
Vielleicht wäre es sinnvoll, wenn sich @nokxs und @Bluefox mal austauschen würden :)
@unclesam Das hört sich sehr gut an :blush: . Ich werde mich sobald ich wieder etwas mehr Zeit habe mal bei @Bluefox bezüglich dem Debugging melden. Allerdings sind wir gerade dabei ein Haus zu kaufen, weswegen ich die nächsten Wochen/Monate eher weniger Zeit für das Thema habe...
@Feuersturm Danke, dass du versuchst anderen zu helfen, wenn ich mal wieder zu langsam bin beim Antworten :grin:
@GreatEMU Kannst du wie @Feuersturm schon geschrieben hat hier deine Konfiguration posten? Ist deine Instanz passwortgeschützt?