Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Debugging

    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

    Debugging

    This topic has been deleted. Only users with topic management privileges can see it.
    • Jack
      Jack @paul53 last edited by

      @paul53 sag mir wenn ich Dir auf die Nerven gehe!
      Es sollte eigentlich gar nicht kompiliert werden.

      Ich glaube es mit Variablen/Objekten zu benennen mein Fehler ist. Oder Du zu tief blickst.

      Im JS-Editor brauche ich zB. 'leuchtet meine Lampe';
      Also mach ich einen getState() auf Lampe.brightness.

      So. Jetzt möchte neben stehend sehen:
      klicke auf der IOBroker-Oberfläche auf Objekte,
      auf ZigBee, auf die Lampe, und schaue auf den Ausgabewert von brightness.

      Der Wert soll neben stehen.

      ... mehr soll es gar nicht sein! -Vorerst zumindest.

      Homoran 1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators @Jack last edited by

        @jack sagte in Debugging:

        Also mach ich einen getState() auf Lampe.brightness.

        und wer soll das umsetzen?

        Im Editor ist das reiner Text.

        Jack 1 Reply Last reply Reply Quote 0
        • Jack
          Jack @Homoran last edited by 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?

          Homoran Codierknecht 2 Replies Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @Jack last edited by

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

            1 Reply Last reply Reply Quote 0
            • Jack
              Jack @Jack last edited by

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

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @Jack last edited by

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

                Jack 1 Reply Last reply Reply Quote 0
                • Jack
                  Jack @Homoran last edited by

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

                  OliverIO Homoran 2 Replies Last reply Reply Quote 0
                  • OliverIO
                    OliverIO @Jack last edited by 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.

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

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

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

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

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

                        1 Reply Last reply Reply Quote 0
                        • Codierknecht
                          Codierknecht Developer Most Active @Jack last edited by

                          @jack sagte in Debugging:

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

                          Den gibt‘s doch: Nennt sich JavaScript-Adapter

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

                            Codierknecht Jack 2 Replies Last reply Reply Quote 1
                            • Codierknecht
                              Codierknecht Developer Most Active @OliverIO last edited by

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

                              1 Reply Last reply Reply Quote 1
                              • Jack
                                Jack @OliverIO last edited by

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

                                1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @Jack last edited by

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

                                  1 Reply Last reply Reply Quote 0
                                  • Jack
                                    Jack @FredF last edited by 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".

                                    Homoran 1 Reply Last reply Reply Quote 0
                                    • Homoran
                                      Homoran Global Moderator Administrators @Jack last edited by

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

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      906
                                      Online

                                      31.9k
                                      Users

                                      80.3k
                                      Topics

                                      1.3m
                                      Posts

                                      10
                                      52
                                      1875
                                      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