Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. Anfänger: IOBroker Java Script debuggen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Anfänger: IOBroker Java Script debuggen

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Speedy-Turbo last edited by

      Hi Feuersturm
      vielen Dank für deine Antwort:

      Das ist ja genau die Erweiterung die ich unter 1. Ansatz beschrieben habe.

      1. Ansatz: Visual Studio Codec mit Erweiterung ioBroker.javascript
        "Also im Prinzip nur eine Verlagerung von Iobroker auf Visual Studio Codec ????"

      Nicht doch jemand der seine Programme debuggt ?

      Hier ist z.B ein Beitrag zum Debuggen von Adaptern
      https://forum.iobroker.net/topic/4201/adapter-debuggen-mit-chrome

      Bekomme ich aber nicht zum Laufen und wie gesagt, ich weiß gar nicht ob das der richtige Ansatz ist um Java Scripte zu debuggen
      Der Beitrag ist von 2016 . Könnte mir vorstellen das sich der --inspekt Befehl / Ausgabe seit dem geändert hat.

      Größte Hoffnung habe ich ja noch im Ansatz 2
      https://forum.iobroker.net/topic/36034/visualstudio-code-und-devcontainer
      https://code.visualstudio.com/docs/remote/containers#_getting-started

      Irgendwie IOBroker in Docker spiegeln und dann in den Container debuggen.

      Ein paar Hardcopys über meine kläglichen Versuche in der angeheftet PDF Datei "Debuggen-Notizen.pdf"
      Debuggen-Notizen.pdf

      Gruß Speedy

      1 Reply Last reply Reply Quote 0
      • S
        Speedy-Turbo last edited by

        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

        Gargano 1 Reply Last reply Reply Quote 0
        • Gargano
          Gargano @Speedy-Turbo last edited by

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

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

          1 Reply Last reply Reply Quote 0
          • S
            Speedy-Turbo last edited by

            Hallo Gargano;

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

            Gruß Speedy

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

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

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

              Gargano S 2 Replies Last reply Reply Quote 0
              • Gargano
                Gargano @Speedy-Turbo last edited by Gargano

                @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 Reply Last reply Reply Quote 0
                • S
                  Speedy-Turbo last edited by

                  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 Reply Last reply Reply Quote 0
                  • Gargano
                    Gargano last edited by Gargano

                    @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 Reply Last reply Reply Quote 0
                    • Gargano
                      Gargano @AlCalzone last edited by

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

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

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

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

                          @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 Reply Last reply Reply Quote 0
                          • S
                            Speedy-Turbo last edited by

                            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

                            Gargano 1 Reply Last reply Reply Quote 0
                            • Gargano
                              Gargano @Speedy-Turbo last edited by

                              @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 Reply Last reply Reply Quote 0
                              • AlCalzone
                                AlCalzone Developer last edited by

                                iobroker upload javascript mal probiert?

                                Gargano S 3 Replies Last reply Reply Quote 0
                                • Gargano
                                  Gargano @AlCalzone last edited by

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

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Speedy-Turbo @Gargano last edited by

                                    @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

                                    Gargano 1 Reply Last reply Reply Quote 0
                                    • Gargano
                                      Gargano @Speedy-Turbo last edited by

                                      @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 Reply Last reply Reply Quote 0
                                      • OliverIO
                                        OliverIO @Speedy-Turbo last edited by 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 1 Reply Last reply Reply Quote 0
                                        • S
                                          Speedy-Turbo @AlCalzone last edited by

                                          @alcalzone
                                          Hallo,

                                          iobroker upload javascript

                                          jetzt gerade durch. das selbe Ergebnis 😞

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

                                            @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 Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            878
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            47
                                            5279
                                            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