Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. VisualStudio Code und Devcontainer

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    VisualStudio Code und Devcontainer

    This topic has been deleted. Only users with topic management privileges can see it.
    • OliverIO
      OliverIO @UncleSam last edited by OliverIO

      @UncleSam

      OS: steht im Screenshot von VS Code mit drin, Das ist das Update Mai 2020
      Docker version 19.03.13, build 4484c46d9d
      VS Code:
      a24daf93-d1cd-43e2-9a73-fb919cbe1a69-image.png

      hier mal das terminal log, wen vs code den container erstellt

      [5 ms] Remote-Containers 0.148.1 in VS Code 1.51.1 (e5a624b788d92b8d34d1392e4c4d9789406efe8f).
      [16 ms] Start: Resolving remote
      [17 ms] Setting up container for folder or workspace: c:\Users\msowa\Documents\Visual Code\ioBroker.luxtronik2-master
      
      [50 ms] Start: Check Docker is running
      [51 ms] Start: Run: docker info
      [539 ms] Start: Run: docker-compose version --short
      [1122 ms] Start: Run: docker ps -q -a --filter label=com.docker.compose.project=iobrokerluxtronik2-master_devcontainer --filter label=com.docker.compose.service=iobroker
      [1374 ms] Start: Run: docker-compose -f c:\Users\msowa\Documents\Visual Code\ioBroker.luxtronik2-master\.devcontainer\docker-compose.yml config --services
      [2149 ms] iobroker
      nginx
      [2150 ms] 
      [2150 ms] Start: Run: docker events --format {{json .}} --filter status=start
      [2156 ms] Start: Run: docker-compose --project-name iobrokerluxtronik2-master_devcontainer -f c:\Users\msowa\Documents\Visual Code\ioBroker.luxtronik2-master\.devcontainer\docker-compose.yml up -d --build
      Creating volume "iobrokerluxtronik2-master_devcontainer_iobrokerdata-luxtronik2" with default driver
      Building iobroker
      Step 1/2 : FROM buanet/iobroker:latest
       ---> 5642bb76793d
      Step 2/2 : RUN ln -s /opt/iobroker/node_modules/ /root/.node_modules
       ---> Running in 4b8e893e795c
      Removing intermediate container 4b8e893e795c
       ---> cb63c372eed5
      
      Successfully built cb63c372eed5
      Successfully tagged iobrokerluxtronik2-master_devcontainer_iobroker:latest
      Creating iobroker-luxtronik2 ... done
      Creating nginx-luxtronik2    ... done
      [5767 ms] Start: Run: docker ps -q -a --filter label=com.docker.compose.project=iobrokerluxtronik2-master_devcontainer --filter label=com.docker.compose.service=iobroker
      [6043 ms] Start: Run: docker inspect --type container 5255cc41bb3a
      [6299 ms] Start: Inspecting container
      [6299 ms] Start: Run: docker inspect --type container 5255cc41bb3a6b3316814c8d614514edc647708065b72bca8cd58d94d11e1701
      [6555 ms] Start: Run: docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=55a48323-6ddb-4638-b88c-a6725a0785581605309996024 5255cc41bb3a6b3316814c8d614514edc647708065b72bca8cd58d94d11e1701 /bin/sh
      [6561 ms] Start: Run in container: uname -m
      [6843 ms] x86_64
      [6844 ms] 
      [6844 ms] Start: Run in container: (cat /etc/os-release || cat /usr/lib/os-release) 2>/dev/null
      [6847 ms] PRETTY_NAME="Debian GNU/Linux 10 (buster)"
      NAME="Debian GNU/Linux"
      VERSION_ID="10"
      VERSION="10 (buster)"
      VERSION_CODENAME=buster
      ID=debian
      HOME_URL="https://www.debian.org/"
      SUPPORT_URL="https://www.debian.org/support"
      BUG_REPORT_URL="https://bugs.debian.org/"
      [6847 ms] 
      [6847 ms] Start: Run in container: cat /etc/passwd
      [6851 ms] Start: Updating configuration state
      [6861 ms] Start: Setup shutdown monitor
      [6864 ms] Forking shutdown monitor: c:\Users\msowa\.vscode\extensions\ms-vscode-remote.remote-containers-0.148.1\dist\shutdownMonitorProcess \\.\pipe\vscode-remote-containers-d8e9e48d3b05f463f9b524ae072c6cd43203ae2b-sock dockerCompose Info c:\Users\msowa\AppData\Roaming\Code\logs\20201114T001218\exthost1\ms-vscode-remote.remote-containers 1605309996640
      [6875 ms] Start: Run in container: test -d /root/.vscode-server
      [6880 ms] 
      [6881 ms] 
      [6881 ms] Exit code 1
      [6881 ms] Start: Run in container: test -d /root/.vscode-remote
      [6890 ms] 
      [6890 ms] 
      [6890 ms] Exit code 1
      [6890 ms] Start: Run in container: set -o noclobber ; mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.writeMachineSettingsMarker' ; } 2> /dev/null
      [6897 ms] 
      [6897 ms] 
      [6898 ms] Start: Run in container: mkdir -p '/root/.vscode-server/data/Machine' && cat >'/root/.vscode-server/data/Machine/settings.json' <<'settingsJSON'
      [6904 ms] 
      [6904 ms] 
      [6904 ms] Start: Run in container: test -d /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f
      [6906 ms] 
      [6907 ms] 
      [6907 ms] Exit code 1
      [6907 ms] Installing VS Code Server for commit e5a624b788d92b8d34d1392e4c4d9789406efe8f
      [6907 ms] Start: Run in container: mkdir -p /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f_1605310003547
      [6909 ms] 
      [6910 ms] 
      [6941 ms] Start: Run in container: (dd iflag=fullblock bs=8192 count=3687 2>/dev/null; dd iflag=fullblock bs=6431 count=1 2>/dev/null) | tar --no-same-owner -xz --strip-components 1 -C /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f_1605310003547
      [7763 ms] 
      [7763 ms] 
      [7763 ms] Start: Run in container: mv -n /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f_1605310003547 /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f
      [7766 ms] 
      [7766 ms] 
      [7766 ms] Start: Launching Remote-Containers helper.
      [7766 ms] Start: Run: gpgconf --list-dir agent-extra-socket
      [7771 ms] Start: Run in container: cat <<'EOF-/tmp/vscode-remote-containers-f8161e06eba3226fac70948ffd21ad1111226ed1.js' >/tmp/vscode-remote-containers-f8161e06eba3226fac70948ffd21ad1111226ed1.js
      [7773 ms] 
      [7773 ms] 
      [7773 ms] Start: Run in container: # Test for /root/.ssh/known_hosts and ssh
      [7775 ms] 
      [7775 ms] 
      [7776 ms] Start: Run in container: cat <<'EOF-/tmp/vscode-remote-containers-server-f8161e06eba3226fac70948ffd21ad1111226ed1.js' >/tmp/vscode-remote-containers-server-f8161e06eba3226fac70948ffd21ad1111226ed1.js
      [7778 ms] 
      [7778 ms] 
      [7778 ms] Start: Run in container: # Copy C:\Users\msowa\.ssh\known_hosts to /root/.ssh/known_hosts
      [7778 ms] Start: Run: docker exec -i -u root -e REMOTE_CONTAINERS_SOCKETS=["/tmp/vscode-ssh-auth-f8161e06eba3226fac70948ffd21ad1111226ed1.sock"] -e REMOTE_CONTAINERS_IPC=/tmp/vscode-remote-containers-ipc-f8161e06eba3226fac70948ffd21ad1111226ed1.sock 5255cc41bb3a6b3316814c8d614514edc647708065b72bca8cd58d94d11e1701 /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node /tmp/vscode-remote-containers-server-f8161e06eba3226fac70948ffd21ad1111226ed1.js
      [7781 ms] 
      [7781 ms] 
      [7781 ms] Start: Run in container: command -v git >/dev/null 2>&1 && git config --system credential.helper '!f() { /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node /tmp/vscode-remote-containers-f8161e06eba3226fac70948ffd21ad1111226ed1.js $*; }; f' || true
      [7789 ms] 
      [7789 ms] 
      [7789 ms] Start: Run in container: set -o noclobber ; mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.installExtensionsMarker' ; } 2> /dev/null
      [7792 ms] 
      [7792 ms] 
      [7795 ms] Start: Run in container: test -d /root/.vscode-server/extensionsCache && ls /root/.vscode-server/extensionsCache || true
      [7797 ms] 
      [7797 ms] 
      [7804 ms] Start: Run in container: # Copy extensions to remote
      [7850 ms] 
      [7851 ms] 
      [7851 ms] Start: Run in container: cd /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f; export VSCODE_AGENT_FOLDER=/root/.vscode-server; /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/server.sh --extensions-download-dir /root/.vscode-server/extensionsCache --install-extension dbaeumer.vscode-eslint --install-extension esbenp.prettier-vscode --force
      [9017 ms] Installing extensions...
      Installing extension 'dbaeumer.vscode-eslint' v2.1.13...
      Installing extension 'esbenp.prettier-vscode' v5.7.2...
      Extension 'dbaeumer.vscode-eslint' v2.1.13 was successfully installed.
      Extension 'esbenp.prettier-vscode' v5.7.2 was successfully installed.
      [9018 ms] 
      [9018 ms] Start: Run in container: ls /root/.vscode-server/extensionsCache || true
      [9020 ms] dbaeumer.vscode-eslint-2.1.13
      esbenp.prettier-vscode-5.7.2
      [9021 ms] 
      [9021 ms] Start: Run in container: set -o noclobber ; mkdir -p '/root/.vscode-server/data/Machine' && { > '/root/.vscode-server/data/Machine/.postCreateCommandMarker' ; } 2> /dev/null
      [9023 ms] 
      [9024 ms] 
      [9024 ms] Start: Run in container: test -f /root/.vscode-server/.postCreateCommandMarker
      [9025 ms] 
      [9025 ms] 
      [9025 ms] Exit code 1
      [9026 ms] Start: Run: docker exec -i -u root -e SSH_AUTH_SOCK=/tmp/vscode-ssh-auth-f8161e06eba3226fac70948ffd21ad1111226ed1.sock -e REMOTE_CONTAINERS_IPC=/tmp/vscode-remote-containers-ipc-f8161e06eba3226fac70948ffd21ad1111226ed1.sock -e REMOTE_CONTAINERS=true -w /workspace 5255cc41bb3a6b3316814c8d614514edc647708065b72bca8cd58d94d11e1701 /bin/sh -c iob del discovery
      [11655 ms] Delete adapter "discovery"
      [11659 ms] npm uninstall iobroker.discovery --error --prefix "/opt/iobroker" (System call)
      [15098 ms] npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.3 (node_modules/fsevents):
      npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
      [15105 ms] npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor):
      npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
      
      [16317 ms] Start: Run in container: command -v git >/dev/null 2>&1 && git config --global credential.helper '!f() { /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node /tmp/vscode-remote-containers-f8161e06eba3226fac70948ffd21ad1111226ed1.js $*; }; f' || true
      [16320 ms] 
      [16320 ms] 
      [16321 ms] Start: Run in container: for pid in `cd /proc && ls -d [0-9]*`; do { echo $pid ; readlink -f /proc/$pid/cwd ; xargs -0 < /proc/$pid/environ ; xargs -0 < /proc/$pid/cmdline ; } ; echo ; done 2>/dev/null
      [16346 ms] Start: Run in container: /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/server.sh --disable-user-env-probe --use-host-proxy --port 0 --extensions-download-dir /root/.vscode-server/extensionsCache
      [16516 ms] 
      
      *
      * Visual Studio Code Server
      *
      * Reminder: You may only use this software with Visual Studio family products,
      * as described in the license https://aka.ms/vscode-remote/license
      *
      
      
      [16529 ms] IP Address: 172.20.0.2
      [16533 ms] Extension host agent listening on 38455
      [16534 ms] 
      
      [00:26:54] Extension host agent started.
      [16534 ms] Start: Run in container: echo 38455 >/root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/.devport
      [16536 ms] 
      [16537 ms] 
      [16538 ms] Forwarding local port 38455 to container port 38455
      [16595 ms] Start: Run: docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=55a48323-6ddb-4638-b88c-a6725a0785581605309996024 5255cc41bb3a6b3316814c8d614514edc647708065b72bca8cd58d94d11e1701 /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node -e 
      [16596 ms] Start: Run: docker exec -i -u root -e VSCODE_REMOTE_CONTAINERS_SESSION=55a48323-6ddb-4638-b88c-a6725a0785581605309996024 5255cc41bb3a6b3316814c8d614514edc647708065b72bca8cd58d94d11e1701 /root/.vscode-server/bin/e5a624b788d92b8d34d1392e4c4d9789406efe8f/node -e 
      [17104 ms] [00:26:55] [::ffff:127.0.0.1][5fa36ea2][ManagementConnection] New connection established.
      [17121 ms] [00:26:55] Listing 0 persistent terminals, 0 total terminals
      [17158 ms] [00:26:55] [::ffff:127.0.0.1][df2a2506][ExtensionHostConnection] New connection established.
      [17164 ms] [00:26:55] [::ffff:127.0.0.1][df2a2506][ExtensionHostConnection] <349> Launched Extension Host Process.
      
      

      und das log aus dem docker-desktop für den iobroker container

      ------------------------------------------------------------
      
      --------------- 2020-11-14 00:26:43 ---------------
      
      ------------------------------------------------------------
      
      
      ------------------------------------------------------------
      
      ----- Welcome to your ioBroker-container! -----
      
      ----- Startupscript is now running. -----
      
      ----- Please be patient! -----
      
      ------------------------------------------------------------
      
      
      ------------------------------------------------------------
      
      ----- Debugging information -----
      
      ----- -----
      
      ----- System -----
      
      ----- arch: x86_64 -----
      
      ----- -----
      
      ----- Versions -----
      
      ----- image: v5.1.0 -----
      
      ----- node: v12.19.0 -----
      
      ----- npm: 6.14.8 -----
      
      ----- -----
      
      ----- ENV -----
      
      ----- SETGID: 1000 -----
      
      ----- SETUID: 1000 -----
      
      ------------------------------------------------------------
      
      
      ------------------------------------------------------------
      
      ----- Step 1 of 5: Preparing container -----
      
      ------------------------------------------------------------
      
      
      Registering maintenance script as command.
      
      Done.
      
      
      ------------------------------------------------------------
      
      ----- Step 2 of 5: Detecting ioBroker installation -----
      
      ------------------------------------------------------------
      
      
      Existing installation of ioBroker detected in /opt/iobroker.
      
      
      ------------------------------------------------------------
      
      ----- Step 3 of 5: Checking ioBroker installation -----
      
      ------------------------------------------------------------
      
      
      (Re)Setting folder permissions (This might take a while! Please be patient!)...
      
      Done.
      
      
      Fixing "sudo-bug" by replacing sudo in iobroker with gosu...
      
      Done.
      
      
      Hostname in ioBroker does not match the hostname of this container.
      
      Updating hostname to iobroker-luxtronik2...
      
      The host for instance "system.adapter.admin.0" was changed from "7673de0b8569" to "iobroker-luxtronik2".
      
      The host for instance "system.adapter.discovery.0" was changed from "7673de0b8569" to "iobroker-luxtronik2".
      
      The host for instance "system.adapter.info.0" was changed from "7673de0b8569" to "iobroker-luxtronik2".
      
      Done.
      
      
      ------------------------------------------------------------
      
      ----- Step 4 of 5: Applying special settings -----
      
      ------------------------------------------------------------
      
      
      Some adapters have special requirements/ settings which can be activated by the use of environment variables.
      
      For more information take a look at readme.md on Github!
      
      
      ------------------------------------------------------------
      
      ----- Step 5 of 5: ioBroker startup -----
      
      ------------------------------------------------------------
      
      
      Starting ioBroker...
      
      
      host.iobroker-luxtronik2 check instance "system.adapter.admin.0" for host "7673de0b8569"
      
      host.iobroker-luxtronik2 check instance "system.adapter.discovery.0" for host "7673de0b8569"
      
      host.iobroker-luxtronik2 check instance "system.adapter.info.0" for host "7673de0b8569"
      

      evtl kannst du noch was herauslesen oder mit deinen logs vergleichen

      OliverIO UncleSam 2 Replies Last reply Reply Quote 0
      • OliverIO
        OliverIO @OliverIO last edited by OliverIO

        @andre evtl kannst du hier auch mal mit drauf schauen, da ich gesehen habe, das du mit buanet, was hier ja die Grundlage darstellt, schon sonnigen Fehler hattest.
        Wichtigste Information ist, der Fehler tritt erst auf, wenn in postcreatecommands etwas ausgeführt wird.

        1 Reply Last reply Reply Quote 0
        • UncleSam
          UncleSam Developer @OliverIO last edited by

          @OliverIO Bingo! Den Fehler habe ich auch schon gesehen (oder zumindest davon gehört): obschon alle Instanzen "umgebogen" werden sollen, macht dies der Befehl nicht:

          The host for instance "system.adapter.admin.0" was changed from "7673de0b8569" to "iobroker-luxtronik2".
          

          Und trotzdem sucht er dann nach:

          host.iobroker-luxtronik2 check instance "system.adapter.admin.0" for host "7673de0b8569"
          

          Ich habe damals auf das buanet/iobroker "latest" gewechselt, das half. Leider ist das aber bereits so im Adapter Creator drin.

          OliverIO 1 Reply Last reply Reply Quote 0
          • OliverIO
            OliverIO @UncleSam last edited by

            @UncleSam
            Die Tests habe ich mit deinem Adapter luxtronik gemacht. Da steht im dockerfile für buanet schon latest drin.
            Wie gesagt mit postcreatecommand kommt der Fehler, kommentiere ich diese Zeile aus, dann läuft Iobroker

            UncleSam 3 Replies Last reply Reply Quote 0
            • UncleSam
              UncleSam Developer @OliverIO last edited by

              @OliverIO Ja, der Fehler entsteht scheinbar erst in dieser Kombination, aber es ist IMHO eindeutig ein Fehler in ioBroker js-contoller: obschon die Instanz auf den neuen Host umgebogen wurde, wird sie im nächsten Schritt wieder mit dem alten Hostname gesucht.

              1 Reply Last reply Reply Quote 0
              • UncleSam
                UncleSam Developer @OliverIO last edited by

                @OliverIO Du kannst ja einfach mal die Befehle aus dem postcreatecommand manuell ausführen, dann sollte es ja funktionieren.

                1 Reply Last reply Reply Quote 0
                • UncleSam
                  UncleSam Developer @OliverIO last edited by

                  @OliverIO sagte in VisualStudio Code und Devcontainer:

                  Da steht im dockerfile für buanet schon latest drin.

                  Mein Fehler: es sollte "beta" heissen, nicht "latest"

                  Asgothian OliverIO 2 Replies Last reply Reply Quote 0
                  • Asgothian
                    Asgothian Developer @UncleSam last edited by Asgothian

                    Ich misch mich hier auch noch mal zwischen. Inzwischen läuft der .devcontainer bei mir, aber

                    • ich bin mir nicht sicher wie ich die Dateien aus dem VsCode in den devcontainer übertrage und dann den Adapter mit den Änderungen neu starte.
                    • ich bin mir nicht sicher wie ich den Adapter Debuggen kann. .
                      -- Wenn ich im VsCode versuche den Adapter mit dem debugger zu starten bekomme ich die Folgende Meldung:
                    Error processing attach: Error: Could not connect to debug target at http://localhost:9229: Promise was canceled
                    	at e (/root/.vscode-server/bin/fcac248b077b55bae4ba5bab613fd6e9156c2f0c/extensions/ms-vscode.js-debug/src/extension.js:1:103335)
                    
                    UncleSam 1 Reply Last reply Reply Quote 0
                    • UncleSam
                      UncleSam Developer @Asgothian last edited by

                      @Asgothian sagte in VisualStudio Code und Devcontainer:

                      ich bin mir nicht sicher wie ich die Dateien aus dem VsCode in den devcontainer übertrage und dann den Adapter mit den Änderungen neu starte.

                      Wenn du mit Devcontainer arbeitest, bist du schon im Container. Jede Änderung am Code geschieht direkt im Container (der dein lokales Dateisystem spiegelt).

                      Bezüglich starten mache ich das direkt zusammen mit dem Debugging: ich state den Adapter gar nie in ioBroker sondern immer nur mit F5 aus VS Code. Allerdings musst du noch eine Launch Config einrichten, die dann den Adapter mit den richtigen Argumenten startet (siehe weiter oben).

                      ich bin mir nicht sicher wie ich den Adapter Debuggen kann. .
                      -- Wenn ich im VsCode versuche den Adapter mit dem debugger zu starten bekomme ich die Folgende Meldung

                      Ja, du versuchst dich an einen laufenden Prozess anzuhängen; den gibt es aber nicht. Also entweder startest du den Adapter mit Debugger eingeschaltet (@AlCalzone hat da eine schöne Lösung) oder du machst es wie gerade beschrieben mit F5.

                      Aber zugegeben, wir müssen das noch verbessern; bis jetzt konnten wir uns noch nicht auf eine Herangehensweise einigen. Vorschläge?

                      AlCalzone Asgothian 2 Replies Last reply Reply Quote 0
                      • AlCalzone
                        AlCalzone Developer @UncleSam last edited by

                        @UncleSam sagte in VisualStudio Code und Devcontainer:

                        @AlCalzone hat da eine schöne Lösung

                        meinst du iobroker debug adaptername [--wait]?

                        UncleSam 1 Reply Last reply Reply Quote 0
                        • UncleSam
                          UncleSam Developer @AlCalzone last edited by

                          @AlCalzone sagte in VisualStudio Code und Devcontainer:

                          meinst du iobroker debug adaptername [--wait]?

                          Genau 😄

                          1 Reply Last reply Reply Quote 0
                          • Asgothian
                            Asgothian Developer @UncleSam last edited by

                            @UncleSam sagte in VisualStudio Code und Devcontainer:

                            @Asgothian sagte in VisualStudio Code und Devcontainer:

                            ich bin mir nicht sicher wie ich die Dateien aus dem VsCode in den devcontainer übertrage und dann den Adapter mit den Änderungen neu starte.

                            Wenn du mit Devcontainer arbeitest, bist du schon im Container. Jede Änderung am Code geschieht direkt im Container (der dein lokales Dateisystem spiegelt).

                            Da passt etwas nicht. Ich habe im VsCode eine Anpassung am main.js gemacht. Wenn ich dann den Adapter neu starte erwarte ich ein geändertes Verhalten. Das bekomme ich aber nicht.

                            Ich gehe davon aus das da noch etwas so richtig faul ist.

                            Bezüglich starten mache ich das direkt zusammen mit dem Debugging: ich state den Adapter gar nie in ioBroker sondern immer nur mit F5 aus VS Code. Allerdings musst du noch eine Launch Config einrichten, die dann den Adapter mit den richtigen Argumenten startet (siehe weiter oben).

                            ich bin mir nicht sicher wie ich den Adapter Debuggen kann. .
                            -- Wenn ich im VsCode versuche den Adapter mit dem debugger zu starten bekomme ich die Folgende Meldung

                            Ja, du versuchst dich an einen laufenden Prozess anzuhängen; den gibt es aber nicht. Also entweder startest du den Adapter mit Debugger eingeschaltet (@AlCalzone hat da eine schöne Lösung) oder du machst es wie gerade beschrieben mit F5.

                            ich habe den launch.js mal so angepasst wie AlCalzone das oben vorgeschlagen hat. Es bringt aber nichts. Ich habe direkt im Main einen Breakpoint direkt am Anfang gesetzt. Der wird Grau wenn ich starte, dann kommt die Meldung Process exited with code 3, und dann wird er wieder rot - sprich er nutzt scheinbar nicht meinen Code.

                            Aber zugegeben, wir müssen das noch verbessern; bis jetzt konnten wir uns noch nicht auf eine Herangehensweise einigen. Vorschläge?

                            Vorschläge kann ich erst entwickeln wenn das ganze mal läuft. Tut es bisher aber nicht.

                            Ich werde morgen nochmal versuchen einen neuen Adapter zu erzeugen, um zu sehen ob ich den im devcontainer laufen lassen kann.

                            A.

                            UncleSam 1 Reply Last reply Reply Quote 0
                            • UncleSam
                              UncleSam Developer @Asgothian last edited by UncleSam

                              @Asgothian sagte in VisualStudio Code und Devcontainer:

                              Wenn ich dann den Adapter neu starte erwarte ich ein geändertes Verhalten. Das bekomme ich aber nicht.

                              Ich nehme an, du versuchst den Adapter in ioBroker neu zu starten. Das geht nicht. (Oder noch nicht.) Weil dafür müsste der Code aus dem Verzeichnis /workspace noch in /opt/iobroker/node_modules wandern. Es gibt verschiedene Ansätze, zum Beispiel ein npm link oder (was ganz am Anfang gemacht wird) npm pack und dann in ioBroker installieren.

                              Wie gesagt, ich verwende F5 weil ich so direkt debuggen kann, aber da sind wir uns noch nicht einig, wie wir das für alle lösen wollen. Jeder "bastelt" da im Moment noch seine eigene Lösung.

                              Deshalb auch meine Frage an alle: was gibt es da für Vorschläge?

                              Mein Favorit wäre: Hot Reload des Codes (JS oder TS) mit der Möglichkeit den Debugger zu attachen. Adapter startet jedes mal beim speichern automatisch neu. Wenn's geht wäre natürlich cool, wenn das dann schon in ioBroker läuft (ich also auch dort den Adapter stoppen kann oder der Adapter neu startet, wenn ich die Config ändere). Aber das sind noch Träume!

                              Asgothian 1 Reply Last reply Reply Quote 0
                              • Asgothian
                                Asgothian Developer @UncleSam last edited by

                                @UncleSam sagte in VisualStudio Code und Devcontainer:

                                Wie gesagt, ich verwende F5 weil ich so direkt debuggen kann, aber da sind wir uns noch nicht einig, wie wir das für alle lösen wollen. Jeder "bastelt" da im Moment noch seine eigene Lösung.

                                was heisst "F5" ?

                                Egal was ich mache, ich bekomme keinerlei Möglichkeiten etwas zu debuggen. Wenn ich mir ein "launch.js" anlege und dann diese Konfiguration starte (Siehe Bild: Launch ioBroker.zigbee)
                                starte kommt es (wahrscheinlich wie erwartet) zurück. Irgendwelche Breakpoints ausserhalb des "main" werden nicht angesprochen. Damit bin ich wieder da wo ich auch ohne den .devcontainer bin:

                                • code editieren
                                • code in den iobroker einspielen
                                • code da laufen lassen, schauen was geht (via log ausgaben)

                                Screen Shot 2020-11-14 at 19.56.56 .png

                                Spricht irgend etwas dagegen das lokale Verzeichnis direkt in /opt/iobroker/node-modules/name des adapters zu spiegeln ?

                                A.
                                A.

                                UncleSam 1 Reply Last reply Reply Quote 0
                                • OliverIO
                                  OliverIO @UncleSam last edited by OliverIO

                                  @UncleSam
                                  leider bei buanet beta ebenfalls keine Änderung.
                                  Dann muss ich mal schauen, was da im iobroker alles passiert.
                                  Hast du mit vscode schon mal den ganzen iobroker mit einem debugger laufen lassen?
                                  Hast du da eine Launch-Konfiguration?

                                  UncleSam 1 Reply Last reply Reply Quote 0
                                  • UncleSam
                                    UncleSam Developer @Asgothian last edited by

                                    @Asgothian sagte in VisualStudio Code und Devcontainer:

                                    was heisst "F5" ?

                                    Genau das was du machst: In VS Code debuggen mit einer Launch Config.

                                    Egal was ich mache, ich bekomme keinerlei Möglichkeiten etwas zu debuggen. Wenn ich mir ein "launch.js" anlege und dann diese Konfiguration starte (Siehe Bild: Launch ioBroker.zigbee)
                                    starte kommt es (wahrscheinlich wie erwartet) zurück. Irgendwelche Breakpoints ausserhalb des "main" werden nicht angesprochen.

                                    Ja, da geht etwas noch schief. Hast du es mal mit einem anderen Adapter versucht (z.B. mein Loxone). Geht es da auch nicht?

                                    Spricht irgend etwas dagegen das lokale Verzeichnis direkt in /opt/iobroker/node-modules/name des adapters zu spiegeln ?

                                    Wieso nicht einfach npm link? Der Grund ist: wenn jemand aus versehen npm install im ioBroker Verzeichnis macht, wird der gesamte Inhalt des Ordners überschrieben und damit ist dann dein Source Code weg.

                                    AlCalzone Asgothian 2 Replies Last reply Reply Quote 0
                                    • UncleSam
                                      UncleSam Developer @OliverIO last edited by

                                      @OliverIO sagte in VisualStudio Code und Devcontainer:

                                      Hast du mit vscode schon mal den ganzen iobroker mit einem debugger laufen lassen?
                                      Hast du da eine Launch-Konfiguration?

                                      Nein, noch nie versucht.

                                      1 Reply Last reply Reply Quote 0
                                      • AlCalzone
                                        AlCalzone Developer @UncleSam last edited by

                                        @UncleSam sagte in VisualStudio Code und Devcontainer:

                                        Wieso nicht einfach npm link?

                                        Das setzt voraus, dass das dev-Verzeichnis direkt in /opt/iobroker liegt. Spricht grundsätzlich erst mal nix dagegen, aber das ist aktuell noch nicht der Fall.

                                        UncleSam 1 Reply Last reply Reply Quote 0
                                        • UncleSam
                                          UncleSam Developer @AlCalzone last edited by

                                          @AlCalzone sagte in VisualStudio Code und Devcontainer:

                                          @UncleSam sagte in VisualStudio Code und Devcontainer:

                                          Wieso nicht einfach npm link?

                                          Das setzt voraus, dass das dev-Verzeichnis direkt in /opt/iobroker liegt. Spricht grundsätzlich erst mal nix dagegen, aber das ist aktuell noch nicht der Fall.

                                          Wieso denn das? Wieso funktioniert ein Link /workspace nach /opt/iobroker nicht?

                                          AlCalzone 1 Reply Last reply Reply Quote 0
                                          • Asgothian
                                            Asgothian Developer @UncleSam last edited by

                                            @UncleSam sagte in VisualStudio Code und Devcontainer:

                                            Ja, da geht etwas noch schief. Hast du es mal mit einem anderen Adapter versucht (z.B. mein Loxone). Geht es da auch nicht?

                                            Bisher nur mit dem Zigbee Adapter bzw. dem mit dem create-adapter erzeugten.

                                            Aber wenn ich die Diskussion vollständig verstanden habe ist es so das ich generell nur den Start des Adapters debuggen kann, nicht die Events wenn sie denn kommen. Ist das korrekt ?

                                            A.

                                            UncleSam 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            adapter entwicklung docker remote vscode
                                            13
                                            127
                                            12128
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo