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. Blockly
  5. Timeout Zeit verkürzen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Timeout Zeit verkürzen

Geplant Angeheftet Gesperrt Verschoben Blockly
16 Beiträge 6 Kommentatoren 842 Aufrufe 4 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.
  • G guitardoc

    @codierknecht Naja, eine Variante wäre

    if timeout läuft setze time vom timeout auf x.

    Oder so ähnlich... :-)

    bahnuhrB Online
    bahnuhrB Online
    bahnuhr
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #7

    @guitardoc

    Na, dann mach dies doch.

    Lösche den aktuellen Timeout und setze einen neuen mit x.


    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
    Danke.
    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
    ScreenToGif :https://www.screentogif.com/downloads.html

    G CodierknechtC 2 Antworten Letzte Antwort
    0
    • bahnuhrB bahnuhr

      @guitardoc

      Na, dann mach dies doch.

      Lösche den aktuellen Timeout und setze einen neuen mit x.

      G Offline
      G Offline
      guitardoc
      schrieb am zuletzt editiert von
      #8

      @bahnuhr Ja, aber dann muss ich die Aktionen, die nach dem Timeout kommen, doppelt schreiben oder in einer Funktion kapseln. Das ist kein Problem, nur dachte ich, dass es eine kürzere Möglichkeit gibt.

      HomoranH 1 Antwort Letzte Antwort
      0
      • bahnuhrB bahnuhr

        @guitardoc

        Na, dann mach dies doch.

        Lösche den aktuellen Timeout und setze einen neuen mit x.

        CodierknechtC Offline
        CodierknechtC Offline
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von Codierknecht
        #9

        @bahnuhr sagte in Timeout Zeit verkürzen:

        und setze einen neuen mit x

        Und wenn X = 0 dann braucht's gar keinen timeout.
        Dann ruft man direkt den Funktionsblock auf. So wie es @Meister-Mopper und @Asgothian beschrieben haben.

        Programmierer sind halt von Haus aus faul. Darum schreiben sie sowas in eine Funktion, damit man den Code nur 1x pflegen muss. => "Don't repeat yourself" (Eine der ersten Clean-Code-Regeln).

        Nochmal: Das sieht nur in Blockly so sperrig aus. Im (Pseudo-) Code sieht das völlig straight-forward aus:

        function MachWas() {
          //hier wird die eigentliche Funktionalität implementiert
        }
        
        // Fall 1: Mit Timeout
        on ({id: 'id1'}) {
            clearTimeout(timeout);
            timeout = setTimeout({
                MachWas();
            }, 1000);
        }
        
        // Fall 2: Ohne Timeout
        on ({id: 'id2'}) {
            clearTimeout(timeout);
            MachWas();
        }
        

        "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

        bahnuhrB G 2 Antworten Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @bahnuhr sagte in Timeout Zeit verkürzen:

          und setze einen neuen mit x

          Und wenn X = 0 dann braucht's gar keinen timeout.
          Dann ruft man direkt den Funktionsblock auf. So wie es @Meister-Mopper und @Asgothian beschrieben haben.

          Programmierer sind halt von Haus aus faul. Darum schreiben sie sowas in eine Funktion, damit man den Code nur 1x pflegen muss. => "Don't repeat yourself" (Eine der ersten Clean-Code-Regeln).

          Nochmal: Das sieht nur in Blockly so sperrig aus. Im (Pseudo-) Code sieht das völlig straight-forward aus:

          function MachWas() {
            //hier wird die eigentliche Funktionalität implementiert
          }
          
          // Fall 1: Mit Timeout
          on ({id: 'id1'}) {
              clearTimeout(timeout);
              timeout = setTimeout({
                  MachWas();
              }, 1000);
          }
          
          // Fall 2: Ohne Timeout
          on ({id: 'id2'}) {
              clearTimeout(timeout);
              MachWas();
          }
          
          bahnuhrB Online
          bahnuhrB Online
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von bahnuhr
          #10

          genauso hätte ich es auch gemacht.

          Für was ist das?

          @codierknecht sagte in Timeout Zeit verkürzen:

          timeout = null;


          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          CodierknechtC 1 Antwort Letzte Antwort
          0
          • bahnuhrB bahnuhr

            genauso hätte ich es auch gemacht.

            Für was ist das?

            @codierknecht sagte in Timeout Zeit verkürzen:

            timeout = null;

            CodierknechtC Offline
            CodierknechtC Offline
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #11

            @bahnuhr sagte in Timeout Zeit verkürzen:

            Für was ist das?

            "Pseudo-Code".
            Hatte ich einfach aus 'nem Blockly übernommen. Kann zur Vereinfachung auch weg. Korrigiere ich.

            "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
            0
            • CodierknechtC Codierknecht

              @bahnuhr sagte in Timeout Zeit verkürzen:

              und setze einen neuen mit x

              Und wenn X = 0 dann braucht's gar keinen timeout.
              Dann ruft man direkt den Funktionsblock auf. So wie es @Meister-Mopper und @Asgothian beschrieben haben.

              Programmierer sind halt von Haus aus faul. Darum schreiben sie sowas in eine Funktion, damit man den Code nur 1x pflegen muss. => "Don't repeat yourself" (Eine der ersten Clean-Code-Regeln).

              Nochmal: Das sieht nur in Blockly so sperrig aus. Im (Pseudo-) Code sieht das völlig straight-forward aus:

              function MachWas() {
                //hier wird die eigentliche Funktionalität implementiert
              }
              
              // Fall 1: Mit Timeout
              on ({id: 'id1'}) {
                  clearTimeout(timeout);
                  timeout = setTimeout({
                      MachWas();
                  }, 1000);
              }
              
              // Fall 2: Ohne Timeout
              on ({id: 'id2'}) {
                  clearTimeout(timeout);
                  MachWas();
              }
              
              G Offline
              G Offline
              guitardoc
              schrieb am zuletzt editiert von
              #12

              @codierknecht said in Timeout Zeit verkürzen:

              Programmierer sind halt von Haus aus faul. Darum schreiben sie sowas in eine Funktion, damit man den Code nur 1x pflegen muss. => "Don't repeat yourself" (Eine der ersten Clean-Code-Regeln).

              Alles richtig und ich würde es im direkten Code auch so schreiben. Ich hatte nur gehofft, dass es im Blockly eine Variante gibt um den Timeout einfacher zu steuern, denn Funktionen in Blockly sind für kleinere Anweisungen prima, für größere aber eine Qual, zumal es, wenn ich es richtig sehe, nur maximal eine Ergebnisvariable (also das Ergebnis eines Funktionsaufrufs) gibt. Richtige Prozeduren mit mehreren Rückgabevariablen kann man im Blockly leider nicht schreiben, da müsste man direkt in Javascript schreiben. Und wenn es einigermaßen objektorientiert sein soll, dann gleich in TypeScript. Aber ich hatte das nun mal in Blockly angefangen und keine Lust in JS weiter zu schreiben und alles neu zu strukturieren.

              Ist doch alles kein großes Ding - meine Idee die ich dazu hatte geht nicht und ich muss die Prozeduren anders kapseln und aufrufen - alles schick.

              CodierknechtC 1 Antwort Letzte Antwort
              0
              • G guitardoc

                @bahnuhr Ja, aber dann muss ich die Aktionen, die nach dem Timeout kommen, doppelt schreiben oder in einer Funktion kapseln. Das ist kein Problem, nur dachte ich, dass es eine kürzere Möglichkeit gibt.

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

                @guitardoc sagte in Timeout Zeit verkürzen:

                Das ist kein Problem, nur dachte ich, dass es eine kürzere Möglichkeit gibt.

                wie hattest du es denn früher gemacht?

                @guitardoc sagte in Timeout Zeit verkürzen:

                Geht das irgendwie? Bestimmt, aber ich habe vergessen wie...

                heisst doch, dass du es schon gemacht hattest :thinking_face:

                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 -

                G 1 Antwort Letzte Antwort
                0
                • HomoranH Homoran

                  @guitardoc sagte in Timeout Zeit verkürzen:

                  Das ist kein Problem, nur dachte ich, dass es eine kürzere Möglichkeit gibt.

                  wie hattest du es denn früher gemacht?

                  @guitardoc sagte in Timeout Zeit verkürzen:

                  Geht das irgendwie? Bestimmt, aber ich habe vergessen wie...

                  heisst doch, dass du es schon gemacht hattest :thinking_face:

                  G Offline
                  G Offline
                  guitardoc
                  schrieb am zuletzt editiert von
                  #14

                  @homoran Ja, ich hatte vergessen, dass ich es früher auch schon mit gekapselten Prozeduren gemacht hatte und dachte, es gibt eine einfachere Methode...

                  1 Antwort Letzte Antwort
                  0
                  • G guitardoc

                    @codierknecht said in Timeout Zeit verkürzen:

                    Programmierer sind halt von Haus aus faul. Darum schreiben sie sowas in eine Funktion, damit man den Code nur 1x pflegen muss. => "Don't repeat yourself" (Eine der ersten Clean-Code-Regeln).

                    Alles richtig und ich würde es im direkten Code auch so schreiben. Ich hatte nur gehofft, dass es im Blockly eine Variante gibt um den Timeout einfacher zu steuern, denn Funktionen in Blockly sind für kleinere Anweisungen prima, für größere aber eine Qual, zumal es, wenn ich es richtig sehe, nur maximal eine Ergebnisvariable (also das Ergebnis eines Funktionsaufrufs) gibt. Richtige Prozeduren mit mehreren Rückgabevariablen kann man im Blockly leider nicht schreiben, da müsste man direkt in Javascript schreiben. Und wenn es einigermaßen objektorientiert sein soll, dann gleich in TypeScript. Aber ich hatte das nun mal in Blockly angefangen und keine Lust in JS weiter zu schreiben und alles neu zu strukturieren.

                    Ist doch alles kein großes Ding - meine Idee die ich dazu hatte geht nicht und ich muss die Prozeduren anders kapseln und aufrufen - alles schick.

                    CodierknechtC Offline
                    CodierknechtC Offline
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von
                    #15

                    @guitardoc sagte in Timeout Zeit verkürzen:

                    Richtige Prozeduren mit mehreren Rückgabevariablen kann man im Blockly leider nicht schreiben

                    Warum nicht? Gib doch ein JSON zurück.

                    Mehrere Rückgabewerte sind im eigentlichen Sinne ja nicht möglich.
                    Eine Funktion (eine Prozedur gibt in meiner Welt kein Ergebnis zurück) hat genau 1 Rückgabewert.
                    Das kann allerdings auch ein record/struct sein ... oder halt ein Objekt, was dann in JS als JSON notiert würde.

                    Rückgabe von Werten über Var/Out-Parameter ist eher 'ne Krücke und unschön.

                    "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

                    G 1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @guitardoc sagte in Timeout Zeit verkürzen:

                      Richtige Prozeduren mit mehreren Rückgabevariablen kann man im Blockly leider nicht schreiben

                      Warum nicht? Gib doch ein JSON zurück.

                      Mehrere Rückgabewerte sind im eigentlichen Sinne ja nicht möglich.
                      Eine Funktion (eine Prozedur gibt in meiner Welt kein Ergebnis zurück) hat genau 1 Rückgabewert.
                      Das kann allerdings auch ein record/struct sein ... oder halt ein Objekt, was dann in JS als JSON notiert würde.

                      Rückgabe von Werten über Var/Out-Parameter ist eher 'ne Krücke und unschön.

                      G Offline
                      G Offline
                      guitardoc
                      schrieb am zuletzt editiert von
                      #16

                      @codierknecht JSON wäre eine Idee, das stimmt. Bin damit nicht ganz so vertraut, daher vergesse ich das JSON immer.

                      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

                      309

                      Online

                      32.7k

                      Benutzer

                      82.4k

                      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