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
    899

  • 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 Offline
    JackJ Offline
    Jack
    schrieb am zuletzt editiert von Jack
    #1

    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

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

    Meister MopperM paul53P OliverIOO JackJ 4 Antworten 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

      Meister MopperM Online
      Meister MopperM Online
      Meister Mopper
      schrieb am zuletzt editiert von
      #2

      @jack sagte in Debugging:

      Ich komme nicht von der IT, sondern aus der OT.

      Was bedeutet dies?

      Proxmox und HA

      JackJ 1 Antwort Letzte Antwort
      0
      • Meister MopperM Meister Mopper

        @jack sagte in Debugging:

        Ich komme nicht von der IT, sondern aus der OT.

        Was bedeutet dies?

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

        @meister-mopper https://www.channelpartner.de/a/so-unterscheiden-sich-it-und-ot,3335362

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

        Meister MopperM 1 Antwort Letzte Antwort
        0
        • JackJ Jack

          @meister-mopper https://www.channelpartner.de/a/so-unterscheiden-sich-it-und-ot,3335362

          Meister MopperM Online
          Meister MopperM Online
          Meister Mopper
          schrieb am zuletzt editiert von
          #4

          @jack
          Danke, operation technology war mir nicht bekannt.

          Proxmox und HA

          1 Antwort Letzte Antwort
          0
          • Jey CeeJ Online
            Jey CeeJ Online
            Jey Cee
            Developer
            schrieb am zuletzt editiert von
            #5

            Also das kann der Javascript Adapter durchaus, aber wenn du das mal genutzt hast wird dir klar warum es das in Blockly nicht gibt wie du dir das vorstellst.
            Es frisst unglaublich Ressourcen.

            Persönlicher Support
            Spenden -> paypal.me/J3YC33

            JackJ 1 Antwort Letzte Antwort
            0
            • Jey CeeJ Jey Cee

              Also das kann der Javascript Adapter durchaus, aber wenn du das mal genutzt hast wird dir klar warum es das in Blockly nicht gibt wie du dir das vorstellst.
              Es frisst unglaublich Ressourcen.

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

              @jey-cee Ja, mir ist das Problem mit den Speicherbereichen und dem Kompilat (Kompilierter Code. Schreibt man das nicht so?) durchaus klar. -Der Javaskript Adapter hier im IOBroker kann das?- Aber wenn man die Logik schreibt, würde ein solcher Adapter meiner Meinung nach durchaus sinn machen. Ist der Code fertig, [strgC] [strgV] und man hat einen funktionierenden Code in Javascript. - Dann braucht eh keiner mehr das "Debugging". Und wenn was geändert wird, zurück in die Entwiklungsumgebung kopieren, basteln, und wenns geht, wieder rausnehmen.

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

              DJMarc75D cashC 2 Antworten Letzte Antwort
              0
              • JackJ Jack

                @jey-cee Ja, mir ist das Problem mit den Speicherbereichen und dem Kompilat (Kompilierter Code. Schreibt man das nicht so?) durchaus klar. -Der Javaskript Adapter hier im IOBroker kann das?- Aber wenn man die Logik schreibt, würde ein solcher Adapter meiner Meinung nach durchaus sinn machen. Ist der Code fertig, [strgC] [strgV] und man hat einen funktionierenden Code in Javascript. - Dann braucht eh keiner mehr das "Debugging". Und wenn was geändert wird, zurück in die Entwiklungsumgebung kopieren, basteln, und wenns geht, wieder rausnehmen.

                DJMarc75D Offline
                DJMarc75D Offline
                DJMarc75
                schrieb am zuletzt editiert von
                #7

                @jack sorry aber das hat in der Kategorie "Einsteigerfragen" wenig zu suchen.... das ist voll Nerd und bring Einsteiger hier nicht weiter und bestimmt sehr durcheinander !

                ... meine Meinung - kann mich aber wie oft auch täuschen !!!

                Lehrling seit 1975 !!!
                Beitrag geholfen ? dann gerne ein upvote rechts unten im Beitrag klicken ;)
                https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge

                JackJ 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

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von paul53
                  #8

                  @jack sagte: damit Debugging in (kleinen) Javaskripten im großen und ganzen überflüssig ist.

                  Das gezeigte sind Interpreter, die zyklisch abarbeiten. Node.js kompiliert aber und Javascript arbeitet Ereignis gesteuert.

                  EDIT: Dein Logo (RS-Flipflop) gefällt mir.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  JackJ 2 Antworten Letzte Antwort
                  0
                  • JackJ Jack

                    @jey-cee Ja, mir ist das Problem mit den Speicherbereichen und dem Kompilat (Kompilierter Code. Schreibt man das nicht so?) durchaus klar. -Der Javaskript Adapter hier im IOBroker kann das?- Aber wenn man die Logik schreibt, würde ein solcher Adapter meiner Meinung nach durchaus sinn machen. Ist der Code fertig, [strgC] [strgV] und man hat einen funktionierenden Code in Javascript. - Dann braucht eh keiner mehr das "Debugging". Und wenn was geändert wird, zurück in die Entwiklungsumgebung kopieren, basteln, und wenns geht, wieder rausnehmen.

                    cashC Offline
                    cashC Offline
                    cash
                    Most Active
                    schrieb am zuletzt editiert von
                    #9

                    @jack Ich verstehe es trotzdem nicht. Was habe ich davon zu wissen wie die Variablen gefüllt werden? Je nach Script haben Variablen in Ihren langen Scriptläufen unterschiedliche Stände…

                    Nochdazu sind Scripte abhängig von anderen Scripten oder Zuständen, die man auch nicht so einfach nachstellen kann oder will. Deshalb passieren manche Tests in Reallife. Und wie was das mit den Notfallübungen die so schön funktionieren und in Reallife fast immer durch einen dummen Zufall dann doch nicht so laufen wie gedacht :-)

                    Noch dazu kann es Fehler beim Adapter geben um ein debugging in Scripten kommt man nach meiner Meinung nicht drumherum und unleserlicher wird das Script dadurch auch nicht. Ich kommentiere auch noch fleißig einzelne Bereiche so das viele Scripte hinterher 500 oder auch 1000 Zeilen haben. Das ganze kann man lesen. Auch nach 2 Monaten kann ich problemslos kleine Anpassungen an den div. Scripten vornehmen…. Oft baue ich zwar debugging bewußt ein nutze es aber tortzdem nicht wenn ich mir erstmal denke das es so läuft… was es dann auch in 9 von 10 Fällen so tut.

                    JackJ 1 Antwort Letzte Antwort
                    0
                    • DJMarc75D DJMarc75

                      @jack sorry aber das hat in der Kategorie "Einsteigerfragen" wenig zu suchen.... das ist voll Nerd und bring Einsteiger hier nicht weiter und bestimmt sehr durcheinander !

                      ... meine Meinung - kann mich aber wie oft auch täuschen !!!

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

                      @djmarc75 Sollte ja auch zur Vereinfachung der Fehlersuche dienen. Ist ja die Kategorie " Anregungen - Wünsche - Verbesserungsvorschläge"... Und Punkto Nerd, hier -IOBroker/Javascript- bin ich Einsteiger...

                      Wenn das hier wo anders besser hin passt, bitte Verschieben (lassen), oder auch löschen, sollte es sowieso keine Möglichkeit geben, so etwas umzusetzen...

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

                      HomoranH 1 Antwort Letzte Antwort
                      0
                      • JackJ Jack

                        @djmarc75 Sollte ja auch zur Vereinfachung der Fehlersuche dienen. Ist ja die Kategorie " Anregungen - Wünsche - Verbesserungsvorschläge"... Und Punkto Nerd, hier -IOBroker/Javascript- bin ich Einsteiger...

                        Wenn das hier wo anders besser hin passt, bitte Verschieben (lassen), oder auch löschen, sollte es sowieso keine Möglichkeit geben, so etwas umzusetzen...

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

                        @jack sagte in Debugging:

                        Und Punkto Nerd, hier -IOBroker/Javascript- bin ich Einsteiger...

                        aber das Thema ist definitiv kein Einsteigerniveau

                        wo darf's denn hin?
                        Skripte oder allgemein?

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

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

                          @jack

                          also generell debugging wird man immer machen müssen. keiner ist so perfekt, egal in welcher sprache, das man immer ein perfektes ergebnis erhält ohne irgend einen fehler zu machen. egal in welcher programmiersprache oder syntaxlogik

                          blockly versucht ja, dem nutzer zumindest die möglichkeiten der syntax unter die arme zu greifen, in dem er nur syntaktisch korrekten code erzeugen kann.
                          leider hilft das bei der logik manchmal nicht immer weiter.

                          ich gebe dir recht, in blockly ist das mit dem debugging nur mit individuellem variablen-output möglich.
                          selbst google hat da keine besserein ideen
                          https://www.youtube.com/watch?v=N0ahsEvo45M

                          in javascript selbst (also browser javascript und nodejs) ist direkt ein debugger protokoll eingebaut, welches genau die von dir oben genannten informationen liefert (step-by-step-ausführung, breakt-points, auch conditional breakpoints, inspection, etc.)
                          nodejs
                          https://nodejs.org/en/docs/guides/debugging-getting-started/
                          chrome und edge: über die web developer tools

                          für die skripte im javascript-adapter müsste das theoretisch auch klappen,
                          da die skripte in einer jeweiligen javascript VM ausgeführt werden.
                          ausprobiert habe ich das nie.
                          auch gibt es noch eine Erweiterung für vs code, mit der man skripte in vscode entwickeln kann und dann wieder mit iobroker synchronisieren kann.

                          ich selbst entwickle meine iobroker skripte auch lieber in vs code. für die iobroker spezifiischen befehle mach ich mir dann individuell wrapper, die die funktionalität simulieren. endgültig getestet wird dann im iobroker

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

                            @jack sagte: damit Debugging in (kleinen) Javaskripten im großen und ganzen überflüssig ist.

                            Das gezeigte sind Interpreter, die zyklisch abarbeiten. Node.js kompiliert aber und Javascript arbeitet Ereignis gesteuert.

                            EDIT: Dein Logo (RS-Flipflop) gefällt mir.

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

                            @paul53 Ja, ich weis. Es sind 2 Verschiedene Welten (OT <=> IT) immerhin arbeite "ich" mit Software von "euch". Aber hier im IOBroker, hätte ich schon gedacht, das man - wie soll ich sagen?

                            on(["fhem.0.SZ_D2.state"],
                                function (obj) {
                                    var sDim = getState("fhem.0.SZ_D2.state").val;
                                    if (sDim == "off") {
                                        setState('zigbee.0.001788010b9af0de.brightness', 0);
                                        return;
                                    }
                            

                            Und nicht darunter sondern (wie auf meinen Bildern rechts daneben):

                            on([TRUE],
                                function (obj) {
                                    var sDim = "dim 40";
                                    if (sDim == "off") {
                            /* von hier bis ende Komentar ist ausgegraut, da FALSE
                                        setState('zigbee.0.001788010b9af0de.brightness', 0);
                                        return;
                            */
                                    }
                            

                            Man nimmt im Grunde die Daten aus den IOBroker Objekten, und ersetzt sie hier. Einfach damit man gleich sieht was man tut.

                            Ich dachte ja nicht daran etwas am Javascripting zu ändern, sondern das erstellen der Scripts zu vereinfachen.

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

                            OliverIOO paul53P 2 Antworten Letzte Antwort
                            0
                            • HomoranH Homoran

                              @jack sagte in Debugging:

                              Und Punkto Nerd, hier -IOBroker/Javascript- bin ich Einsteiger...

                              aber das Thema ist definitiv kein Einsteigerniveau

                              wo darf's denn hin?
                              Skripte oder allgemein?

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

                              @homoran Keine Ahnung... Ich wollte damit keine Diskusion ins rollen bringen. - War "nur" eine "Idee".
                              Aber wohl "Skripte"

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

                              HomoranH 1 Antwort Letzte Antwort
                              0
                              • JackJ Jack

                                @paul53 Ja, ich weis. Es sind 2 Verschiedene Welten (OT <=> IT) immerhin arbeite "ich" mit Software von "euch". Aber hier im IOBroker, hätte ich schon gedacht, das man - wie soll ich sagen?

                                on(["fhem.0.SZ_D2.state"],
                                    function (obj) {
                                        var sDim = getState("fhem.0.SZ_D2.state").val;
                                        if (sDim == "off") {
                                            setState('zigbee.0.001788010b9af0de.brightness', 0);
                                            return;
                                        }
                                

                                Und nicht darunter sondern (wie auf meinen Bildern rechts daneben):

                                on([TRUE],
                                    function (obj) {
                                        var sDim = "dim 40";
                                        if (sDim == "off") {
                                /* von hier bis ende Komentar ist ausgegraut, da FALSE
                                            setState('zigbee.0.001788010b9af0de.brightness', 0);
                                            return;
                                */
                                        }
                                

                                Man nimmt im Grunde die Daten aus den IOBroker Objekten, und ersetzt sie hier. Einfach damit man gleich sieht was man tut.

                                Ich dachte ja nicht daran etwas am Javascripting zu ändern, sondern das erstellen der Scripts zu vereinfachen.

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

                                @jack sagte in Debugging:

                                Es sind 2 Verschiedene Welten (OT <=> IT)

                                ist es das tatsächlich? in einer Welt in der immer mehr von "Software defined xyz" geredet wird, ist das doch alles bereits zusammen.

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

                                  @homoran Keine Ahnung... Ich wollte damit keine Diskusion ins rollen bringen. - War "nur" eine "Idee".
                                  Aber wohl "Skripte"

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

                                  @jack sagte in Debugging:

                                  Ich wollte damit keine Diskusion ins rollen bringe

                                  Warum nicht?
                                  konstruktive Diskussionen sind immer gut!

                                  @jack sagte in Debugging:

                                  Aber wohl "Skripte"

                                  erledigt
                                  bevor es für echte Noobs zu abschreckend wird 😀

                                  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
                                  1
                                  • JackJ Jack

                                    @paul53 Ja, ich weis. Es sind 2 Verschiedene Welten (OT <=> IT) immerhin arbeite "ich" mit Software von "euch". Aber hier im IOBroker, hätte ich schon gedacht, das man - wie soll ich sagen?

                                    on(["fhem.0.SZ_D2.state"],
                                        function (obj) {
                                            var sDim = getState("fhem.0.SZ_D2.state").val;
                                            if (sDim == "off") {
                                                setState('zigbee.0.001788010b9af0de.brightness', 0);
                                                return;
                                            }
                                    

                                    Und nicht darunter sondern (wie auf meinen Bildern rechts daneben):

                                    on([TRUE],
                                        function (obj) {
                                            var sDim = "dim 40";
                                            if (sDim == "off") {
                                    /* von hier bis ende Komentar ist ausgegraut, da FALSE
                                                setState('zigbee.0.001788010b9af0de.brightness', 0);
                                                return;
                                    */
                                            }
                                    

                                    Man nimmt im Grunde die Daten aus den IOBroker Objekten, und ersetzt sie hier. Einfach damit man gleich sieht was man tut.

                                    Ich dachte ja nicht daran etwas am Javascripting zu ändern, sondern das erstellen der Scripts zu vereinfachen.

                                    paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #17

                                    @jack sagte: nicht darunter sondern (wie auf meinen Bildern rechts daneben):

                                    Wie soll ein kompiliertes Programm Rückgriff auf den Editor erhalten?

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    JackJ paul53P 2 Antworten Letzte Antwort
                                    0
                                    • paul53P paul53

                                      @jack sagte: nicht darunter sondern (wie auf meinen Bildern rechts daneben):

                                      Wie soll ein kompiliertes Programm Rückgriff auf den Editor erhalten?

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

                                      PAUSE!

                                      Ich arbeite das hier mal wie ich es von SPSen gewohnt bin, von oben nach unten ab. -Und dann wieder von vorne.

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

                                      1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @jack sagte: damit Debugging in (kleinen) Javaskripten im großen und ganzen überflüssig ist.

                                        Das gezeigte sind Interpreter, die zyklisch abarbeiten. Node.js kompiliert aber und Javascript arbeitet Ereignis gesteuert.

                                        EDIT: Dein Logo (RS-Flipflop) gefällt mir.

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

                                        @paul53 sagte in Debugging:

                                        Das gezeigte sind Interpreter, die zyklisch abarbeiten. Node.js kompiliert aber und Javascript arbeitet Ereignis gesteuert.

                                        Danke für das Kompliment :) - Ich Programmiere Maschinen. Keine Software.

                                        Auch in der Automatisierung wird vieles kompiliert, und man muss in den Kompiler-Optionen angeben wie "Tief?" man dann einblick haben möchte. -Aber es geht- Es geht auch auf die Resourcen, aber wie gesagt, braucht man es ja auch nur zum entwickeln. wenn die Sache läuft, dann läuft sie ja.

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

                                        1 Antwort Letzte Antwort
                                        0
                                        • cashC cash

                                          @jack Ich verstehe es trotzdem nicht. Was habe ich davon zu wissen wie die Variablen gefüllt werden? Je nach Script haben Variablen in Ihren langen Scriptläufen unterschiedliche Stände…

                                          Nochdazu sind Scripte abhängig von anderen Scripten oder Zuständen, die man auch nicht so einfach nachstellen kann oder will. Deshalb passieren manche Tests in Reallife. Und wie was das mit den Notfallübungen die so schön funktionieren und in Reallife fast immer durch einen dummen Zufall dann doch nicht so laufen wie gedacht :-)

                                          Noch dazu kann es Fehler beim Adapter geben um ein debugging in Scripten kommt man nach meiner Meinung nicht drumherum und unleserlicher wird das Script dadurch auch nicht. Ich kommentiere auch noch fleißig einzelne Bereiche so das viele Scripte hinterher 500 oder auch 1000 Zeilen haben. Das ganze kann man lesen. Auch nach 2 Monaten kann ich problemslos kleine Anpassungen an den div. Scripten vornehmen…. Oft baue ich zwar debugging bewußt ein nutze es aber tortzdem nicht wenn ich mir erstmal denke das es so läuft… was es dann auch in 9 von 10 Fällen so tut.

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

                                          @cash sagte in Debugging:

                                          @jack Ich verstehe es trotzdem nicht. Was habe ich davon zu wissen wie die Variablen gefüllt werden? Je nach Script haben Variablen in Ihren langen Scriptläufen unterschiedliche Stände…

                                          Klar. Aber wenn die Variable per Du nicht den passenden Wert hat, ist klar das sie irgendwo davor eben falsch befüllt wurde.

                                          Und wenn Du jetzt "einfach in Deinem Code hoch scrollst", bis zur vorherigen Verwendungsstelle, siehst Du warum sie dort einen "Falschen" Wert bekommen hat.

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          752

                                          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