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.
    • BBTown
      BBTown @StefanW last edited by

      @StefanW
      ich würde wohl eher diesen Ansatz verfolgen:
      387d782c-9e58-481c-9735-db7cfb30e6f3-grafik.png

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

        @StefanW sagte:

        Auch mit dem Hintergrund das noch ca. 30 Sensoren in die Abfrage rein müssen.

        Da gibt es Vorlagen, die man auf eigene Bedürfnisse anpassen kann.

        1 Reply Last reply Reply Quote 1
        • 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

                                  580
                                  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