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. Entwicklung
  4. [Entwicklungs-Tool] ioBroker dev-server

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    197

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

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

[Entwicklungs-Tool] ioBroker dev-server

Geplant Angeheftet Gesperrt Verschoben Entwicklung
adapter entwicklungtools
49 Beiträge 12 Kommentatoren 9.6k Aufrufe 19 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.
  • UncleSamU Offline
    UncleSamU Offline
    UncleSam
    Developer
    schrieb am zuletzt editiert von UncleSam
    #1

    Hallo zusammen

    Wie am letzten Meeting angekündigt, habe ich den dev-server nun veröffentlicht. Danke an @Bluefox und @apollon77 für die Unterstützung.

    Was ist der dev-server?
    Es ist ein Tool, das euch erlaubt, euren Adapter in einer eigenen, abgeschlossenen ioBroker-Instanz zu testen und rasch weiter zu entwickeln.

    Weshalb sollte ich dev-server verwenden?
    Wie hast du bis jetzt deine Anpassungen an den HTML-Dateien getestet? Ich garantiere dir, es ist jetzt viel einfacher:

    1. dev-server run ausführen
    2. HTML Datei in deinem lokalen Entwicklungsverzeichnis ändern und speichern
    3. Fertig - der Browser lädt die Admin-Seite des Adapters automatisch neu.

    Und nur deshalb sollte ich ein neues Tool benutzen?
    Wie hast du denn bis jetzt deinen Adapter entwickelt und getestet? Auch hier ist es viel einfacher geworden:

    1. dev-server watch ausführen
    2. JavaScript (oder TypeScript) Adapter Code ändern und speichern
    3. Fertig - der Adapter startet automatsich neu

    Hui, das ist zu viel Maggi Magie für mich!
    Dann debugge einfach deinen Adapter mit dem dev-server:

    1. dev-server debug ausführen
    2. Wenn du willst, kannst du nun deinen Debugger attachen
    3. Mit Ctrl-C beenden und wieder bei Schritt 1. starten, wenn du Änderungen gemacht hast

    Hast du nicht noch etwas vergessen?
    Ja, stimmt: installieren sollte man das Tool schon noch zuerst. Aber auch das ist KISS:

    1. npm install --global @iobroker/dev-server ausführen
    2. In dein Adapter Entwicklungsverzeichnis wechseln
    3. dev-server setup ausführen
    4. Das .dev-server Verzeichnis in .npmignore und .gitignore eintragen

    Aber ich will noch ....
    Dann gib mal dev-server --help respektive dev-server <command> --help ein. Wenn's dann immer noch nicht geht, dann freue ich mich auf dein Feedback hier und natürlich in den GitHub Issues. PRs sind selbstverständlich willkommen.

    /UncleSam

    Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
    ♡-lichen Dank an meine Sponsoren

    1 Antwort Letzte Antwort
    14
    • UncleSamU Offline
      UncleSamU Offline
      UncleSam
      Developer
      schrieb am zuletzt editiert von
      #2

      (reserviert für FAQ)

      Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
      ♡-lichen Dank an meine Sponsoren

      1 Antwort Letzte Antwort
      0
      • UncleSamU Offline
        UncleSamU Offline
        UncleSam
        Developer
        schrieb am zuletzt editiert von
        #3

        Version 0.2.0 des dev-server steht ab sofort zur Verfügung. Ich empfehle allen, möglichst rasch upzudaten.

        Besten Dank an alle, die mich bei diesem Release mit PR oder Issue unterstützt haben!

        Für Fragen oder Feedback stehe ich gerne zur Verfügung.

        Changelog:

        • Breaking Change: it is no longer possible to use dev-server without providing a command. Use dev-server run for the same behavior as before.
        • Made build script handling more flexible (#23)
        • Added support for different profiles (#39)
        • Added possibility to create a backup (#28)
        • Added possibility to restore a backup file during dev-server setup (#28)
        • Added automatic installation of adapter dependencies (#8)
        • Added version check when starting dev-server
        • Added option to specify the ioBroker.admin version to use

        Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
        ♡-lichen Dank an meine Sponsoren

        1 Antwort Letzte Antwort
        1
        • GarfonsoG Offline
          GarfonsoG Offline
          Garfonso
          Developer
          schrieb am zuletzt editiert von Garfonso
          #4

          Frage in die Runde der Entwickler, die Webstorm nutzen:
          Habt ihr es schonmal hinbekommen einen Adapter mit dev-server vernünftig zu debuggen?

          Ich kann zwar an den Prozess attachen, aber es kommt im Debbuger nichts an... Normalerweise geht das. Aber wenn ich den adapter im dev-server starte (egal ob mit watch oder debug oder debug --wait), kommen weder Konsolenausgaben im debugger an noch kann ich Breakpoints setzen usw...
          In der Konsole beim dev-server (bzw. adapter) steht immer korrekt Debugger attached.. aber auf der Gegenseite geht nix... :-( Was kann da schief laufen?

          Würde mich über Ergebnisse von anderen Entwicklern freuen.
          Und was nutzt man am besten? watch? debug?

          Bisher ist das einzige mit halbwegs vernünftigem Erfolg dev-server run + eine Konfiguration die den adapter im Order .devserver\default\node_modules\iobroker.* startet... da ist die npm link Variante angenehmer (weil ich hier dann immer noch die Änderungen von Hand fummeln muss bzw. dafür noch nen skript bauen)

          Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

          Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

          UncleSamU 1 Antwort Letzte Antwort
          0
          • GarfonsoG Garfonso

            Frage in die Runde der Entwickler, die Webstorm nutzen:
            Habt ihr es schonmal hinbekommen einen Adapter mit dev-server vernünftig zu debuggen?

            Ich kann zwar an den Prozess attachen, aber es kommt im Debbuger nichts an... Normalerweise geht das. Aber wenn ich den adapter im dev-server starte (egal ob mit watch oder debug oder debug --wait), kommen weder Konsolenausgaben im debugger an noch kann ich Breakpoints setzen usw...
            In der Konsole beim dev-server (bzw. adapter) steht immer korrekt Debugger attached.. aber auf der Gegenseite geht nix... :-( Was kann da schief laufen?

            Würde mich über Ergebnisse von anderen Entwicklern freuen.
            Und was nutzt man am besten? watch? debug?

            Bisher ist das einzige mit halbwegs vernünftigem Erfolg dev-server run + eine Konfiguration die den adapter im Order .devserver\default\node_modules\iobroker.* startet... da ist die npm link Variante angenehmer (weil ich hier dann immer noch die Änderungen von Hand fummeln muss bzw. dafür noch nen skript bauen)

            UncleSamU Offline
            UncleSamU Offline
            UncleSam
            Developer
            schrieb am zuletzt editiert von
            #5

            @Garfonso Sorry, zu Webstorm kann ich nichts sagen. Ich benutze VS Code und da kann ich mich einfach mit "Debug: Attach to Node Process (legacy)" anhängen.
            Bist du auf dem Mac, Linux oder PC?

            @garfonso sagte in [Entwicklungs-Tool] ioBroker dev-server:

            Würde mich über Ergebnisse von anderen Entwicklern freuen.
            Und was nutzt man am besten? watch? debug?

            Ich benutze im Moment am meisten watch. Das kommt aber auch etwas auf den Adapter an. Wenn ein Adapter lange hat, bis er "ready" ist, dann macht ein Neustart bei jedem Speichern einer Datei keinen Sinn.

            Ab und zu brauche ich debug --wait wenn ich gleich beim Aufstarten des Adapters etwas debuggen muss.

            Den debug alleine brauche ich (im Moment) gar nicht.

            Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
            ♡-lichen Dank an meine Sponsoren

            GarfonsoG 1 Antwort Letzte Antwort
            0
            • UncleSamU UncleSam

              @Garfonso Sorry, zu Webstorm kann ich nichts sagen. Ich benutze VS Code und da kann ich mich einfach mit "Debug: Attach to Node Process (legacy)" anhängen.
              Bist du auf dem Mac, Linux oder PC?

              @garfonso sagte in [Entwicklungs-Tool] ioBroker dev-server:

              Würde mich über Ergebnisse von anderen Entwicklern freuen.
              Und was nutzt man am besten? watch? debug?

              Ich benutze im Moment am meisten watch. Das kommt aber auch etwas auf den Adapter an. Wenn ein Adapter lange hat, bis er "ready" ist, dann macht ein Neustart bei jedem Speichern einer Datei keinen Sinn.

              Ab und zu brauche ich debug --wait wenn ich gleich beim Aufstarten des Adapters etwas debuggen muss.

              Den debug alleine brauche ich (im Moment) gar nicht.

              GarfonsoG Offline
              GarfonsoG Offline
              Garfonso
              Developer
              schrieb am zuletzt editiert von Garfonso
              #6

              @unclesam said in [Entwicklungs-Tool] ioBroker dev-server:

              "Debug: Attach to Node Process (legacy)" anhängen.

              Auf den ersten Blick (bzw. auch in der Vergangenheit hat das gut geklappt) hab ich in webstorm nur die Option gefunden mich über den Port (also localhost:9229) an den Prozess zu hängen.
              Ich habe gesehen, dass in der Kommandozeile die PID ausgegeben wird. Nutzt VSCode da eine andere Schnittstelle? Oder geht das auch über die Websocket Schnittstelle?

              Ich verstehe ehrlich gesagt auch nicht so richtig, warum es nicht geht... daher hab ich hier mal gepostet. Ich habe mit Webstorm schon über attach erfolgreich gedebbugt (sogar remote)... sehr verwirrend finde ich, das auch log Ausgaben nicht kommen. Die kommen sonst immer. Breakpoints gehen kaputt, wenn die Code-Versionen nicht übereinstimmen. Aber das ist ja auch nicht der Fall. Irgendwie kommt in Webstorm gar nichts an. node.js beim Adapter sieht aber, dass eine Verbindung aufgebaut wird und, wenn ich mit --wait starte, legt der Adapter auch direkt los.

              Bist du auf dem Mac, Linux oder PC?

              Ich bin auf Windows 10.

              //Edit:
              Ok, kleines update... es kommen wohl die tatsächlichen Konsolenausgaben doch an, aber nicht iobroker logging (also this.log.debug/info/warn/error). grübel
              Und nachdem ich den Ordner .devserver nicht mehr für den Code-Scanner als Ausnahme habe (das hat er irgendwie vorgeschlagen?), findet er die Breakpoints auch und kann da anhalten (allerdings geht step-by-step gerade noch schief grübel). Sehr merkwürdiges Verhalten... entweder ist da in neueren Webstorm Versionen was kaputt oder ich weiß auch nicht so genau... :-(

              Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

              Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

              GarfonsoG 1 Antwort Letzte Antwort
              0
              • R Offline
                R Offline
                rde-master
                Developer
                schrieb am zuletzt editiert von
                #7

                Hallo,

                erstmal cooles tool!

                Ich habe den "dev-server setup" in meinem Entwicklerverzeichnis ausgeführt.

                Der Befehl "dev-server run" startet auch die Umgebung und ich kann die Admin Oberfläche meines Adapters sehen. (Der Adapter selber startet nicht)

                Der Befehl "dev-server watch" startet die Umgebung leider nicht :-(

                Das spuckt die Konsole aus:

                dev-server watch
                Using profile default
                Using adapter name "todoist2"
                Install local iobroker.todoist2
                /root/todoist-adapter/ioBroker.todoist2> npm pack
                npm notice 
                npm notice package: iobroker.todoist2@0.8.6
                npm notice === Tarball Contents === 
                npm notice 39B     .dev-server/default/node_modules/iobroker.todoist2/.dev-server/default/node_modules/logform/.babelrc 
                
                ....
                jetzt kommen ganz viele npm notice
                letzte Zeile ist dann diese:
                .....
                npm notice 5.8kB   .dev-server/default/node_modules/iobroker.todoist2/.dev-server/default/node_modules/iobroker.todoist2/.dev-server/default/node_modules/iobroker.admin/www/lib/js/colResizable-1.5.min.js                                                        
                }
                

                und dann habe ich wieder ein Eingabepromt der Konsole und keinen Zugriff auf den Server.

                Ich finde keine Error Meldung.
                (mit dem "dev-server run" kann ich auch den Adapter starten und er läuft dann ohne Probleme, so wie ich es verstanden habe um den Code zu testen ist der Befehl "dev-server watch" der richtige)

                Als IDE nutze ich den code-server, dadurch ist die ganze Umgebung auf meinem Server, das sollte aber eigentlich keinen Unterschied machen.

                Ich hoffe du kannst mir helfen.
                Grüße
                Daniel

                GarfonsoG 1 Antwort Letzte Antwort
                0
                • R rde-master

                  Hallo,

                  erstmal cooles tool!

                  Ich habe den "dev-server setup" in meinem Entwicklerverzeichnis ausgeführt.

                  Der Befehl "dev-server run" startet auch die Umgebung und ich kann die Admin Oberfläche meines Adapters sehen. (Der Adapter selber startet nicht)

                  Der Befehl "dev-server watch" startet die Umgebung leider nicht :-(

                  Das spuckt die Konsole aus:

                  dev-server watch
                  Using profile default
                  Using adapter name "todoist2"
                  Install local iobroker.todoist2
                  /root/todoist-adapter/ioBroker.todoist2> npm pack
                  npm notice 
                  npm notice package: iobroker.todoist2@0.8.6
                  npm notice === Tarball Contents === 
                  npm notice 39B     .dev-server/default/node_modules/iobroker.todoist2/.dev-server/default/node_modules/logform/.babelrc 
                  
                  ....
                  jetzt kommen ganz viele npm notice
                  letzte Zeile ist dann diese:
                  .....
                  npm notice 5.8kB   .dev-server/default/node_modules/iobroker.todoist2/.dev-server/default/node_modules/iobroker.todoist2/.dev-server/default/node_modules/iobroker.admin/www/lib/js/colResizable-1.5.min.js                                                        
                  }
                  

                  und dann habe ich wieder ein Eingabepromt der Konsole und keinen Zugriff auf den Server.

                  Ich finde keine Error Meldung.
                  (mit dem "dev-server run" kann ich auch den Adapter starten und er läuft dann ohne Probleme, so wie ich es verstanden habe um den Code zu testen ist der Befehl "dev-server watch" der richtige)

                  Als IDE nutze ich den code-server, dadurch ist die ganze Umgebung auf meinem Server, das sollte aber eigentlich keinen Unterschied machen.

                  Ich hoffe du kannst mir helfen.
                  Grüße
                  Daniel

                  GarfonsoG Offline
                  GarfonsoG Offline
                  Garfonso
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  @rde-master
                  das hab ich auch gehabt -> .devserver muss in deine .npm-ignore (und am besten mal bei der Gelegenheit auch sonst noch alles, was nicht ins Paket rein muss).

                  Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                  Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                  R 1 Antwort Letzte Antwort
                  1
                  • GarfonsoG Garfonso

                    @rde-master
                    das hab ich auch gehabt -> .devserver muss in deine .npm-ignore (und am besten mal bei der Gelegenheit auch sonst noch alles, was nicht ins Paket rein muss).

                    R Offline
                    R Offline
                    rde-master
                    Developer
                    schrieb am zuletzt editiert von
                    #9

                    @garfonso
                    Perfekt genau das wars :-)

                    DANKE!

                    1 Antwort Letzte Antwort
                    0
                    • GarfonsoG Garfonso

                      @unclesam said in [Entwicklungs-Tool] ioBroker dev-server:

                      "Debug: Attach to Node Process (legacy)" anhängen.

                      Auf den ersten Blick (bzw. auch in der Vergangenheit hat das gut geklappt) hab ich in webstorm nur die Option gefunden mich über den Port (also localhost:9229) an den Prozess zu hängen.
                      Ich habe gesehen, dass in der Kommandozeile die PID ausgegeben wird. Nutzt VSCode da eine andere Schnittstelle? Oder geht das auch über die Websocket Schnittstelle?

                      Ich verstehe ehrlich gesagt auch nicht so richtig, warum es nicht geht... daher hab ich hier mal gepostet. Ich habe mit Webstorm schon über attach erfolgreich gedebbugt (sogar remote)... sehr verwirrend finde ich, das auch log Ausgaben nicht kommen. Die kommen sonst immer. Breakpoints gehen kaputt, wenn die Code-Versionen nicht übereinstimmen. Aber das ist ja auch nicht der Fall. Irgendwie kommt in Webstorm gar nichts an. node.js beim Adapter sieht aber, dass eine Verbindung aufgebaut wird und, wenn ich mit --wait starte, legt der Adapter auch direkt los.

                      Bist du auf dem Mac, Linux oder PC?

                      Ich bin auf Windows 10.

                      //Edit:
                      Ok, kleines update... es kommen wohl die tatsächlichen Konsolenausgaben doch an, aber nicht iobroker logging (also this.log.debug/info/warn/error). grübel
                      Und nachdem ich den Ordner .devserver nicht mehr für den Code-Scanner als Ausnahme habe (das hat er irgendwie vorgeschlagen?), findet er die Breakpoints auch und kann da anhalten (allerdings geht step-by-step gerade noch schief grübel). Sehr merkwürdiges Verhalten... entweder ist da in neueren Webstorm Versionen was kaputt oder ich weiß auch nicht so genau... :-(

                      GarfonsoG Offline
                      GarfonsoG Offline
                      Garfonso
                      Developer
                      schrieb am zuletzt editiert von
                      #10

                      @garfonso
                      dazu nochmal:
                      Ich hab mein Setup, wenn ich nicht am UI arbeiten will, mittlerweile so, dass ich dev-server run nutze und den Adapter in den devserver-ioBroker rein linke mit npm link. Das geht, wenn man den Adapter mit folgender Environmentvariable Startet:
                      NODE_PATH=.dev-server/default/node_modules/ -> dann wird der js-controller auch gefunden und der Adapter startet.

                      (und natürlich die main.js aus .dev-server\default\node_modules\iobroker.ADAPTER\main.js nimmt usw.).

                      So kann ich sehr komfortabel den Adapter selber debuggen. Geht deutlich besser als das attachen.

                      Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                      Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                      AlCalzoneA UncleSamU 2 Antworten Letzte Antwort
                      0
                      • GarfonsoG Garfonso

                        @garfonso
                        dazu nochmal:
                        Ich hab mein Setup, wenn ich nicht am UI arbeiten will, mittlerweile so, dass ich dev-server run nutze und den Adapter in den devserver-ioBroker rein linke mit npm link. Das geht, wenn man den Adapter mit folgender Environmentvariable Startet:
                        NODE_PATH=.dev-server/default/node_modules/ -> dann wird der js-controller auch gefunden und der Adapter startet.

                        (und natürlich die main.js aus .dev-server\default\node_modules\iobroker.ADAPTER\main.js nimmt usw.).

                        So kann ich sehr komfortabel den Adapter selber debuggen. Geht deutlich besser als das attachen.

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

                        @garfonso Das hab ich jetzt nicht ganz verstanden. Kannst du das nochmal Schritt für Schritt erklären? 😅

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

                        GarfonsoG 1 Antwort Letzte Antwort
                        0
                        • GarfonsoG Garfonso

                          @garfonso
                          dazu nochmal:
                          Ich hab mein Setup, wenn ich nicht am UI arbeiten will, mittlerweile so, dass ich dev-server run nutze und den Adapter in den devserver-ioBroker rein linke mit npm link. Das geht, wenn man den Adapter mit folgender Environmentvariable Startet:
                          NODE_PATH=.dev-server/default/node_modules/ -> dann wird der js-controller auch gefunden und der Adapter startet.

                          (und natürlich die main.js aus .dev-server\default\node_modules\iobroker.ADAPTER\main.js nimmt usw.).

                          So kann ich sehr komfortabel den Adapter selber debuggen. Geht deutlich besser als das attachen.

                          UncleSamU Offline
                          UncleSamU Offline
                          UncleSam
                          Developer
                          schrieb am zuletzt editiert von
                          #12

                          @garfonso Geht mir gleich wie @AlCalzone : kannst du das genauer erklären? Weil dann können wir das noch so gerne in den dev-server einbauen.

                          Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                          ♡-lichen Dank an meine Sponsoren

                          1 Antwort Letzte Antwort
                          0
                          • AlCalzoneA AlCalzone

                            @garfonso Das hab ich jetzt nicht ganz verstanden. Kannst du das nochmal Schritt für Schritt erklären? 😅

                            GarfonsoG Offline
                            GarfonsoG Offline
                            Garfonso
                            Developer
                            schrieb am zuletzt editiert von Garfonso
                            #13

                            @alcalzone
                            Ok.

                            1. Normales devserver setup
                            2. npm link in Projekt-Root
                            3. npm link iobroker.ADAPTER in .dev-server\default
                            4. dev-server run ausführen
                            5. je nach System eine Environment variable setzen,
                              Windows: set NODE_PATH=.dev-server/default/node_modules/
                              Linux: export NODE_PATH=.dev-server/default/node_modules/
                            6. Adapter im ROOT starten, z.B. node .dev-server\default\node_modules\iobroker.ADAPTER\main.js --force --instace 0 --logs (oder was man so an Parametern braucht, z.B. inspect-brk).

                            Oder halt eine entsprechende Runtime Konfiguration anlegen (webstorm -> in vs code wird das aber vermutlich ähnlich gehen):
                            dev-server-linked.JPG

                            Die Environment Variable NODE_PATH wird bei require genutzt um zusätzliche Module zu finden und dadurch, dass ich damit dann .dev-server/default/node_modules/ zur Suche hinzufüge wird der js-controller gefunden, was sonst fehlschlägt (Fehlermeldung bei adapter start "JS Controller nicht gefunden").
                            So kann ich mit der IDE den Adapter im Debugmodus starten / neustarten ohne, dass irgendwas hin- und her kopiert werden muss, der läuft dann einfach aus dem Verzeichnis.

                            Für arbeiten am UI ist natürlich weiterhin dev-server watch besser.

                            Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                            Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                            AlCalzoneA UncleSamU 2 Antworten Letzte Antwort
                            1
                            • GarfonsoG Garfonso

                              @alcalzone
                              Ok.

                              1. Normales devserver setup
                              2. npm link in Projekt-Root
                              3. npm link iobroker.ADAPTER in .dev-server\default
                              4. dev-server run ausführen
                              5. je nach System eine Environment variable setzen,
                                Windows: set NODE_PATH=.dev-server/default/node_modules/
                                Linux: export NODE_PATH=.dev-server/default/node_modules/
                              6. Adapter im ROOT starten, z.B. node .dev-server\default\node_modules\iobroker.ADAPTER\main.js --force --instace 0 --logs (oder was man so an Parametern braucht, z.B. inspect-brk).

                              Oder halt eine entsprechende Runtime Konfiguration anlegen (webstorm -> in vs code wird das aber vermutlich ähnlich gehen):
                              dev-server-linked.JPG

                              Die Environment Variable NODE_PATH wird bei require genutzt um zusätzliche Module zu finden und dadurch, dass ich damit dann .dev-server/default/node_modules/ zur Suche hinzufüge wird der js-controller gefunden, was sonst fehlschlägt (Fehlermeldung bei adapter start "JS Controller nicht gefunden").
                              So kann ich mit der IDE den Adapter im Debugmodus starten / neustarten ohne, dass irgendwas hin- und her kopiert werden muss, der läuft dann einfach aus dem Verzeichnis.

                              Für arbeiten am UI ist natürlich weiterhin dev-server watch besser.

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

                              @garfonso Hast es bestimmt probiert, aber kriegt man das nicht irgendwie hin, dass .dev-server\default\node_modules\iobroker.ADAPTER das working directory ist? Dann müsste doch automatisch im richtigen Verzeichnis gesucht werden.

                              Oder ist das das gleiche weshalb wir ohne dev-server die Adapter-Entwicklung mit npm link direkt im ioBroker-Verzeichnis außerhalb node_modules gemacht haben? 🤔

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

                              1 Antwort Letzte Antwort
                              0
                              • GarfonsoG Offline
                                GarfonsoG Offline
                                Garfonso
                                Developer
                                schrieb am zuletzt editiert von
                                #15

                                @alcalzone
                                das habe ich probiert, das macht aber keinen Unterschied. Da kommt trotzdem beim start die Fehlermeldung, dass das js-controller Verzeichnis nicht gefunden wird... Keine Ahnung, warum genau.

                                @alcalzone said in [Entwicklungs-Tool] ioBroker dev-server:

                                Oder ist das das gleiche weshalb wir ohne dev-server die Adapter-Entwicklung mit npm link direkt im ioBroker-Verzeichnis außerhalb node_modules gemacht haben?

                                Ja, soweit ich das sehe, ist das dasselbe Problem. Ich hatte dann mal in den "such code" geguckt und gesehen, dass er require nutzt und dann geguckt, ob ich require nicht noch nen zusätzlichen Pfad geben kann -> dabei kam dann das bei raus. :-) Also so kann man die npm link Methode (vermutlich) auch nutzen, wenn man den Adapter nicht im iobroker Root hat (was ich immer fürchterlich fand ;-) ).

                                Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                                Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                                AlCalzoneA 1 Antwort Letzte Antwort
                                0
                                • GarfonsoG Garfonso

                                  @alcalzone
                                  das habe ich probiert, das macht aber keinen Unterschied. Da kommt trotzdem beim start die Fehlermeldung, dass das js-controller Verzeichnis nicht gefunden wird... Keine Ahnung, warum genau.

                                  @alcalzone said in [Entwicklungs-Tool] ioBroker dev-server:

                                  Oder ist das das gleiche weshalb wir ohne dev-server die Adapter-Entwicklung mit npm link direkt im ioBroker-Verzeichnis außerhalb node_modules gemacht haben?

                                  Ja, soweit ich das sehe, ist das dasselbe Problem. Ich hatte dann mal in den "such code" geguckt und gesehen, dass er require nutzt und dann geguckt, ob ich require nicht noch nen zusätzlichen Pfad geben kann -> dabei kam dann das bei raus. :-) Also so kann man die npm link Methode (vermutlich) auch nutzen, wenn man den Adapter nicht im iobroker Root hat (was ich immer fürchterlich fand ;-) ).

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

                                  @garfonso Ja das ist es vermutlich. Denke @UncleSam kann mit den Infos auch den direkten Weg einbauen? Wobei ich mich erinnere, dass da was mit den Sourcemaps war.

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • GarfonsoG Garfonso

                                    @alcalzone
                                    Ok.

                                    1. Normales devserver setup
                                    2. npm link in Projekt-Root
                                    3. npm link iobroker.ADAPTER in .dev-server\default
                                    4. dev-server run ausführen
                                    5. je nach System eine Environment variable setzen,
                                      Windows: set NODE_PATH=.dev-server/default/node_modules/
                                      Linux: export NODE_PATH=.dev-server/default/node_modules/
                                    6. Adapter im ROOT starten, z.B. node .dev-server\default\node_modules\iobroker.ADAPTER\main.js --force --instace 0 --logs (oder was man so an Parametern braucht, z.B. inspect-brk).

                                    Oder halt eine entsprechende Runtime Konfiguration anlegen (webstorm -> in vs code wird das aber vermutlich ähnlich gehen):
                                    dev-server-linked.JPG

                                    Die Environment Variable NODE_PATH wird bei require genutzt um zusätzliche Module zu finden und dadurch, dass ich damit dann .dev-server/default/node_modules/ zur Suche hinzufüge wird der js-controller gefunden, was sonst fehlschlägt (Fehlermeldung bei adapter start "JS Controller nicht gefunden").
                                    So kann ich mit der IDE den Adapter im Debugmodus starten / neustarten ohne, dass irgendwas hin- und her kopiert werden muss, der läuft dann einfach aus dem Verzeichnis.

                                    Für arbeiten am UI ist natürlich weiterhin dev-server watch besser.

                                    UncleSamU Offline
                                    UncleSamU Offline
                                    UncleSam
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #17

                                    @garfonso Besten Dank für deine Erklärungen.

                                    Ich habe Version 0.4.0 veröffentlicht, die unter anderem das neue Flag --noStart beinhaltet. Somit kannst du nun problemlos den Adapter aus deiner IDE starten ohne dass ein npm link nötig ist und du kriegst trotzdem immer den aktuellsten Code zum debuggen.

                                    Das ganze ist hier für VS Code dokumentiert: https://github.com/ioBroker/dev-server#visual-studio-code

                                    @garfonso, da ich selber WebStorm nicht verwende, wäre ich sehr dankbar, wenn du die vergleichbare Doku für WS als PR machen könntest.

                                    P.S.: Dass Debugging mit watch und Attach manchmal nicht funktionierte, war tatsächlich ein Bug.

                                    Bitte bei Problemen mit meinen Adaptern, Issue auf GitHub erfassen: Loxone | I2C | Luxtronik2
                                    ♡-lichen Dank an meine Sponsoren

                                    1 Antwort Letzte Antwort
                                    1
                                    • ldittmarL Offline
                                      ldittmarL Offline
                                      ldittmar
                                      Developer
                                      schrieb am zuletzt editiert von ldittmar
                                      #18

                                      Wie kann ich mit dem JS-Controller aus dem latest starten? Also aktuell 4.0.5... Ich denke der dev-server sollte grundsätzlich auf latest laufen. Gerade um Probleme frühzeitig erkennen zu können...

                                      AlCalzoneA 1 Antwort Letzte Antwort
                                      0
                                      • ldittmarL ldittmar

                                        Wie kann ich mit dem JS-Controller aus dem latest starten? Also aktuell 4.0.5... Ich denke der dev-server sollte grundsätzlich auf latest laufen. Gerade um Probleme frühzeitig erkennen zu können...

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

                                        @ldittmar sagte in [Entwicklungs-Tool] ioBroker dev-server:

                                        Wie kann ich mit dem JS-Controller aus dem latest starten?

                                        Tut er das nicht schon?
                                        https://github.com/ioBroker/dev-server/blob/e7334d40f1df7c14691db6570c7e750223f7e5a7/src/index.ts#L88

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

                                        ldittmarL 1 Antwort Letzte Antwort
                                        0
                                        • AlCalzoneA AlCalzone

                                          @ldittmar sagte in [Entwicklungs-Tool] ioBroker dev-server:

                                          Wie kann ich mit dem JS-Controller aus dem latest starten?

                                          Tut er das nicht schon?
                                          https://github.com/ioBroker/dev-server/blob/e7334d40f1df7c14691db6570c7e750223f7e5a7/src/index.ts#L88

                                          ldittmarL Offline
                                          ldittmarL Offline
                                          ldittmar
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #20

                                          @alcalzone sagte in [Entwicklungs-Tool] ioBroker dev-server:

                                          @ldittmar sagte in [Entwicklungs-Tool] ioBroker dev-server:

                                          Wie kann ich mit dem JS-Controller aus dem latest starten?

                                          Tut er das nicht schon?
                                          https://github.com/ioBroker/dev-server/blob/e7334d40f1df7c14691db6570c7e750223f7e5a7/src/index.ts#L88

                                          Jepp... wenn dev-server schon installiert ist, muss man ein dev-server update ausführen. Ich dachte er wäre auf stable, weil ich noch die alte Version vom js-controller bekommen hatte.

                                          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

                                          816

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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