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. [gelöst] Blockly schaltet zu oft

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

[gelöst] Blockly schaltet zu oft

Geplant Angeheftet Gesperrt Verschoben Blockly
34 Beiträge 4 Kommentatoren 2.9k Aufrufe 3 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.
  • CodierknechtC Codierknecht

    @chris777
    Vor dem Starten eines Timeout diesen erstmal stoppen.
    Sonst laufen ggf. mehrere Instanzen davon parallel.

    Du willst ja nur schalten, wenn der Zustand auch 30 Minuten andauert.
    So wie das aktuell gemacht ist, wird ein Timeout gestartet und wenn sich innerhab der 30 Minuten etwas ändert wird ein neuer Timeout gestartet. Die enden dann beide irgendwann und schreiben den Wert.

    C Offline
    C Offline
    Chris777
    schrieb am zuletzt editiert von Chris777
    #3

    @codierknecht konntest du mir das mit dem Stoppen bitte erklären oder ein Beispiel zeigen?

    paul53P 1 Antwort Letzte Antwort
    0
    • C Chris777

      @codierknecht konntest du mir das mit dem Stoppen bitte erklären oder ein Beispiel zeigen?

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

      @chris777 sagte: Beispiel zeigen?

      Blockly_temp.JPG

      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

      C 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @chris777 sagte: Beispiel zeigen?

        Blockly_temp.JPG

        C Offline
        C Offline
        Chris777
        schrieb am zuletzt editiert von
        #5

        @paul53 Geht es auch so? Dein Beispiel setze aktiv etc. verstehe ich nicht so richtig.
        SG Aktiv.JPG

        paul53P 1 Antwort Letzte Antwort
        0
        • C Chris777

          @paul53 Geht es auch so? Dein Beispiel setze aktiv etc. verstehe ich nicht so richtig.
          SG Aktiv.JPG

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

          @chris777 sagte: Geht es auch so?

          So laufen die Timer wahrscheinlich nie ab, da sie vorher immer wieder gestoppt werden.

          @chris777 sagte in Blockly schaltet zu oft:

          setze aktiv etc. verstehe ich nicht so richtig.

          Die Variable aktiv enthält den Sollzustand, der 30 Minuten nach Änderung geschrieben wird.

          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

          C 1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @chris777 sagte: Geht es auch so?

            So laufen die Timer wahrscheinlich nie ab, da sie vorher immer wieder gestoppt werden.

            @chris777 sagte in Blockly schaltet zu oft:

            setze aktiv etc. verstehe ich nicht so richtig.

            Die Variable aktiv enthält den Sollzustand, der 30 Minuten nach Änderung geschrieben wird.

            C Offline
            C Offline
            Chris777
            schrieb am zuletzt editiert von
            #7

            @paul53 Und was hat der sonst falls nicht Verzögerung timeout zu sagen?

            paul53P 1 Antwort Letzte Antwort
            0
            • C Chris777

              @paul53 Und was hat der sonst falls nicht Verzögerung timeout zu sagen?

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

              @chris777 sagte: was hat der sonst falls nicht Verzögerung timeout zu sagen?

              Das verhindert, dass der Timeout mehrfach gestartet wird.

              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

              C 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @chris777 sagte: was hat der sonst falls nicht Verzögerung timeout zu sagen?

                Das verhindert, dass der Timeout mehrfach gestartet wird.

                C Offline
                C Offline
                Chris777
                schrieb am zuletzt editiert von
                #9

                @paul53 Ich weiß, ich nerve vielleicht, aber was heist verzögerung timeout genau? Das der Timeout nicht gleich gestartet wird und wenn ja nach wieviel sek. wird er gestartet.

                Hast du eingutes Handbuch, wo man sich solche Funktionen angucken kann?

                paul53P HomoranH 2 Antworten Letzte Antwort
                0
                • C Chris777

                  @paul53 Ich weiß, ich nerve vielleicht, aber was heist verzögerung timeout genau? Das der Timeout nicht gleich gestartet wird und wenn ja nach wieviel sek. wird er gestartet.

                  Hast du eingutes Handbuch, wo man sich solche Funktionen angucken kann?

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

                  @chris777 sagte: was heist verzögerung timeout genau?

                  Es wird die Timer-Variable timeout geprüft. Wenn der Timer startet, wird sie auf ein spezielles Timer-Objekt gesetzt. Wenn der Timer gestoppt wird, wird die Variable timeout auf null gesetzt, so dass die Bedingung "nicht Verzögerung timeout" erfüllt ist.

                  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

                  C 1 Antwort Letzte Antwort
                  0
                  • paul53P paul53

                    @chris777 sagte: was heist verzögerung timeout genau?

                    Es wird die Timer-Variable timeout geprüft. Wenn der Timer startet, wird sie auf ein spezielles Timer-Objekt gesetzt. Wenn der Timer gestoppt wird, wird die Variable timeout auf null gesetzt, so dass die Bedingung "nicht Verzögerung timeout" erfüllt ist.

                    C Offline
                    C Offline
                    Chris777
                    schrieb am zuletzt editiert von
                    #11

                    @paul53 Danke!

                    1 Antwort Letzte Antwort
                    0
                    • C Chris777

                      @paul53 Ich weiß, ich nerve vielleicht, aber was heist verzögerung timeout genau? Das der Timeout nicht gleich gestartet wird und wenn ja nach wieviel sek. wird er gestartet.

                      Hast du eingutes Handbuch, wo man sich solche Funktionen angucken kann?

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

                      @chris777 sagte in Blockly schaltet zu oft:

                      aber was heist verzögerung timeout genau? Das der Timeout nicht gleich gestartet wird und wenn ja nach wieviel sek. wird er gestartet.

                      Nein! Du kannst die Verzögerung selbst mit einem Namen versehen, damit du verschiedene Verzögerungen in einem Blockly auseinander halten kannst.
                      Da du das nicht gemacht hast, heisst drine Verzögerung einfach noch "timeout"

                      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
                      • C Offline
                        C Offline
                        Chris777
                        schrieb am zuletzt editiert von
                        #13

                        Meine Lösung scheint auch zu funktionieren.

                        Gruß

                        HomoranH 1 Antwort Letzte Antwort
                        0
                        • C Chris777

                          Meine Lösung scheint auch zu funktionieren.

                          Gruß

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

                          @chris777 sagte in [gelöst] Blockly schaltet zu oft:

                          Meine Lösung scheint auch zu funktionieren.

                          und welche Möglichkeit hast du noch gefunden, die Paul, Codierknecht oder ich übersehen haben?

                          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 -

                          C 1 Antwort Letzte Antwort
                          0
                          • HomoranH Homoran

                            @chris777 sagte in [gelöst] Blockly schaltet zu oft:

                            Meine Lösung scheint auch zu funktionieren.

                            und welche Möglichkeit hast du noch gefunden, die Paul, Codierknecht oder ich übersehen haben?

                            C Offline
                            C Offline
                            Chris777
                            schrieb am zuletzt editiert von
                            #15

                            @homoran siehe oben mein screenshoot. Bevor der eine timeout startet wird der jeweils andere gestoppt und bis jetzt kommen saubere Signale.

                            HomoranH 1 Antwort Letzte Antwort
                            0
                            • C Chris777

                              @homoran siehe oben mein screenshoot. Bevor der eine timeout startet wird der jeweils andere gestoppt und bis jetzt kommen saubere Signale.

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

                              @chris777 kann es nicht!
                              Da ich immer noch nicht weiß was hinter den DPs steckt, natürlich nur auf Glaskugelbasis

                              der Timeout2 würde mehrfach gestartet, wenn öfter ein Wert >3000 kommt (3004, 3007, 3003,......) und gleichzeitig der andere unbekannte DP true ist.
                              Danach kannst du den Timeout2 nicht mehr stoppen.

                              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 -

                              CodierknechtC 1 Antwort Letzte Antwort
                              0
                              • HomoranH Homoran

                                @chris777 kann es nicht!
                                Da ich immer noch nicht weiß was hinter den DPs steckt, natürlich nur auf Glaskugelbasis

                                der Timeout2 würde mehrfach gestartet, wenn öfter ein Wert >3000 kommt (3004, 3007, 3003,......) und gleichzeitig der andere unbekannte DP true ist.
                                Danach kannst du den Timeout2 nicht mehr stoppen.

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

                                @homoran sagte in [gelöst] Blockly schaltet zu oft:

                                der Timeout2 würde mehrfach gestartet, wenn öfter ein Wert >3000 kommt (3004, 3007, 3003,......) und gleichzeitig der andere unbekannte DP true ist.
                                Danach kannst du den Timeout2 nicht mehr stoppen.

                                Genau darum stoppe ich (so ich denn mal welche verwende) jeden Timeout bevor ich ihn starte.
                                In der Regel will man ja etwas bewirken, wenn ein Zustand länger als x andauert.

                                Will man nach einer Zeit x etwas bewirken, sobald sich ein Zustand das erste mal ändert und sich dies innerhalb der Zeit auch so bleibt, nimmt man entweder eine Verriegelungs-Variable oder prüft, ob der Timer noch nicht läuft, bevor man einen neuen startet.

                                Mehrere Instanzen eines Timeouts gilt es auf jeden Fall zu vermeiden.

                                "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

                                C 1 Antwort Letzte Antwort
                                0
                                • C Offline
                                  C Offline
                                  Chris777
                                  schrieb am zuletzt editiert von
                                  #18

                                  Ihr habt recht, jetzt kommen wieder die Signale in kurzen Abständen...

                                  1 Antwort Letzte Antwort
                                  0
                                  • C Offline
                                    C Offline
                                    Chris777
                                    schrieb am zuletzt editiert von Chris777
                                    #19

                                    Und so? Da stoppe ich ja jeden Timeout, bevor der neue startet.
                                    SG Aktiv.JPG

                                    oder eher so?
                                    SG Aktiv 2.JPG

                                    1 Antwort Letzte Antwort
                                    0
                                    • CodierknechtC Codierknecht

                                      @homoran sagte in [gelöst] Blockly schaltet zu oft:

                                      der Timeout2 würde mehrfach gestartet, wenn öfter ein Wert >3000 kommt (3004, 3007, 3003,......) und gleichzeitig der andere unbekannte DP true ist.
                                      Danach kannst du den Timeout2 nicht mehr stoppen.

                                      Genau darum stoppe ich (so ich denn mal welche verwende) jeden Timeout bevor ich ihn starte.
                                      In der Regel will man ja etwas bewirken, wenn ein Zustand länger als x andauert.

                                      Will man nach einer Zeit x etwas bewirken, sobald sich ein Zustand das erste mal ändert und sich dies innerhalb der Zeit auch so bleibt, nimmt man entweder eine Verriegelungs-Variable oder prüft, ob der Timer noch nicht läuft, bevor man einen neuen startet.

                                      Mehrere Instanzen eines Timeouts gilt es auf jeden Fall zu vermeiden.

                                      C Offline
                                      C Offline
                                      Chris777
                                      schrieb am zuletzt editiert von
                                      #20

                                      @codierknecht Was ist eine Verriegelungsvariable und den timeout kann ich prüfen mit falls nicht timeout?

                                      Gruß

                                      paul53P 1 Antwort Letzte Antwort
                                      0
                                      • C Chris777

                                        @codierknecht Was ist eine Verriegelungsvariable und den timeout kann ich prüfen mit falls nicht timeout?

                                        Gruß

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

                                        @chris777 sagte: Was ist eine Verriegelungsvariable

                                        Die Verriegelung gegen erneuten Timerstart ist "nicht Verzögerung timeout2", also ist timeout2 die Verriegelungsvariable.

                                        @chris777 sagte in [gelöst] Blockly schaltet zu oft:

                                        oder eher so?

                                        So wird nicht mehr auf false geschaltet und die Logik ist umgedreht.

                                        Weshalb nicht so, wie hier gezeigt ("Switch" = "SG Aktiv")?

                                        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

                                        1 Antwort Letzte Antwort
                                        1
                                        • C Offline
                                          C Offline
                                          Chris777
                                          schrieb am zuletzt editiert von Chris777
                                          #22

                                          Ok, dann werde ich es mal so probieren.

                                          Für mich nochmal: es starten jedes Mal Timeouts, wenn die Bedingung erfüllt ist und der Trigger auslöst? Es ist nicht wie in einer SPS, dass solange das Signal anliegt die Bedingung erfüllt ist und der Timer läuft?
                                          Es können viele gleiche Timeouts gestartet werden?
                                          Wenn viele Timeouts gestartet sind, kann ich nicht alle stoppen?
                                          Kann man die Funktionen iwo nachlesen? Bei Verzögerung timeout wäre ich nie darauf gekommen, dass ich damit das aktiv-Signal vom timeout abfrage

                                          Erstmal allen vielen Dank!

                                          CodierknechtC 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

                                          596

                                          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