Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Ungewollte doppelte Sprachausgabe

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Ungewollte doppelte Sprachausgabe

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      maxpd last edited by maxpd

      Hallo,

      habe einen Xiaomi Switch. Wenn ich den klicke, wird eine Variable geswitcht. Auf Basis des Switches wird eine Sprachausgabe gemacht.
      Auf Objektebene blinkt der Status 2x schnell hintereinander mit gleichem Wert auf.

      Die Sprachausgabe wird auch 2x getriggert. Vielleicht gibt es da einen Zusammenhang? Aber wie umgehe ich den? Ein Timeout, der wartet und "löschen falls läuft" bringt beides nichts.

      a8e0e76a-643a-4f38-9e54-53f51ac418f3-image.png

      Gruß
      maxpd

      J 1 Reply Last reply Reply Quote 0
      • T
        ticaki Developer last edited by

        Hallo,

        ich würde das so umsetzten.

        1. in deinem Falls Objektblock würde ich nichts anderes machen als die Anwesenheit umzuschalten.
        2. in einem eigenen Falls Objektblock würde ich auf die Änderung der Anwesenheit reagieren.

        Zu 1. ich denke dass das "klicken" ein button ist der wahrscheinlich auf wahr gesetzt wird und dann auf falsch zurück springt.Ssetzte vor das umschalten noch einen Falls Block in dem du Wert abfragst (Wert findest du unter Logik - Baustein in dem Objekt steht und dort im Dropdownmenü auswählen)

        M 1 Reply Last reply Reply Quote 0
        • J
          Jan1 @maxpd last edited by

          @maxpd
          sieht nach doppelten timeout aus, stop den mal zuerst

          1 Reply Last reply Reply Quote 1
          • M
            maxpd @ticaki last edited by

            @ticaki Hi. Ich separiere mal.

            Aber warum meinst du, dass ich den Wert noch abfragen und mit einem falls block setzen muss? Denn die Variable der Anwesenheit wird absolut sauber jedes Mal umgeschaltet.

            Hi @Jan1 danke dir: Die Empfehlung Timeouts zu stoppen haben ich schon sehr oft an verschiedenen Stellen bekommen und es hat noch nie zu einer Lösung geführt. Warum meinst du muss ich einen 2 Sec Timeout stoppen. Er landet ja nur in der Regel wenn ich den Knopf drücke. Das mache ich auch nur 1x. Bis zum nächsten Drücken ist der Timeout auch wieder vorbei. Wie oben geschrieben war der Timeout selbst auch schon ein Versuch der Lösungsfindung. Auch ohne ihn besteht der Fehler und damit ist der Timeout nicht das Problem 🙂

            T J 2 Replies Last reply Reply Quote 0
            • T
              ticaki Developer @maxpd last edited by ticaki

              @maxpd
              Es ist soweit ich das sehe keine Variabel sondern ein Datenpunkt. Das setzen und auslesen von Datenpunkten erfolgt nicht synchron. Wenn du 2 mal umschalten verwendest, wird trotzdem nur 1 mal umgeschaltet.

              Das Problem ist im Moment das dein Schalter Zustände für gedrückt und nicht gedrückt wieder gibt und folglich beim Betätigen des Schalters 2 mal dein Code ausgeführt wird.

              Timeouts stoppt man bevor man sie ausführt. 😊

              M 1 Reply Last reply Reply Quote 0
              • J
                Jan1 @maxpd last edited by

                @maxpd
                Das macht man einfach, da so ein Prellen schon vermieden wird und somit mehrere Timeouts laufen. Das ist eigentlich nicht kann man machen, sondern eher sollte man machen 😉
                Wobei Dein Script nicht doppelt ausführen sollte, es sei denn Dein Trigger prellt. Ich würde den timeout mal auf 10s stellen und ihn vorher stoppen, wenn das nichts bringt läuft was anderes schief.

                1 Reply Last reply Reply Quote 0
                • M
                  maxpd @ticaki last edited by

                  @ticaki thx. das Trennen hat geholfen:
                  Der Home Mini bloppt jetzt zwar noch 3-4 Mal bevor er seine Sprachausgabe macht, aber ich denke das liegt nicht am Script.

                  53403ff9-198e-4c31-94fb-3e6edab28e80-image.png

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  367
                  Online

                  32.0k
                  Users

                  80.4k
                  Topics

                  1.3m
                  Posts

                  3
                  7
                  301
                  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