Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
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

Scheduled Pinned Locked Moved JavaScript
47 Posts 7 Posters 7.5k Views 11 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 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
    wrote on last edited by 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 Reply Last reply
    0
    • AlCalzoneA AlCalzone

      iobroker upload javascript mal probiert?

      S Offline
      S Offline
      Speedy-Turbo
      wrote on last edited by
      #21

      @alcalzone
      Hallo,

      iobroker upload javascript

      jetzt gerade durch. das selbe Ergebnis :(

      1 Reply Last reply
      0
      • AlCalzoneA AlCalzone

        iobroker upload javascript mal probiert?

        GarganoG Offline
        GarganoG Offline
        Gargano
        wrote on last edited by 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 Reply Last reply
        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
          wrote on last edited by
          #23

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

          Gruß Speedy

          1 Reply Last reply
          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.

            S Offline
            S Offline
            Speedy-Turbo
            wrote on last edited by
            #24

            @alcalzone

            Das ist ja eine noch neuere Version ( 5.1.4) als die, die ich habe 5.1.3.

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

            Vielleicht hilft die ja:.
            Offiziell ist die noch nicht freigegeben oder wie bekomme ich die installiert :
            Hier eintragen ?

            344f065c-b9ab-4c10-bf88-85827ed55b43-image.png

            Ich muß leider los:

            Morgen geht es weiter :)

            Danke

            GarganoG 1 Reply Last reply
            0
            • S Speedy-Turbo

              @alcalzone

              Das ist ja eine noch neuere Version ( 5.1.4) als die, die ich habe 5.1.3.

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

              Vielleicht hilft die ja:.
              Offiziell ist die noch nicht freigegeben oder wie bekomme ich die installiert :
              Hier eintragen ?

              344f065c-b9ab-4c10-bf88-85827ed55b43-image.png

              Ich muß leider los:

              Morgen geht es weiter :)

              Danke

              GarganoG Offline
              GarganoG Offline
              Gargano
              wrote on last edited by Gargano
              #25

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

              Offiziell ist die noch nicht freigegeben oder wie bekomme ich die installiert :

              Installieren aus eigener URL :
              f7b8b441-6ce7-4381-829e-43ffcc07fe09-grafik.png

              11983ad9-9abe-4807-af5c-9a6e251c82d5-grafik.png

              Nutzt bei mir aber auch nicht.

              S 1 Reply Last reply
              0
              • GarganoG Gargano

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

                Offiziell ist die noch nicht freigegeben oder wie bekomme ich die installiert :

                Installieren aus eigener URL :
                f7b8b441-6ce7-4381-829e-43ffcc07fe09-grafik.png

                11983ad9-9abe-4807-af5c-9a6e251c82d5-grafik.png

                Nutzt bei mir aber auch nicht.

                S Offline
                S Offline
                Speedy-Turbo
                wrote on last edited by
                #26

                @gargano

                Danke - habe ich gerade installiert und auch keine Verbesserung.
                Der Käfer kommt einfach nicht.
                Wen das wenigsten auf einen Browser laufen würde :(

                Hiermit kann man wohl nicht anfangen oder : Chrome -> Entwicklertools

                IObrobker_Chrome_Debuggen.png

                Gruß Speedy

                OliverIOO 1 Reply Last reply
                0
                • S Speedy-Turbo

                  @gargano

                  Danke - habe ich gerade installiert und auch keine Verbesserung.
                  Der Käfer kommt einfach nicht.
                  Wen das wenigsten auf einen Browser laufen würde :(

                  Hiermit kann man wohl nicht anfangen oder : Chrome -> Entwicklertools

                  IObrobker_Chrome_Debuggen.png

                  Gruß Speedy

                  OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  wrote on last edited by
                  #27

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

                  @gargano

                  Danke - habe ich gerade installiert und auch keine Verbesserung.
                  Der Käfer kommt einfach nicht.
                  Wen das wenigsten auf einen Browser laufen würde :(

                  Hiermit kann man wohl nicht anfangen oder : Chrome -> Entwicklertools

                  IObrobker_Chrome_Debuggen.png

                  Gruß Speedy

                  habe es gerade bei mir probiert. hat bei mir funktioniert, so wie ich es oben beschrieben habe:

                  3aa616b2-d0d5-4dff-824b-f348d8138bd5-image.png

                  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 Reply Last reply
                  0
                  • OliverIOO OliverIO

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

                    @gargano

                    Danke - habe ich gerade installiert und auch keine Verbesserung.
                    Der Käfer kommt einfach nicht.
                    Wen das wenigsten auf einen Browser laufen würde :(

                    Hiermit kann man wohl nicht anfangen oder : Chrome -> Entwicklertools

                    IObrobker_Chrome_Debuggen.png

                    Gruß Speedy

                    habe es gerade bei mir probiert. hat bei mir funktioniert, so wie ich es oben beschrieben habe:

                    3aa616b2-d0d5-4dff-824b-f348d8138bd5-image.png

                    S Offline
                    S Offline
                    Speedy-Turbo
                    wrote on last edited by
                    #28

                    @oliverio

                    Hallo, ja ich war gerade dabei das auszuprobieren.
                    Erst einmal vielen Dank für die Antwort der Verständnisfrage: Muß ich den ganzen Script Engine Adapter debuggen um mein einzelnes Java Script zu debuggen ? Antwort: Ja

                    Sieht gut aus: Komme jetzt in Chrome auch dort hin.
                    Das

                    debugger;
                    

                    muß ganz am Anfang des Scriptes ?
                    Da hält er dann erst einmal an ?

                    Also das debuggen scheint auch zu funktionieren:
                    Also Breakpoint setzen , Inhalt von Variablen darstellen.
                    IOBroker_Debuggen_ueber-Adapter.png

                    Kann man dort auch den Inhalt der Ausgabe sehen ?
                    Also: console.log('Hallo Welt);

                    Gruß Speedy

                    OliverIOO 1 Reply Last reply
                    0
                    • S Speedy-Turbo

                      @oliverio

                      Hallo, ja ich war gerade dabei das auszuprobieren.
                      Erst einmal vielen Dank für die Antwort der Verständnisfrage: Muß ich den ganzen Script Engine Adapter debuggen um mein einzelnes Java Script zu debuggen ? Antwort: Ja

                      Sieht gut aus: Komme jetzt in Chrome auch dort hin.
                      Das

                      debugger;
                      

                      muß ganz am Anfang des Scriptes ?
                      Da hält er dann erst einmal an ?

                      Also das debuggen scheint auch zu funktionieren:
                      Also Breakpoint setzen , Inhalt von Variablen darstellen.
                      IOBroker_Debuggen_ueber-Adapter.png

                      Kann man dort auch den Inhalt der Ausgabe sehen ?
                      Also: console.log('Hallo Welt);

                      Gruß Speedy

                      OliverIOO Offline
                      OliverIOO Offline
                      OliverIO
                      wrote on last edited by OliverIO
                      #29

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

                      @oliverio

                      Hallo, ja ich war gerade dabei das auszuprobieren.
                      Erst einmal vielen Dank für die Antwort der Verständnisfrage: Muß ich den ganzen Script Engine Adapter debuggen um mein einzelnes Java Script zu debuggen ? Antwort: Ja

                      Sieht gut aus: Komme jetzt in Chrome auch dort hin.
                      Das

                      debugger;
                      

                      muß ganz am Anfang des Scriptes ?
                      Da hält er dann erst einmal an ?

                      Also das debuggen scheint auch zu funktionieren:
                      Also Breakpoint setzen , Inhalt von Variablen darstellen.
                      IOBroker_Debuggen_ueber-Adapter.png

                      Kann man dort auch den Inhalt der Ausgabe sehen ?
                      Also: console.log('Hallo Welt);

                      Gruß Speedy

                      das schlüsselwort debugger funktioniert wie ein breakpoint.
                      von daher kann er dort hin, wo du gern im debugger anfangen möchtest.
                      ich verwende es immer dann, wenn ich bspw in den chrome debugger tools bei der widget oder admin-oberflächen-entwicklung zu faul bin
                      das eigentliche source file im content baum zu suchen um überhaupt mal einen breaktpoint zu setzen.
                      einmal ein debugger; rein und schon stoppt der code und ich weiß wo das sourcefile ist.

                      ich habe gerade auch nochmal rum probiert.
                      also debugger schlüsselwort und breaktpoint setzen funktioniert
                      ausserhalb bspw eines on-statements.
                      innerhalb eines on-statements nicht mehr.

                      auch die anweisung console.log gibt nicht auf die console des debuggers (weder innerhalb noch ausserhalb des on-statements) aus. ich gehe davon aus, das der Befehl umgebogen wurde, so das es in der console des javascript-adapters ausgegeben werden kann, wenn man in den optionen debug/verbose angekreuzt hat.

                      von daher ist diese Methode des debuggings nur eingeschränkt anwendbar.´

                      als kern wurde für den javascript adapter die folgende bibliothek verwendet.
                      https://github.com/patriksimek/vm2#readme
                      in der doku steht auch etwas zum thema debugging

                      allerdings muss man beachten, das hier für iobroker befehle ergänzt wurden (bspw der on befehl).
                      ob die regeln auch hier gelten?
                      falls es zu aufwändig ist, das so zu bewerkstelligen, wäre es den eigentlichen code ausserhalb von iobroker zu entwickeln, alle abhängigkeiten zu iobroker in einem wrapper zu simulieren und dann wenn fertig, erst wieder in iobroker zu reintegrieren.
                      oder dieser käferknopf, wenn er mal auftaucht, (bei mir ist er ebenfalls nicht sichtbar jsadapter version is 5.0.14) bringen dann die gewünschte funktionalität

                      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 Reply Last reply
                      0
                      • OliverIOO OliverIO

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

                        @oliverio

                        Hallo, ja ich war gerade dabei das auszuprobieren.
                        Erst einmal vielen Dank für die Antwort der Verständnisfrage: Muß ich den ganzen Script Engine Adapter debuggen um mein einzelnes Java Script zu debuggen ? Antwort: Ja

                        Sieht gut aus: Komme jetzt in Chrome auch dort hin.
                        Das

                        debugger;
                        

                        muß ganz am Anfang des Scriptes ?
                        Da hält er dann erst einmal an ?

                        Also das debuggen scheint auch zu funktionieren:
                        Also Breakpoint setzen , Inhalt von Variablen darstellen.
                        IOBroker_Debuggen_ueber-Adapter.png

                        Kann man dort auch den Inhalt der Ausgabe sehen ?
                        Also: console.log('Hallo Welt);

                        Gruß Speedy

                        das schlüsselwort debugger funktioniert wie ein breakpoint.
                        von daher kann er dort hin, wo du gern im debugger anfangen möchtest.
                        ich verwende es immer dann, wenn ich bspw in den chrome debugger tools bei der widget oder admin-oberflächen-entwicklung zu faul bin
                        das eigentliche source file im content baum zu suchen um überhaupt mal einen breaktpoint zu setzen.
                        einmal ein debugger; rein und schon stoppt der code und ich weiß wo das sourcefile ist.

                        ich habe gerade auch nochmal rum probiert.
                        also debugger schlüsselwort und breaktpoint setzen funktioniert
                        ausserhalb bspw eines on-statements.
                        innerhalb eines on-statements nicht mehr.

                        auch die anweisung console.log gibt nicht auf die console des debuggers (weder innerhalb noch ausserhalb des on-statements) aus. ich gehe davon aus, das der Befehl umgebogen wurde, so das es in der console des javascript-adapters ausgegeben werden kann, wenn man in den optionen debug/verbose angekreuzt hat.

                        von daher ist diese Methode des debuggings nur eingeschränkt anwendbar.´

                        als kern wurde für den javascript adapter die folgende bibliothek verwendet.
                        https://github.com/patriksimek/vm2#readme
                        in der doku steht auch etwas zum thema debugging

                        allerdings muss man beachten, das hier für iobroker befehle ergänzt wurden (bspw der on befehl).
                        ob die regeln auch hier gelten?
                        falls es zu aufwändig ist, das so zu bewerkstelligen, wäre es den eigentlichen code ausserhalb von iobroker zu entwickeln, alle abhängigkeiten zu iobroker in einem wrapper zu simulieren und dann wenn fertig, erst wieder in iobroker zu reintegrieren.
                        oder dieser käferknopf, wenn er mal auftaucht, (bei mir ist er ebenfalls nicht sichtbar jsadapter version is 5.0.14) bringen dann die gewünschte funktionalität

                        S Offline
                        S Offline
                        Speedy-Turbo
                        wrote on last edited by
                        #30

                        @oliverio
                        Danke, das mit den Schlüsselwort debugger habe ich jetzt verstanden. :blush:

                        Habe gerade auch noch einmal mit den Optionen debug und verbose unter dem Schraubschlüssel rumgespielt.
                        Egal welche Option ich dort anklicke (oder auch nicht anklicke) die Consolenausgabe kommt nur im IOBroker.

                        Kannst du mir noch einmal erklären was mit Breakpoint innerhalb /ausserhalb eines "on-statements" gemein ist ?

                        Gut zu wissen das du auch nicht diesen Käfer siehst.
                        Bin ich wohl nicht der einzige.
                        Ob man da mal direkt den Programmierer fragen kann ?

                        "falls es zu aufwändig ist, das so zu bewerkstelligen, wäre es den eigentlichen code ausserhalb von iobroker zu entwickeln, alle abhängigkeiten zu iobroker in einem wrapper zu simulieren und dann wenn fertig, erst wieder in iobroker zu reintegrieren."

                        Das hatte ich gehofft mit diesem Verweis hinzubekommen:
                        /// <reference path="javascript.d.ts" />

                        Script -> javascript.d.ts -> sanbox.js -> objects.json

                        javascript.d.ts
                        sandbox.js

                        Gruß Speedy

                        OliverIOO 1 Reply Last reply
                        0
                        • S Speedy-Turbo

                          @oliverio
                          Danke, das mit den Schlüsselwort debugger habe ich jetzt verstanden. :blush:

                          Habe gerade auch noch einmal mit den Optionen debug und verbose unter dem Schraubschlüssel rumgespielt.
                          Egal welche Option ich dort anklicke (oder auch nicht anklicke) die Consolenausgabe kommt nur im IOBroker.

                          Kannst du mir noch einmal erklären was mit Breakpoint innerhalb /ausserhalb eines "on-statements" gemein ist ?

                          Gut zu wissen das du auch nicht diesen Käfer siehst.
                          Bin ich wohl nicht der einzige.
                          Ob man da mal direkt den Programmierer fragen kann ?

                          "falls es zu aufwändig ist, das so zu bewerkstelligen, wäre es den eigentlichen code ausserhalb von iobroker zu entwickeln, alle abhängigkeiten zu iobroker in einem wrapper zu simulieren und dann wenn fertig, erst wieder in iobroker zu reintegrieren."

                          Das hatte ich gehofft mit diesem Verweis hinzubekommen:
                          /// <reference path="javascript.d.ts" />

                          Script -> javascript.d.ts -> sanbox.js -> objects.json

                          javascript.d.ts
                          sandbox.js

                          Gruß Speedy

                          OliverIOO Offline
                          OliverIOO Offline
                          OliverIO
                          wrote on last edited by
                          #31

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

                          @oliverio
                          Danke, das mit den Schlüsselwort debugger habe ich jetzt verstanden. :blush:

                          Habe gerade auch noch einmal mit den Optionen debug und verbose unter dem Schraubschlüssel rumgespielt.
                          Egal welche Option ich dort anklicke (oder auch nicht anklicke) die Consolenausgabe kommt nur im IOBroker.

                          Wenn das debugging auf diesem Weg funktionieren würde, benötigst du eigentlich die Ausgabe auf der console nicht wirklich.

                          Kannst du mir noch einmal erklären was mit Breakpoint innerhalb /ausserhalb eines "on-statements" gemein ist ?

                          on ist ein iobroker befehl, mit dem du einen trigger auf Änderung eines datepunktes programmieren kannst.
                          on ist ein asynchoner befehl, der dann, wenn die Änderung eintritt deine Callbackfunktion aufruft. ich habe festgestellt, wenn du das schlüsselwort debugger innerhalb des on Befehls (also im Callback) schreibe, es nicht wirkt. Hab dann aber nicht weiter geforscht, warum das so ist. Gemäß Beschreibung der vm/sandbox, sollte es eigentlich funktionieren. da könnte mE nur der Programierer des javascript-Adapters helfen.

                          Gut zu wissen das du auch nicht diesen Käfer siehst.
                          Bin ich wohl nicht der einzige.
                          Ob man da mal direkt den Programmierer fragen kann ?

                          als programmierer musst du erstmal hier fragen, da der programmierer der vm/sandbox nichts über iobroker weiß.

                          "falls es zu aufwändig ist, das so zu bewerkstelligen, wäre es den eigentlichen code ausserhalb von iobroker zu entwickeln, alle abhängigkeiten zu iobroker in einem wrapper zu simulieren und dann wenn fertig, erst wieder in iobroker zu reintegrieren."

                          Das hatte ich gehofft mit diesem Verweis hinzubekommen:
                          /// <reference path="javascript.d.ts" />

                          Script -> javascript.d.ts -> sanbox.js -> objects.json

                          javascript.d.ts
                          sandbox.js

                          Gruß Speedy

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

                          1 Reply Last reply
                          0
                          • AlCalzoneA Offline
                            AlCalzoneA Offline
                            AlCalzone
                            Developer
                            wrote on last edited by
                            #32

                            Des Rätsels Lösung: der Käfer Button ist nur im Expertenmodus zu sehen.

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

                            1 Reply Last reply
                            0
                            • OliverIOO Offline
                              OliverIOO Offline
                              OliverIO
                              wrote on last edited by
                              #33

                              @alcalzone sagte in Anfänger: IOBroker Java Script debuggen:

                              Des Rätsels Lösung: der Käfer Button ist nur im Expertenmodus zu sehen.

                              leider auch nicht.
                              expertenmodus ist doch dann wenn man den globals ordner sieht?
                              d29be475-e487-41b0-8ad6-4a5b35e47153-image.png

                              adapter script engine version 5.0.14

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

                              GarganoG 1 Reply Last reply
                              0
                              • OliverIOO OliverIO

                                @alcalzone sagte in Anfänger: IOBroker Java Script debuggen:

                                Des Rätsels Lösung: der Käfer Button ist nur im Expertenmodus zu sehen.

                                leider auch nicht.
                                expertenmodus ist doch dann wenn man den globals ordner sieht?
                                d29be475-e487-41b0-8ad6-4a5b35e47153-image.png

                                adapter script engine version 5.0.14

                                GarganoG Offline
                                GarganoG Offline
                                Gargano
                                wrote on last edited by
                                #34

                                @oliverio Hah, alcalzone hat Recht: Nur im Expertenmodus ist der Käfer zu sehen. AUf die 3 Punkte clicken

                                fb5ee919-702e-4443-b8f0-253d47f1b5d6-grafik.png

                                8dd2f023-339d-461c-a7cc-974ed24a16b7-grafik.png

                                Und JS Adapter 5.1.3 oder neuer (nicht 5.0.14)

                                S 1 Reply Last reply
                                1
                                • GarganoG Gargano

                                  @oliverio Hah, alcalzone hat Recht: Nur im Expertenmodus ist der Käfer zu sehen. AUf die 3 Punkte clicken

                                  fb5ee919-702e-4443-b8f0-253d47f1b5d6-grafik.png

                                  8dd2f023-339d-461c-a7cc-974ed24a16b7-grafik.png

                                  Und JS Adapter 5.1.3 oder neuer (nicht 5.0.14)

                                  S Offline
                                  S Offline
                                  Speedy-Turbo
                                  wrote on last edited by
                                  #35

                                  Hallo,
                                  jetzt habe ich den Käfer auch Dank des Expertenmodus.

                                  Vielen dank AlCalzone. Das spart Jahre Lebenszeit :)

                                  Also das Debuggen darüber bin ich fast glücklich.
                                  Breakpoint setzen , sogar Zeilenweise ausführen- super.
                                  Auch was die normalen Variablen angeht - auch super.

                                  Aber was mir als Anfänger wichtig ist, sind diese $- Variablen . (sorry weiß nicht wie die genau heißen)
                                  Weil genau diese Befehle wie:
                                  var SelectorSTICKY_UNREACH = $('channel[state.id=*.STICKY_UNREACH]');
                                  für mich schwer zu verstehen sind.

                                  Da hilft dann wohl doch nur die Ausgabe über
                                  console.log('Ausgabe der Variable: SelectorUNREACH = ' + SelectorUNREACH);

                                  IOBroker_Debugger.png

                                  Da hat der Debugger über Chrome wieder die Nase vorne:
                                  Chrome_Debug.png

                                  Gruß Speedy

                                  AlCalzoneA 1 Reply Last reply
                                  0
                                  • OliverIOO Offline
                                    OliverIOO Offline
                                    OliverIO
                                    wrote on last edited by
                                    #36

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

                                    var SelectorSTICKY_UNREACH = $('channel[state.id=*.STICKY_UNREACH]');

                                    die notation ist aus der css selektor sprache entlehnt worden und bedeutet hier

                                    selektiere alle datenpunkte vom typ channel, bei denen das attribut stateid dem
                                    folgenden muster entspricht
                                    *.STICKY_UNREACH
                                    Das * ist wie das wildcard-Zeichen bspw bei dir *.txt zu sehen.

                                    also alle channels, die am Ende mit .STICKY_UNREACH werden ausgewählt.
                                    den untereschied channel, device, state musst du hier schauen
                                    https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/objectsschema.md#object-types

                                    am gebräuchlichsten ist sicherlich state

                                    die dokumentation zum $-Selector findest du hier
                                    https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#---selector

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

                                    1 Reply Last reply
                                    0
                                    • S Speedy-Turbo

                                      Hallo,
                                      jetzt habe ich den Käfer auch Dank des Expertenmodus.

                                      Vielen dank AlCalzone. Das spart Jahre Lebenszeit :)

                                      Also das Debuggen darüber bin ich fast glücklich.
                                      Breakpoint setzen , sogar Zeilenweise ausführen- super.
                                      Auch was die normalen Variablen angeht - auch super.

                                      Aber was mir als Anfänger wichtig ist, sind diese $- Variablen . (sorry weiß nicht wie die genau heißen)
                                      Weil genau diese Befehle wie:
                                      var SelectorSTICKY_UNREACH = $('channel[state.id=*.STICKY_UNREACH]');
                                      für mich schwer zu verstehen sind.

                                      Da hilft dann wohl doch nur die Ausgabe über
                                      console.log('Ausgabe der Variable: SelectorUNREACH = ' + SelectorUNREACH);

                                      IOBroker_Debugger.png

                                      Da hat der Debugger über Chrome wieder die Nase vorne:
                                      Chrome_Debug.png

                                      Gruß Speedy

                                      AlCalzoneA Offline
                                      AlCalzoneA Offline
                                      AlCalzone
                                      Developer
                                      wrote on last edited by
                                      #37

                                      @speedy-turbo Ich habe das Problem mit der unvollständigen Debugger-Ansicht gemeldet:
                                      https://github.com/ioBroker/ioBroker.javascript/issues/812

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

                                      S 1 Reply Last reply
                                      0
                                      • htreckslerH Offline
                                        htreckslerH Offline
                                        htrecksler
                                        Forum Testing
                                        wrote on last edited by
                                        #38

                                        Irgendwie komm ich mit der Debugger Funktion nicht klar. Ich finde auch (außer diesem Beitrag) keine weitere Erläuterung wie man das bedient. Den "Käfer" hab ich. Wenn ich den anklicke kommt der Hinweis das das Script gestoppt wird. Und dann?
                                        Muss man im Script die Zeile "Debugger" einfügen?

                                        Vielleicht kann ja jemand anhand eines einfachen Scriptes die Funktion erklären? Oder gibt es eine Doku und ich finde die nur nicht?

                                        Gruss Hermann

                                        ioBroker auf Proxmox (Debian) auf IntelNuc als Produktivsystem

                                        bahnuhrB 1 Reply Last reply
                                        0
                                        • htreckslerH htrecksler

                                          Irgendwie komm ich mit der Debugger Funktion nicht klar. Ich finde auch (außer diesem Beitrag) keine weitere Erläuterung wie man das bedient. Den "Käfer" hab ich. Wenn ich den anklicke kommt der Hinweis das das Script gestoppt wird. Und dann?
                                          Muss man im Script die Zeile "Debugger" einfügen?

                                          Vielleicht kann ja jemand anhand eines einfachen Scriptes die Funktion erklären? Oder gibt es eine Doku und ich finde die nur nicht?

                                          bahnuhrB Online
                                          bahnuhrB Online
                                          bahnuhr
                                          Forum Testing Most Active
                                          wrote on last edited by
                                          #39

                                          @htrecksler sagte in Anfänger: IOBroker Java Script debuggen:

                                          Irgendwie komm ich mit der Debugger Funktion nicht klar. Ich finde auch (außer diesem Beitrag) keine weitere Erläuterung wie man das bedient. Den "Käfer" hab ich. Wenn ich den anklicke kommt der Hinweis das das Script gestoppt wird. Und dann?
                                          Muss man im Script die Zeile "Debugger" einfügen?

                                          Vielleicht kann ja jemand anhand eines einfachen Scriptes die Funktion erklären? Oder gibt es eine Doku und ich finde die nur nicht?

                                          Bei mir das gleiche.
                                          Es kommt auch der Hinweis, und dann geht es nicht weiter.

                                          Bitte mal Info, wie das ganze funktioniert und anzuwenden ist.

                                          mfg


                                          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                          Danke.
                                          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                          ScreenToGif :https://www.screentogif.com/downloads.html

                                          GarganoG 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          770

                                          Online

                                          32.5k

                                          Users

                                          81.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe