Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Viele Sensoren überwachen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.6k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.2k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Viele Sensoren überwachen

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
16 Beiträge 4 Kommentatoren 1.2k Aufrufe 8 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    Jan1
    schrieb am zuletzt editiert von
    #2

    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:wink:

    1 Antwort Letzte Antwort
    1
    • docadamsD docadams

      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?

      paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von paul53
      #3

      @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.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      2
      • docadamsD Offline
        docadamsD Offline
        docadams
        schrieb am zuletzt editiert von
        #4

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

        paul53P 1 Antwort Letzte Antwort
        0
        • docadamsD docadams

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

          paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von paul53
          #5

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

          Blockly_check_offen.JPG

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • docadamsD Offline
            docadamsD Offline
            docadams
            schrieb am zuletzt editiert von
            #6

            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.

            paul53P 1 Antwort Letzte Antwort
            0
            • docadamsD docadams

              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.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #7

              @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.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • docadamsD Offline
                docadamsD Offline
                docadams
                schrieb am zuletzt editiert von
                #8

                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 Antwort Letzte Antwort
                0
                • iomountainI Offline
                  iomountainI Offline
                  iomountain
                  schrieb am zuletzt editiert von
                  #9

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

                  docadamsD 1 Antwort Letzte Antwort
                  0
                  • iomountainI iomountain

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

                    docadamsD Offline
                    docadamsD Offline
                    docadams
                    schrieb am zuletzt editiert von
                    #10

                    @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.

                    iomountainI paul53P 2 Antworten Letzte Antwort
                    0
                    • docadamsD docadams

                      @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.

                      iomountainI Offline
                      iomountainI Offline
                      iomountain
                      schrieb am zuletzt editiert von
                      #11

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

                      1 Antwort Letzte Antwort
                      0
                      • docadamsD docadams

                        @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.

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #12

                        @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>
                        

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        0
                        • docadamsD Offline
                          docadamsD Offline
                          docadams
                          schrieb am zuletzt editiert von
                          #13

                          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.

                          paul53P 1 Antwort Letzte Antwort
                          0
                          • docadamsD docadams

                            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.

                            paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von
                            #14

                            @docadams sagte:

                            Aber beim Programmstart wird noch nicht auf ein false reagiert.

                            Wie soll die Reaktion aussehen ?

                            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                            1 Antwort Letzte Antwort
                            0
                            • docadamsD Offline
                              docadamsD Offline
                              docadams
                              schrieb am zuletzt editiert von
                              #15

                              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.

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • docadamsD docadams

                                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.

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #16

                                @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.

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                828

                                Online

                                32.7k

                                Benutzer

                                82.4k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe