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. Skripten / Logik
  4. JavaScript
  5. Anfänger: IOBroker Java Script debuggen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Anfänger: IOBroker Java Script debuggen

Geplant Angeheftet Gesperrt Verschoben JavaScript
47 Beiträge 7 Kommentatoren 7.5k Aufrufe 11 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.
  • S Offline
    S Offline
    Speedy-Turbo
    schrieb am zuletzt editiert von
    #4

    Wirklich niemand ?
    gibt doch so viele Leute die sich mit debuggen von Adaptern beschäftigen und es gibt ja schon dieses tolle Plugin "ioBroker" in Visual Studio Code (VSC) (halt wohl leider ohne debuggen).

    Man muß VSC doch irgendwie die eigenen Befehle von IOBroker bekannt machen können.
    Dachte alles rüber kopieren von IOBroker, Java Script aufrufen und über
    /// <reference path="javascript.d.ts" />
    ihn z.B. den Befehl createState, beibringen.

    Ist das nicht irgend ein zusammen spiel zwischen Script -> \iobroker\node_modules\iobroker.javascript\lib\javascript.d.ts -> \iobroker\node_modules\iobroker.javascript\lib\sanbox.js - und /opt/iobroker/iobroker-data/objects.json ?

    Gruß Sven

    GarganoG 1 Antwort Letzte Antwort
    0
    • S Speedy-Turbo

      Wirklich niemand ?
      gibt doch so viele Leute die sich mit debuggen von Adaptern beschäftigen und es gibt ja schon dieses tolle Plugin "ioBroker" in Visual Studio Code (VSC) (halt wohl leider ohne debuggen).

      Man muß VSC doch irgendwie die eigenen Befehle von IOBroker bekannt machen können.
      Dachte alles rüber kopieren von IOBroker, Java Script aufrufen und über
      /// <reference path="javascript.d.ts" />
      ihn z.B. den Befehl createState, beibringen.

      Ist das nicht irgend ein zusammen spiel zwischen Script -> \iobroker\node_modules\iobroker.javascript\lib\javascript.d.ts -> \iobroker\node_modules\iobroker.javascript\lib\sanbox.js - und /opt/iobroker/iobroker-data/objects.json ?

      Gruß Sven

      GarganoG Offline
      GarganoG Offline
      Gargano
      schrieb am zuletzt editiert von
      #5

      @speedy-turbo Versuch mal den Käferbutton in Javascript
      (V5.1.3)

      de3d90bf-4a69-466c-b634-b23412ea6e3c-grafik.png

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        Speedy-Turbo
        schrieb am zuletzt editiert von
        #6

        Hallo Gargano;

        meinst das "Ausführen Debuggen." ?
        Das ist ja genau wo ich fest hänge!
        iobroker-debuggen01.png
        iobroker-debuggen02.png

        Gruß Speedy

        GarganoG 1 Antwort Letzte Antwort
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #7

          https://github.com/ioBroker/ioBroker.javascript#510-2021-03-19

          Probiert mal die neueste Version vom Adapter - die bringt einen Debugger mit.

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

          GarganoG S 2 Antworten Letzte Antwort
          0
          • S Speedy-Turbo

            Hallo Gargano;

            meinst das "Ausführen Debuggen." ?
            Das ist ja genau wo ich fest hänge!
            iobroker-debuggen01.png
            iobroker-debuggen02.png

            Gruß Speedy

            GarganoG Offline
            GarganoG Offline
            Gargano
            schrieb am zuletzt editiert von Gargano
            #8

            @speedy-turbo Nein. Im Javascript Editor vom IOBroker.
            Rechts auf den Käfer drücken.
            Und nimm die aktuellste Version. Die 5.1.1 hat ein Problem.

            08da5aba-b0d5-496e-af3f-8adb3b775090-grafik.png

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              Speedy-Turbo
              schrieb am zuletzt editiert von
              #9

              Hallo,
              stehe da gerade etwas auf dem Schlauch.
              Habe die Script Engine 5.1.3 drin.
              Oben rechts habe ich so einen Schraubschlüssel mit debug und verbose, die ich markieren kann.
              Dann könnt da auch so ein kleiner grüner Käfer neben dem Schraubschüssel.
              Sieht also etwas anders aus als bei dir.
              iobroker-debuggen03.png

              Aber was soll dann passieren.
              Sehe da keinen unterschied.
              Oder schreibt er jetzt die Informationen nur ins Log ?

              Gruß Speedy

              1 Antwort Letzte Antwort
              0
              • GarganoG Offline
                GarganoG Offline
                Gargano
                schrieb am zuletzt editiert von Gargano
                #10

                @speedy-turbo
                Bei Dir ist auch der Käfer Button nicht da.
                Nochmal Reload die Script Webseite (STRG-F5)
                Welchen Browser hast Du ?
                Hab gerade gesehen Firefox zeigt den Käfer nicht an, nimm Chrome.

                Dann sollt es so aussehen wie bei mir. Und nach Drücken des Käfers dann so :

                326d7c5c-258f-4ec4-ba9e-72387c9dc08c-grafik.png

                1 Antwort Letzte Antwort
                0
                • AlCalzoneA AlCalzone

                  https://github.com/ioBroker/ioBroker.javascript#510-2021-03-19

                  Probiert mal die neueste Version vom Adapter - die bringt einen Debugger mit.

                  GarganoG Offline
                  GarganoG Offline
                  Gargano
                  schrieb am zuletzt editiert von
                  #11

                  @alcalzone Firefox zeigt den Käfer Button nicht an.

                  AlCalzoneA 1 Antwort Letzte Antwort
                  0
                  • GarganoG Gargano

                    @alcalzone Firefox zeigt den Käfer Button nicht an.

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

                    @gargano Doch
                    ed55de60-472d-4d7a-8981-a1551f033cfe-grafik.png

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

                    GarganoG 1 Antwort Letzte Antwort
                    0
                    • AlCalzoneA AlCalzone

                      @gargano Doch
                      ed55de60-472d-4d7a-8981-a1551f033cfe-grafik.png

                      GarganoG Offline
                      GarganoG Offline
                      Gargano
                      schrieb am zuletzt editiert von
                      #13

                      @alcalzone Bei mir aber nicht und beim speedy-turbo wohl auch nicht :

                      a0462e4f-4ab3-492d-8f37-8b2a24117274-grafik.png

                      ed27c0c6-e673-4b6c-8f89-f364ca37c566-grafik.png

                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        Speedy-Turbo
                        schrieb am zuletzt editiert von
                        #14

                        Das ist ja doof:
                        Habe den ganzen IOBroker durch gestartet,
                        In Chrome den Cache gelöscht.
                        Aber immer das gleiche Aussehen
                        Edge Browser auch.
                        Jetzt auch noch einmal Firefox herunter geladen. Gleiche Ergebnis.
                        Habt ihr den eine andere Version ?

                        Gruß Speedy

                        GarganoG 1 Antwort Letzte Antwort
                        0
                        • S Speedy-Turbo

                          Das ist ja doof:
                          Habe den ganzen IOBroker durch gestartet,
                          In Chrome den Cache gelöscht.
                          Aber immer das gleiche Aussehen
                          Edge Browser auch.
                          Jetzt auch noch einmal Firefox herunter geladen. Gleiche Ergebnis.
                          Habt ihr den eine andere Version ?

                          Gruß Speedy

                          GarganoG Offline
                          GarganoG Offline
                          Gargano
                          schrieb am zuletzt editiert von
                          #15

                          @speedy-turbo
                          Chrome habe ich diese Version

                          bd3c842b-4d25-4311-a4b9-9bd250b0e195-grafik.png
                          Da geht es, der Käfer Button wird angezeigt.

                          In Firefox Version 87.0 geht es bei mir nicht.
                          Beim alcalzone aber schon

                          S 1 Antwort Letzte Antwort
                          0
                          • AlCalzoneA Offline
                            AlCalzoneA Offline
                            AlCalzone
                            Developer
                            schrieb am zuletzt editiert von
                            #16

                            iobroker upload javascript mal probiert?

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

                            GarganoG S 3 Antworten Letzte Antwort
                            0
                            • AlCalzoneA AlCalzone

                              iobroker upload javascript mal probiert?

                              GarganoG Offline
                              GarganoG Offline
                              Gargano
                              schrieb am zuletzt editiert von
                              #17

                              @alcalzone Bei mir bleibt es so: FF geht nicht Chrom geht.

                              1 Antwort Letzte Antwort
                              0
                              • GarganoG Gargano

                                @speedy-turbo
                                Chrome habe ich diese Version

                                bd3c842b-4d25-4311-a4b9-9bd250b0e195-grafik.png
                                Da geht es, der Käfer Button wird angezeigt.

                                In Firefox Version 87.0 geht es bei mir nicht.
                                Beim alcalzone aber schon

                                S Offline
                                S Offline
                                Speedy-Turbo
                                schrieb am zuletzt editiert von
                                #18

                                @gargano
                                Habe die gleiche Chrome Version - Version 89.0.4389.90 (Offizieller Build) (64-Bit)
                                Habe eben auch noch einmal den Node.js auf v12.21.0 aktualisiert.
                                Hat auch nichts geholfen.
                                Ist denn bei dir im Firefox, wo es nicht funktioniert, das gleiche Bild wie bei mir ?
                                Ich meine, wenn du diesen Schraubschlüssel anklickst ?
                                Gruß Speedy

                                GarganoG 1 Antwort Letzte Antwort
                                0
                                • S Speedy-Turbo

                                  @gargano
                                  Habe die gleiche Chrome Version - Version 89.0.4389.90 (Offizieller Build) (64-Bit)
                                  Habe eben auch noch einmal den Node.js auf v12.21.0 aktualisiert.
                                  Hat auch nichts geholfen.
                                  Ist denn bei dir im Firefox, wo es nicht funktioniert, das gleiche Bild wie bei mir ?
                                  Ich meine, wenn du diesen Schraubschlüssel anklickst ?
                                  Gruß Speedy

                                  GarganoG Offline
                                  GarganoG Offline
                                  Gargano
                                  schrieb am zuletzt editiert von
                                  #19

                                  @speedy-turbo sagte in Anfänger: IOBroker Java Script debuggen:

                                  Ist denn bei dir im Firefox, wo es nicht funktioniert, das gleiche Bild wie bei mir ?

                                  Ja, das Gleiche, der Käfer Button fehlt. Der Schraubenschlüssel ist etwas anderes.

                                  1 Antwort Letzte Antwort
                                  0
                                  • S Speedy-Turbo

                                    Hallo,

                                    nachdem ich nun Tagelang gegoogelt habe ohne Erfolg, schreibe ich jetzt diesen Call:

                                    Was möchte ich:
                                    Ich bin Anfänger und möche Java Scripte debuggen im IOBroker - Scripts:
                                    Umgebung: IOBroker auf RasperryPI - Debuggen auf entfernten Rechner über Windows 10
                                    Node.js 12.20.2
                                    Script Engine: 5.0.9

                                    Befehle direkt im Script wie -> console.log('Ausgabe der Variable: idAnzahl = ' + idAnzahl); ist für mich zu unübersichtlich

                                    1. Ansatz: Visual Studio Codec mit Erweiterung ioBroker.javascript
                                      Das habe ich mich wohl vertan. Habe es installiert und zum Laufen gebracht - (stichpunkt -> .iobroker-config)
                                      Damit kann man wohl nur Java Scripte vom IOBroker herunterladen und hat dann die Ausgabe der Console wie unter IOBroker Java Script.
                                      Also im Prinzip nur eine Verlagerung von Iobroker auf Visual Studio Codec ?
                                      Debuggen geht da nicht oder ?

                                    2. Ansatz:
                                      Visual Studio Codec mit Erweiterung Remote Container

                                      • https://code.visualstudio.com/docs/remote/containers
                                      • Docker Desktop installiert
                                      • WSL2 aktiviert (brauche ich glaube gar nicht)
                                        Danach kann man dann auch die Erweiterng IOBroker in DEV Container schieben,aber Debuggen geht nicht
                                        Igendwie muß man ihn ja auch die Verbindung zu IOBroker mitgeben -> über launch.json irgenwie so ???
                                        "configurations": [
                                        {
                                        "address": "IP Adresse IOBroker",
                                        "localRoot": "${workspaceFolder}",
                                        "name": "Attach to Remote",
                                        "port": 8081,
                                        "remoteRoot": "/opt/iobroker/iobroker-data/",
                                        "request": "attach",
                                        "skipFiles": [
                                        "<node_internals>/**"
                                        ],
                                        "type": "pwa-node"
                                        },
                                    3. Ansatz Debuggen mit Chrome - IOBroker Adaper Instanz debuggen.
                                      Ich glaube hier bin ich schon wieder auf dem Holzweg: Ich will ja nur ein Java Script Debuggen und nicht den ganzen Adapter

                                      Unter Putty im IOBroker:

                                      cd /opt/iobroker
                                      iobroker stop javascript
                                      node --inspect-brk=<IP Adresse des IOBroker>:9229 node_modules/iobroker.javascript/main.js --force --logs
                                      Ausgabe: Debugger listening on ws://192.168.178.101:9230/105a1d15-e426-47de-a6c9-8f43909e30d4

                                      1. Versuch:
                                        In Chrome eingegeben: //192.168.178.101:9230/105a1d15-e426-47de-a6c9-8f43909e30d4
                                        Meldung im Chrome Browser: WebSockets request was expected.
                                        Das fehlt bestimmt noch was. Was muß dort genau stehen
                                      2. Versuch:
                                        In Chrome eingegeben: chrome://inspect -> Configure: 192.168.178.101:9230 - Open dedicated DevTools for Node
                                        Dort scheint er kontakt zu kriegen - Unter Source erscheint main.js - Breakpoint entfernt (STRG+F8) -> Aber in der Console sehen ich nur Warnungen
                                        Wenn ich dann in IOBroker - Scripte ein Java Script ausführe erscheint auch keine Ausgabe in der Console vom Chrome
                                    4. Direket im Microsoft Visual Studio
                                      geht nicht oder ?

                                    Wie ihr sehr ich stochere nur rum und nichts funktioniert :(
                                    Für jede Hilfe bin ich dankbar und bitte bitte für Anfänger

                                    Danke Speedy

                                    OliverIOO Offline
                                    OliverIOO Offline
                                    OliverIO
                                    schrieb am zuletzt editiert von OliverIO
                                    #20

                                    @speedy-turbo
                                    evtl etwas zum klarstellen.
                                    die debugging basis-fähigkeiten werden von node selbst bereit gestellt und müssen aufgrund von performance individuell aktiviert werden.
                                    debugt werden kann immer auf prozess-basis.

                                    um die debugging informationen auswerten zu können, benötigst du einen client, der das debuggerprotokoll von node versteht. das wäre bspw visual studio code oder auch die debugger tools von google chrome.
                                    wenn man es richtig konfiguriert ist es relativ egal wo der prozess läuft (lokal, im docker, auf einem anderen rechner)

                                    nun zum debugging von skripten.
                                    Die skripte laufen nicht jeweils als eigenständige prozesse, sondern als Bestandteil des javascript adapters. das kannst du sehen, das mit der Anzahl deiner skripte nicht auch die Anzahl der Prozesse anwächst (in linux auf konsole "ps aux" zur Ansicht aller laufenden Prozesse)

                                    daher musst du den javascript adapter debuggen.

                                    du kannst mal folgendes probieren (hab ich selbst noch nicht mit dem javascript adapter gemacht gemacht, aber bei anderen adaptern).
                                    stoppe den normalen javascript adapter und starte ihn von der kommandozeile aus im debugging mode,
                                    wie du es unter 3. geschrieben hast.
                                    trage vorher noch in einem deiner skripte in einer separaten Zeile das schlüsselwort

                                    debugger;
                                    

                                    ein. vgl auch https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/debugger
                                    Da die Anweisung --inspect-brk aus der Befehlszeile beim Start des Adapters immer auf der ersten codezeile stehen bleibt, musst du ihn nochmal weiterlaufen lassen (bei google chrome ist es glaube ich f8, in vs code, weiß ich es aktuell nicht), Ich mache es ebenso, da ich dann weiß wann die adapter ausführung wirklich startet und mein debugger-client dann auch wirklich bereit ist
                                    Lese dazu auch https://nodejs.org/en/docs/guides/debugging-getting-started/

                                    dann starte den debugging modus im client (ich selbst verwende meist google chrome über die seite

                                    chrome://inspect
                                    

                                    dort sollte dann, nachdem du auch dort alles richtig konfiguriert hast nach ein paar sekunden, der debugbare prozess auftauchen. auf klick des links, startet dann auch das eigentliche programm das du debuggen willst. mit dem parameter --inspect-brk bleibt er gleich wieder bei der ersten zeile stehen.
                                    wenn dort nichts erscheint, dann stimmt irgendetwas noch nicht.

                                    Nachdem du es dann weiterlaufen lassen hast müsste die Anweisung debugger den code an dieser Stelle stoppen lassen und mach diese Zeile dann zur Kontrolle in deinem debugging-client verfügbar.

                                    Meine Adapter und Widgets
                                    TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                    Links im Profil

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • AlCalzoneA AlCalzone

                                      iobroker upload javascript mal probiert?

                                      S Offline
                                      S Offline
                                      Speedy-Turbo
                                      schrieb am zuletzt editiert von
                                      #21

                                      @alcalzone
                                      Hallo,

                                      iobroker upload javascript

                                      jetzt gerade durch. das selbe Ergebnis :(

                                      1 Antwort Letzte Antwort
                                      0
                                      • AlCalzoneA AlCalzone

                                        iobroker upload javascript mal probiert?

                                        GarganoG Offline
                                        GarganoG Offline
                                        Gargano
                                        schrieb am zuletzt editiert von Gargano
                                        #22

                                        @alcalzone Das Netzwerk meldet diesen Fehler mit FF

                                        119ae6fd-5569-4798-b9eb-4ffb836f7233-grafik.png

                                        Bei Chrome kein Fehler.

                                        92d83f27-dc70-4671-b070-56ca8275c754-grafik.png

                                        Weis nicht ob es damit was zu tun hat.

                                        1 Antwort Letzte Antwort
                                        0
                                        • OliverIOO OliverIO

                                          @speedy-turbo
                                          evtl etwas zum klarstellen.
                                          die debugging basis-fähigkeiten werden von node selbst bereit gestellt und müssen aufgrund von performance individuell aktiviert werden.
                                          debugt werden kann immer auf prozess-basis.

                                          um die debugging informationen auswerten zu können, benötigst du einen client, der das debuggerprotokoll von node versteht. das wäre bspw visual studio code oder auch die debugger tools von google chrome.
                                          wenn man es richtig konfiguriert ist es relativ egal wo der prozess läuft (lokal, im docker, auf einem anderen rechner)

                                          nun zum debugging von skripten.
                                          Die skripte laufen nicht jeweils als eigenständige prozesse, sondern als Bestandteil des javascript adapters. das kannst du sehen, das mit der Anzahl deiner skripte nicht auch die Anzahl der Prozesse anwächst (in linux auf konsole "ps aux" zur Ansicht aller laufenden Prozesse)

                                          daher musst du den javascript adapter debuggen.

                                          du kannst mal folgendes probieren (hab ich selbst noch nicht mit dem javascript adapter gemacht gemacht, aber bei anderen adaptern).
                                          stoppe den normalen javascript adapter und starte ihn von der kommandozeile aus im debugging mode,
                                          wie du es unter 3. geschrieben hast.
                                          trage vorher noch in einem deiner skripte in einer separaten Zeile das schlüsselwort

                                          debugger;
                                          

                                          ein. vgl auch https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Statements/debugger
                                          Da die Anweisung --inspect-brk aus der Befehlszeile beim Start des Adapters immer auf der ersten codezeile stehen bleibt, musst du ihn nochmal weiterlaufen lassen (bei google chrome ist es glaube ich f8, in vs code, weiß ich es aktuell nicht), Ich mache es ebenso, da ich dann weiß wann die adapter ausführung wirklich startet und mein debugger-client dann auch wirklich bereit ist
                                          Lese dazu auch https://nodejs.org/en/docs/guides/debugging-getting-started/

                                          dann starte den debugging modus im client (ich selbst verwende meist google chrome über die seite

                                          chrome://inspect
                                          

                                          dort sollte dann, nachdem du auch dort alles richtig konfiguriert hast nach ein paar sekunden, der debugbare prozess auftauchen. auf klick des links, startet dann auch das eigentliche programm das du debuggen willst. mit dem parameter --inspect-brk bleibt er gleich wieder bei der ersten zeile stehen.
                                          wenn dort nichts erscheint, dann stimmt irgendetwas noch nicht.

                                          Nachdem du es dann weiterlaufen lassen hast müsste die Anweisung debugger den code an dieser Stelle stoppen lassen und mach diese Zeile dann zur Kontrolle in deinem debugging-client verfügbar.

                                          S Offline
                                          S Offline
                                          Speedy-Turbo
                                          schrieb am zuletzt editiert von
                                          #23

                                          @oliverio
                                          Danke oliverio ;
                                          Ich muß jetzt leider los: Ich würde mir das gerne Morgen in Ruhe probieren.

                                          Gruß Speedy

                                          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

                                          669

                                          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