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 @OliverIO last edited by

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

      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

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

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

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

        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

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

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

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

            @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

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

              @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 Reply Quote 1
              • S
                Speedy-Turbo @Gargano last edited by

                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

                AlCalzone 1 Reply Last reply Reply Quote 0
                • OliverIO
                  OliverIO last edited by

                  @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

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

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

                    AlCalzone created this issue in ioBroker/ioBroker.javascript

                    open Debugger: Variable view does not correctly display objects #812

                    S 1 Reply Last reply Reply Quote 0
                    • htrecksler
                      htrecksler Forum Testing last edited by

                      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?

                      bahnuhr 1 Reply Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active @htrecksler last edited by

                        @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

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

                          @bahnuhr Da kann ich die Hinweise geben, die ich rausgefunden habe :

                          1. Käfer drücken, dann kommen diese Buttons:
                            8202cb06-6f6a-474f-9de3-e60d191232d4-grafik.png
                            Restart , Resume execution, Goto next line, step into function, step out from function

                          Haltepunkte kann man setzen indem man mit linker Maustaste auf den linken Streifen klickt. ( Bei den Line numbers)
                          fd556ed9-d450-4a1c-a84a-885ead4f3dda-grafik.png

                          Resume execution 5605518b-a179-4230-9593-48053669eb14-grafik.png startet das Ganze und hält dann am Breakpoint an
                          58f4852a-f2d3-4eec-8e72-1c01308b7c02-grafik.png
                          Mit Goto next line kann dann man weiter gehen in Einzelschritten

                          Den Wert von Variablen kann man im Stack Fenster anschauen
                          495b82e7-857a-447f-ac51-f834afe7aaf0-grafik.png

                          bahnuhr 1 Reply Last reply Reply Quote 0
                          • bahnuhr
                            bahnuhr Forum Testing Most Active @Gargano last edited by

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

                            Käfer drücken, dann kommen diese Buttons:

                            Das klappt schon nicht.

                            Bei mir kommen diese Buttons in hellgrau (also nicht aktiv)
                            fc77cc2e-2510-4e4c-b2db-2730908fbdff-image.png

                            Das Script sieht man auch nicht mehr.

                            bahnuhr 1 Reply Last reply Reply Quote 0
                            • bahnuhr
                              bahnuhr Forum Testing Most Active @bahnuhr last edited by

                              Nachtrag:
                              klappt doch.
                              Dauert nur ein bisschen bis die globalen Scripte voran gesetzt werden.

                              Gargano S 2 Replies Last reply Reply Quote 0
                              • Gargano
                                Gargano @bahnuhr last edited by

                                @bahnuhr Allerdings habe ich bei Firefox diese Meldung, danach ist auch das Script weg. Chrome funktioniert

                                9fc8f8d5-f053-4b8c-9e38-bce742f70bd2-grafik.png

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

                                  @alcalzone
                                  Also wenn sich diese Variable = undefined (object) auch noch ansehen könnte, das wäre richtig super.👍
                                  Bin mal gespannt ob es da auch noch eine Lösung zu gibt.

                                  Gruß Speedy

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

                                    Habe mir noch ein paar Notizen gemacht.
                                    IOBroker_Debuggen.pdf

                                    Gruß Speedy

                                    htrecksler OliverIO 2 Replies Last reply Reply Quote 2
                                    • htrecksler
                                      htrecksler Forum Testing @Speedy-Turbo last edited by

                                      @speedy-turbo sehr gut, Danke für Deine Mühe. Das wird ganz sicher einigen helfen.

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

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

                                        Habe mir noch ein paar Notizen gemacht.
                                        IOBroker_Debuggen.pdf

                                        Gruß Speedy

                                        Evtl noch die Anforderung and Minimum-Version des javascript-Adapters im latest Repository mit aufnehmen.
                                        Da diese Version wohl noch nicht auf stable ist

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        813
                                        Online

                                        31.8k
                                        Users

                                        80.0k
                                        Topics

                                        1.3m
                                        Posts

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