Navigation

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

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    UND Schleife

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

      Super, Danke das hilft mir weiter.

      Aber was mich interessieren würde wenn man die Abfrage so baut wie in meinem Beispiel, was ist das Hauptproblem von vielen verschachtelten "UND" Abfragen?
      Ich könnte mir Vorstellen das es mehr Ressourcen benötigt?

      Gruß
      Stefan

      1 Reply Last reply Reply Quote 0
      • Ralla66
        Ralla66 Most Active last edited by Ralla66

        @StefanW
        1 und fehlt,
        und dann passiert was ?
        Nichts.

        S 1 Reply Last reply Reply Quote 0
        • S
          StefanW @Ralla66 last edited by StefanW

          @Ralla66

          was fehlt, verstehe ich nicht?

          UND_Abfrage2.jpg

          Eigentlich funktioniert es, ich habe mir nur gedacht das es mit noch ca. 30 Sensoren schon recht lang wird.

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

            @StefanW sagte:

            mit noch ca. 30 Sensoren schon recht lang wird.

            Ja, und beim 31. Sensor ist die Ergänzung ziemlich aufwändig.

            1 Reply Last reply Reply Quote 1
            • Ralla66
              Ralla66 Most Active last edited by Ralla66

              @StefanW
              Klar geht das aber,
              wenn ein UND nicht da ist , warum auch immer, läuft das nicht.
              Sehr viele Variablen, viele Trigger.
              Irgend was offen geht besser per Zähler Script.

              S 1 Reply Last reply Reply Quote 0
              • S
                StefanW @Ralla66 last edited by StefanW

                @Ralla66 said in UND Schleife:

                @StefanW
                Irgend was offen geht besser per Zähler Script.

                Wobei bei mir ja nicht nur das Ergebnis ist das irgend etwas offen ist, sondern ich mir über Alexa sagen lassen kann welche Fenster noch geöffnet sind.

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

                  @StefanW sagte:

                  mir über Alexa sagen lassen kann welche Fenster noch geöffnet sind.

                  Das muss man nicht individuell im Script machen, sondern man kann dafür die Datenpunkt-Namen verwenden - vorausgesetzt, sie sind sinnvoll vergeben.

                  1 Reply Last reply Reply Quote 0
                  • S
                    StefanW last edited by

                    Guten Morgen,

                    ich habe das mal umgebaut so wie ich euch verstanden habe, ist das besser so?

                    SNAG- 03.05.2020 09.31.34.jpg

                    Gruß
                    Stefan

                    BBTown 2 Replies Last reply Reply Quote 0
                    • BBTown
                      BBTown @StefanW last edited by

                      @StefanW
                      Nein das wird nicht funktioniren
                      Du leerst am Anfang den Text nicht
                      Die "Sonst"-Bereiche müssen alle Weg
                      mit der "Sonst" Bedingung leerst Du jdesmal den Text sofern eine Bedingung "falsch" ist
                      Du solltets beim "Erhöhen" einen Mathematikbaustein verwenden

                      Das mal so zum Anfang.

                      1 Reply Last reply Reply Quote 0
                      • BBTown
                        BBTown @StefanW last edited by BBTown

                        @StefanW

                        Das hier könnte in die richtige Richtung führen:
                        64d52aa2-f583-43c1-bf71-c0240ea32770-grafik.png

                        <xml xmlns="http://www.w3.org/1999/xhtml">
                         <variables>
                           <variable type="" id="@hD=%R0GO[1}e7ke,Af9">ansageText</variable>
                           <variable type="" id="%L8hwz`~Qxz}uF~raOC_">anzahlOffen</variable>
                         </variables>
                         <block type="on_ext" id="W_CD~(Z.:kO2*jpv6VLt" x="-863" y="87">
                           <mutation items="3"></mutation>
                           <field name="CONDITION">ne</field>
                           <field name="ACK_CONDITION"></field>
                           <value name="OID0">
                             <shadow type="field_oid" id="c#CCss;2qRx1+eb;A@dx">
                               <field name="oid">Test.0.Tür</field>
                             </shadow>
                           </value>
                           <value name="OID1">
                             <shadow type="field_oid" id="`jDf8`]Ued`vh]o66n`]">
                               <field name="oid">Test.0.Fenster_Kontakt-Wohnzimmer open</field>
                             </shadow>
                           </value>
                           <value name="OID2">
                             <shadow type="field_oid" id="$h/|yTtl,/lHUhszgwy~">
                               <field name="oid">Test.0.Garagentor_offen</field>
                             </shadow>
                           </value>
                           <statement name="STATEMENT">
                             <block type="variables_set" id="dD_$=ND8qA5h%[M}V!C=">
                               <field name="VAR" id="@hD=%R0GO[1}e7ke,Af9" variabletype="">ansageText</field>
                               <value name="VALUE">
                                 <block type="text" id="3bGy(iSJ[s2TqK.fe%n|">
                                   <field name="TEXT"></field>
                                 </block>
                               </value>
                               <next>
                                 <block type="variables_set" id="Qcy~j1h259[HbPhWMO{m">
                                   <field name="VAR" id="%L8hwz`~Qxz}uF~raOC_" variabletype="">anzahlOffen</field>
                                   <value name="VALUE">
                                     <block type="math_number" id="IR_UL=GBDOl1j~Gvbv}k">
                                       <field name="NUM">0</field>
                                     </block>
                                   </value>
                                   <next>
                                     <block type="controls_if" id="Uv.`YIDY/;?Nj#K#TS()">
                                       <value name="IF0">
                                         <block type="get_value" id="uW}UbRDDl-%=f;kr-x.|">
                                           <field name="ATTR">val</field>
                                           <field name="OID">Test.0.Tür</field>
                                         </block>
                                       </value>
                                       <statement name="DO0">
                                         <block type="math_change" id="wu(R4m;kA^).HPuS!^lZ">
                                           <field name="VAR" id="%L8hwz`~Qxz}uF~raOC_" variabletype="">anzahlOffen</field>
                                           <value name="DELTA">
                                             <shadow type="math_number" id="3$t0#El8jae1xXQi)8Rg">
                                               <field name="NUM">1</field>
                                             </shadow>
                                             <block type="math_number" id="hZVY7]c7$4JN)*)Su`-u">
                                               <field name="NUM">1</field>
                                             </block>
                                           </value>
                                           <next>
                                             <block type="variables_set" id="3m]rC{y6PK|jWoqM;l0i">
                                               <field name="VAR" id="@hD=%R0GO[1}e7ke,Af9" variabletype="">ansageText</field>
                                               <value name="VALUE">
                                                 <block type="text_join" id="4%_Us%NKL!phh~Tp7d^:">
                                                   <mutation items="2"></mutation>
                                                   <value name="ADD0">
                                                     <block type="variables_get" id="k#8/.t|9;S66xvCYIGLP">
                                                       <field name="VAR" id="@hD=%R0GO[1}e7ke,Af9" variabletype="">ansageText</field>
                                                     </block>
                                                   </value>
                                                   <value name="ADD1">
                                                     <block type="text" id="sAo8F8m^h-gY+mc!wB#$">
                                                       <field name="TEXT">Haustür,</field>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </value>
                                             </block>
                                           </next>
                                         </block>
                                       </statement>
                                       <next>
                                         <block type="controls_if" id="!W{MpF(Y~+{fcx`VtmDK">
                                           <value name="IF0">
                                             <block type="get_value" id="R7izuth#MdX,SheR5oy^">
                                               <field name="ATTR">val</field>
                                               <field name="OID">Test.0.Fenster_Kontakt-Wohnzimmer open</field>
                                             </block>
                                           </value>
                                           <statement name="DO0">
                                             <block type="math_change" id="_hX`$ANu^u@;jSjkw75a">
                                               <field name="VAR" id="%L8hwz`~Qxz}uF~raOC_" variabletype="">anzahlOffen</field>
                                               <value name="DELTA">
                                                 <shadow type="math_number" id="yTbh`6J[*vS+FrB#l9v)">
                                                   <field name="NUM">1</field>
                                                 </shadow>
                                                 <block type="math_number" id="{.6$al}#2p8i;Rz)fgme">
                                                   <field name="NUM">1</field>
                                                 </block>
                                               </value>
                                               <next>
                                                 <block type="variables_set" id="ks#`e*+8aYALiwUvR0$E">
                                                   <field name="VAR" id="@hD=%R0GO[1}e7ke,Af9" variabletype="">ansageText</field>
                                                   <value name="VALUE">
                                                     <block type="text_join" id="M[1KM=xA9|Dd/7Shnw@*">
                                                       <mutation items="2"></mutation>
                                                       <value name="ADD0">
                                                         <block type="variables_get" id="y+PvNn^!)5le:0^eD4qk">
                                                           <field name="VAR" id="@hD=%R0GO[1}e7ke,Af9" variabletype="">ansageText</field>
                                                         </block>
                                                       </value>
                                                       <value name="ADD1">
                                                         <block type="text" id="X-xKZF{6gl86Pc+OgT.P">
                                                           <field name="TEXT">Küchenfenster,</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                 </block>
                                               </next>
                                             </block>
                                           </statement>
                                           <next>
                                             <block type="controls_if" id="@H}-eZ=/81%Z/l.fT5^y">
                                               <value name="IF0">
                                                 <block type="get_value" id="nf@k;g);)ERrTcQC1k])">
                                                   <field name="ATTR">val</field>
                                                   <field name="OID">Test.0.Garagentor_offen</field>
                                                 </block>
                                               </value>
                                               <statement name="DO0">
                                                 <block type="math_change" id="XTt6WuX:2.Q:EPwUj%m@">
                                                   <field name="VAR" id="%L8hwz`~Qxz}uF~raOC_" variabletype="">anzahlOffen</field>
                                                   <value name="DELTA">
                                                     <shadow type="math_number" id=".L~0:*pS1Sj_~e`0G^[j">
                                                       <field name="NUM">1</field>
                                                     </shadow>
                                                     <block type="math_number" id="x8!g9J9d5tnfy$m3ttnl">
                                                       <field name="NUM">1</field>
                                                     </block>
                                                   </value>
                                                   <next>
                                                     <block type="variables_set" id="WuNF5bB.s{zRu`3BX{Yo">
                                                       <field name="VAR" id="@hD=%R0GO[1}e7ke,Af9" variabletype="">ansageText</field>
                                                       <value name="VALUE">
                                                         <block type="text_join" id="(==%VmibWt@9u`(lcxP)">
                                                           <mutation items="2"></mutation>
                                                           <value name="ADD0">
                                                             <block type="variables_get" id="iqxZRdVF7SbUOAaU6u{5">
                                                               <field name="VAR" id="@hD=%R0GO[1}e7ke,Af9" variabletype="">ansageText</field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD1">
                                                             <block type="text" id="oG[T}9+5BSHCVp^Eevk7">
                                                               <field name="TEXT">Garagentor,</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </next>
                                                 </block>
                                               </statement>
                                               <next>
                                                 <block type="controls_if" id="Qp,_;CIW;etx:W5oEq)5">
                                                   <mutation else="1"></mutation>
                                                   <value name="IF0">
                                                     <block type="logic_compare" id="Cwv6l7D3/X/-#9@3p:,g">
                                                       <field name="OP">GT</field>
                                                       <value name="A">
                                                         <block type="variables_get" id="t2+0yT}h0;Q?$oWLvp[U">
                                                           <field name="VAR" id="%L8hwz`~Qxz}uF~raOC_" variabletype="">anzahlOffen</field>
                                                         </block>
                                                       </value>
                                                       <value name="B">
                                                         <block type="math_number" id="H3Y*^CKdEKd7rVuhy9L%">
                                                           <field name="NUM">0</field>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </value>
                                                   <statement name="DO0">
                                                     <block type="control" id="dNq{H`8*IOOpReDi?[%V">
                                                       <mutation delay_input="false"></mutation>
                                                       <field name="OID">Test.0.textAnsage</field>
                                                       <field name="WITH_DELAY">FALSE</field>
                                                       <value name="VALUE">
                                                         <block type="text_join" id="(r0ZUi)uf4ik8DVt5@LR">
                                                           <mutation items="5"></mutation>
                                                           <value name="ADD0">
                                                             <block type="text" id="Qvk+jH,B]s0CQb6Xv%[X">
                                                               <field name="TEXT">es sind insgesamt  </field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD1">
                                                             <block type="variables_get" id="fz9.93=EyGqF7xr[kP]*">
                                                               <field name="VAR" id="%L8hwz`~Qxz}uF~raOC_" variabletype="">anzahlOffen</field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD2">
                                                             <block type="text" id="_tVfduxr$kFZ|{mRCcZz">
                                                               <field name="TEXT">Fenster und Türen offen,</field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD3">
                                                             <block type="text" id="Q;Y}/3$n!I?LU5?A]mCd">
                                                               <field name="TEXT">Und zwar folgende:,</field>
                                                             </block>
                                                           </value>
                                                           <value name="ADD4">
                                                             <block type="variables_get" id="k2X^#c/hAb88GMWD3]Z1">
                                                               <field name="VAR" id="@hD=%R0GO[1}e7ke,Af9" variabletype="">ansageText</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                   <statement name="ELSE">
                                                     <block type="control" id=",wo$9TIO%Re.u2Uq=XNX">
                                                       <mutation delay_input="false"></mutation>
                                                       <field name="OID">Test.0.textAnsage</field>
                                                       <field name="WITH_DELAY">FALSE</field>
                                                       <value name="VALUE">
                                                         <block type="text_join" id="^_1Xm;`W^aTBTN.qLu~6">
                                                           <mutation items="1"></mutation>
                                                           <value name="ADD0">
                                                             <block type="text" id="`;Yfy,@vD6$yCT(?$EML">
                                                               <field name="TEXT">Es sind keine Fenster oder Türen offen.</field>
                                                             </block>
                                                           </value>
                                                         </block>
                                                       </value>
                                                     </block>
                                                   </statement>
                                                 </block>
                                               </next>
                                             </block>
                                           </next>
                                         </block>
                                       </next>
                                     </block>
                                   </next>
                                 </block>
                               </next>
                             </block>
                           </statement>
                         </block>
                        </xml>
                        

                        S 1 Reply Last reply Reply Quote 1
                        • S
                          StefanW @BBTown last edited by StefanW

                          @BBTown

                          Du hast sicher recht das ein Fehler drin ist, aber ich verstehe nicht was ich falsch gemacht habe.

                          SNAG- 03.05.2020 15.10.53.jpg

                          UND_Abfrage4.jpg

                          Danke auf jeden Fall für deine Vorlage, wenn meins echt falsch ist würde ich die nehmen.

                          Gruß
                          Stefan

                          BBTown 1 Reply Last reply Reply Quote 0
                          • BBTown
                            BBTown @StefanW last edited by BBTown

                            @StefanW
                            Du hast recht, ich habe - mal wieder - zu schnell gelesen bzw. Annahmen getroffen 😎
                            Ich habe übersehen, dass Du - anders als bei mir - nicht immer das gleiche Textfeld immer weiter auffüllst, sondern für jeden Kontakt eine separate Text-Variable anlegst und füllst.

                            Das wäre mir viel zu aufwendig, aber könnte funktionieren.
                            Du muss nur die Ausgabe sehr aufblähen um alle (auch zukünftigen) Texte mit Inhalt auch anschließend anzusagen.

                            Während meine Abfrage auch noch vereinfacht werden könnte, indem man alle Kontakte in eine "Aufzählung" packt und nur prüft ob die Gruppe sich verändert, dann muss man im Trigger nicht jeden Kontakt eintragen den man beobachtet, sondern nur die Grupe (Aufzählung).

                            S 1 Reply Last reply Reply Quote 1
                            • S
                              StefanW @BBTown last edited by

                              @BBTown
                              Super, Danke für deine Rückmeldung.

                              Da ich mit dem Skripten erst angefangen habe sind sie meist umständlich und sehr groß, aber so lerne ich auch dazu.
                              Normalerweise versuche ich mir alles selber zusammen zu basteln, in diesem Fall werde ich aber vermutlich auf deines zurückgreifen weil ich es echt Super finde.

                              Gruß
                              Stefan

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              808
                              Online

                              32.0k
                              Users

                              80.4k
                              Topics

                              1.3m
                              Posts

                              4
                              16
                              378
                              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