Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Debugging

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    901

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Debugging

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
52 Beiträge 10 Kommentatoren 3.6k Aufrufe 6 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • JackJ Jack

    Hallo an alle Entwickler! Mich würde es echt freuen, wenn Ihr Nachfolgendes umsetzen könntet:

    Hier einige kleine Skripte (werden dann eh immer gleich "groß") schreiben, damit das Licht an geht, aus geht, oder auch doch nicht, ist ärgerlich. - Dann: Debuggen - . Man schreibt nochmals doppelt so viel Code, als das eigentliche Skript hat, damit man eruieren kann wo der Fehler liegt, und die Versuche das Problem zu lösen, führen öfter dazu, dass der Code zu Tode Verriegelt wird, als dass die wirkliche Ursache gefunden wird.

    Ich komme nicht von der IT, sondern aus der OT. Und bei uns gibt es seit jeher (schon im vorigen Jahrtausend) sehr tolle Möglichkeiten, die 'dieses Debugging' nicht benötigen.

    Viel um den heißen Brei geredet. Hier ein paar Bilder, die zeigen was ich meine:

    Ein Programm im "Funktionsplan" (FUP) geschrieben, das man wie alle weiteren Online beobachten kann:
    7f87e58d-f7ef-4c60-8512-0ce01afb873f-image001.png
    file:///home/jack/Downloads/image001.png

    Ein Auszug aus SCL. Rechts sieht man den Wert jeder Variable vom Code:
    273abec8-33d2-4a4e-865f-2747e210cd7b-image003.png file:///home/jack/Downloads/image003.png

    Screenshot eines Motion Controllers; per Maus-Tooltip sieht man die Zustände der Variablen:
    ada4a761-3293-458f-831c-3808450630e9-image004.png file:///home/jack/Downloads/image004.png

    Kennt jeder Elektriker, wenn er das Bild um 90° dreht; Kontaktplan (KOP):
    e6b36ed7-4f80-4ba3-b134-8868b37b3f80-image006.png file:///home/jack/Downloads/image006.png

    Mich wundert ja, das das nicht mal Google's Blokly kann. Aber vielleicht finden sich ja hier ein paar Leute, die einen Adapter zusammen bauen, damit Debugging in (kleinen) Javaskripten im großen und ganzen überflüssig ist.

    Ich hoffe euch zumindest ein wenig motiviert zu haben,
    Jack

    JackJ Offline
    JackJ Offline
    Jack
    schrieb am zuletzt editiert von
    #40

    @homoran 1. Eintrag:

    Hallo an alle Entwickler! Mich würde es echt freuen, wenn Ihr Nachfolgendes umsetzen könntet:

    Ich dachte eben das jemand so einen Adapter, oder ein Feature für den Editor, oder ganz was anderes machen kann und möchte.

    Ich will hier niemanden zur Weißglut treiben!

    Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

    HomoranH 1 Antwort Letzte Antwort
    0
    • JackJ Jack

      @homoran 1. Eintrag:

      Hallo an alle Entwickler! Mich würde es echt freuen, wenn Ihr Nachfolgendes umsetzen könntet:

      Ich dachte eben das jemand so einen Adapter, oder ein Feature für den Editor, oder ganz was anderes machen kann und möchte.

      Ich will hier niemanden zur Weißglut treiben!

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von
      #41

      @jack sagte in Debugging:

      Ich dachte eben das jemand so einen Adapter, oder ein Feature für den Editor, oder ganz was anderes machen kann und möchte.

      also einen kompletten Interpreter integrieren....

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      JackJ 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @jack sagte in Debugging:

        Ich dachte eben das jemand so einen Adapter, oder ein Feature für den Editor, oder ganz was anderes machen kann und möchte.

        also einen kompletten Interpreter integrieren....

        JackJ Offline
        JackJ Offline
        Jack
        schrieb am zuletzt editiert von
        #42

        @homoran Nein! Denk ganz einfach:

        Der Text der im Editor steht.

        'zigbee.0.001788010b9af0de.brightness' damit wir beim Beispiel bleiben

        Dieser enthält den kompletten "pfad" (so wird es ja zumindest dargestellt) zum "objekt" = Lampe/helligkeit.
        Man kann diese ja auch oben rechts über das Zwischenablagesymbol auswählen.
        Warum kann man jetzt nicht auch den Zustand erfassen, und alle sekunden aktualisiert anzeigen?

        -Ich glaube wenn ich mich richtig ausdrücken könnte würde jeder "ach soo!" sagen-

        Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

        OliverIOO HomoranH 2 Antworten Letzte Antwort
        0
        • JackJ Jack

          @homoran Nein! Denk ganz einfach:

          Der Text der im Editor steht.

          'zigbee.0.001788010b9af0de.brightness' damit wir beim Beispiel bleiben

          Dieser enthält den kompletten "pfad" (so wird es ja zumindest dargestellt) zum "objekt" = Lampe/helligkeit.
          Man kann diese ja auch oben rechts über das Zwischenablagesymbol auswählen.
          Warum kann man jetzt nicht auch den Zustand erfassen, und alle sekunden aktualisiert anzeigen?

          -Ich glaube wenn ich mich richtig ausdrücken könnte würde jeder "ach soo!" sagen-

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

          @jack
          Hm, also in einem 2. Reiter den Objekte tab aufmachen und dann live die Änderungen des datenpunktes beobachten können?

          Aufgrund des asynchronen Verhaltens und ereignisbezogenen funktionsuafrufe ist es nicht immer so einfach die verschiedenen Möglichkeiten abzubilden.
          Die Life Anzeige eines datenpunktes ist, wie gerade schon geschrieben, über den Objekte tab möglich.
          Der reine Wert ist aber nur ein Teil der Information. Bspw der Zeitstempel der Änderung oder gar die Datenqualität sind ua noch weitere Informationen zum datenpunkt.
          Wenn ich nun in einer console mittels der Funktion getState die informationen zum datenpunkt Abfrage erhält man ja ein komplettes Objekt, manche Funktionen geben gar 2 oder mehr variablen zurück. Das ist in einem console Fenster ohne zusätzlichen Code nicht simpel umsetzbar.

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

          JackJ 1 Antwort Letzte Antwort
          0
          • OliverIOO OliverIO

            @jack
            Hm, also in einem 2. Reiter den Objekte tab aufmachen und dann live die Änderungen des datenpunktes beobachten können?

            Aufgrund des asynchronen Verhaltens und ereignisbezogenen funktionsuafrufe ist es nicht immer so einfach die verschiedenen Möglichkeiten abzubilden.
            Die Life Anzeige eines datenpunktes ist, wie gerade schon geschrieben, über den Objekte tab möglich.
            Der reine Wert ist aber nur ein Teil der Information. Bspw der Zeitstempel der Änderung oder gar die Datenqualität sind ua noch weitere Informationen zum datenpunkt.
            Wenn ich nun in einer console mittels der Funktion getState die informationen zum datenpunkt Abfrage erhält man ja ein komplettes Objekt, manche Funktionen geben gar 2 oder mehr variablen zurück. Das ist in einem console Fenster ohne zusätzlichen Code nicht simpel umsetzbar.

            JackJ Offline
            JackJ Offline
            Jack
            schrieb am zuletzt editiert von Jack
            #44

            @oliverio Ja! S#@!?e Dafür so eine Diskusion?

            [EDIT] aber eben nicht einen 2. Reiter. Platztechnisch angepasst.

            Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

            OliverIOO 1 Antwort Letzte Antwort
            0
            • JackJ Jack

              @oliverio Ja! S#@!?e Dafür so eine Diskusion?

              [EDIT] aber eben nicht einen 2. Reiter. Platztechnisch angepasst.

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

              @jack
              Gut, evtl ist es ja für dich eine Herausforderung JavaScript zu lernen, eine Erweiterung per pull request zu erstellen und uns zu überraschen.

              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 Antwort Letzte Antwort
              0
              • JackJ Jack

                @homoran ja genau! Nur Text. Aber genau der ist doch die ID! Darum Verstehe ich es ja nicht...

                getState('zigbee.0.001788010b9af0de.brightness').val;
                

                'zigbee.0.001788010b9af0de.brightness'

                77233c66-20b4-4be6-ab24-2c1a62d26c43-image.png

                ein Adapter der das Skript liest, und die getState, setState,... ausgibt?

                CodierknechtC Online
                CodierknechtC Online
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von
                #46

                @jack sagte in Debugging:

                ein Adapter der das Skript liest, und die getState, setState,... ausgibt?

                Den gibt‘s doch: Nennt sich JavaScript-Adapter

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                OliverIOO 1 Antwort Letzte Antwort
                0
                • CodierknechtC Codierknecht

                  @jack sagte in Debugging:

                  ein Adapter der das Skript liest, und die getState, setState,... ausgibt?

                  Den gibt‘s doch: Nennt sich JavaScript-Adapter

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

                  @codierknecht
                  Er will den object tab im gleichen Fenster wie das Skript haben, so das man nicht blättern muss. Evtl reduziert auf nur bestimmte IDs
                  So hab ich es bis jetzt verstanden.
                  So wie ein Watch Fenster

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

                  CodierknechtC JackJ 2 Antworten Letzte Antwort
                  1
                  • OliverIOO OliverIO

                    @codierknecht
                    Er will den object tab im gleichen Fenster wie das Skript haben, so das man nicht blättern muss. Evtl reduziert auf nur bestimmte IDs
                    So hab ich es bis jetzt verstanden.
                    So wie ein Watch Fenster

                    CodierknechtC Online
                    CodierknechtC Online
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #48

                    @oliverio
                    Hatte ich schon verstanden ;-)
                    Natürlich kann man aus einem System auch die eierlegende Wollmilchsau machen. Nach meiner Erfahrung besteht dann aber schnell die Gefahr, dass man ein gut und stabil funktionierendes System dermaßen verstrubbelt, dass es dann zwar „schön und einfach“ ist, aber halt nicht mehr stabil.
                    Je komplexer ein System, desto eher geht etwas schief.

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    1 Antwort Letzte Antwort
                    1
                    • OliverIOO OliverIO

                      @codierknecht
                      Er will den object tab im gleichen Fenster wie das Skript haben, so das man nicht blättern muss. Evtl reduziert auf nur bestimmte IDs
                      So hab ich es bis jetzt verstanden.
                      So wie ein Watch Fenster

                      JackJ Offline
                      JackJ Offline
                      Jack
                      schrieb am zuletzt editiert von
                      #49

                      @oliverio Treffend beschrieben. Wobei die "... bestimmte IDs" die sind, die im Editor punkt genau (nur brightness und nicht alle werte dimm, color,... ) verwendet wurden.

                      Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

                      1 Antwort Letzte Antwort
                      0
                      • JackJ Jack

                        @homoran Nein! Denk ganz einfach:

                        Der Text der im Editor steht.

                        'zigbee.0.001788010b9af0de.brightness' damit wir beim Beispiel bleiben

                        Dieser enthält den kompletten "pfad" (so wird es ja zumindest dargestellt) zum "objekt" = Lampe/helligkeit.
                        Man kann diese ja auch oben rechts über das Zwischenablagesymbol auswählen.
                        Warum kann man jetzt nicht auch den Zustand erfassen, und alle sekunden aktualisiert anzeigen?

                        -Ich glaube wenn ich mich richtig ausdrücken könnte würde jeder "ach soo!" sagen-

                        HomoranH Nicht stören
                        HomoranH Nicht stören
                        Homoran
                        Global Moderator Administrators
                        schrieb am zuletzt editiert von
                        #50

                        @jack sagte in Debugging:

                        Ich glaube wenn ich mich richtig ausdrücken könnte

                        tust du.
                        Das klappt aber nicht.
                        früher wurde der Wert angezeigt, war aber immer der Wert, der beim Start des Javascript Editors gültig war.
                        Das hat zu Missverständnissen geführt, also gibts es in der ID Selector Box nur noch die ID ohne Wert.

                        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                        1 Antwort Letzte Antwort
                        0
                        • FredFF FredF

                          @jack
                          Ich lehne mich mal aus dem Fenster und sage das hier im Forum 90% normale User sind. Skripten (Programmieren), mit welchem Editor auch immer, können nicht viele...
                          Ich übrigens bis auf try and error auch nicht

                          JackJ Offline
                          JackJ Offline
                          Jack
                          schrieb am zuletzt editiert von Jack
                          #51

                          @fredf sagte in Debugging:

                          @jack
                          Ich lehne mich mal aus dem Fenster und sage das hier im Forum 90% normale User sind. Skripten (Programmieren), mit welchem Editor auch immer, können nicht viele...
                          Ich übrigens bis auf try and error auch nicht

                          Wie verwendest Du dann ioBroker? Ich meine, irgendwie musst Du ja Logiken "kreieren".

                          Treffen sich 2 Kannibalen; "Ich hab gestern einen Clown gegessen." - "Und, wie hat er geschmeckt?" - "Komisch"

                          HomoranH 1 Antwort Letzte Antwort
                          0
                          • JackJ Jack

                            @fredf sagte in Debugging:

                            @jack
                            Ich lehne mich mal aus dem Fenster und sage das hier im Forum 90% normale User sind. Skripten (Programmieren), mit welchem Editor auch immer, können nicht viele...
                            Ich übrigens bis auf try and error auch nicht

                            Wie verwendest Du dann ioBroker? Ich meine, irgendwie musst Du ja Logiken "kreieren".

                            HomoranH Nicht stören
                            HomoranH Nicht stören
                            Homoran
                            Global Moderator Administrators
                            schrieb am zuletzt editiert von
                            #52

                            @jack sagte in Debugging:

                            Wie verwendest Du dann ioBroker? Ich meine, irgendwie musst Du ja Logiken "kreieren".

                            ich bin zwar nicht @FredF

                            erstens muss man keine Logiken basteln wenn man iobroker nutzen will.
                            wenn doch, muss es lange noch kein javascript sein.
                            da gibt es noch szenen und andere low level Adapter.
                            dann gäbe es noch node-red, und die grafischen Varianten von Javascript: Rules und Blockly.
                            Ich nutze Blockly, weil ich ums Verrecken die js Syntax nicht hinbekomme.
                            Dort arbeite ich auch oft nach trial & error, fange mit einem rudimentären Skript an und baue es schrittweise immer weiter aus.
                            Wenn es nicht wie erwartet läuft, setze ich debug-Bausteine an neuralgische Punkte und lasse mir z.B. die Zwischenergebnisse von Rechenoperationen ausgeben.

                            kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                            Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                            der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                            1 Antwort Letzte Antwort
                            1
                            Antworten
                            • In einem neuen Thema antworten
                            Anmelden zum Antworten
                            • Älteste zuerst
                            • Neuste zuerst
                            • Meiste Stimmen


                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            530

                            Online

                            32.6k

                            Benutzer

                            82.2k

                            Themen

                            1.3m

                            Beiträge
                            Community
                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                            ioBroker Community 2014-2025
                            logo
                            • Anmelden

                            • Du hast noch kein Konto? Registrieren

                            • Anmelden oder registrieren, um zu suchen
                            • Erster Beitrag
                              Letzter Beitrag
                            0
                            • Home
                            • Aktuell
                            • Tags
                            • Ungelesen 0
                            • Kategorien
                            • Unreplied
                            • Beliebt
                            • GitHub
                            • Docu
                            • Hilfe