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 StefanW

      Hallo Zusammen,

      ich bin jetzt nicht so der "Script Profi", aber rein optisch denke ich mal das es nicht so gut ist.
      Auch mit dem Hintergrund das noch ca. 30 Sensoren in die Abfrage rein müssen.

      UND_Abfrage.jpg

      Vielleicht hat mir jemand ein Tipp, ob und wen ja wie ich das besser lösen kann.

      Noch als Hintergrund, es ist der Anfang in einem Script, das mir über eine Abfrage mit Alexa sagt welche Fenster geöffnet sind.

      Danke
      Stefan

      BBTown paul53 2 Replies Last reply Reply Quote 0
      • 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

                                    576
                                    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