Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Timeout, ich finde den Fehler nicht

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Timeout, ich finde den Fehler nicht

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homoran
      Homoran Global Moderator Administrators @buggybeast last edited by

      @buggybeast sagte in Timeout, ich finde den Fehler nicht:

      nimm geändert und nicht aktualisiere. Das ist in deinem Fall tödlich

      Aber selbst das hilft nicht, wenn hintereinander 2,8 .... 2,7....2,9... usw kommt.

      Da muss unbedingt vor dem timeout ein Stop timeout erfolgen um den alten timeout zu beenden.

      Die Folge davon ist aber, dass ständig die x Minuten neu gestartet werden.
      Das von @paul53 verlinkte Skript habe ich mir nicht näher angesehen, aber ich würde mich wundern, wenn dieses Problem dort von Paul nicht abgefangen würde

      1 Reply Last reply Reply Quote 0
      • buggybeast
        buggybeast last edited by buggybeast

        @Homoran ja, außer er baut das mit wert und vorheriger wert ein 😊
        Dann passiert das nicht.
        Besser wäre es auch, wenn im ersten falls der gleiche Schwellenwert genommen wird, also in seinem Fall auch die 3 (natürlich als Zahl und nicht als Text). Und den stop timeout dann oben einzubauen, Im ersten falls Block.
        Mein Skript sieht so aus und funktioniert seit Monaten tadellos.
        3a99f571-adfb-4389-98bb-32825390f3da-image.png https://forum.iobroker.net/assets/uploads/files/1588412324597-script.png

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

          @buggybeast sagte in Timeout, ich finde den Fehler nicht:

          Dann passiert das nicht.

          Sicher??

          Was passiert bei
          2,9....2,8....2,7....

          1 Reply Last reply Reply Quote 0
          • buggybeast
            buggybeast last edited by

            @Homoran habe oben mal mein Skript rein kopiert.
            Bei 2.7,...,2,8 passiert nix, wenn der vorherige Wert nicht >= 3 war.

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

              @buggybeast siehe meinen letzten Post!

              Du müsstest mit einer Sperrvariablen arbeiten, die auf true gesetzt wird, wenn < 3 und auf false wenn darüber und bei < 3 diese Abfragen ob diese vorher false war

              paul53 1 Reply Last reply Reply Quote 0
              • buggybeast
                buggybeast last edited by buggybeast

                @Homoran ich schätze du meinst, dass seine schwellwerte „kacke“ sind (sorry) 😉
                Er muss die gleichen schwellwerte nehmen, wie in meinem Skript.
                Dann funktioniert das.
                Sonst hat er halt ein Problem, wenn der Wert mal auf 10 oder 50 geht. Meinst du das?
                Hach Mist. Was ich meine, ist natürlich, wenn der der Wert von < 3 auf 10 oder so geht, und dann wieder auf < 3. dann würde ein zweiter timeout gestartet werden. Das liegt an den beiden weit auseinander liegenden schwellwerten.

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

                  @buggybeast sagte in Timeout, ich finde den Fehler nicht:

                  Meinst du das?

                  Nein!
                  Ich meine, selbst wenn er auf Änderung triggert und der nächste Wert gemäß dem Vergleich zum letzten unter 3 und immer kleiner wird, wird der Timeout neu gestartet.
                  Der bisherige wird nicht gelöscht und damit hängt das ganze Skript so bald der timeout gelöscht werden soll, da mehrere timeout mit dem selben Namen laufen.

                  EDIT:
                  Mist Handy!

                  Sehe jetzt erst, dass du mit absoluten Zahlen vergleichst und nicht WERT < VORHERIGER WERT.
                  Dann passen meine Antworten natürlich nicht

                  buggybeast 1 Reply Last reply Reply Quote 0
                  • H
                    Has3nb3inMH @buggybeast last edited by

                    @buggybeast habe ich gemacht und läuft jetzt problemlos.

                    Danke

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

                      @Homoran sagt:

                      Du müsstest mit einer Sperrvariablen arbeiten

                      Im verlinkten Skript wird die Timer-Variable timeout als Sperrvariable "missbraucht". Anstelle einer Sperrvariable kann auch "vorheriger Wert" ausgewertet werden, wobei der Vergleich exakt sein muss, damit es in allen möglichen Fällen funktioniert.

                      Blockly_temp.JPG

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

                        @Homoran sagte in Timeout, ich finde den Fehler nicht:

                        Mist Handy!

                        Wenigstens geht es nicht nur mir so 😆

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        770
                        Online

                        32.0k
                        Users

                        80.4k
                        Topics

                        1.3m
                        Posts

                        5
                        18
                        833
                        Loading More Posts
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes
                        Reply
                        • Reply as topic
                        Log in to reply
                        Community
                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                        The ioBroker Community 2014-2023
                        logo