Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Dynamische Abfrage Tür/Fenster Status

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Dynamische Abfrage Tür/Fenster Status

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

      Anbei mein Blockly Script um den Status meiner Fenster und Türen zu überwachen.

      Features:

      • Es werden alle Tür/Fensterkontakte zur Prüfung hinzugezogen. Nach Einbinden eines neuen Sensors, wird dieser automatisch zur Prüfung hinzugezogen.
        • Man kann auch Sensoren aus dieser Prüfung nehmen, falls diese keine Fenster oder Türen "überwachen". Im Skript sind zwei Sensoren rausgenommen. In meinem Fall "Klingelsensor" und "Briefschlitz". Kann nach belieben erweitert werden.
      • Es werden immer alle Sensoren neu evaluiert, sobald sich ein Status ändert. So sind die Datenpunkte immer mit den korrekten Informationen befüllt
      • es werden 3 Datenpunkte befüllt
        • fenster_tueren_offen
          • Datenpunkt Zahl
          • Anzahl an offenen Fenstern und Türen zusammen, bspw. "2"
        • fenster_tueren_offen_list
          • Datenpunkt Zeichenkette
          • Aufzählung der einzelnen offenen Fenster und Türen, bspw. "Terassentür links Kinderzimmer"
        • fenster_tueren_offen_string
          • Datenpunkt Zeichenkette
          • Beschreibung des Zustandes, inkl. aller offenen Fenster und Türen (nutzbar für Ausgaben als Sprache oder in VIS), bspw. "Es sind 2 Türen und Fenster geöffnet: Terassentür links Kinderzimmer"
      • Der Kanalname desn Sensors, nicht der Datenpunktname (.*open), werden zur Befüllung der neuen Datenpunkte genutzt

      Nachteile

      • maximale Anzahl an Sensoren muss im Skript festgelegt werden (aktuell auf 50 gesetzt) --> Ggf. hat hier jemand eine bessere Idee für die Schleife?!

      Infos

      • die Sensoren sollten wiedererkennbar benannt werden (bspw. Terassentür links, Haustür, Kinderzimmer Kind1, etc.)
      • die unter Features aufgeführten Datenpunkte müssen selbst angelegt werden
      • Im Skript werden Aquara Sensoren die über Deconz angelernt sind genutzt. Sollten andere Sensoren oder Adapter genutzt werden (bspw. zigbee Adapter), müsste das nach Anpassungen im Skript aber auch funktionieren. Im Prinzip basiert das Skript darauf, dass ein bestimmter Datenpunkt (.*open), nur bei solch einem Sensor existiert

      Ich selbst nutze es zur automatischen Ansage, wenn morgens der letzte die Haustür zum Gehen öffnet und als manuelle Abfrage über Alexa bei Bedarf. In Zukunft möchte ich noch ein Tablet oder Smartmirror im Flur mit dem aktuellen Status befüllen.

      Blockly Export

      <xml xmlns="http://www.w3.org/1999/xhtml">
       <variables>
         <variable type="" id="EAzR}B*X)rUFFh66:sEb">oid</variable>
         <variable type="" id="+N$gqj0e}}9g##ahkGDC">id</variable>
         <variable type="" id="-5Vm?rn40;B.c68-#4@x">openCount</variable>
         <variable type="" id="fIlv_E%~|CGknOD3bwrq">openNames</variable>
         <variable type="" id="`Br{V#$H9f/{gzm}qirT">i</variable>
         <variable type="" id="D)2)rfqI8$h?GD?dpd2V">name</variable>
       </variables>
       <block type="on_ext" id="w5pI+iyHY2g#u-~b.].L" x="-162" y="-587">
         <mutation items="1"></mutation>
         <field name="CONDITION">any</field>
         <field name="ACK_CONDITION"></field>
         <value name="OID0">
           <shadow type="field_oid" id="X_=JUP7hFr|U)]sJ=73o">
             <field name="oid">custom.0.abfrage_buttons.fenster_tueren</field>
           </shadow>
           <block type="regex" id="2+c,Lnmm4J[Z3,C_ab/k">
             <field name="TEXT">(deconz.0.Sensors.*open)</field>
           </block>
         </value>
         <statement name="STATEMENT">
           <block type="variables_set" id="Nh;v/AWW?;LNz+hB!}f@">
             <field name="VAR" id="-5Vm?rn40;B.c68-#4@x" variabletype="">openCount</field>
             <value name="VALUE">
               <block type="math_number" id="O7;=BJ#T-J6M!CHP-ZK`">
                 <field name="NUM">0</field>
               </block>
             </value>
             <next>
               <block type="variables_set" id="PtUMSHStH62Ic!2jEaS{">
                 <field name="VAR" id="fIlv_E%~|CGknOD3bwrq" variabletype="">openNames</field>
                 <value name="VALUE">
                   <block type="text" id="VWmmXV-b6QLqr0k5WMh[">
                     <field name="TEXT"></field>
                   </block>
                 </value>
                 <next>
                   <block type="variables_set" id="Ot5p-p5L?O+0!2RWSAG*">
                     <field name="VAR" id="`Br{V#$H9f/{gzm}qirT" variabletype="">i</field>
                     <value name="VALUE">
                       <block type="math_number" id="Rc(uh}~ZYh538q(Esyms">
                         <field name="NUM">1</field>
                       </block>
                     </value>
                     <next>
                       <block type="controls_whileUntil" id="2w2UFIQAHg`c%WudJVtD">
                         <field name="MODE">WHILE</field>
                         <value name="BOOL">
                           <block type="logic_compare" id="z[|xX]?lHu#*ErTm%[o)">
                             <field name="OP">LTE</field>
                             <value name="A">
                               <block type="variables_get" id="`*[{u(bb#O..5,]i/Q+r">
                                 <field name="VAR" id="`Br{V#$H9f/{gzm}qirT" variabletype="">i</field>
                               </block>
                             </value>
                             <value name="B">
                               <block type="math_number" id=":;(2@rcXEmiRfPz^4%8K">
                                 <field name="NUM">50</field>
                               </block>
                             </value>
                           </block>
                         </value>
                         <statement name="DO">
                           <block type="controls_if" id="yxk%=EstM=)v_kqyMUj:">
                             <value name="IF0">
                               <block type="procedures_callcustomreturn" id="~SZ[ov+HKBYUBf0z`dE6">
                                 <mutation name="id_exist">
                                   <arg name="oid"></arg>
                                 </mutation>
                                 <value name="ARG0">
                                   <block type="text_join" id="xMR1AJ`~}.@IpAR-[aR@">
                                     <mutation items="3"></mutation>
                                     <value name="ADD0">
                                       <block type="text" id="f1gtP*iLQ=Hp9cJ?q9D|">
                                         <field name="TEXT">deconz.0.Sensors.</field>
                                       </block>
                                     </value>
                                     <value name="ADD1">
                                       <block type="variables_get" id="($-3Smaq7dJpxDW,MAYZ">
                                         <field name="VAR" id="`Br{V#$H9f/{gzm}qirT" variabletype="">i</field>
                                       </block>
                                     </value>
                                     <value name="ADD2">
                                       <block type="text" id="})z:LwMr?yE=Z=lg-El|">
                                         <field name="TEXT">.open</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="controls_if" id="vnTm*N_e2YO^42dD9Ma2">
                                 <value name="IF0">
                                   <block type="get_value_var" id="ExRZr~88Mvg=WA$VZwq~">
                                     <field name="ATTR">val</field>
                                     <value name="OID">
                                       <shadow type="text" id="EHdrNMrO;C5}QgTiplLJ">
                                         <field name="TEXT"></field>
                                       </shadow>
                                       <block type="text_join" id="CgSZXH@QK!K]@f[C1^?v">
                                         <mutation items="3"></mutation>
                                         <value name="ADD0">
                                           <block type="text" id="$V/*M_zHm}`usi5N,Ut~">
                                             <field name="TEXT">deconz.0.Sensors.</field>
                                           </block>
                                         </value>
                                         <value name="ADD1">
                                           <block type="variables_get" id="(^TaYPD4JuB=UKdBIol$">
                                             <field name="VAR" id="`Br{V#$H9f/{gzm}qirT" variabletype="">i</field>
                                           </block>
                                         </value>
                                         <value name="ADD2">
                                           <block type="text" id="3t2|SVkn+1@wk}{/*RsG">
                                             <field name="TEXT">.open</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                                 <statement name="DO0">
                                   <block type="variables_set" id="b=83jJ14td4CDEbSwqZc">
                                     <field name="VAR" id="D)2)rfqI8$h?GD?dpd2V" variabletype="">name</field>
                                     <value name="VALUE">
                                       <block type="get_attr" id="/jo~Xr8Kr!UuVYlg8]!{">
                                         <value name="PATH">
                                           <shadow type="text" id="fnd-`2%r9~eu$2qD;v6W">
                                             <field name="TEXT"></field>
                                           </shadow>
                                           <block type="text" id="+mwy[mV^{aMP)43@[^LF">
                                             <field name="TEXT">common.name</field>
                                           </block>
                                         </value>
                                         <value name="OBJECT">
                                           <block type="procedures_callcustomreturn" id="bm^v%J3?bofHc!5r^m,a">
                                             <mutation name="object">
                                               <arg name="id"></arg>
                                             </mutation>
                                             <value name="ARG0">
                                               <block type="text_join" id="/M[]ENz{R`(fzh[0)Do5">
                                                 <mutation items="2"></mutation>
                                                 <value name="ADD0">
                                                   <block type="text" id=":^B_.yPUpBWKy2-P_bS[">
                                                     <field name="TEXT">deconz.0.Sensors.</field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD1">
                                                   <block type="variables_get" id="EgrTrg!ZYug$nj[%5V9n">
                                                     <field name="VAR" id="`Br{V#$H9f/{gzm}qirT" variabletype="">i</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="controls_if" id="TkwC/7hvh^h3x/3|Y~h.">
                                         <value name="IF0">
                                           <block type="logic_operation" id="u%reV):#qdIzx@4{88D4" inline="false">
                                             <field name="OP">AND</field>
                                             <value name="A">
                                               <block type="logic_compare" id="4dsK-wQuZi|*oB|x3_a~">
                                                 <field name="OP">NEQ</field>
                                                 <value name="A">
                                                   <block type="variables_get" id="sftr^u?od[)$qSXwOZzB">
                                                     <field name="VAR" id="D)2)rfqI8$h?GD?dpd2V" variabletype="">name</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="text" id="(/pD:AJjOAh%xinDX5q,">
                                                     <field name="TEXT">Klingelsensor</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="logic_compare" id="K_F[8mX1Ip=YB@/,=E7|">
                                                 <field name="OP">NEQ</field>
                                                 <value name="A">
                                                   <block type="variables_get" id="#[kY4FTOpRi}[!pT(oA#">
                                                     <field name="VAR" id="D)2)rfqI8$h?GD?dpd2V" variabletype="">name</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="text" id="lD26uZV0?3wX:No(kgw{">
                                                     <field name="TEXT">Briefschlitz</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="math_change" id="zf!VaW,N#cn`[Hqg*#}d">
                                             <field name="VAR" id="-5Vm?rn40;B.c68-#4@x" variabletype="">openCount</field>
                                             <value name="DELTA">
                                               <shadow type="math_number" id="1W,L(gUww]EVLOs+Rh^r">
                                                 <field name="NUM">1</field>
                                               </shadow>
                                             </value>
                                             <next>
                                               <block type="text_append" id="Q+4~inF9.FA[=Y_9ylqX">
                                                 <field name="VAR" id="fIlv_E%~|CGknOD3bwrq" variabletype="">openNames</field>
                                                 <value name="TEXT">
                                                   <shadow type="text" id="C|JeTe5oLJVg%w6ZKr5y">
                                                     <field name="TEXT"></field>
                                                   </shadow>
                                                   <block type="text_join" id="5xi1PBL5-Hi*KSwDGVMj" inline="true">
                                                     <mutation items="2"></mutation>
                                                     <value name="ADD0">
                                                       <block type="variables_get" id="A722QB$m$+[*yIS|v,GE">
                                                         <field name="VAR" id="D)2)rfqI8$h?GD?dpd2V" variabletype="">name</field>
                                                       </block>
                                                     </value>
                                                     <value name="ADD1">
                                                       <block type="text_newline" id="j|@hG[Fv|Ytr/N$~%jQd">
                                                         <field name="Type">\n</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </statement>
                             <next>
                               <block type="math_change" id=";yB0[Q;y5n3n(XXv||gX">
                                 <field name="VAR" id="`Br{V#$H9f/{gzm}qirT" variabletype="">i</field>
                                 <value name="DELTA">
                                   <shadow type="math_number" id="bKg-@-d)k:#Urs59pfH5">
                                     <field name="NUM">1</field>
                                   </shadow>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </statement>
                         <next>
                           <block type="control" id="GyL0TXO5HspGPh(6)m@(">
                             <mutation delay_input="false"></mutation>
                             <field name="OID">custom.0.status.fenster_tueren_offen</field>
                             <field name="WITH_DELAY">FALSE</field>
                             <value name="VALUE">
                               <block type="variables_get" id="bQS9#9%}!}4T?4L@,`x2">
                                 <field name="VAR" id="-5Vm?rn40;B.c68-#4@x" variabletype="">openCount</field>
                               </block>
                             </value>
                             <next>
                               <block type="control" id="h~ycr$p*:f9%kh%C+bY#">
                                 <mutation delay_input="false"></mutation>
                                 <field name="OID">custom.0.status.fenster_tueren_offen_list</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="variables_get" id="-klcrg?Q~Zw(OgCPpe+1">
                                     <field name="VAR" id="fIlv_E%~|CGknOD3bwrq" variabletype="">openNames</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="controls_if" id="5lXV(tp#82tI$/7R@;4R">
                                     <mutation elseif="1" else="1"></mutation>
                                     <value name="IF0">
                                       <block type="logic_compare" id="{:KwTPu4rOP1|-?]Ch.M">
                                         <field name="OP">GT</field>
                                         <value name="A">
                                           <block type="variables_get" id="$]T%jKq-rTHon0~3K=|B">
                                             <field name="VAR" id="-5Vm?rn40;B.c68-#4@x" variabletype="">openCount</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="math_number" id="KO)~so6Oo1:APGEsD/1b">
                                             <field name="NUM">1</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="control_ex" id="R6;|ds?FCUyr*qd@IXh^">
                                         <field name="TYPE">false</field>
                                         <field name="CLEAR_RUNNING">FALSE</field>
                                         <value name="OID">
                                           <shadow type="field_oid" id="8hVp2H2JKtvScV6p^5Bm">
                                             <field name="oid">Object ID</field>
                                           </shadow>
                                           <block type="field_oid" id="}.^sj|@)Y1694tgimLOZ">
                                             <field name="oid">custom.0.status.fenster_tueren_offen_string</field>
                                           </block>
                                         </value>
                                         <value name="VALUE">
                                           <shadow type="logic_boolean" id=".fV8a_Ob;i7mh@v1z.2m">
                                             <field name="BOOL">TRUE</field>
                                           </shadow>
                                           <block type="text_join" id="N5i38/mHCEj|/sSr2(Tu" inline="false">
                                             <mutation items="5"></mutation>
                                             <value name="ADD0">
                                               <block type="text" id="T?)7)m?B+8k11q76Zy]J">
                                                 <field name="TEXT">Es sind </field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="variables_get" id="suvHV}WLStIxu-Lv;H3w">
                                                 <field name="VAR" id="-5Vm?rn40;B.c68-#4@x" variabletype="">openCount</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="text" id="Phxofn^gRr:gjUSK2rNV">
                                                 <field name="TEXT"> Türen und Fenster geöffnet:</field>
                                               </block>
                                             </value>
                                             <value name="ADD3">
                                               <block type="text_newline" id="K*X!frnXIGp}NL~sT3A{">
                                                 <field name="Type">\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD4">
                                               <block type="variables_get" id="K-Q:7M1rn#gha1oee-i+">
                                                 <field name="VAR" id="fIlv_E%~|CGknOD3bwrq" variabletype="">openNames</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="DELAY_MS">
                                           <shadow type="math_number" id=",DqZmB2oWsNlQ+aJe!Z*">
                                             <field name="NUM">0</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </statement>
                                     <value name="IF1">
                                       <block type="logic_compare" id="L_*(r~a*oD}w0*.vr?5w">
                                         <field name="OP">EQ</field>
                                         <value name="A">
                                           <block type="variables_get" id="F9-3wEbXKtSF{[xtQUG+">
                                             <field name="VAR" id="-5Vm?rn40;B.c68-#4@x" variabletype="">openCount</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="math_number" id="[T$]IqC@VFoe7^.U^kJ!">
                                             <field name="NUM">1</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO1">
                                       <block type="control_ex" id="xSp!#]MPFi$}R5eym~mZ">
                                         <field name="TYPE">false</field>
                                         <field name="CLEAR_RUNNING">FALSE</field>
                                         <value name="OID">
                                           <shadow type="field_oid" id="8hVp2H2JKtvScV6p^5Bm">
                                             <field name="oid">Object ID</field>
                                           </shadow>
                                           <block type="field_oid" id="rv:0!Km|3.mfqd|)j7tX">
                                             <field name="oid">custom.0.status.fenster_tueren_offen_string</field>
                                           </block>
                                         </value>
                                         <value name="VALUE">
                                           <shadow type="logic_boolean" id=".fV8a_Ob;i7mh@v1z.2m">
                                             <field name="BOOL">TRUE</field>
                                           </shadow>
                                           <block type="text_join" id="a*AI-][2G4gYAN+Se*Jh" inline="false">
                                             <mutation items="3"></mutation>
                                             <value name="ADD0">
                                               <block type="text" id="v*W-u{*CD[p{OgT0LTPV">
                                                 <field name="TEXT">Es ist eine Tür oder Fenster geöffnet:</field>
                                               </block>
                                             </value>
                                             <value name="ADD1">
                                               <block type="text_newline" id="N*7)/9c=Oa_N1)xGA.dC">
                                                 <field name="Type">\n</field>
                                               </block>
                                             </value>
                                             <value name="ADD2">
                                               <block type="variables_get" id="6Ht6J#tBXtZ|L0y)6B_`">
                                                 <field name="VAR" id="fIlv_E%~|CGknOD3bwrq" variabletype="">openNames</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <value name="DELAY_MS">
                                           <shadow type="math_number" id="4Ud}f:VD)]8u;[sI9x)L">
                                             <field name="NUM">0</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </statement>
                                     <statement name="ELSE">
                                       <block type="control_ex" id="2!4*H_4x[dql1!tw-D9s">
                                         <field name="TYPE">false</field>
                                         <field name="CLEAR_RUNNING">FALSE</field>
                                         <value name="OID">
                                           <shadow type="field_oid" id="8hVp2H2JKtvScV6p^5Bm">
                                             <field name="oid">Object ID</field>
                                           </shadow>
                                           <block type="field_oid" id="2oFQC4JQmW4,+y(:b}qX">
                                             <field name="oid">custom.0.status.fenster_tueren_offen_string</field>
                                           </block>
                                         </value>
                                         <value name="VALUE">
                                           <shadow type="logic_boolean" id=".fV8a_Ob;i7mh@v1z.2m">
                                             <field name="BOOL">TRUE</field>
                                           </shadow>
                                           <block type="text" id="?`N*_B84qKR!):k;BG^*">
                                             <field name="TEXT">Alle Türen und Fenster sind zu.</field>
                                           </block>
                                         </value>
                                         <value name="DELAY_MS">
                                           <shadow type="math_number" id="9D%ZF9*(Bxser8:Qg|7D">
                                             <field name="NUM">0</field>
                                           </shadow>
                                         </value>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                 </next>
               </block>
             </next>
           </block>
         </statement>
       </block>
       <block type="procedures_defcustomreturn" id="8;GF=diV-u,ZTm4$i[~3" x="288" y="-587">
         <mutation statements="false">
           <arg name="oid" varid="EAzR}B*X)rUFFh66:sEb"></arg>
         </mutation>
         <field name="NAME">id_exist</field>
         <field name="SCRIPT">cmV0dXJuICEhJChvaWQpLmxlbmd0aDsg</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
       </block>
       <block type="procedures_defcustomreturn" id="O@Xz0YR:jx8{z??)z%id" x="288" y="-537">
         <mutation statements="false">
           <arg name="id" varid="+N$gqj0e}}9g##ahkGDC"></arg>
         </mutation>
         <field name="NAME">object</field>
         <field name="SCRIPT">cmV0dXJuIGdldE9iamVjdChpZCk7</field>
         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
       </block>
      </xml>
      

      Screenshots


      0d061e9b-8cb0-47b3-9899-a4e025cb323c-grafik.png

      bf8862a7-0ed3-46ba-aa5e-00e22c0992f7-grafik.png

      Z 1 Reply Last reply Reply Quote 1
      • M
        martinschm last edited by

        Hi,

        das was du suchst nennt sich selector. Funktioniert glaube ich aber nur über javascript. Damit kannst du dir alle Geräte des deconz Adapters in eine Liste packen lassen.

        Statt dann bis 50 durch die Schleife zu laufen durchläufst du die Liste der Geräte. Es gibt einige Skripte zum Thema Offene Fenster, die machen das genau so.

        1 Reply Last reply Reply Quote 0
        • Z
          zokkai @siggi85 last edited by

          @siggi85 Hi, so etwas suche ich auch. Ich habe Dein Script versucht an die Aqara Sensoren des Zigbee-Adapters anzupassen. Leider komme ich da nicht weiter.

          Der Datenpunkt im Zigbee heisst opened der dann wahlweise auf true/false steht.
          Ich kann in deinem Script nicht erkennen, wo auf diesen Wert geprüft wird.

          19-04-_2020_13-57-41.jpg

          Aktuell werden nur die Datenpunkte *.offen=0 und *.string= Alle Türen und Fenster sind zu. gefüllt.

          19-04-_2020_14-05-51.jpg

          Woran könnte dies liegen?
          Danke im voraus.

          Kai

          siggi85 1 Reply Last reply Reply Quote 0
          • siggi85
            siggi85 @zokkai last edited by

            @zokkai
            Im Deconz Adapter sind alle Sensoren durchnummeriert. Daher gehe ich alle Sensoren durch und prüfe ob es einen "open" Datenpunkt gibt.

            a47165ac-8571-4ee0-9b0a-cc54a7f7a5c1-grafik.png

            Ich habe es mir also zugegebenermaßen ziemlich einfach gemacht...

            Im Zigbee wird das nicht durchnummeriert. Hier müsste man mit Selector arbeiten wie im Kommentar von @martinschm beschrieben.
            Auch wenn diese nicht nativ in blockly möglich ist, über Funktionen kann man ja auch in Blockly direkt Javascript verwenden. Sollte also möglich sein.

            Ich würde diese Variante auch präferieren (sie ist ersten eleganter und zweitens wird der deconz Adapter wohl mittelfristig auch auf IDs umgebaut statt einfach durchzunummerieren). Habe mich mit Selectoren aber noch nicht auseinandergesetzt, falls du das anpasst würde ich die Lösung auch gerne wissen. 🙂

            Z 1 Reply Last reply Reply Quote 0
            • Z
              zokkai @siggi85 last edited by

              @siggi85 danke dür die Info.
              Ich bin alleridngs auch nur Anwender und kann mir ein paar Blockly's zusammenklöppeln, mehr aber dann auch nicht.
              Von daher werde ich mal sehen, ob ich es anders lösen kann. 😁

              siggi85 1 Reply Last reply Reply Quote 0
              • siggi85
                siggi85 @zokkai last edited by

                @zokkai sagte in Dynamische Abfrage Tür/Fenster Status:

                @siggi85 danke dür die Info.
                Ich bin alleridngs auch nur Anwender und kann mir ein paar Blockly's zusammenklöppeln, mehr aber dann auch nicht.
                Von daher werde ich mal sehen, ob ich es anders lösen kann. 😁

                Wenn ich das doch mal anpassen sollte (wahrscheinlich spätestens wenn deconz umgestellt wird 😛 ), werde ich das Update hier posten. 🙂

                1 Reply Last reply Reply Quote 0
                • M
                  martinschm last edited by

                  Schaut mal, es gibt jetzt noch ein anderes Skript von @Pittini. Vielleicht lassen sich die Skripte ja vereinigen bzw gemeinsam weiter entwickeln.

                  Und vielleicht wird mit @Dutchman's Hilfe auch noch ein Adapter draus.

                  P 1 Reply Last reply Reply Quote 0
                  • P
                    Pittini Developer @martinschm last edited by Pittini

                    @martinschm sagte in Dynamische Abfrage Tür/Fenster Status:

                    Vielleicht lassen sich die Skripte ja vereinigen bzw gemeinsam weiter entwickeln.

                    Grundsätzlich nix dagegen, allerdings hab ich kein Plan von blockly (und will auch keinen haben). Zum anderen ist mein Skript für Türen eher ungeeignet da ich, soweit ich das gesehen, hab nen anderen Ansatz verfolge und auch der Meinung bin das Türen und Fenster nicht in einem Skript verwurstet gehören. Außerdem hab ich nen opt-in Ansatz (Solange nicht anders definiert, wird nix als Fensterkontakt angesehen), das blockly scheint nen opt-out Ansatz zu verfolgen (Erstmal ist alles Fensterkontakt außer es wurde ausgeschlossen). Mein Skript arbeitet zudem Raumbasiert und kann alle Sensoren verwenden egal welcher Adapter sie zur Verfügung stellt, die Zuweisung der Kontakte erfolgt über die Aufzählungen Räume und Funktionen. Dürfte schwierig werden das zu verbinden. Aber wer es sich anguggen will, hier isses zu finden.

                    1 Reply Last reply Reply Quote 0
                    • Dutchman
                      Dutchman Developer Most Active Administrators last edited by

                      Ein Script für Türen, eins für Fenster das andere für beide wieder sind nur zur visualisierung ohne telegram das andere telegram

                      Hunderte scripte ==> 1 Adapter wen man sich zusammensetzt und über die Funktionalität einig 🙂

                      P 1 Reply Last reply Reply Quote 1
                      • P
                        Pittini Developer @Dutchman last edited by

                        @Dutchman sagte in Dynamische Abfrage Tür/Fenster Status:

                        Ein Script für Türen, eins für Fenster das andere für beide wieder sind nur zur visualisierung ohne telegram das andere telegram
                        Hunderte scripte ==> 1 Adapter wen man sich zusammensetzt und über die Funktionalität einig

                        Deswegen hab ich das Fensterskript gemacht, welches möglichst generisch alle Kontakte verwenden kann und Ausgaben via Alexa/Mail/Telegram macht, Lüftungsempfehlung sowie umfangreiche Konfigmöglichkeiten bietet UND auch noch die Daten für Visualisierung zur Verfügung stellt, sowohl als einzelne Datenpunkte als auch als fertige Tabelle. Ich sehe einfach nicht was Türen in diesem Skript zu suchen haben, bei diesen würde ich eher an Alarmoptionen etc. denken. Und klar kann man nen Adapter draus machen, aber was genau wäre der Vorteil eines Adapters gegenüber dem Skript in diesem Fall?

                        siggi85 1 Reply Last reply Reply Quote 0
                        • siggi85
                          siggi85 @Pittini last edited by siggi85

                          Ich fände einen Adapter auch eine gute Idee. Ist einfacher zu handeln und nutzbarer für die Masse als ein Skript. Das war auch ein Grund das ganze in ein Blockly zu verpacken: Dass kann die Masse auch einfacher auf seine Bedürfnisse anpassen.

                          Obwohl ich das Skript von @Pittini nicht selber implementiert habe, lesen sich die Features sehr durchdacht.
                          Die Idee Fenster und Türen zusammen zu bringen ist einfach: Wenn das Haus verlassen wird, will ich schnell und einfach prüfen können, ob ich vergessen habe was zu schließen. Entweder über einen Smartmirror in der Nähe der Haustür und/oder über eine Ansage, die alle aktuell offenen Fenster und Türen ansagt die noch offen sind wenn die Haustür geöffnet wird und wenn die Zahl offener Türen UND Fenster >0 beträgt.
                          Es kann also durchaus Sinn machen Türen und Fenster zusammen zu betrachten; es hängt nur davon ab, aus welcher Motivation und mit welchem Ziel man diese Daten zusammen bringt. Zum Status vom Lüften ist die Überwachung der Türen natürlich weniger relevant. Da macht das wirklich wenig Sinn.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          944
                          Online

                          32.1k
                          Users

                          80.7k
                          Topics

                          1.3m
                          Posts

                          aqara blockly deconz fenster fenster türen fensterkontakt fensterkontakte status tür türkontakt
                          5
                          11
                          2295
                          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