Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Objekt Trigger und timeout

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Objekt Trigger und timeout

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

      Re: Falls Objekt Trigger funktioniert nicht

      Hallo zusammen,

      ich habe folgendes Problem und hoffe jemand von euch kann mir dabei helfen:

      Ich möchte gerne über Alexasprachausgabe benachrichtigt werden, wenn der Wäschetrockner fertig ist.
      Als Trigger verwende ich den Verbrauchswert (in Watt) der Funksteckdose. Der Wert wird alle 20 Sekunden übermittelt.

      Der Trigger löst (korrekter Weise) daher alle 20 Sekunden aus. Da die Sprachansage alle 20 Sekunden echt nervig ist, möchte ich gerne nur alle 3min von Alexa erinnert werden.

      D.h. es soll nicht bei jeder Triggerauslösung eine Sprachausgabe erfolgen...der Haken "löschen wenn läuft" funktioniert leider nicht und bei einem Timeout verzögert sich die Ausgabe im 20 - Sekundentakt nur um die Timeoutzeit.

      Könnte mir bitte jemand einen Tipp geben, wie man das in Blockly umsetzen kann?

      Vielen Dank im Voraus!

      Gruß
      Matthias

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

        @matthias-i sagte: Könnte mir bitte jemand einen Tipp geben, wie man das in Blockly umsetzen kann?

        Prinzip

        1 Reply Last reply Reply Quote 0
        • M
          Matthias I last edited by

          Hallo Paul,

          vielen Dank für den Link!

          Auch wenn es etwas gedauert bis ich mich um das Problem kümmern konnte, habe ich dennoch eine Rückfrage zu deinem Blockly, das ich wie folgt überarbeitet bzw. angepasst habe:
          Bild_2021-06-10_155450.png

          1. Du verwendest in dem Script die beiden lokalen Variablen "gestartet" und "timeout". Diese sind nicht deklariert und haben demnach zunächst keinerlei "Wert" sondern müssten "undefined" sein, richtig?. Ich verstehe daher die Abfrage "falls nicht gestartet" nicht. Was wird hier geprüft?
          2. Was bewirkt die Variable "timeout"? Diese wird doch nie auf "false" gesetzt? Wozu die Abfrage mit dieser Variablen?

          Würde mich freuen, wenn du mir hilfst das zu verstehen...

          P.S.: Damit das Blockly nachvollziehbar wird, hier meine Intention:
          Ich möchte, beim Start des Trockners gerne eine Nachricht erhalten (falls die Kinder blödsinn machen), wenn ich nicht zu Hause bin. Wenn er fertig ist, möchte ich gerne bei Anwesenheit über den Smartspeaker und bei Abwesenheit über Pushover informiert werden.

          Gruß
          Matthias

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

            @matthias-i sagte: das ich wie folgt überarbeitet bzw. angepasst habe:

            Das entspricht nicht dem gezeigten Prinzip!

            @matthias-i sagte:

            Variablen "gestartet" und "timeout". Diese sind nicht deklariert und haben demnach zunächst keinerlei "Wert" sondern müssten "undefined" sein, richtig?

            In Blockly sind selbst erstellte und Timer-Variablen global deklariert. Bei Skriptstart enthalten sie undefined.

            @matthias-i sagte in Objekt Trigger und timeout:

            Ich verstehe daher die Abfrage "falls nicht gestartet" nicht. Was wird hier geprüft?

            Die Bedingung ist bei undefined und false erfüllt.

            @matthias-i sagte in Objekt Trigger und timeout:

            Was bewirkt die Variable "timeout"? Diese wird doch nie auf "false" gesetzt?

            Sie ist zu Anfang undefined und wird bei "stop timeout" auf null gesetzt.

            @matthias-i sagte in Objekt Trigger und timeout:

            Wozu die Abfrage mit dieser Variablen?

            Damit die Nachricht nur einmal versendet wird und nicht jedes Mal, wenn sich der Wert des Trigger-Datenpunktes ändert.

            Bild_2021-06-10_174002.png

            1 Reply Last reply Reply Quote 0
            • M
              Matthias I last edited by

              Hallo Paul,

              dein Support ist echt SPITZE!

              Bitte beantworte mir noch diese beiden Verständnisfragen:

              Wenn die Leistung im angegebenen Bereich zwischen 3,5 und 5 Watt liegt wird die Verzögerte Ausführung "timeout" gestoppt und somit die Variable "timeout" direkt auf "null" (nicht 0) gesetzt. Demnach entspricht "timeout" sowohl der Benennung der verzögerten Ausführung als auch der (globalen) Variablen, richtig?

              Die Bedingung "sonst falls" ist demnach auch bei der Umkehr von "null" erfüllt. Entspricht also "null" = false und demnach "nicht null" = true?!
              Ändert sich der Wert der Variablen "timeout" wenn die verzögerte Ausführung ausgeführt wird?

              Danke für deine Hilfe!
              Ich werde morgen testen 🙂

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

                @matthias-i sagte in Objekt Trigger und timeout:

                Ändert sich der Wert der Variablen "timeout" wenn die verzögerte Ausführung ausgeführt wird?

                Ja, sie ist dann ein spezielles Timer-Objekt und bleibt es auch, bis sie auf null gesetzt wird.

                @matthias-i sagte in Objekt Trigger und timeout:

                "nicht null" = true?!

                Ja, Javascript macht eine implizite Typwandlung.

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

                Support us

                ioBroker
                Community Adapters
                Donate

                755
                Online

                32.0k
                Users

                80.5k
                Topics

                1.3m
                Posts

                2
                6
                404
                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