Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Entwicklung
    4. Debugging bzw. Entwicklungsumgebung für/von ioBroker

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Debugging bzw. Entwicklungsumgebung für/von ioBroker

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

      Hallo,

      wie kann man ioBroker debuggen? Und gibt es eine Entwicklungsumgebung die man nutzen kann? (Webstorm, Eclipse?).

      BTW, ist die ganze Entwicklung nur von Bluefox? Wahnsinn!

      🙂

      Danke

      Steve

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

        @StefSign:

        Hallo,

        wie kann man ioBroker debuggen? Und gibt es eine Entwicklungsumgebung die man nutzen kann? (Webstorm, Eclipse?).

        BTW, ist die ganze Entwicklung nur von Bluefox? Wahnsinn!

        🙂

        Danke

        Steve `
        Hallo StefSign,

        Ich benutze WebStorm. Um Adapter zu debuggen man muss den deaktivieren und dann in Webstorm mit dem argument "–force" starten.

        Ungefähr so:
        48_adapter.png

        Ich bin nicht ganz allein. Bis 30.09.2014 hat hobbyquaker viel geschrieben. Und jetzt SmilingJack hilft mir bei vis.

        Aber ja… Seit Oktober bin ich allein überall außer "vis" 😢

        1 Reply Last reply Reply Quote 0
        • S
          StefSign last edited by

          Hallo Bluefox,

          bin gerade am probieren mit Webstorm…es gibt aber noch Anlaufschwierigkeiten.

          Steps:

          • Ich habe mir ioBroker.js-controller als ZIP File geladen und als Webstorm Projektverzeichnis genutzt.

          • Habe npm install gemacht und dann versucht controller.js mit start als Argument zu starten.

          • Auch mit obigen Einstellungen komme ich nicht weiter.

          287_screen_shot_2015-02-22_at_18.46.20.png

          Fragen:

          • Hast du noch einen anderen Screendump oder Tips?

          • Wenn ich Grunt benutze laufen wir Gefahr das ich meine Sourcen auf Git hochladen?

          Danke

          Steve

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

            @StefSign:

            Hallo Bluefox,

            bin gerade am probieren mit Webstorm…es gibt aber noch Anlaufschwierigkeiten.

            Steps:

            • Ich habe mir ioBroker.js-controller als ZIP File geladen und als Webstorm Projektverzeichnis genutzt.

            • Habe npm install gemacht und dann versucht controller.js mit start als Argument zu starten.

            • Auch mit obigen Einstellungen komme ich nicht weiter.

            filename="Screen Shot 2015-02-22 at 18.46.20.png" index="1">~~

            Fragen:

            • Hast du noch einen anderen Screendump oder Tips?

            • Wenn ich Grunt benutze laufen wir Gefahr das ich meine Sourcen auf Git hochladen?

            Danke

            Steve `
            ich empfehle nicht mit zips zu arbeiten, sondern mit git. (Dafür brauchst du natürlich Account (for free)).

            ioBroker.js-controller-master ist schlecht, weil der sucht immer "ioBroker.js-controller" und es wird einiges nicht gehen.

            So starte ich controller.
            48_cont.png

            Weil du manuell controller geladen hast, muss man den initialisieren:

            In der Konsole dann````
            iobroker setup first

            aufrufen.
            
            Wenn du Controller als Debug startest, dann werden andere Adapter nicht automatisch gestartet.
            
            Um einen Adapter zu debuggen muss ein Controller auf jeden Fall laufen.
            
            Ich mache normalerweise so, dass ich in meiner laufenden ioBroker-Instanz einen Adapter deaktiviere und den dann mit "–force" Argument in WebStorm starte.
            
            Beim Grunt Laufen wird nichts auf Git hoch geladen. Nur Syntax geprüft.
            1 Reply Last reply Reply Quote 0
            • S
              StefSign last edited by

              Hallo Bluefox,

              also jetzt habe ich doch noch ein paar Fragen…

              🙂

              Wenn ich einen Adapter debuggen möchte:

              • Ich starte von der CLI eine iobroker Instanze mit ./iobroker start. Wie kann ich dann einen Adapter deaktivieren? Meinst du löschen?

              • Wenn ich dann den Javascript Adapter in Webstorm im Debug Modus starte…kommt dann nur "debugger listening on port 40197" und

              dann error: javascript.0 invalid config"

              • Falls der Adapter doch mal laufen sollte...wie kann ich diesen in iobroker aufnehmen?

              ioBroker debuggen:

              • Wenn ich ioBroker im Debug Modus starte passiert nicht viel. Du hattest es schon erwähnt…die anderen Adapter werde nicht gestartet und admin ist ja auch

              nur ein Adapter ==> kein Web UI. Richtig?

              • Warum werden die Adapter dabei nicht gestartet?

              BTW, Webstorm Config wie auf den Screendumps übernommen.

              Danke schon mal.

              Steve

              1 Reply Last reply Reply Quote 0
              • S
                StefSign last edited by

                Hallo Bluefox,

                jetzt glaube ich habe ich es!

                Eureka!!!

                🙂

                1. ioBroker normal im Webstorm starten

                2. In Web UI die Adapter Instanz disablen, oder?

                3. Dann im Webstorm den entsprechenden Adapter im Debug Modus starten.

                4. Breakpoints setzen.

                Die anderen Fragen mit ioBroker im Debug Modus sind allerdings noch offen.

                😞

                Steve

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

                  @StefSign:

                  Die anderen Fragen mit ioBroker im Debug Modus sind allerdings noch offen.

                  Wenn ich ioBroker im Debug Modus starte passiert nicht viel. Du hattest es schon erwähnt…die anderen Adapter werde nicht gestartet und admin ist ja auch

                  nur ein Adapter ==> kein Web UI. Richtig?

                  • Warum werden die Adapter dabei nicht gestartet? `
                    Da muss man jeden Adapter (welches man wirklich zum debuggen braucht) manuell starten.

                  Ich habe Settings für "controller", für "admin", für "web" und dann eins, was "adapter" heisst. Da nehme ich immer das was ich debuggen will.

                  Also bei mir bei Debug laufen mindestens 2 Debug-Instanzen und eine noch die ich tatsächlich debuggen will:
                  48_webstorm.png

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

                    @StefSign:

                    Hallo Bluefox,

                    jetzt glaube ich habe ich es!

                    Eureka!!!

                    🙂

                    1. ioBroker normal im Webstorm starten

                    2. In Web UI die Adapter Instanz disablen, oder?

                    3. Dann im Webstorm den entsprechenden Adapter im Debug Modus starten.

                    4. Breakpoints setzen.

                    Die anderen Fragen mit ioBroker im Debug Modus sind allerdings noch offen.

                    😞

                    Steve `
                    Alles richtig ausser:

                    1. Dann im Webstorm den entsprechenden Adapter im Debug Modus starten. Mit dem Application parameter: "–force"
                    1 Reply Last reply Reply Quote 0
                    • S
                      StefSign last edited by

                      Hallo Bluefox,

                      bin gerade dabei das Debug Kapitel fürs Wiki vorzubereiten…habe beim Debuggen aber Probleme mit den Breakpoints. Obwohl ich diese im Sourcecode setze werden sie nie aufgerufen. Hattest Du dies schon mal? Ohne Breakpoints ist Debuggen witzlos!

                      😞

                      Habe alles wie von Dir vorgegeben eingerichtet.

                      Steve

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

                        @StefSign:

                        Hallo Bluefox,

                        bin gerade dabei das Debug Kapitel fürs Wiki vorzubereiten…habe beim Debuggen aber Probleme mit den Breakpoints. Obwohl ich diese im Sourcecode setze werden sie nie aufgerufen. Hattest Du dies schon mal? Ohne Breakpoints ist Debuggen witzlos!

                        😞

                        Habe alles wie von Dir vorgegeben eingerichtet.

                        Steve `
                        Kannst du bitte hier Screenshot von deiner Konfiguration posten?
                        48_webstorm.png

                        1 Reply Last reply Reply Quote 0
                        • S
                          StefSign last edited by

                          N'Abend Bluefox,

                          so, anbei die erforderlichen Screendumps…
                          287_hmmconfig01.png

                          BTW, ich habe so 3-4 Jahre Eclipse Erfahrung und auch schon einige Eclipse Plugins geschrieben, trotzdem will Webstorm manchmal nicht so richtig.

                          Kann es sein das Webstorm noch nicht so ausgereift ist wie Eclipse?

                          Danke

                          1 Reply Last reply Reply Quote 0
                          • S
                            StefSign last edited by

                            …ich nochmals,

                            Kann es sein das manche Breakpoints im Adapter wieh bei main(), writeSettings(), startHMM() (im HMM Adapter) nicht mehr aufgerufen werden sondern nur bei der Erzeugung einer Adapter Instance? D.h. Webstorm würde funktionieren nur die obigen Funktionen nicht mehr aufgerufen?

                            BTW, Breakpoints bei "adapter.on('message', function (obj) {..." oder "adapter.on('ready', function () {..." funktionieren (sind aber nur diese beiden)

                            Hatte auch schon überlegt ob es am Browser Chrome und Ubuntu 14.04 liegen könnte?

                            Ich starte ioBroker auch von Webstorm aus...allerdings nicht im Debugmodus.

                            Dann einen Adapter im Debugmodus mit verschiedenen Breakpoints.

                            Danke

                            Steve

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

                              @StefSign:

                              …ich nochmals,

                              Kann es sein das manche Breakpoints im Adapter wieh bei main(), writeSettings(), startHMM() (im HMM Adapter) nicht mehr aufgerufen werden sondern nur bei der Erzeugung einer Adapter Instance? D.h. Webstorm würde funktionieren nur die obigen Funktionen nicht mehr aufgerufen?

                              BTW, Breakpoints bei "adapter.on('message', function (obj) {..." oder "adapter.on('ready', function () {..." funktionieren (sind aber nur diese beiden)

                              Hatte auch schon überlegt ob es am Browser Chrome und Ubuntu 14.04 liegen könnte?

                              Ich starte ioBroker auch von Webstorm aus...allerdings nicht im Debugmodus.

                              Dann einen Adapter im Debugmodus mit verschiedenen Breakpoints.

                              Danke

                              Steve `
                              Hm.. Es kann sein, aber glaube ich nicht. Allerdings ich entwickle unter Windows und habe auch Probleme mit Node.js x64. x86 dafür läuft im Debug einwandfrei.

                              An Chrome kann es nicht liegen, der wird nicht benutzt bei hmm.js.

                              Und wenn 'ready' funktioniert dann kommt doch main und dann "startHMM". Kannst du mit StepByStep gehen?

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

                                Juhu, ich bin im Debugger.

                                Ich bin im iCal-Adapter mal StepByStep durchgegangen und hab auch gefühlte 20% davon verstanden :?

                                Jetzt möchte ich gerne ins Debugging des Javascript-Adapters um zwei Fliegen mit einer Klappe zu schlagen und zu verfolgen warum meine ersten Scripte nicht das tun was ich möchte 😉

                                Allerdings bekomme ich beim Starten des Debuggings die folgende Fehlermeldung und es wird offensichtlich auch kein Breakpoint ausgelöst.
                                250_zwischenablage02.jpg
                                Wieso wird denn jetzt zwischendurch der Adapter disabled? Was läuft hier noch nicht richtig?

                                Gruß Thilo

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

                                  @Thisoft:

                                  Juhu, ich bin im Debugger.

                                  Ich bin im iCal-Adapter mal StepByStep durchgegangen und hab auch gefühlte 20% davon verstanden :?

                                  Jetzt möchte ich gerne ins Debugging des Javascript-Adapters um zwei Fliegen mit einer Klappe zu schlagen und zu verfolgen warum meine ersten Scripte nicht das tun was ich möchte 😉

                                  Allerdings bekomme ich beim Starten des Debuggings die folgende Fehlermeldung und es wird offensichtlich auch kein Breakpoint ausgelöst.
                                  filename="Zwischenablage02.jpg" index="0">~~
                                  Wieso wird denn jetzt zwischendurch der Adapter disabled? Was läuft hier noch nicht richtig?

                                  Gruß Thilo `
                                  Ich sage erst mal über disabled. Den Rest schaue ich später an.

                                  Es ist nur eine Meldung, dass Adapter disabled ist. Ist doch oder?

                                  Im normal Fall wir Adapter a dieser Stelle beendet, aber wegen "–force" läuft der weiter.

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

                                    Ah ja, verstehe.

                                    Habe inzwischen gemerkt dass der Debugger läuft. Auch der Breakpoint wird jetzt ausgelöst. Ich hatte den nur an der falschen Stelle gesetzt - wer lesen kann ist eben klar im Vorteil 😉

                                    Dann ist jetzt alles gut. Vielen Dank Bluefox - brauchst Dich mit meinem restlichen Geschreibe nicht weiter herumschlagen…

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      StefSign last edited by

                                      Hi Thisoft,

                                      was meinst Du mit falscher Stelle? Codebereiche die nicht ausgeführt werden?

                                      Welche Umgebung hast Du? Ich frage da ich unterschiedliches Verhalten von Webstorm (NodeJS?) unter Windows und Ubuntu sehe, vor allem beim Debuggen.

                                      Danke

                                      Steve

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

                                        Hallo Steve,

                                        mit falscher Stelle meine ich, wie Du richtig vermutest, dass ich den Breakpoint in einer Funktion gesetzt hatte die gar nicht aufgerufen wurde. Wie gesagt - wer lesen kann…

                                        Ich habe alles auf Windows 7 laufen. Ein etwas älterer, schwächerer, passiv gekühlter als 24/7-Server auf dem die gesamte ioBroker-Installation läuft. Zum Arbeiten, unter anderem eben mit Webstorm habe ich dann einen etwas kräftigeren Rechner. Ich habe das ioBroker-Verzeichnis als Netzlaufwerk gemappt und darüber ins Webstorm-Projekt eingebunden. Webstorm warnt mich zwar immer, dass die Verbindung möglicherweise langsam ist etc. aber bisher habe ich da noch nichts feststellen können was mich ausbremsen würde.

                                        Danke

                                        Thilo

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        669
                                        Online

                                        31.7k
                                        Users

                                        79.8k
                                        Topics

                                        1.3m
                                        Posts

                                        3
                                        18
                                        3943
                                        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