Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Viele Sensoren überwachen

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Viele Sensoren überwachen

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

      Hallo,
      ich habe eine Reihe von Fenstersensoren, die ich überwachen möchte.
      Prinzipiell ist das ja eine ODER-Schaltung. Nur der entsprechende Logik-Baustein erfasst ja immer nur 2 Sensoren. Mit "externe Eingänge" kann man das zwar etwas optimieren, aber trotzdem... 😞
      Muss ich da jetzt das sooft verschachteln, bis ich alle erfasst habe. Also "oder" drunter "unter-oder" usw.? Das sieht ja äußerst unübersichtlich aus.
      Ich habe zwar schon mit Listen experimentiert, aber nicht zu Stande gebracht.
      Gibt es da eine clevere Lösung?

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

        Im Moment ist das genau so wie DU schreibst, könnte aber bald ne Änderung kommen, da es bei den Funktionen für Blockly sehr oft gewünscht wird.
        Also abwarten oder im entsprechenden Thread auch noch mal wünschen😉

        1 Reply Last reply Reply Quote 1
        • paul53
          paul53 @docadams last edited by paul53

          @docadams sagte:

          Ich habe zwar schon mit Listen experimentiert,

          Prinzip mit 3 Fenstern:

          Blockly_Fenster_Array.JPG

          Die Reihenfolge in der Liste vals muss mit der Reihenfolge in der Liste IDs übereinstimmen.

          1 Reply Last reply Reply Quote 2
          • docadams
            docadams last edited by

            Vielen Dank.
            Da war ich ja eigentlich schon in der richtigen Richtung, aber das hätte ich nie so hinbekommen.

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

              Die Funktion check_offen() kann auch so aussehen (nur einmal aktualisiere)

              Blockly_check_offen.JPG

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

                Hallo, die Hitze macht es möglich, dass ich mich endlich wieder einmal meinem Hobby widmen kann 😉

                Ich habe es zum Laufen bekommen und denke auch, dass ich die Logik verstanden habe. (bin ansonsten kein Programmierer). Es wird eine Art Matrix erzeugt und in der Schleife darin wird permanent nachgeschaut, ob in der Spalte vals (ist nur eine Name, aber wofür steht der eigentlich?) irgendwann mal false steht. Würde es das System entlasten, wenn ich dies nur alle 1...3 Sekunden abfrage, also ein Timeout einfüge)

                Für die Listen IDs und vals habe ich als Objekt-ID den Wert contact genommen, ist das richtig so?

                Aber beim Wie haperts noch etwas.
                Die Zeile "in der Liste vals setze das pos ein Wert" Verstehe ich nicht ganz. Es wird nachgeschaut, in welcher Zeile erstmals der Wert wahr nicht vorkommt. Soweit OK.

                Warum ich ratlos nachhake hat folgenden Grund.
                Das Programm reagiert korrekt, wenn es läuft und erst dann ein Kontakt geöffnet wird.
                Ich versuche aber einen Weg zu finden, dass es bereits bei Programmstart überprüft, ob bereits ein Kontakt geöffnet ist.
                Praktisches Beispiel: Ich gehe aus dem Haus, aktiviere das Wachprogramm und es ist noch ein Fenster offen. Das bekommt das Programm aber nicht mit. Es reagiert erst, wenn sich ein Status ändert.

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

                  @docadams sagte:

                  dass es bereits bei Programmstart überprüft, ob bereits ein Kontakt geöffnet ist.

                  Das macht der Aufruf der Funktion check_offen über dem Trigger.

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

                    Hm, habe ich mir auch gedacht, macht er aber nicht.
                    Ich möchte das Programm über einen Datenpunkt "Ueberwachung" bedienen und habe es entsprechend in einen Trigger und Logikbaustein Ueberwachung eingebunden. Ansonsten habe ich mich im Wesentlichen eigentlich an euer Beispiel gehalten.
                    Aber auch wenn ich das umgehe, macht er es nicht bei Programmstart.

                    Darf ich mal mein Programm hochladen? vieleSensoren1

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

                      Nur so als Anregung für deine Liste:
                      c235593f-081e-4c15-9752-f91011f995d2-image.png

                      docadams 1 Reply Last reply Reply Quote 0
                      • docadams
                        docadams @iomountain last edited by

                        @iomountain
                        ich habe den RegExp-Baustein nicht gefunden und kenne auch den Befehl nicht. Deshalb habe ich Wikipedia konsultiert. Meinst du die Wildcard, also das Sternchen?
                        Ich möchte aber nicht alle Kontakte auf gleiche Art überprüfen.
                        Ich muss erst mal das eine Problem lösen, dass er mir zu Programmstart nicht schon mal alle Kontakte überprüft, sondern erst nach einem Zustandswechsel sich meldet.

                        iomountain paul53 2 Replies Last reply Reply Quote 0
                        • iomountain
                          iomountain @docadams last edited by

                          @docadams
                          unter System ganz unten die Bausteine, brauchst aber auch die aktuelle Java Version.
                          Mehr dazu unter wunschliste-blockly-elemente.

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

                            @docadams sagte:

                            dass er mir zu Programmstart nicht schon mal alle Kontakte überprüft, sondern erst nach einem Zustandswechsel sich meldet.

                            Versuche es mal damit

                            <xml xmlns="http://www.w3.org/1999/xhtml">
                             <variables>
                               <variable type="" id="Rk^aDmFW7$UeXGIB+2y{">i</variable>
                               <variable type="" id="J$kmu`hF-Tao=fF;#LA1">j</variable>
                               <variable type="" id="/GdfO@1?DmfT7-79eLOx">IDs</variable>
                               <variable type="" id="8[J/T+l5)*{;k?1ICu*r">vals</variable>
                               <variable type="" id="kMf{9FAv_%VESw.tRR`2">offen</variable>
                               <variable type="" id="f#H!{XjG3*XryC_=6fkn">pos</variable>
                             </variables>
                             <block type="procedures_defnoreturn" id="-ry1]/2V8?+KJf#[Y$,l" x="-462" y="-563">
                               <field name="NAME">Wachprogramm-Signalisierung</field>
                               <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                               <statement name="STACK">
                                 <block type="control" id="($Q@0OhIPY~,V(=Ds--L" disabled="true">
                                   <mutation delay_input="true"></mutation>
                                   <field name="OID">tr-064.0.states.ring</field>
                                   <field name="WITH_DELAY">TRUE</field>
                                   <field name="DELAY_MS">11</field>
                                   <field name="UNIT">ms</field>
                                   <field name="CLEAR_RUNNING">FALSE</field>
                                   <value name="VALUE">
                                     <block type="text" id="6HLNAWc|1(Kq[q+Mn|lq">
                                       <field name="TEXT">**613,6</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="control" id="Cml,,4/]b@X6Ur[g#JI:">
                                       <mutation delay_input="true"></mutation>
                                       <field name="OID">tr-064.0.states.ring</field>
                                       <field name="WITH_DELAY">TRUE</field>
                                       <field name="DELAY_MS">2222</field>
                                       <field name="UNIT">ms</field>
                                       <field name="CLEAR_RUNNING">FALSE</field>
                                       <value name="VALUE">
                                         <block type="text" id="(I*JRnyDlL|yscxB8f}N">
                                           <field name="TEXT">**610,11</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="control" id="]uR*)ymj%x/+I+eq`lEt" disabled="true">
                                           <mutation delay_input="true"></mutation>
                                           <field name="OID">tr-064.0.states.ring</field>
                                           <field name="WITH_DELAY">TRUE</field>
                                           <field name="DELAY_MS">4444</field>
                                           <field name="UNIT">ms</field>
                                           <field name="CLEAR_RUNNING">FALSE</field>
                                           <value name="VALUE">
                                             <block type="text" id="`L^(Kg3l${)|WajMApUd">
                                               <field name="TEXT">**612,11</field>
                                             </block>
                                           </value>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </statement>
                             </block>
                             <block type="procedures_defcustomnoreturn" id="ahfL^da?VRz_]X1jp]*H" x="-462" y="-413">
                               <mutation statements="false">
                                 <arg name="i" varid="Rk^aDmFW7$UeXGIB+2y{"></arg>
                                 <arg name="j" varid="J$kmu`hF-Tao=fF;#LA1"></arg>
                               </mutation>
                               <field name="NAME">Fenster-ALARM</field>
                               <field name="SCRIPT">ZXZlbnQoJ0FMQVJNISA6ICcgK2kgK2osICd3YWNoZScsICcjRkYwMDQwJyk7</field>
                               <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                             </block>
                             <block type="procedures_defcustomnoreturn" id="[Uoks-jLBro3Pz^!d(9t" x="-462" y="-387">
                               <mutation statements="false">
                                 <arg name="i" varid="Rk^aDmFW7$UeXGIB+2y{"></arg>
                                 <arg name="j" varid="J$kmu`hF-Tao=fF;#LA1"></arg>
                               </mutation>
                               <field name="NAME">Fenster-ALARM2</field>
                               <field name="SCRIPT">ZXZlbnQoJ0FMQVJNISA6ICcgK2kgK2osICdhbGFybScsICcjRkYwMDQwJyk7</field>
                               <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                             </block>
                             <block type="procedures_defnoreturn" id="ASeG#*f9[M#sIOhKTF50" x="-462" y="-363">
                               <field name="NAME">fenster_offen</field>
                               <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                               <statement name="STACK">
                                 <block type="controls_if" id="oJLkc[`#i7kB6Cd[4}F-">
                                   <value name="IF0">
                                     <block type="logic_compare" id="qNy*Cc{L.:vlPW?#zG-%">
                                       <field name="OP">EQ</field>
                                       <value name="A">
                                         <block type="get_value" id="0S_(j6Rs`X6CIy}v$`$0">
                                           <field name="ATTR">val</field>
                                           <field name="OID">datenpunkte.0.Sicherheit.Ueberwachung</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <block type="logic_boolean" id="f1?!-UOCuNvVa2JN_NAK">
                                           <field name="BOOL">TRUE</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <statement name="DO0">
                                     <block type="variables_set" id="x.c99:a@;Kb;l_w*-E|e">
                                       <field name="VAR" id="kMf{9FAv_%VESw.tRR`2" variabletype="">offen</field>
                                       <value name="VALUE">
                                         <block type="logic_boolean" id="4C4VWprVGA07,AP:DHGY">
                                           <field name="BOOL">FALSE</field>
                                         </block>
                                       </value>
                                       <next>
                                         <block type="controls_for" id="D4~h:^PVTYbYdR75AAEZ">
                                           <field name="VAR" id="Rk^aDmFW7$UeXGIB+2y{" variabletype="">i</field>
                                           <value name="FROM">
                                             <shadow type="math_number" id="[Bh]8@Fz;F4N(A;aC7+[">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="math_number" id="x9ty_f/QWzs,gjj6Z#PF">
                                               <field name="NUM">1</field>
                                             </block>
                                           </value>
                                           <value name="TO">
                                             <shadow type="math_number" id="/p+X{GnH*knr+|Z-1Pvy">
                                               <field name="NUM">10</field>
                                             </shadow>
                                             <block type="lists_length" id="_A,T`PBdy*XH5TUaps#V">
                                               <value name="VALUE">
                                                 <block type="variables_get" id="X*0a]AG(~.R6=MDSu,aV">
                                                   <field name="VAR" id="8[J/T+l5)*{;k?1ICu*r" variabletype="">vals</field>
                                                 </block>
                                               </value>
                                             </block>
                                           </value>
                                           <value name="BY">
                                             <shadow type="math_number" id="mKSWLn0?yPZuFSS].f*k">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="math_number" id="e1S5g]GhYBK?-|1g*|G7">
                                               <field name="NUM">1</field>
                                             </block>
                                           </value>
                                           <statement name="DO">
                                             <block type="comment" id="%1N6*]9~2m-(i1%j1-JJ">
                                               <field name="COMMENT">irgendwer ist offen</field>
                                               <next>
                                                 <block type="controls_if" id="L$Ry^?]k{Zx[|[3H/Qcu">
                                                   <value name="IF0">
                                                     <block type="lists_getIndex" id="i(xsr-[OM.})/IbEnpKY">
                                                       <mutation statement="false" at="true"></mutation>
                                                       <field name="MODE">GET</field>
                                                       <field name="WHERE">FROM_START</field>
                                                       <value name="VALUE">
                                                         <block type="variables_get" id="+^)nZxcb`=-G#o$5IaU+">
                                                           <field name="VAR" id="8[J/T+l5)*{;k?1ICu*r" variabletype="">vals</field>
                                                         </block>
                                                       </value>
                                                       <value name="AT">
                                                         <block type="variables_get" id="ZbCR!^4`6nF(K|LaD%w0">
                                                           <field name="VAR" id="Rk^aDmFW7$UeXGIB+2y{" variabletype="">i</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <statement name="DO0">
                                                     <block type="variables_set" id="mNfLJ2i{Il|!i#LQC.YO">
                                                       <field name="VAR" id="kMf{9FAv_%VESw.tRR`2" variabletype="">offen</field>
                                                       <value name="VALUE">
                                                         <block type="logic_boolean" id="4#XPePj!UG}k%*/rD)m#">
                                                           <field name="BOOL">TRUE</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                           <next>
                                             <block type="controls_if" id="!q@FI%iL}HvEZJ~/(NTf">
                                               <value name="IF0">
                                                 <block type="logic_operation" id="x)mH+t;^6o!%.k+PMzvU" inline="false">
                                                   <field name="OP">AND</field>
                                                   <value name="A">
                                                     <block type="logic_compare" id="tJ`W4LTE$_9^V(:inN6l" disabled="true">
                                                       <field name="OP">EQ</field>
                                                       <value name="A">
                                                         <block type="get_value" id="~M5pr`e+OjBwdP{F1v:h">
                                                           <field name="ATTR">val</field>
                                                           <field name="OID">datenpunkte.0.Sicherheit.Ueberwachung</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <block type="logic_boolean" id="Wx7S8)MbFAHmqcXeO{eq">
                                                           <field name="BOOL">TRUE</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="variables_get" id="^D,Ww`@XZ=[d}X}}]bMf">
                                                       <field name="VAR" id="kMf{9FAv_%VESw.tRR`2" variabletype="">offen</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO0">
                                                 <block type="update" id="KZKfnfmI@mW4jfCdK0,K">
                                                   <mutation delay_input="true"></mutation>
                                                   <field name="OID">datenpunkte.0.Sicherheit.Alarm_ausgeloest</field>
                                                   <field name="WITH_DELAY">TRUE</field>
                                                   <field name="DELAY_MS">100</field>
                                                   <field name="UNIT">ms</field>
                                                   <field name="CLEAR_RUNNING">FALSE</field>
                                                   <value name="VALUE">
                                                     <block type="logic_boolean" id="3V|A|19nFL!l#v.1sm)J">
                                                       <field name="BOOL">TRUE</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="procedures_callcustomnoreturn" id=")nO6)zFe%FBBh,o*)W~O">
                                                       <mutation name="Fenster-ALARM2">
                                                         <arg name="i"></arg>
                                                         <arg name="j"></arg>
                                                       </mutation>
                                                       <value name="ARG0">
                                                         <block type="text" id="5^nRK(gsUL9SO!oi5{E:">
                                                           <field name="TEXT">MInd. ein Fenster</field>
                                                         </block>
                                                       </value>
                                                       <value name="ARG1">
                                                         <block type="text" id="ICg]u2@%p-c($95DFiPD">
                                                           <field name="TEXT"> ist offen</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </statement>
                                 </block>
                               </statement>
                             </block>
                             <block type="variables_set" id="iawYCQpa_(7N#{AY1#jV" x="-463" y="113">
                               <field name="VAR" id="/GdfO@1?DmfT7-79eLOx" variabletype="">IDs</field>
                               <value name="VALUE">
                                 <block type="lists_create_with" id=";g-cb6jtC6`)oTX50388">
                                   <mutation items="3"></mutation>
                                   <value name="ADD0">
                                     <block type="field_oid" id="d$Y^+q5Z*iY.,2m$N.T5">
                                       <field name="oid">zigbee.0.00158d000346b2a2.contact</field>
                                     </block>
                                   </value>
                                   <value name="ADD1">
                                     <block type="field_oid" id="g,}{KnW)a/y.DL^z4#E*">
                                       <field name="oid">zigbee.0.00158d0002c160cc.contact</field>
                                     </block>
                                   </value>
                                   <value name="ADD2">
                                     <block type="field_oid" id="#{hl]:YkTub_s3,CP49{">
                                       <field name="oid">zigbee.0.00158d000346b2a4.contact</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <next>
                                 <block type="variables_set" id="eU!W:MCRqK|!H3u.uru)">
                                   <field name="VAR" id="8[J/T+l5)*{;k?1ICu*r" variabletype="">vals</field>
                                   <value name="VALUE">
                                     <block type="lists_create_with" id="]k6/G(HTL7h0Hxg%QH|4">
                                       <mutation items="3"></mutation>
                                       <value name="ADD0">
                                         <block type="get_value" id="9uS`y4x9NJLlRD$K06_V">
                                           <field name="ATTR">val</field>
                                           <field name="OID">zigbee.0.00158d000346b2a2.contact</field>
                                         </block>
                                       </value>
                                       <value name="ADD1">
                                         <block type="get_value" id="D^sFT@oA5|oVaKNqRVJ]">
                                           <field name="ATTR">val</field>
                                           <field name="OID">zigbee.0.00158d0002c160cc.contact</field>
                                         </block>
                                       </value>
                                       <value name="ADD2">
                                         <block type="get_value" id="M/~pi(Ob?hksRk){HU,_">
                                           <field name="ATTR">val</field>
                                           <field name="OID">zigbee.0.00158d000346b2a4.contact</field>
                                         </block>
                                       </value>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="procedures_callnoreturn" id="5XLgeqzY)y/1VX`K}]yu">
                                       <mutation name="fenster_offen"></mutation>
                                       <next>
                                         <block type="on_ext" id="39tigNFo`CBq*1#tukiS">
                                           <mutation items="1"></mutation>
                                           <field name="CONDITION">ne</field>
                                           <field name="ACK_CONDITION"></field>
                                           <value name="OID0">
                                             <shadow type="field_oid" id="0w#0]X;`k(@cQ+f}KAS+">
                                               <field name="oid">datenpunkte.0.Sicherheit.Ueberwachung</field>
                                             </shadow>
                                           </value>
                                           <statement name="STATEMENT">
                                             <block type="controls_if" id="!hf@2`Fnt)Tc0PGf7)c,">
                                               <mutation else="1"></mutation>
                                               <value name="IF0">
                                                 <block type="logic_compare" id="[(%y9Rx4Ygd7G)p@)SYt">
                                                   <field name="OP">EQ</field>
                                                   <value name="A">
                                                     <block type="get_value" id="uJ_SCW/F%mq%+JBg16r3">
                                                       <field name="ATTR">val</field>
                                                       <field name="OID">datenpunkte.0.Sicherheit.Ueberwachung</field>
                                                     </block>
                                                   </value>
                                                   <value name="B">
                                                     <block type="logic_boolean" id="[}j=G%N6cBOdVCT(y)Ic">
                                                       <field name="BOOL">TRUE</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                               <statement name="DO0">
                                                 <block type="procedures_callnoreturn" id="_D[,A=V4Ibr$lMqv_1Mq">
                                                   <mutation name="Wachprogramm-Signalisierung"></mutation>
                                                   <next>
                                                     <block type="procedures_callnoreturn" id="T3KU/}xLy2@DAZd+X:P#">
                                                       <mutation name="fenster_offen"></mutation>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                               <statement name="ELSE">
                                                 <block type="comment" id="]FV*JD|as^Q-Sm/HzXYD">
                                                   <field name="COMMENT">wenn Wachprogramm deaktiviert wird</field>
                                                   <next>
                                                     <block type="procedures_callnoreturn" id="mXtEmbx[?wRcmBHZ(/i=">
                                                       <mutation name="Wachprogramm-Signalisierung"></mutation>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                             </block>
                                           </statement>
                                           <next>
                                             <block type="on_ext" id="5D{A|juBwX.|1P`~QrL#">
                                               <mutation items="1"></mutation>
                                               <field name="CONDITION">ne</field>
                                               <field name="ACK_CONDITION"></field>
                                               <value name="OID0">
                                                 <shadow type="field_oid" id="UEjvx3$:/x0yOa=IJMeZ">
                                                   <field name="oid">default</field>
                                                 </shadow>
                                                 <block type="variables_get" id="d(hm(f_VNpi[I:zUey#P">
                                                   <field name="VAR" id="/GdfO@1?DmfT7-79eLOx" variabletype="">IDs</field>
                                                 </block>
                                               </value>
                                               <statement name="STATEMENT">
                                                 <block type="variables_set" id="uCFiueCh`%R($vA`lHv9">
                                                   <field name="VAR" id="f#H!{XjG3*XryC_=6fkn" variabletype="">pos</field>
                                                   <value name="VALUE">
                                                     <block type="lists_indexOf" id="enRj`2{L10]]6s3)Sakt">
                                                       <field name="END">FIRST</field>
                                                       <value name="VALUE">
                                                         <block type="variables_get" id="T36:[7VXP%}vq0uQ;Jfo">
                                                           <field name="VAR" id="/GdfO@1?DmfT7-79eLOx" variabletype="">IDs</field>
                                                         </block>
                                                       </value>
                                                       <value name="FIND">
                                                         <block type="on_source" id="WDaw2|:nhwJ$an3T@.Ro">
                                                           <field name="ATTR">id</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="lists_setIndex" id="6=m_.*WqE$KQA):E:5:Q">
                                                       <mutation at="true"></mutation>
                                                       <field name="MODE">SET</field>
                                                       <field name="WHERE">FROM_START</field>
                                                       <value name="LIST">
                                                         <block type="variables_get" id="K$!T3j*{Km(3S#W;Qw_G">
                                                           <field name="VAR" id="8[J/T+l5)*{;k?1ICu*r" variabletype="">vals</field>
                                                         </block>
                                                       </value>
                                                       <value name="AT">
                                                         <block type="variables_get" id="*HqCmzkl!@@zFuXh3IYC">
                                                           <field name="VAR" id="f#H!{XjG3*XryC_=6fkn" variabletype="">pos</field>
                                                         </block>
                                                       </value>
                                                       <value name="TO">
                                                         <block type="on_source" id="zR+2[qeB|,zwJJiVLpC(">
                                                           <field name="ATTR">state.val</field>
                                                         </block>
                                                       </value>
                                                       <next>
                                                         <block type="controls_if" id="vUfC1EMje*;t/yP3^~f#">
                                                           <mutation else="1"></mutation>
                                                           <value name="IF0">
                                                             <block type="on_source" id="s(a!d^b.i%W)E@JgUZ0N">
                                                               <field name="ATTR">state.val</field>
                                                             </block>
                                                           </value>
                                                           <statement name="DO0">
                                                             <block type="controls_if" id="6r7C.6!RC1[6y!aT??)9">
                                                               <value name="IF0">
                                                                 <block type="logic_compare" id="?N:H|7fBL?%~)lCL#(at">
                                                                   <field name="OP">EQ</field>
                                                                   <value name="A">
                                                                     <block type="get_value" id="{KZ851xV@KWiSB;_R@Nb">
                                                                       <field name="ATTR">val</field>
                                                                       <field name="OID">datenpunkte.0.Sicherheit.Ueberwachung</field>
                                                                     </block>
                                                                   </value>
                                                                   <value name="B">
                                                                     <block type="logic_boolean" id="s=Df%1(N5@)dOC;]_lUD">
                                                                       <field name="BOOL">TRUE</field>
                                                                     </block>
                                                                   </value>
                                                                 </block>
                                                               </value>
                                                               <statement name="DO0">
                                                                 <block type="update" id="Ra`)hTf_Q:+inlQdZ3Oa">
                                                                   <mutation delay_input="true"></mutation>
                                                                   <field name="OID">datenpunkte.0.Sicherheit.Alarm_ausgeloest</field>
                                                                   <field name="WITH_DELAY">TRUE</field>
                                                                   <field name="DELAY_MS">100</field>
                                                                   <field name="UNIT">ms</field>
                                                                   <field name="CLEAR_RUNNING">FALSE</field>
                                                                   <value name="VALUE">
                                                                     <block type="logic_boolean" id=")(sOgo=2_8o,g,.AvCk/">
                                                                       <field name="BOOL">TRUE</field>
                                                                     </block>
                                                                   </value>
                                                                   <next>
                                                                     <block type="procedures_callcustomnoreturn" id="B[OsE$4M(5w5ryvz@!gG">
                                                                       <mutation name="Fenster-ALARM2">
                                                                         <arg name="i"></arg>
                                                                         <arg name="j"></arg>
                                                                       </mutation>
                                                                       <value name="ARG0">
                                                                         <block type="on_source" id="cPOT3t;T2$5.$j0Fx7Ye">
                                                                           <field name="ATTR">common.name</field>
                                                                         </block>
                                                                       </value>
                                                                       <value name="ARG1">
                                                                         <block type="text" id="jntdl:=UjUi9,-`zLEb;">
                                                                           <field name="TEXT"> ist offen</field>
                                                                         </block>
                                                                       </value>
                                                                     </block>
                                                                   </next>
                                                                 </block>
                                                               </statement>
                                                             </block>
                                                           </statement>
                                                           <statement name="ELSE">
                                                             <block type="procedures_callnoreturn" id=".^YTg_VRK3k}SaqEa#q.">
                                                               <mutation name="fenster_offen"></mutation>
                                                             </block>
                                                           </statement>
                                                         </block>
                                                       </next>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                            </xml>
                            

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

                              Funktioniert leider auch nicht. Es reagiert zwar jetzt auf den Statuswechsel offen --> geschlossen, aber das wäre kein Problem, ich könnte ja statt des contact-Wertes den is open-Wert nehmen. Aber beim Programmstart wird noch nicht auf ein false reagiert.

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

                                @docadams sagte:

                                Aber beim Programmstart wird noch nicht auf ein false reagiert.

                                Wie soll die Reaktion aussehen ?

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

                                  Jetzt in der Aufbau- und Bastelphase geht ein Licht an, später soll das Haustelefon klingeln, eine Telegramnachricht verschickt werden und eine Sirene heulen. Naja......
                                  Ein Datenpunkt "Alarm ausgelöst" soll wahr werden.

                                  Es funktioniert jetzt schon, wenn das Programm bereits läuft und dann ein Fenster geöffnet wird. Alles bestens. Ich vermute deshalb, weil ein Zustandswechsel von wahr auf falsch erfolgt

                                  Aber wenn das Programm gestartet wird, und das Fenster ist bereits offen, dann passiert nichts. Ich vermute, weil kein Zustandswechsel erfolgt, sondern der Zustand falsch bereits vorhanden ist. Darum vorhin die Frage, dass ich noch nicht begriffen habe , wie es funktioniert.

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

                                    @docadams sagte:

                                    weil ein Zustandswechsel von wahr auf falsch erfolgt

                                    Bei einem Zustandswechsel von falsch auf wahr wird der Datenpunkt "Alarm ausgelöst" wahr.

                                    Beim Programmstart wird die Funktion fenster_offen aufgerufen, in der geprüft wird, ob mind. 1 Fenster offen ist. Falls ein Fenster offen ist und "Sicherheit.Ueberwachung" wahr ist, wird "Alarm ausgelöst" auf wahr gesetzt.

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    972
                                    Online

                                    31.9k
                                    Users

                                    80.1k
                                    Topics

                                    1.3m
                                    Posts

                                    blockly
                                    4
                                    16
                                    1055
                                    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