Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Ansage Fenster geöffnet

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Ansage Fenster geöffnet

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

      Moin,
      ich versuche gerade eine Ansage auf Alexa zu bekommen die mir den Status der Fenster mitteilt.
      Ich wollte erst mal klein anfangen und generell schauen ob Fenster offen sind oder nicht und es eventuell erweitern.
      Jedoch bekomme ich das mit meiner Anfrage nicht hin. Bei den "und" Verknüpfungen habe ich es mit und ohne wahr/falsch abfrage zu den
      Sensoren probiert, sollte ja auch so ein wahr/falsch am ende rauskommen ohne jedes nochmal sepperat nach wahr oder falsch anzufragen.

      Ich bekomme immer die Antwort das alle Fenster geschlossen sind, auch wenn ich mir grad den Arsch abfriere weil eben doch eines offen steht.
      Hier mal mein versuch
      blo.png
      Ich dachte das sowas hier bestimmt zu finden ist aber was ich fand war aus 2016 und half nicht weil die Lösung fehlte.

      sigi234 dslraser 4 Replies Last reply Reply Quote 0
      • sigi234
        sigi234 Forum Testing Most Active @panik last edited by

        @panik

        https://forum.iobroker.net/topic/23370/alexa-ansagen-über-ssml

        panik 1 Reply Last reply Reply Quote 0
        • dslraser
          dslraser Forum Testing Most Active @panik last edited by dslraser

          @panik
          Du könntest auch über Aufzählungen gehen und dann sowas verwenden.
          (Beispiel Steckdosen Licht usw...)

          https://forum.iobroker.net/post/346230

          und die Ansagen gehen dann über die ausgewerteten Sachen vom oberen Link
          so z.B.

          https://forum.iobroker.net/post/368421

          1 Reply Last reply Reply Quote 0
          • dslraser
            dslraser Forum Testing Most Active @panik last edited by

            @panik
            Zu Deinem Blockly von oben:

            Du triggerst auf den Tür Abstellkammer open Wert (nur wenn dieser Tür open Wert sich ändert wird überhaupt getriggert), dann fragst Du nochmal über falls ab ob der Wert dieser Tür wahr ist. Nur wenn der Wert dieser Tür wahr ist, geht es mit der Variablen weiter. Diese Variable erstellt aber auch nur was, wenn alles anderen Fenster auch wahr sind (und, und, und...) Falls das alles wahr ist, dann gibt es nach Deiner Logik offene Fenster, sonst nicht. Dann füllst Du speak mit Deiner Variablen und anschließen mit einem Leertext.

            1 Reply Last reply Reply Quote 0
            • panik
              panik @sigi234 last edited by

              @sigi234 said in Ansage Fenster geöffnet:

              @panik

              https://forum.iobroker.net/topic/23370/alexa-ansagen-über-ssml
              Die Ansage an sich funktioniert soweit nur der Inhalt ist halt falsch, aber ich finde es interessant neue Stimmen zu nutzen. Das werde ich erweitern wenn
              die Basics laufen.

              @dslraser said in Ansage Fenster geöffnet:

              @panik
              Du könntest auch über Aufzählungen gehen und dann sowas verwenden.
              (Beispiel Steckdosen Licht usw...)

              https://forum.iobroker.net/post/346230

              und die Ansagen gehen dann über die ausgewerteten Sachen vom oberen Link
              so z.B.

              https://forum.iobroker.net/post/368421

              Mir ist auch wichtig das ich verstehe was passiert und da bin ich bei dem Script auf jeden fall raus, das ist ein paar Stufen weiter als ich es bin 😉 Blocky bekomme ich noch hin aber bei deinen Skripten kommt JavaScript hinzu und da bin ich dann raus mit meinem Verständnis.

              @dslraser said in Ansage Fenster geöffnet:

              @panik
              Zu Deinem Blockly von oben:

              Du triggerst auf den Tür Abstellkammer open Wert (nur wenn dieser Tür open Wert sich ändert wird überhaupt getriggert), dann fragst Du nochmal über falls ab ob der Wert dieser Tür wahr ist. Nur wenn der Wert dieser Tür wahr ist, geht es mit der Variablen weiter. Diese Variable erstellt aber auch nur was, wenn alles anderen Fenster auch wahr sind (und, und, und...) Falls das alles wahr ist, dann gibt es nach Deiner Logik offene Fenster, sonst nicht. Dann füllst Du speak mit Deiner Variablen und anschließen mit einem Leertext.

              Abstellkammer habe ich genommen weil die gleich hier ist und ich nicht für jeden test zum Eingang rennen wollte. Es soll mich halt beim rausgehen erinnern das noch Fenster offen sind. Die Abstellkammer frage ich dann aber in den UND Verknüpfungen nicht ab sonst wäre ja immer etwas auf. Die Speak variable habe ich zum Schluss mit leer gefüllt weil sonst bei den Objekten immer der Text stand und ich nicht wollte das es deshalb irgendwo ungeahnte Probleme gibt, daher dachte ich leer ist besser.
              Ich muss mir das wohl nochmal genau anschauen. Ist das nur mit JS zu lösen oder auch nur mit Blocky?

              dslraser 1 Reply Last reply Reply Quote 0
              • dslraser
                dslraser Forum Testing Most Active @panik last edited by

                @panik
                geht auch mit Blockly. Poste mal einen Export, dann kann ich es mal importieren.
                Wann sind Deiner Fenster auf, bei wahr oder falsch ? (ich habe andere Sensoren)

                1 Reply Last reply Reply Quote 0
                • dslraser
                  dslraser Forum Testing Most Active @panik last edited by dslraser

                  @panik
                  mach mal aus Deinen und und und ein oder oder oder usw.

                  Und ganz oben unter egal bzw. über falls setze mal nochmal Deine Ansage Variable hin, also setze Ansage auf, da drann ein Textfeld mit leer. Das zweite speak ganz löschen. Hier wir dann nur geprüft ob irgendein Fenster auf ist.

                  Bildschirmfoto 2020-02-06 um 19.54.03.png

                  Variante 2. (Ansage der Fenster die auf sind)

                  Bildschirmfoto 2020-02-06 um 20.12.10.png

                  <xml xmlns="http://www.w3.org/1999/xhtml">
                   <variables>
                     <variable type="" id="/v(bhDLGKn;lf3X5Mu.g">Ansage</variable>
                   </variables>
                   <block type="comment" id="=o*OKnyuhi4tg;sQdV(}" x="137" y="63">
                     <field name="COMMENT">Variante 1</field>
                     <next>
                       <block type="on_ext" id="pzCU-BcX5:#3K9gU`:xL">
                         <mutation items="1"></mutation>
                         <field name="CONDITION">ne</field>
                         <field name="ACK_CONDITION"></field>
                         <value name="OID0">
                           <shadow type="field_oid" id="(Khpd[h5-ljDwym!vcl:">
                             <field name="oid">default</field>
                           </shadow>
                         </value>
                         <statement name="STATEMENT">
                           <block type="variables_set" id="Lq:={prmH}F-;^p/t%yg">
                             <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                             <value name="VALUE">
                               <block type="text" id="G}s^x8fzBO}(G9QoxEeg">
                                 <field name="TEXT"></field>
                               </block>
                             </value>
                             <next>
                               <block type="controls_if" id="OTuvyHpTK{.v8G,YN^ES">
                                 <value name="IF0">
                                   <block type="on_source" id="Pc97BY`mj#%0*twU;k*]">
                                     <field name="ATTR">state.val</field>
                                   </block>
                                 </value>
                                 <statement name="DO0">
                                   <block type="variables_set" id="dJ1i#$9,xwQ:w.eDly5p">
                                     <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                                     <value name="VALUE">
                                       <block type="text_join" id="C4F9nXo_p#Gk);[(B.:?">
                                         <mutation items="1"></mutation>
                                         <value name="ADD0">
                                           <block type="logic_ternary" id="X9+,4wN=p#!JHNONs|e[">
                                             <value name="IF">
                                               <block type="logic_operation" id="7f/-kU?w9?{+mPlZUib*" inline="false">
                                                 <field name="OP">OR</field>
                                                 <value name="A">
                                                   <block type="logic_compare" id="Ptbx8:s$W95;Tt[qQYo(">
                                                     <field name="OP">EQ</field>
                                                     <value name="A">
                                                       <block type="get_value" id="WHci`a2k4%g:7?0_B)=6">
                                                         <field name="ATTR">val</field>
                                                         <field name="OID">ID auswählen</field>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_boolean" id="@*Pnz].YWT3@6vOH+Ki{">
                                                         <field name="BOOL">TRUE</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="logic_operation" id="END;@Y#wR[|AjA6Std.5" inline="false">
                                                     <field name="OP">OR</field>
                                                     <value name="A">
                                                       <block type="logic_compare" id="2XbfJ/4?.nvlj?|]Qrv+">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id="{*5YHX8w|Nd=Ei!g|m`4">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">ID auswählen</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_boolean" id=".Pr6$ZbE~di;gC_5G[.2">
                                                             <field name="BOOL">TRUE</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_operation" id=";nD]jp_G~yRZ|Z/Q#ApN" inline="false">
                                                         <field name="OP">OR</field>
                                                         <value name="A">
                                                           <block type="logic_compare" id="]1K:PXhVqhtA$40arg]s">
                                                             <field name="OP">EQ</field>
                                                             <value name="A">
                                                               <block type="get_value" id="7$FY^MoaMl1}!ph!-wYb">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">ID auswählen</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_boolean" id="sJr81]CL?N%zd[dei;[p">
                                                                 <field name="BOOL">TRUE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_operation" id="5rn-=-ep9jbma!#7?v2s" inline="false">
                                                             <field name="OP">OR</field>
                                                             <value name="A">
                                                               <block type="logic_compare" id="yrvDz`{mFua_Tarz#1SF">
                                                                 <field name="OP">EQ</field>
                                                                 <value name="A">
                                                                   <block type="get_value" id="JAGbIAsVeX^[Lt3;+E7#">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">ID auswählen</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="logic_boolean" id="4sg/3|r|~E}r:H}8KKVk">
                                                                     <field name="BOOL">TRUE</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_operation" id="zm%O~vgle8T_|,d3uMt$" inline="false">
                                                                 <field name="OP">OR</field>
                                                                 <value name="A">
                                                                   <block type="logic_compare" id="C8)O6a7LQ:-vz[)OO%tc">
                                                                     <field name="OP">EQ</field>
                                                                     <value name="A">
                                                                       <block type="get_value" id="y+HEWx{vMaw1]=fuyC1]">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">ID auswählen</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="B">
                                                                       <block type="logic_boolean" id="DdTgR[IXC)$OnZc3``|l">
                                                                         <field name="BOOL">TRUE</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="logic_compare" id="H1OL}3ktc+.cOS33`36t">
                                                                     <field name="OP">EQ</field>
                                                                     <value name="A">
                                                                       <block type="get_value" id="SbR5qcEjQ+gC+~6G?)M;">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">ID auswählen</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="B">
                                                                       <block type="logic_boolean" id=":[I7^6$soa.Og0mWHmQh">
                                                                         <field name="BOOL">TRUE</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="THEN">
                                               <block type="text" id="w_3)=NWX0.7YP|g:I~_*">
                                                 <field name="TEXT">Es gibt offene Fenster, bitte überpüfen.</field>
                                               </block>
                                             </value>
                                             <value name="ELSE">
                                               <block type="text" id="z)q7OGCF~;uP77ef,~Nb">
                                                 <field name="TEXT">Alle Fenster geschlossen</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="control" id="ICyE6{C1`:(@4FM~c_0Y">
                                         <mutation delay_input="false"></mutation>
                                         <field name="OID">Object ID</field>
                                         <field name="WITH_DELAY">FALSE</field>
                                         <value name="VALUE">
                                           <block type="variables_get" id="5I-VJ+rj7s8@SEny6^()">
                                             <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                                           </block>
                                         </value>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </statement>
                         <next>
                           <block type="comment" id="Yw3h0-)eY%d9DM/x.a)Y">
                             <field name="COMMENT">Variante 2</field>
                             <next>
                               <block type="on_ext" id="ZBE,w75K2Rj}Uk15G?yv">
                                 <mutation items="1"></mutation>
                                 <field name="CONDITION">ne</field>
                                 <field name="ACK_CONDITION"></field>
                                 <value name="OID0">
                                   <shadow type="field_oid" id="N5y%@PxPA!gBZ!4Tv1?Y">
                                     <field name="oid">default</field>
                                   </shadow>
                                 </value>
                                 <statement name="STATEMENT">
                                   <block type="variables_set" id="%[t|B=iR6E~_SS%bQtm%">
                                     <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                                     <value name="VALUE">
                                       <block type="text" id="^47y:J~b#Dn-bqbJ;yz!">
                                         <field name="TEXT"></field>
                                       </block>
                                     </value>
                                     <next>
                                       <block type="controls_if" id="4}NTMpPDn+x*Ni6QkNfW">
                                         <value name="IF0">
                                           <block type="on_source" id="h2$t/!2FGKZi6A(|*4ac">
                                             <field name="ATTR">state.val</field>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="variables_set" id="6W+?F-bobek|*zAa:tc3">
                                             <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                                             <value name="VALUE">
                                               <block type="text_join" id="7Th*c.Q|NAt:2F%[tE*q">
                                                 <mutation items="5"></mutation>
                                                 <value name="ADD0">
                                                   <block type="text" id="f;8ZpYcn(qglYNMwKJ}o">
                                                     <field name="TEXT">Aktuell sind </field>
                                                   </block>
                                                 </value>
                                                 <value name="ADD1">
                                                   <block type="logic_ternary" id="qr{Hq0KxbZEP$eLCUrQ;">
                                                     <value name="IF">
                                                       <block type="logic_compare" id="Ct)gEYCe+)oi.#5c(w?7">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id="e/o-ubTQO=cj,pN|Td)U">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">ID auswählen</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_boolean" id="9jU`c#u/9KWe1v./WZbx">
                                                             <field name="BOOL">TRUE</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="THEN">
                                                       <block type="text" id="E):mh6vi64k1g~N~33`N">
                                                         <field name="TEXT">Fenster 1 ist auf, </field>
                                                       </block>
                                                     </value>
                                                     <value name="ELSE">
                                                       <block type="text" id="iX-d[u[1(=-*,(F.+5R2">
                                                         <field name="TEXT"></field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="ADD2">
                                                   <block type="logic_ternary" id="-HWg}x[xki1{g]yuDX_l">
                                                     <value name="IF">
                                                       <block type="logic_compare" id="f/;`@FISCo8``?7lQlC9">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id="r#*M~L,Ax~}(_GA7cL.~">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">ID auswählen</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_boolean" id="3s|{3N7dtz93W(TXkZ1u">
                                                             <field name="BOOL">TRUE</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="THEN">
                                                       <block type="text" id="%^apVuLg(+]eI1$c[;BX">
                                                         <field name="TEXT">Fenster 2 ist auf, </field>
                                                       </block>
                                                     </value>
                                                     <value name="ELSE">
                                                       <block type="text" id="am:[rt@lwr^D/*#z81+i">
                                                         <field name="TEXT"></field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="ADD3">
                                                   <block type="logic_ternary" id="#d2(E//(js|{n(spi[aF">
                                                     <value name="IF">
                                                       <block type="logic_compare" id=".gKRSe-fcL8wadp9B1#s">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id="49x|at@#S~#RHgec@Z(9">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">ID auswählen</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_boolean" id="=9X,1`gjSguFW*utA:bv">
                                                             <field name="BOOL">TRUE</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="THEN">
                                                       <block type="text" id="csdBBnCJt*D]BcCS)V^.">
                                                         <field name="TEXT">Fenster 3 ist auf, </field>
                                                       </block>
                                                     </value>
                                                     <value name="ELSE">
                                                       <block type="text" id="3ga$ElQ%OfZx`$zhr|yR">
                                                         <field name="TEXT"></field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="ADD4">
                                                   <block type="logic_ternary" id="k^Q@kEN=}QFLy2u{G4A4">
                                                     <value name="IF">
                                                       <block type="logic_operation" id="9TI#6WCiTilj+zzJ-e%-" inline="false">
                                                         <field name="OP">AND</field>
                                                         <value name="A">
                                                           <block type="logic_compare" id=".RM5aOlyPYk_t0R?R+hB">
                                                             <field name="OP">EQ</field>
                                                             <value name="A">
                                                               <block type="get_value" id="06[E_CQke|1rmWLkc5VJ">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">ID auswählen</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_boolean" id="Da]ESw%`66dka33KO,W+">
                                                                 <field name="BOOL">FALSE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_operation" id="+Z86*G5VAS{$DV1;=[4a" inline="false">
                                                             <field name="OP">AND</field>
                                                             <value name="A">
                                                               <block type="logic_compare" id="*`j3DtEq4E$XU^|rue}j">
                                                                 <field name="OP">EQ</field>
                                                                 <value name="A">
                                                                   <block type="get_value" id="j@7lxq-KT4r7Ua7=nbM]">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">ID auswählen</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="logic_boolean" id="|tZL,k6e_3N=B^GE];vQ">
                                                                     <field name="BOOL">FALSE</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_compare" id="Pv$Fld:C3~`eN1T+*-.x">
                                                                 <field name="OP">EQ</field>
                                                                 <value name="A">
                                                                   <block type="get_value" id="C#rR1F}i)lwQB$vHs^ge">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">ID auswählen</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="logic_boolean" id="UhztnBa6{UCxgq6y`:SH">
                                                                     <field name="BOOL">FALSE</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="THEN">
                                                       <block type="text" id="M,xwG@tf`.*1f.Ws(E%-">
                                                         <field name="TEXT">Alle Fenster geschlossen.</field>
                                                       </block>
                                                     </value>
                                                     <value name="ELSE">
                                                       <block type="text" id="_%ERei+=D1DeQ;9N-R1k">
                                                         <field name="TEXT"></field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="control" id="*dUX0lQOAgD6w1^gt7L#">
                                                 <mutation delay_input="false"></mutation>
                                                 <field name="OID">Object ID</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="variables_get" id="?J+ia9LcEf}HPu/^D59U">
                                                     <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                       </block>
                                     </next>
                                   </block>
                                 </statement>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  C panik 2 Replies Last reply Reply Quote 0
                  • C
                    CruziX @dslraser last edited by CruziX

                    Um es ein wenig übersichtlicher zu machen kannst du auch den Block
                    = wahr
                    entfernen
                    also nur Wert von Objekt Id.
                    Dieser Wert ist ja im korrekten fall schon wahr und muss nicht erst geprüft werden.

                    1 Reply Last reply Reply Quote 0
                    • panik
                      panik @dslraser last edited by

                      @dslraser said in Ansage Fenster geöffnet:

                      @panik
                      mach mal aus Deinen und und und ein oder oder oder usw.

                      Und ganz oben unter egal bzw. über falls setze mal nochmal Deine Ansage Variable hin, also setze Ansage auf, da drann ein Textfeld mit leer. Das zweite speak ganz löschen. Hier wir dann nur geprüft ob irgendein Fenster auf ist.

                      Bildschirmfoto 2020-02-06 um 19.54.03.png

                      Variante 2. (Ansage der Fenster die auf sind)

                      Bildschirmfoto 2020-02-06 um 20.12.10.png

                      <xml xmlns="http://www.w3.org/1999/xhtml">
                       <variables>
                         <variable type="" id="/v(bhDLGKn;lf3X5Mu.g">Ansage</variable>
                       </variables>
                       <block type="comment" id="=o*OKnyuhi4tg;sQdV(}" x="137" y="63">
                         <field name="COMMENT">Variante 1</field>
                         <next>
                           <block type="on_ext" id="pzCU-BcX5:#3K9gU`:xL">
                             <mutation items="1"></mutation>
                             <field name="CONDITION">ne</field>
                             <field name="ACK_CONDITION"></field>
                             <value name="OID0">
                               <shadow type="field_oid" id="(Khpd[h5-ljDwym!vcl:">
                                 <field name="oid">default</field>
                               </shadow>
                             </value>
                             <statement name="STATEMENT">
                               <block type="variables_set" id="Lq:={prmH}F-;^p/t%yg">
                                 <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                                 <value name="VALUE">
                                   <block type="text" id="G}s^x8fzBO}(G9QoxEeg">
                                     <field name="TEXT"></field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="controls_if" id="OTuvyHpTK{.v8G,YN^ES">
                                     <value name="IF0">
                                       <block type="on_source" id="Pc97BY`mj#%0*twU;k*]">
                                         <field name="ATTR">state.val</field>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="variables_set" id="dJ1i#$9,xwQ:w.eDly5p">
                                         <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                                         <value name="VALUE">
                                           <block type="text_join" id="C4F9nXo_p#Gk);[(B.:?">
                                             <mutation items="1"></mutation>
                                             <value name="ADD0">
                                               <block type="logic_ternary" id="X9+,4wN=p#!JHNONs|e[">
                                                 <value name="IF">
                                                   <block type="logic_operation" id="7f/-kU?w9?{+mPlZUib*" inline="false">
                                                     <field name="OP">OR</field>
                                                     <value name="A">
                                                       <block type="logic_compare" id="Ptbx8:s$W95;Tt[qQYo(">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id="WHci`a2k4%g:7?0_B)=6">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">ID auswählen</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_boolean" id="@*Pnz].YWT3@6vOH+Ki{">
                                                             <field name="BOOL">TRUE</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_operation" id="END;@Y#wR[|AjA6Std.5" inline="false">
                                                         <field name="OP">OR</field>
                                                         <value name="A">
                                                           <block type="logic_compare" id="2XbfJ/4?.nvlj?|]Qrv+">
                                                             <field name="OP">EQ</field>
                                                             <value name="A">
                                                               <block type="get_value" id="{*5YHX8w|Nd=Ei!g|m`4">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">ID auswählen</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_boolean" id=".Pr6$ZbE~di;gC_5G[.2">
                                                                 <field name="BOOL">TRUE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_operation" id=";nD]jp_G~yRZ|Z/Q#ApN" inline="false">
                                                             <field name="OP">OR</field>
                                                             <value name="A">
                                                               <block type="logic_compare" id="]1K:PXhVqhtA$40arg]s">
                                                                 <field name="OP">EQ</field>
                                                                 <value name="A">
                                                                   <block type="get_value" id="7$FY^MoaMl1}!ph!-wYb">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">ID auswählen</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="logic_boolean" id="sJr81]CL?N%zd[dei;[p">
                                                                     <field name="BOOL">TRUE</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_operation" id="5rn-=-ep9jbma!#7?v2s" inline="false">
                                                                 <field name="OP">OR</field>
                                                                 <value name="A">
                                                                   <block type="logic_compare" id="yrvDz`{mFua_Tarz#1SF">
                                                                     <field name="OP">EQ</field>
                                                                     <value name="A">
                                                                       <block type="get_value" id="JAGbIAsVeX^[Lt3;+E7#">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">ID auswählen</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="B">
                                                                       <block type="logic_boolean" id="4sg/3|r|~E}r:H}8KKVk">
                                                                         <field name="BOOL">TRUE</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="logic_operation" id="zm%O~vgle8T_|,d3uMt$" inline="false">
                                                                     <field name="OP">OR</field>
                                                                     <value name="A">
                                                                       <block type="logic_compare" id="C8)O6a7LQ:-vz[)OO%tc">
                                                                         <field name="OP">EQ</field>
                                                                         <value name="A">
                                                                           <block type="get_value" id="y+HEWx{vMaw1]=fuyC1]">
                                                                             <field name="ATTR">val</field>
                                                                             <field name="OID">ID auswählen</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="B">
                                                                           <block type="logic_boolean" id="DdTgR[IXC)$OnZc3``|l">
                                                                             <field name="BOOL">TRUE</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                     <value name="B">
                                                                       <block type="logic_compare" id="H1OL}3ktc+.cOS33`36t">
                                                                         <field name="OP">EQ</field>
                                                                         <value name="A">
                                                                           <block type="get_value" id="SbR5qcEjQ+gC+~6G?)M;">
                                                                             <field name="ATTR">val</field>
                                                                             <field name="OID">ID auswählen</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="B">
                                                                           <block type="logic_boolean" id=":[I7^6$soa.Og0mWHmQh">
                                                                             <field name="BOOL">TRUE</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <value name="THEN">
                                                   <block type="text" id="w_3)=NWX0.7YP|g:I~_*">
                                                     <field name="TEXT">Es gibt offene Fenster, bitte überpüfen.</field>
                                                   </block>
                                                 </value>
                                                 <value name="ELSE">
                                                   <block type="text" id="z)q7OGCF~;uP77ef,~Nb">
                                                     <field name="TEXT">Alle Fenster geschlossen</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="control" id="ICyE6{C1`:(@4FM~c_0Y">
                                             <mutation delay_input="false"></mutation>
                                             <field name="OID">Object ID</field>
                                             <field name="WITH_DELAY">FALSE</field>
                                             <value name="VALUE">
                                               <block type="variables_get" id="5I-VJ+rj7s8@SEny6^()">
                                                 <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                                               </block>
                                             </value>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <next>
                               <block type="comment" id="Yw3h0-)eY%d9DM/x.a)Y">
                                 <field name="COMMENT">Variante 2</field>
                                 <next>
                                   <block type="on_ext" id="ZBE,w75K2Rj}Uk15G?yv">
                                     <mutation items="1"></mutation>
                                     <field name="CONDITION">ne</field>
                                     <field name="ACK_CONDITION"></field>
                                     <value name="OID0">
                                       <shadow type="field_oid" id="N5y%@PxPA!gBZ!4Tv1?Y">
                                         <field name="oid">default</field>
                                       </shadow>
                                     </value>
                                     <statement name="STATEMENT">
                                       <block type="variables_set" id="%[t|B=iR6E~_SS%bQtm%">
                                         <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                                         <value name="VALUE">
                                           <block type="text" id="^47y:J~b#Dn-bqbJ;yz!">
                                             <field name="TEXT"></field>
                                           </block>
                                         </value>
                                         <next>
                                           <block type="controls_if" id="4}NTMpPDn+x*Ni6QkNfW">
                                             <value name="IF0">
                                               <block type="on_source" id="h2$t/!2FGKZi6A(|*4ac">
                                                 <field name="ATTR">state.val</field>
                                               </block>
                                             </value>
                                             <statement name="DO0">
                                               <block type="variables_set" id="6W+?F-bobek|*zAa:tc3">
                                                 <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                                                 <value name="VALUE">
                                                   <block type="text_join" id="7Th*c.Q|NAt:2F%[tE*q">
                                                     <mutation items="5"></mutation>
                                                     <value name="ADD0">
                                                       <block type="text" id="f;8ZpYcn(qglYNMwKJ}o">
                                                         <field name="TEXT">Aktuell sind </field>
                                                       </block>
                                                     </value>
                                                     <value name="ADD1">
                                                       <block type="logic_ternary" id="qr{Hq0KxbZEP$eLCUrQ;">
                                                         <value name="IF">
                                                           <block type="logic_compare" id="Ct)gEYCe+)oi.#5c(w?7">
                                                             <field name="OP">EQ</field>
                                                             <value name="A">
                                                               <block type="get_value" id="e/o-ubTQO=cj,pN|Td)U">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">ID auswählen</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_boolean" id="9jU`c#u/9KWe1v./WZbx">
                                                                 <field name="BOOL">TRUE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="THEN">
                                                           <block type="text" id="E):mh6vi64k1g~N~33`N">
                                                             <field name="TEXT">Fenster 1 ist auf, </field>
                                                           </block>
                                                         </value>
                                                         <value name="ELSE">
                                                           <block type="text" id="iX-d[u[1(=-*,(F.+5R2">
                                                             <field name="TEXT"></field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="ADD2">
                                                       <block type="logic_ternary" id="-HWg}x[xki1{g]yuDX_l">
                                                         <value name="IF">
                                                           <block type="logic_compare" id="f/;`@FISCo8``?7lQlC9">
                                                             <field name="OP">EQ</field>
                                                             <value name="A">
                                                               <block type="get_value" id="r#*M~L,Ax~}(_GA7cL.~">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">ID auswählen</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_boolean" id="3s|{3N7dtz93W(TXkZ1u">
                                                                 <field name="BOOL">TRUE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="THEN">
                                                           <block type="text" id="%^apVuLg(+]eI1$c[;BX">
                                                             <field name="TEXT">Fenster 2 ist auf, </field>
                                                           </block>
                                                         </value>
                                                         <value name="ELSE">
                                                           <block type="text" id="am:[rt@lwr^D/*#z81+i">
                                                             <field name="TEXT"></field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="ADD3">
                                                       <block type="logic_ternary" id="#d2(E//(js|{n(spi[aF">
                                                         <value name="IF">
                                                           <block type="logic_compare" id=".gKRSe-fcL8wadp9B1#s">
                                                             <field name="OP">EQ</field>
                                                             <value name="A">
                                                               <block type="get_value" id="49x|at@#S~#RHgec@Z(9">
                                                                 <field name="ATTR">val</field>
                                                                 <field name="OID">ID auswählen</field>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_boolean" id="=9X,1`gjSguFW*utA:bv">
                                                                 <field name="BOOL">TRUE</field>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="THEN">
                                                           <block type="text" id="csdBBnCJt*D]BcCS)V^.">
                                                             <field name="TEXT">Fenster 3 ist auf, </field>
                                                           </block>
                                                         </value>
                                                         <value name="ELSE">
                                                           <block type="text" id="3ga$ElQ%OfZx`$zhr|yR">
                                                             <field name="TEXT"></field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="ADD4">
                                                       <block type="logic_ternary" id="k^Q@kEN=}QFLy2u{G4A4">
                                                         <value name="IF">
                                                           <block type="logic_operation" id="9TI#6WCiTilj+zzJ-e%-" inline="false">
                                                             <field name="OP">AND</field>
                                                             <value name="A">
                                                               <block type="logic_compare" id=".RM5aOlyPYk_t0R?R+hB">
                                                                 <field name="OP">EQ</field>
                                                                 <value name="A">
                                                                   <block type="get_value" id="06[E_CQke|1rmWLkc5VJ">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">ID auswählen</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="logic_boolean" id="Da]ESw%`66dka33KO,W+">
                                                                     <field name="BOOL">FALSE</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <value name="B">
                                                               <block type="logic_operation" id="+Z86*G5VAS{$DV1;=[4a" inline="false">
                                                                 <field name="OP">AND</field>
                                                                 <value name="A">
                                                                   <block type="logic_compare" id="*`j3DtEq4E$XU^|rue}j">
                                                                     <field name="OP">EQ</field>
                                                                     <value name="A">
                                                                       <block type="get_value" id="j@7lxq-KT4r7Ua7=nbM]">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">ID auswählen</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="B">
                                                                       <block type="logic_boolean" id="|tZL,k6e_3N=B^GE];vQ">
                                                                         <field name="BOOL">FALSE</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="logic_compare" id="Pv$Fld:C3~`eN1T+*-.x">
                                                                     <field name="OP">EQ</field>
                                                                     <value name="A">
                                                                       <block type="get_value" id="C#rR1F}i)lwQB$vHs^ge">
                                                                         <field name="ATTR">val</field>
                                                                         <field name="OID">ID auswählen</field>
                                                                       </block>
                                                                     </value>
                                                                     <value name="B">
                                                                       <block type="logic_boolean" id="UhztnBa6{UCxgq6y`:SH">
                                                                         <field name="BOOL">FALSE</field>
                                                                       </block>
                                                                     </value>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                           </block>
                                                         </value>
                                                         <value name="THEN">
                                                           <block type="text" id="M,xwG@tf`.*1f.Ws(E%-">
                                                             <field name="TEXT">Alle Fenster geschlossen.</field>
                                                           </block>
                                                         </value>
                                                         <value name="ELSE">
                                                           <block type="text" id="_%ERei+=D1DeQ;9N-R1k">
                                                             <field name="TEXT"></field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="control" id="*dUX0lQOAgD6w1^gt7L#">
                                                     <mutation delay_input="false"></mutation>
                                                     <field name="OID">Object ID</field>
                                                     <field name="WITH_DELAY">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="variables_get" id="?J+ia9LcEf}HPu/^D59U">
                                                         <field name="VAR" id="/v(bhDLGKn;lf3X5Mu.g" variabletype="">Ansage</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </next>
                                               </block>
                                             </statement>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </next>
                           </block>
                         </next>
                       </block>
                      </xml>
                      

                      Vielen Dank 🙂 So konnte ich es lösen und auch verstehen!
                      Allerdings habe ich die letzte Prüfung ODER und nicht UND verknüpfen müssen um das es auch Funktioniert, das tut es nun wie es scheint. Ich freue mich 🍡

                      @CruziX said in Ansage Fenster geöffnet:

                      Um es ein wenig übersichtlicher zu machen kannst du auch den Block
                      = wahr
                      entfernen
                      also nur Wert von Objekt Id.
                      Dieser Wert ist ja im korrekten fall schon wahr und muss nicht erst geprüft werden.

                      Danke für den Hinweis, so habe ich es dann auch gemacht.
                      screenshot-192.168.0.3_8081-2020.02.png

                      C 1 Reply Last reply Reply Quote 0
                      • C
                        CruziX @panik last edited by CruziX

                        @panik Mal ein Verbesserungsvorschlag.
                        In deinem Fall musst du ja immer, wenn ein Fenstersensor dazu kommen würde, einen Prüfe Block hinzufügen und ganz unten die oder Verknüpfungen ergänzen.

                        Vorschlag:
                        Vor dem
                        Setze Ansage_Fenster.
                        Eine andere Variable setzen, z.B. die Variable FensterText.
                        Nun machst du fast das gleiche wie bei Ansage_Fenster.
                        Du beschreibst die neue Variable mit einem erstelle Text aus Block und verschiebst alle prüfe Blöcke von Ansage_Fenster zu der neuen Variable.
                        Also hast du, wenn mindestens ein Fenster offen ist in der neuen Variable einen Text stehen, und wenn alle zu sein einen leeren String drin.

                        Den Block mit deinen ganzen oders ersetzt du durch
                        prüfe ob die länge von FensterText > 0 ist.

                        Dann noch den block wo du "offen." rein schreibst durch einen erstelle Text aus FensterText und " offen."
                        ersetzen.

                        Somit brauchst du bei einem neuen Fenster nur die prüfe Blöcke in in deiner neuen Variable FesterText zu ergänzen.

                        Hoffe das war verständlich, sonst mache ich heute Abend nochmal ein Beispiel.

                        panik 1 Reply Last reply Reply Quote 0
                        • panik
                          panik @CruziX last edited by

                          @CruziX said in Ansage Fenster geöffnet:

                          @panik Mal ein Verbesserungsvorschlag.
                          In deinem Fall musst du ja immer, wenn ein Fenstersensor dazu kommen würde, einen Prüfe Block hinzufügen und ganz unten die oder Verknüpfungen ergänzen.

                          Vorschlag:
                          Vor dem
                          Setze Ansage_Fenster.
                          Eine andere Variable setzen, z.B. die Variable FensterText.
                          Nun machst du fast das gleiche wie bei Ansage_Fenster.
                          Du beschreibst die neue Variable mit einem erstelle Text aus Block und verschiebst alle prüfe Blöcke von Ansage_Fenster zu der neuen Variable.
                          Also hast du, wenn mindestens ein Fenster offen ist in der neuen Variable einen Text stehen, und wenn alle zu sein einen leeren String drin.

                          Den Block mit deinen ganzen oders ersetzt du durch
                          prüfe ob die länge von FensterText > 0 ist.

                          Dann noch den block wo du "offen." rein schreibst durch einen erstelle Text aus FensterText und " offen."
                          ersetzen.

                          Somit brauchst du bei einem neuen Fenster nur die prüfe Blöcke in in deiner neuen Variable FesterText zu ergänzen.

                          Hoffe das war verständlich, sonst mache ich heute Abend nochmal ein Beispiel.

                          Verstehe die Vereinfachung aber ich denke hier ist das kontraproduktiv da ich ja auch wissen möchte welches Fenster geöffnet ist, das würde dann ja wegfallen.
                          Allerdings finde ich die Idee gut. Wollte eine Heizung - Fenster Verknüpfung machen, denke da werde ich das mal ausprobieren. Da gilt dann nur wenn dieses oder jedes offen ist, Heizung abstellen.

                          C 1 Reply Last reply Reply Quote 0
                          • C
                            CruziX @panik last edited by CruziX

                            @panik Ne, welches Fenster offen ist steht ja dann in der neuen Variable FensterText, nur das du so auf eben diese Variable prüfen kannst ob mindestens ein Fenster geöffnet ist.
                            Ich mache mal heute Abend -ich hoffe ich denke dran 😛 - ein Beispiel

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            590
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            blockly
                            4
                            12
                            798
                            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