Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Hintergrund Timeouts stoppen bei mehrfach Ausführung?

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    439

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    365

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    962

Hintergrund Timeouts stoppen bei mehrfach Ausführung?

Geplant Angeheftet Gesperrt Verschoben Blockly
18 Beiträge 3 Kommentatoren 1.5k Aufrufe 2 Beobachtet
  • Ä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.
  • paul53P paul53

    @nik82 sagte: du hast glaub ich deinen Post nochmal editiert oder?

    Ja, hab ich, da der Umgang mit den Timer-Variablen etwas trickreich ist:

    Die Timer-Variablen werden nicht angeboten:

    Bild_2022-06-02_223535526.png

    Also erstellt man eine dummy-Variable, die man in das Skript zieht:

    Bild_2022-06-02_223737549.png

    Anschließend selektiert man die richtige Timer-Variable:

    Bild_2022-06-02_223907518.png

    nik82N Offline
    nik82N Offline
    nik82
    Most Active
    schrieb am zuletzt editiert von
    #8

    @paul53
    Jetzt muss ich leider nochmal nerven, ich habe das jetzt angelegt:

    2b6f7c01-1661-469d-903a-a874b6d73653-image.png

    Leider macht er aber nichts, wahrscheinlich weil er keinen vorherigen wert hat, jetzt muss ich quasi warten bis sich der wert wirklich ändert oder?

    Momentan ist der Wert -8000, dass heißt ich muss warten bis der wert jetzt einmal über 200 geht und dann geht das wahrscheinlich.

    Könnte man das noch verbessern, weil immer wenn ich das Script neustarte, müsste ich immer warten und das kann ja bis zum Abend dauern?

    paul53P 1 Antwort Letzte Antwort
    0
    • nik82N nik82

      @paul53
      Jetzt muss ich leider nochmal nerven, ich habe das jetzt angelegt:

      2b6f7c01-1661-469d-903a-a874b6d73653-image.png

      Leider macht er aber nichts, wahrscheinlich weil er keinen vorherigen wert hat, jetzt muss ich quasi warten bis sich der wert wirklich ändert oder?

      Momentan ist der Wert -8000, dass heißt ich muss warten bis der wert jetzt einmal über 200 geht und dann geht das wahrscheinlich.

      Könnte man das noch verbessern, weil immer wenn ich das Script neustarte, müsste ich immer warten und das kann ja bis zum Abend dauern?

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

      @nik82
      Es werden die falschen Timer gestoppt!

      @nik82 sagte in Hintergrund Timeouts stoppen bei mehrfach Ausführung?:

      wenn ich das Script neustarte, müsste ich immer warten und das kann ja bis zum Abend dauern?

      Außerhalb des Triggers:

      Bild_2022-06-03_110833608.png

      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

      nik82N 2 Antworten Letzte Antwort
      0
      • paul53P paul53

        @nik82
        Es werden die falschen Timer gestoppt!

        @nik82 sagte in Hintergrund Timeouts stoppen bei mehrfach Ausführung?:

        wenn ich das Script neustarte, müsste ich immer warten und das kann ja bis zum Abend dauern?

        Außerhalb des Triggers:

        Bild_2022-06-03_110833608.png

        nik82N Offline
        nik82N Offline
        nik82
        Most Active
        schrieb am zuletzt editiert von
        #10

        @paul53
        Ok, danke. Oh da hat sich ein falscher Timeout eingeschlichen weil ich das Script für 1000 habe und einfach kopiert habe für den 200er Wert.

        @paul53 sagte in Hintergrund Timeouts stoppen bei mehrfach Ausführung?:

        Außerhalb des Triggers:

        Bild_2022-06-03_110833608.png

        Was soll ich bei Object ID auswählen, wenn ich das so lasse, dann kommt eine Fehlermeldung im Log "State "Object ID" not found "

        1 Antwort Letzte Antwort
        0
        • paul53P paul53

          @nik82
          Es werden die falschen Timer gestoppt!

          @nik82 sagte in Hintergrund Timeouts stoppen bei mehrfach Ausführung?:

          wenn ich das Script neustarte, müsste ich immer warten und das kann ja bis zum Abend dauern?

          Außerhalb des Triggers:

          Bild_2022-06-03_110833608.png

          nik82N Offline
          nik82N Offline
          nik82
          Most Active
          schrieb am zuletzt editiert von
          #11

          @paul53
          Hat sich erledigt, ich mache es jetzt so:

          55cc2742-63e2-4fe4-a41b-77d3e15c8825-image.png

          Der Tip mit der dummy Variable und damit auf die timeouts zu gehen war super!
          Das klappt einwandfrei.

          Nochmal vielen Dank für deine super und schnelle Hilfe👍

          1 Antwort Letzte Antwort
          0
          • paul53P paul53

            @nik82 sagte: ich bekomme 5 Meldungen hintereinander:

            Man muss verhindern, dass die Timeouts mehrmals gestartet werden. Prinzip:

            Bild_2022-06-02_204017260.png

            nik82N Offline
            nik82N Offline
            nik82
            Most Active
            schrieb am zuletzt editiert von
            #12

            Hallo zusammen,
            habe das Script jetzt noch etwas erweitert und wollte das keinem vorenthalten, falls jemand genau das gleiche Thema hat.

            Wir hatten ja als Beispiel dieses Script:

            32469bb3-eeac-4df7-b649-8c9ac29187d7-image.png

            Das klappt ja soweit ganz gut, nur bekomme ich hier IMMER eine Meldung wenn sich der Wert ändert, also auch wenn sich der Wert innerhalb der 5 Minuten ändert.
            Ich möchte aber nur eine Meldung wenn ein Timeout wirklich durchgelaufen ist, also nur wenn der Wert auch für 5 Minuten bleibt.

            Beispiel:
            09:25 Uhr: Objekt geht auf false
            09:26 Uhr: Objekt geht wieder auf true
            --> jetzt würde nach 5 Minuten die Meldung "Variable ist wahr" kommen, da es sich aber nur innerhalb der einen Minute geändert hat möchte ich keine Meldung bekommen.

            Beispiel2:
            09:25 Uhr: Objekt geht auf false
            09:30 Uhr: Meldung kommt "Variable ist falsch"
            09:45 Uhr: Objekt geht auf true
            09:50 Uhr: Meldung kommt "Variable ist wahr"
            --> das ist in Ordnung weil die Variable mehr als 5 Minuten den Zustand false oder true hatte

            Deswegen habe ich hier noch eine Variable dazugeschrieben:

            f358c7dc-c88e-4a00-96be-b13d07cfea62-image.png

            @paul53
            Denke das ist von der Logik ok oder? :-)

            1 Antwort Letzte Antwort
            0
            • nik82N Offline
              nik82N Offline
              nik82
              Most Active
              schrieb am zuletzt editiert von nik82
              #13

              @paul53

              Hallo Paul, ich bräuchte wieder Hilfe von einem Profi :-)

              Ich habe dieses Script hier:

              d69e2ac9-6744-4957-81bb-965a0a82bb37-image.png

              Ich will quasi nur eine Fehler-Nachricht haben, wenn CarrierSense länger als 15 Minuten über 10 ist.
              Und dann will ich nur eine Ok-Nachricht haben, wenn diese Bedingung vorher erfüllt war.

              Wenn ich jetzt testweise den Wert auf 20 stelle, dann kommt nach 15 Minuten eine Error-Meldung --> soweit ok.
              Stelle ich dann auf 0, dann kommt eine Ok-Meldung --> auch ok.

              Stelle ich aber den Wert auf 20, dann nach ein paar Sekunden gleich wieder auf 0 --> dann kommt nichts --> auch ok.

              Und stelle ich aber den Wert auf 20, dann nach ein paar Sekunden auf 30 und dann ein paar Sekunden später wieder auf 0 --> dann kommt nach 15min eine Fehler-Meldung und sofort darauf eine Ok-Meldung.
              Aber eigentlich sollte da auch gar nichts kommen.

              Kannst du mir da helfen, ich komm da nämlich einfach nicht weiter :-(
              P.S. Er müsste ja eigentlich den Timeout "timeout_CarrierSense_falsch" stoppen, sobald der Wert wieder unter 10 geht, aber das macht er nicht (wenn sich der Wert mehrmals innerhalb des Timeouts ändert) und ich weis nicht warum

              Danke im Voraus.

              nik82N 1 Antwort Letzte Antwort
              0
              • nik82N nik82

                @paul53

                Hallo Paul, ich bräuchte wieder Hilfe von einem Profi :-)

                Ich habe dieses Script hier:

                d69e2ac9-6744-4957-81bb-965a0a82bb37-image.png

                Ich will quasi nur eine Fehler-Nachricht haben, wenn CarrierSense länger als 15 Minuten über 10 ist.
                Und dann will ich nur eine Ok-Nachricht haben, wenn diese Bedingung vorher erfüllt war.

                Wenn ich jetzt testweise den Wert auf 20 stelle, dann kommt nach 15 Minuten eine Error-Meldung --> soweit ok.
                Stelle ich dann auf 0, dann kommt eine Ok-Meldung --> auch ok.

                Stelle ich aber den Wert auf 20, dann nach ein paar Sekunden gleich wieder auf 0 --> dann kommt nichts --> auch ok.

                Und stelle ich aber den Wert auf 20, dann nach ein paar Sekunden auf 30 und dann ein paar Sekunden später wieder auf 0 --> dann kommt nach 15min eine Fehler-Meldung und sofort darauf eine Ok-Meldung.
                Aber eigentlich sollte da auch gar nichts kommen.

                Kannst du mir da helfen, ich komm da nämlich einfach nicht weiter :-(
                P.S. Er müsste ja eigentlich den Timeout "timeout_CarrierSense_falsch" stoppen, sobald der Wert wieder unter 10 geht, aber das macht er nicht (wenn sich der Wert mehrmals innerhalb des Timeouts ändert) und ich weis nicht warum

                Danke im Voraus.

                nik82N Offline
                nik82N Offline
                nik82
                Most Active
                schrieb am zuletzt editiert von nik82
                #14

                Habs gefunden!
                Der Timeout "CarrierSense_falsch" wird ja mehrmals gestartet und dann "stop" "timeout" wird anscheinend nur der letzte gestoppt, aber nicht alle.
                Deswegen einfach zusätzlich den eigenen Timeout noch stoppen, damit dieser nicht mehrfach ausgeführt wird:

                c1b84a41-358a-40b4-8a92-a7ce085e3cf8-image.png

                1 Antwort Letzte Antwort
                0
                • paul53P paul53

                  @nik82 sagte: du hast glaub ich deinen Post nochmal editiert oder?

                  Ja, hab ich, da der Umgang mit den Timer-Variablen etwas trickreich ist:

                  Die Timer-Variablen werden nicht angeboten:

                  Bild_2022-06-02_223535526.png

                  Also erstellt man eine dummy-Variable, die man in das Skript zieht:

                  Bild_2022-06-02_223737549.png

                  Anschließend selektiert man die richtige Timer-Variable:

                  Bild_2022-06-02_223907518.png

                  SchmakusS Offline
                  SchmakusS Offline
                  Schmakus
                  Developer
                  schrieb am zuletzt editiert von
                  #15

                  @paul53 sagte in Hintergrund Timeouts stoppen bei mehrfach Ausführung?:

                  @nik82 sagte: du hast glaub ich deinen Post nochmal editiert oder?

                  Ja, hab ich, da der Umgang mit den Timer-Variablen etwas trickreich ist:

                  Die Timer-Variablen werden nicht angeboten:

                  Bild_2022-06-02_223535526.png

                  Also erstellt man eine dummy-Variable, die man in das Skript zieht:

                  Bild_2022-06-02_223737549.png

                  Anschließend selektiert man die richtige Timer-Variable:

                  Bild_2022-06-02_223907518.png

                  Tipp: Man benötigt nicht die Variaben! Bei den Timeouts findet man den Block "Verzögerung"

                  Dev of LightControl Adapter, Contributor of HUE and DoorBird Adapter

                  nik82N 1 Antwort Letzte Antwort
                  0
                  • SchmakusS Schmakus

                    @paul53 sagte in Hintergrund Timeouts stoppen bei mehrfach Ausführung?:

                    @nik82 sagte: du hast glaub ich deinen Post nochmal editiert oder?

                    Ja, hab ich, da der Umgang mit den Timer-Variablen etwas trickreich ist:

                    Die Timer-Variablen werden nicht angeboten:

                    Bild_2022-06-02_223535526.png

                    Also erstellt man eine dummy-Variable, die man in das Skript zieht:

                    Bild_2022-06-02_223737549.png

                    Anschließend selektiert man die richtige Timer-Variable:

                    Bild_2022-06-02_223907518.png

                    Tipp: Man benötigt nicht die Variaben! Bei den Timeouts findet man den Block "Verzögerung"

                    nik82N Offline
                    nik82N Offline
                    nik82
                    Most Active
                    schrieb am zuletzt editiert von
                    #16

                    @schmakus
                    Danke für den Tip, habe den Block "Verzögerung" gerade gefunden, aber was genau macht dieser Block?
                    Ich verstehs leider noch nicht ganz, verzögert der die Timeout Ausführung?

                    SchmakusS 1 Antwort Letzte Antwort
                    0
                    • nik82N nik82

                      @schmakus
                      Danke für den Tip, habe den Block "Verzögerung" gerade gefunden, aber was genau macht dieser Block?
                      Ich verstehs leider noch nicht ganz, verzögert der die Timeout Ausführung?

                      SchmakusS Offline
                      SchmakusS Offline
                      Schmakus
                      Developer
                      schrieb am zuletzt editiert von Schmakus
                      #17

                      @nik82 nein, dieser beinhaltet quasi die Variable des jewiligen Timeouts oder Intervall.
                      Diesen kann man einsetzen, um zu prüfen, ob ein Tiemout schon läuft.

                      => nicht Verzögerung timeout

                      Bedenke aber, dass wenn ein timeout mal gestartet wurde, es jedoch nie gestoppt wurde, die Abfrage on "nicht timeout" immer wahr ergibt. Erst ein "stop timeout" löscht die Variable (setzt auf NULL). Ein timeout setzt sich nämlich nach erfolgreichem Ablauf nicht selbst zurück. Die timeout-ID bleibt weiterhin in der Variablen.

                      Dev of LightControl Adapter, Contributor of HUE and DoorBird Adapter

                      nik82N 1 Antwort Letzte Antwort
                      1
                      • SchmakusS Schmakus

                        @nik82 nein, dieser beinhaltet quasi die Variable des jewiligen Timeouts oder Intervall.
                        Diesen kann man einsetzen, um zu prüfen, ob ein Tiemout schon läuft.

                        => nicht Verzögerung timeout

                        Bedenke aber, dass wenn ein timeout mal gestartet wurde, es jedoch nie gestoppt wurde, die Abfrage on "nicht timeout" immer wahr ergibt. Erst ein "stop timeout" löscht die Variable (setzt auf NULL). Ein timeout setzt sich nämlich nach erfolgreichem Ablauf nicht selbst zurück. Die timeout-ID bleibt weiterhin in der Variablen.

                        nik82N Offline
                        nik82N Offline
                        nik82
                        Most Active
                        schrieb am zuletzt editiert von
                        #18

                        @schmakus
                        Ah jetzt hab ich das verstanden, ich nehme quasi den Block statt der Variable.
                        Vielen Dank für die Info.

                        1 Antwort Letzte Antwort
                        1

                        Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                        Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                        Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                        Registrieren Anmelden
                        Antworten
                        • In einem neuen Thema antworten
                        Anmelden zum Antworten
                        • Älteste zuerst
                        • Neuste zuerst
                        • Meiste Stimmen


                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        579

                        Online

                        32.8k

                        Benutzer

                        82.8k

                        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