Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Abfrage "wenn innerhalb von X Sekunden Wert wahr" *gelöst*

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Abfrage "wenn innerhalb von X Sekunden Wert wahr" *gelöst*

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

      Hallo zusammen,

      ich möchte für meinen "smarten Briefkasten" ein Skript erstellen und weiß leider nicht, wie das umzusetzen ist.
      Problemstellung: "Wert 1 wird wahr, wenn jetzt innerhalb von 5 Sekunden Wert 2 nicht wahr wird, dann Meldung <Post eingeworfen>"
      Wie stelle ich dies in Blockly dar?
      Hintergrund dieser Aktion: Sensor 1 sitzt an der oberen Einwurfklappe, Sensor 2 sitzt an der vorderen Klappe zur Briefentnahme. Ich möchte jetzt wissen wenn nur die obere Klappe auf geht und nicht kurze Zeit später noch die vordere Klappe, dann Meldung "Post eingeworfen".
      Ich habe diesen Fall noch nie gehabt, daher bräuchte ich dafür einmal Unterstützung.

      Gruß surfer 😉

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

        @surfer09 sagte: "Wert 1 wird wahr, wenn jetzt innerhalb von 5 Sekunden Wert 2 nicht wahr wird, dann Meldung <Post eingeworfen>"

        Blockly_temp.JPG

        surfer09 1 Reply Last reply Reply Quote 2
        • surfer09
          surfer09 @paul53 last edited by surfer09

          @paul53 Danke Paul, wie immer rasante Antworten. 🙂
          Ich brauche aber auch hier wieder eine kurze Erläuterung, irgendwie baue ich meine Blocklys etwas anders auf als du, weil ich das dann etwas besser kapiere 😌
          So wäre der Nachbau in meiner Variante nicht richtig?!

          a5427401-c5c6-4f95-941b-0a2e7f34b77f-grafik.png

          <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="u|Hm3C$^L62-9Rr!0N{~" x="413" y="13">
            <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
            <field name="CONDITION">ne</field>
            <field name="ACK_CONDITION"></field>
            <value name="OID0">
              <shadow type="field_oid" id="rA:C]fD[F}$03/(0uJ/f">
                <field name="oid">zigbee.0.00158d000ab704a6.vibration</field>
              </shadow>
            </value>
            <statement name="STATEMENT">
              <block type="timeouts_cleartimeout" id="PgikU$l2sCzHsc+%Ul,4">
                <field name="NAME">timeout</field>
                <next>
                  <block type="timeouts_settimeout" id="B?bGMexpipx$ZJ`RP9WF">
                    <field name="NAME">timeout</field>
                    <field name="DELAY">5</field>
                    <field name="UNIT">sec</field>
                    <statement name="STATEMENT">
                      <block type="controls_if" id="guu:8G~lrdtX||Z+n|SE">
                        <value name="IF0">
                          <block type="logic_operation" id="=Dww3G~F(WM*5V2O^FOx">
                            <field name="OP">AND</field>
                            <value name="A">
                              <block type="logic_compare" id="_RcqUVU6#1,8lO-~!Wq9">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="on_source" id="`3b=Las_!g98X[AE8PuW">
                                    <field name="ATTR">state.val</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="logic_boolean" id="IW]tl#ARMnL]t]+(d:.$">
                                    <field name="BOOL">TRUE</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <value name="B">
                              <block type="logic_compare" id="=__+u]Sikgti/J*g6;o3">
                                <field name="OP">EQ</field>
                                <value name="A">
                                  <block type="get_value" id="Mtr*TfawAi{wF~Ht0jVt">
                                    <field name="ATTR">val</field>
                                    <field name="OID">hm-rpc.1.0000DD89A35EB4.1.STATE</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="text" id="-T%HBCz=M!Ms!5kDHiwN">
                                    <field name="TEXT">CLOSED</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                        <statement name="DO0">
                          <block type="control" id="B2Y1Ps0/?u[+f-J2k{Cm">
                            <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                            <field name="OID">0_userdata.0.Briefkasten</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE">
                              <block type="text" id="SpK`]X#iGWs)NKz{+ff%">
                                <field name="TEXT">Es wurde Post eingeworfen</field>
                              </block>
                            </value>
                            <next>
                              <block type="telegram" id="Knr@[[D7Krql:0a|V^{j">
                                <field name="INSTANCE"></field>
                                <field name="LOG">error</field>
                                <field name="SILENT">FALSE</field>
                                <field name="PARSEMODE">HTML</field>
                                <field name="ESCAPING">FALSE</field>
                                <field name="DISABLE_WEB_PAGE_PREVIEW">FALSE</field>
                                <value name="MESSAGE">
                                  <shadow type="text" id="3~hN;iY|-wop|eR=5fhX">
                                    <field name="TEXT">Es wurde Post eingeworfen!</field>
                                  </shadow>
                                </value>
                                <value name="USERNAME">
                                  <block type="text" id="X5Fc1rth|t;3)gu%Ds.~">
                                    <field name="TEXT">Dennis</field>
                                  </block>
                                </value>
                              </block>
                            </next>
                          </block>
                        </statement>
                      </block>
                    </statement>
                  </block>
                </next>
              </block>
            </statement>
          </block>
          
          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @surfer09 last edited by paul53

            @surfer09 sagte: So wäre der Nachbau in meiner Variante nicht richtig?!

            Du hattest geschrieben:

            Wert 2 nicht wahr wird

            vergleichst aber mit "CLOSED".

            Der Datenpunkt nennt sich "Vibration event". Kann der nicht auch beim Schließen der Einwurf-Klappe wahr werden?

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

              @paul53: Ich muss das nochmal erläutern..
              Also „Vibration Event“ ist die obere Klappe zum Einwerfen. Briefkasten Tür ist die vordere Klappe zum herausnehmen.
              „Post eingeworfen“ ist ja nur wenn „Vibration Event“ wahr und Briefkasten Tür nicht darauffolgend „opened“ wird.
              „Post geleert“ wäre wenn Briefkasten Tür „opened“ wird.
              Den Briefkasten Status lasse ich noch in eine separate Variable schreiben, damit man den auch mit abfragen könnte.
              Beispiel: Meldung „Post geleert“ wenn aktueller Briefkasten Status „Post eingeworfen“ und Briefkasten Tür „opened“ danach setze Briefkasten Status „Post geleert“.
              Ich hoffe, dass ist jetzt nicht zu verwirrend.

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

                @surfer09 sagte: Briefkasten Tür nicht darauffolgend „opened“ wird

                HomeMatic-Datenpunkte mit den Namen "STATE" liefern i.d.R. keinen String "OPENED" oder "CLOSED".

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

                  @paul53 : Der hier schon.

                  IMG_0100.jpeg

                  IMG_0101.jpeg

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

                    @surfer09 sagte: Der hier schon.

                    Nein, das ist eine Werteliste, die Zahlen 0 und 1 liefert.

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

                      @paul53 Also müsste ich dann nach "0" und "1" abfragen und nicht nach "CLOSED" und "OPENED"? Oder ist das egal?

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

                        @surfer09 sagte: müsste ich dann nach "0" und "1" abfragen

                        ... oder auf "ist größer als letztes" triggern - wie gezeigt.

                        @surfer09 sagte in Blockly Abfrage "wenn innerhalb von X Sekunden Wert wahr":

                        Den Briefkasten Status lasse ich noch in eine separate Variable schreiben

                        Der Datenpunkt muss auch wieder zurück gesetzt werden.

                        Blockly_temp.JPG

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        893
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        2
                        10
                        419
                        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