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
    900

  • 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

    @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?

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

    @jack sagte in Debugging:

    Darum Verstehe ich es ja nicht...

    tipp den Text in notepad++, dann passiert auch nichts!

    da existiert keinerlei engine im Editor! einfach plain Text.
    Auch wenn du die Zeichenfolge als ID erkennst, kann der js-Adapter erst nach der kompilierung damit etwas anfangen.

    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
    • 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

                              744

                              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