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.
    • Homoran
      Homoran Global Moderator Administrators @Jack last edited by

      @jack sagte in Debugging:

      Verstehe die Anspielung? echt nicht...

      ist keine Anspielung!

      aber das Thema ist recht nerdig und nicht für Einsteiger ins Smarthome der adäquate Level.

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

        @jack
        Das sind auch Anforderungen, die beachtet werden müssen.
        Wenn sie nicht aufgestellt werden, dann müsste ein Software oder Maschinen Programmierer diese nicht beachten.
        Software ist dazu da irgendwelchen Input auszuwerten und irgendwelchen Output zu erzeugen um irgendwelche Anforderungen zu erreichen.
        Bei deiner Unterscheidung ist bei IT der Input aus irgendwelchen Dateien und Output dann auch irgendwelche Dateien.
        Bei OT dann Input aus Sensoren und Output die Ansteuerung von Relais, damit sich was bewegt oder dreht.
        Einen Großen Unterschied seh ich da nicht.

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

          @paul53 sagte:

          Du möchtest also einen Skripteditor mit eingebautem Interpreter?
          In ioBroker sind Skripteditor und Skriptausführung strikt getrennt.

          Kenne ich mich leider viel (wie es scheint wirklich vieeeeel) zu wenig aus, und stelle es mir wohl zu einfach vor.

          Aber ein mal noch -bitte-

          Ich denke nicht das da ein Interpreter her muss.
          dd77c8d2-8c3e-48de-8fbf-dee2ea90ffc9-image.png
          Es sollte "nur" der Inhalt von diesem "Objekt" dargestellt werden. Oder ist das schon ein Interpreter? -Ich weis es leider nicht.

          Aber ich könnte jetzt das Licht einschalten, und würde sehen, das "etwas passiert ist", oder es das falsche Objekt war.
          Beziehungsweise könnte man sehen das es ein Enumerator ist, oder nur ein Boolean.

          Abgesehen von der Umsetzbarkeit ist klar was ich meine?

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

            @jack sagte in Debugging:

            Oder ist das schon ein Interpreter? -Ich weis es leider nicht.

            ich weiss es auch nicht, aber für mich muss jetzt irgendetwas den Text interpretieren und ausführbar machen.
            Das geschieht entweder durch kompilieren, oder im Interpteter

            GFA BASIC ist schon einiges her

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

              @homoran Von GFA-Basic hab ich noch ein Handbuch!

              Jack Codierknecht 2 Replies Last reply Reply Quote 0
              • Jack
                Jack @Jack last edited by

                @Euch darf man abschweifen und fragen was ihr beruflich? macht?

                Ich fragte mich schon mit fhem, und auch jetzt hier: Hat es schon mal jemand ohne Programmier Kenntnisse geschafft, sein Haus mit einer solchen Software "Befriedigend" zu steuern, oder seid ihr alle Prof. Entwickler?

                Gruß,
                Jack

                OliverIO Homoran FredF 3 Replies Last reply Reply Quote 0
                • OliverIO
                  OliverIO @Jack last edited by

                  @jack
                  Ich bin kein professioneller Entwickler.
                  Kenne JavaScript aber schon seit Netscape
                  Darüber hinaus noch einige andere Programmiersprachen.
                  Was man so über die Jahre halt so ausprobiert.

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

                    @jack sagte in Debugging:

                    oder seid ihr alle Prof. Entwickler?

                    ich bin ganz normaler User.
                    Habe keine technische, mathematische oder digitale Ausbildung.

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

                      @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

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

                        @jack sagte: Es sollte "nur" der Inhalt von diesem "Objekt" dargestellt werden. Oder ist das schon ein Interpreter?

                        Dazu benötigt man einen Interpreter, da das kompilierte Skript den Skripteditor nicht kennt, also den Wert nicht an diesen übergeben kann.
                        Anmerkung: Ich komme auch nicht von der IT, sondern war in der Gebäudeautomatisierung (DDC) tätig.

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

                          @jack
                          Auch in „meiner Welt“ besteht ein nicht unerheblicher Teil meiner Arbeit aus debugging. Das bleibt nicht aus, denn „jedes nicht triviale Programm enthält mindestens einen Bug“.
                          Dazu muss der Code aber auf spezielle Weise compiliert werden, muss Symboltabellen und Einsprungpunkte enthalten und wird dadurch um ein mehrfaches größer.

                          Und davon mal ganz abgesehen: Im ioBroker geschieht vieles asynchron. In „meine Welt“ übersetzt wäre das wohl am ehesten mit Multithreading vergleichbar. Das lässt sich nur schwer und manchmal gar nicht sinnvoll debuggen.

                          Wir sprechen ja hier nicht über Programme mit Millionen von Codezeilen, sondern von verhältnismäßig kleinen Scripten.
                          Da kann ich beim Entwickeln mit Blockly mit ein paar eingestreuten Debug-Meldungen gut leben.

                          Und wie @OliverIO schon schrieb: In JS ist man mit VS Code deutlich komfortabler unterwegs.
                          Im neuen Jahr werde ich das endlich mal so aufsetzen, dass ich JS dort auch debuggen kann. Bis dahin sitze ich Abermillionen WoMo auf 'nem Stellplatz in der Pampa.. kein ioB weit und breit 😁

                          1 Reply Last reply Reply Quote 0
                          • 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
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            910
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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