Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Trigger mit Bedingung in Blockly

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Trigger mit Bedingung in Blockly

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

      Hallo zusammen,

      ich bin noch blutiger Anfänger in Smart Home, mit der CCU3 und insb. mit ioBroker und Skripten.

      Nachdem ich mit Suchen nichts passendes gefunden habe, stelle ich meine aktuelle Frage hier direkt.

      Ein Blockly Skript fängt ja in der Regel wohl mit einem Trigger "Falls Objekt" an:
      15627_trigger01.png

      Ich möchte aber nur eine Aktion auslösen, wenn der Wert des Objektes (hier: Helligkeit) unter einem bestimmten Wert X ist. Also:
      15627_trigger03.png

      Mein Skript soll aber nur dann starten, wenn der Wert des Objektes sich geändert hat UND der Wert < X ist. Sonst, so meine Logik, läuft das Skript im Prinzip bei jeder Änderung und würde erst bei der nächsten if-Klausel wieder stoppen. Eigentlich unnötig, wie ich finde.

      Daher habe ich die Startbedingung wie folgt geändert:
      15627_trigger02.png

      Kann das so funktionieren, wie ich mir denke?

      Oder laufen beide Ansätze an sich identisch ab?

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

        An Falls Objekt (Trigger) kann nur eine (oder mehrere) Datenpunkt-ID(s) übergeben werden. Der erste Ansatz (2. Bild) funktioniert, der zweite Ansatz nicht.

        Soll bei Unterschreitung des Grenzwertes bei jeder weiteren Änderung das Programm ausgeführt werden oder nur einmalig bei erstmaliger Unterschreitung ? Wenn nur einmalig, dann

        falls value < 200 und oldValue >= 200

        1 Reply Last reply Reply Quote 0
        • B
          buggybeast71 last edited by

          Ok das ist schade.

          Aber wie komme ich denn an den oldValue?

          Die Auswahl gibt es bei mir nicht. Muss ich da mit Variablen arbeiten?

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

            @buggybeast71:

            Aber wie komme ich denn an den oldValue? `
            oldValue ist so wie value eine vordefinierte <u>Variable</u>. Wenn Du den Javascript-Code Deines Blocklys ansiehst, wirst Du es feststellen.

              var value = obj.state.val;
              var oldValue = obj.oldState.val;
            
            

            Anstelle der Variablen value und oldValue kann man auch die Trigger-Datenpunkteigenschaften Wert und vorheriger Wert (unter Trigger) verwenden.

            1 Reply Last reply Reply Quote 0
            • B
              buggybeast71 last edited by

              Danke Dir paul53 😄

              So müsste es jetzt dann gehen. Ich habe den Block "value" aus den Variablen dann ersetzt durch "Wert" und hinten die Bedingung mit "vorheriger Wert" gesetzt.

              15627_unbenannt.png

              Das macht für mich mehr Sinn, wenn man die Blöckchen aus den gleichen Blockbereichen verwendet 😉

              C B 1 Reply Last reply Reply Quote 0
              • C B
                C B @buggybeast71 last edited by

                @buggybeast71

                Hey.
                Vielen Dank. Genau das hat mir auch geholfen.
                Ich hab ewig rumprobiert und wollte halt auch nicht, das die Meldungen permanent kommen, sondern nur wenn der Wert einmal unterschritten wurde.

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

                Support us

                ioBroker
                Community Adapters
                Donate

                757
                Online

                31.7k
                Users

                79.8k
                Topics

                1.3m
                Posts

                3
                6
                3873
                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