Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Angabe von Zeitraum im Jahr im Blockly!

    NEWS

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

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Angabe von Zeitraum im Jahr im Blockly!

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

      @labamba
      Danke. Das alles ist in Deinem Blockly-Bild nicht zu erkennen.

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

        @paul53

        So mal das Ganze! Ich dachte ich begrenze es bzgl. der Übersichtlichkeit.
        Ich habe gerade festgestellt, dass ich es nicht Spoilern kann da es zu groß hier ist.

        paul53 L 2 Replies Last reply Reply Quote 0
        • paul53
          paul53 @LaBamba last edited by

          @labamba sagte: Ich habe gerade festgestellt, dass ich es nicht Spoilern kann da es zu groß hier ist.

          Auch mit Spoiler und Code tags?
          XML bitte immer in Code tags posten.

          1 Reply Last reply Reply Quote 0
          • L
            LaBamba @LaBamba last edited by LaBamba

            @paul53
            Ja , kommt immer longer than 100000 charakters

            paul53 2 Replies Last reply Reply Quote 0
            • paul53
              paul53 @LaBamba last edited by

              @labamba sagte: kommt immer longer than 100000 charakters

              Kannst Du mehrere Bilder untereinander posten, so dass es noch erkennbar ist?

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

                @labamba
                Man kann sicherlich einige Aktionen für Sommer und Winter zusammenfassen?

                Bild_2022-02-09_141536.png

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

                  @labamba sagte: kommt immer longer than 100000 charakters

                  Wie sieht es mit dem erzeugten Javascript-Code ohne die letzte Zeile aus (Code tags!)?

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

                    @paul53

                    var timeout, Intervall, timeout11, Intervall11, timeout12, Intervall12, timeout13, Intervall13, timeout14, Intervall14, timeout15, Intervall15;
                    
                    
                    // <=5
                    on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (getState("zigbee.0.00158d0003a4845d.opened").val == true && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 5) {
                        setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                        setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 4 Minuten'].join('')), 1000, false);
                        timeout = setTimeout(async function () {
                          Intervall = setInterval(async function () {
                            setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                          }, 60000);
                        }, 180000);
                      } else {
                        (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                        (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                      }
                    });
                    // >5-<=10
                    on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (getState("zigbee.0.00158d0003a4845d.opened").val == true && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 5 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 10) {
                        setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                        setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 6 Minuten'].join('')), 1000, false);
                        timeout11 = setTimeout(async function () {
                          Intervall11 = setInterval(async function () {
                            setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                          }, 120000);
                        }, 240000);
                      } else {
                        (function () {if (timeout11) {clearTimeout(timeout11); timeout11 = null;}})();
                        (function () {if (Intervall11) {clearInterval(Intervall11); Intervall11 = null;}})();
                      }
                    });
                    on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 5 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 10) {
                        setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                        setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 5 Minuten'].join('')), 1000, false);
                        timeout12 = setTimeout(async function () {
                          Intervall12 = setInterval(async function () {
                            setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                          }, 60000);
                        }, 240000);
                      } else {
                        (function () {if (timeout12) {clearTimeout(timeout12); timeout12 = null;}})();
                        (function () {if (Intervall12) {clearInterval(Intervall12); Intervall12 = null;}})();
                      }
                    });
                    // >10-<=15
                    on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('00:00', '09:30', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) {
                        setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                        setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 12 Minuten'].join('')), 1000, false);
                        timeout13 = setTimeout(async function () {
                          Intervall13 = setInterval(async function () {
                            setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                          }, 120000);
                        }, 600000);
                      } else {
                        (function () {if (timeout13) {clearTimeout(timeout13); timeout13 = null;}})();
                        (function () {if (Intervall13) {clearInterval(Intervall13); Intervall13 = null;}})();
                      }
                    });
                    on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('9:31', '23:59', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) {
                        setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                        setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 9 Minuten'].join('')), 1000, false);
                        timeout14 = setTimeout(async function () {
                          Intervall14 = setInterval(async function () {
                            setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                          }, 120000);
                        }, 420000);
                      } else {
                        (function () {if (timeout14) {clearTimeout(timeout14); timeout14 = null;}})();
                        (function () {if (Intervall14) {clearInterval(Intervall14); Intervall14 = null;}})();
                      }
                    });
                    on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                      var value = obj.state.val;
                      var oldValue = obj.oldState.val;
                      if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '15/09' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) {
                        setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                        setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 7 Minuten'].join('')), 1000, false);
                        timeout15 = setTimeout(async function () {
                          Intervall15 = setInterval(async function () {
                            setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                          }, 120000);
                        }, 300000);
                      } else {
                        (function () {if (timeout15) {clearTimeout(timeout15); timeout15 = null;}})();
                        (function () {if (Intervall15) {clearInterval(Intervall15); Intervall15 = null;}})();
                      }
                    });
                    
                    formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '09/15' && true;
                    
                    getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val;
                    
                    getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val;
                    
                    paul53 L 2 Replies Last reply Reply Quote 0
                    • paul53
                      paul53 @LaBamba last edited by paul53

                      @labamba
                      Mit nur einem Trigger und einigen Variablen:

                      <xml xmlns="https://developers.google.com/blockly/xml">
                       <variables>
                         <variable id="]QNA]6mC/m=YN4#MWOV;">AT</variable>
                         <variable id="4RnZsx32p9:0WHh7`},t">delay</variable>
                         <variable id="zL[s}0F!ZKt(|[4;3urB">erinnern</variable>
                         <variable id="!$%d@O83Ka[rhkXU1dP%">repeat</variable>
                         <variable type="timeout" id="timeout">timeout</variable>
                         <variable type="interval" id="Intervall">Intervall</variable>
                       </variables>
                       <block type="on_ext" id="j/`@HZdJ~17vrQ9X7RO7" x="248" y="242">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
                         <field name="CONDITION">ne</field>
                         <field name="ACK_CONDITION"></field>
                         <value name="OID0">
                           <shadow type="field_oid" id="[MlNQNzJOYHV_G/sW_9V">
                             <field name="oid">default</field>
                           </shadow>
                         </value>
                         <statement name="STATEMENT">
                           <block type="controls_if" id="}jIUn/,`CitVWam5*!{j">
                             <mutation else="1"></mutation>
                             <value name="IF0">
                               <block type="on_source" id="~+^c(d)9Pp};9=d;k^(~">
                                 <field name="ATTR">state.val</field>
                               </block>
                             </value>
                             <statement name="DO0">
                               <block type="variables_set" id="2ceJWHTViZpB}Lg8$xoB">
                                 <field name="VAR" id="]QNA]6mC/m=YN4#MWOV;">AT</field>
                                 <value name="VALUE">
                                   <block type="get_value" id="OZyemU2M,pG#4M6.fCBz">
                                     <field name="ATTR">val</field>
                                     <field name="OID">0_userdata.0.Aussen.Klima.Temperatur</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="controls_if" id="c5xSBiVLfyVzB?#LjsPQ">
                                     <value name="IF0">
                                       <block type="logic_compare" id="~+bKEi6D]y8w@}_#rwy^">
                                         <field name="OP">LTE</field>
                                         <value name="A">
                                           <block type="variables_get" id="EaYhjM/*5p*VaDcauJg$">
                                             <field name="VAR" id="]QNA]6mC/m=YN4#MWOV;">AT</field>
                                           </block>
                                         </value>
                                         <value name="B">
                                           <block type="math_number" id="SRy%F+0y6.w=-E*rvM/v">
                                             <field name="NUM">15</field>
                                           </block>
                                         </value>
                                       </block>
                                     </value>
                                     <statement name="DO0">
                                       <block type="controls_if" id="52|^M-0g=Z32yAPO8UG]">
                                         <mutation elseif="2" else="1"></mutation>
                                         <value name="IF0">
                                           <block type="logic_compare" id="6lOVHGxA9RaGAwK]$0KW">
                                             <field name="OP">LTE</field>
                                             <value name="A">
                                               <block type="variables_get" id="hLfiQMq3*/1oM3C(NbhB">
                                                 <field name="VAR" id="]QNA]6mC/m=YN4#MWOV;">AT</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="math_number" id="okdf/i^obCKMb^V@0NCo">
                                                 <field name="NUM">5</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO0">
                                           <block type="variables_set" id="Gw|KFup}:lxb+s=Cw,@a">
                                             <field name="VAR" id="4RnZsx32p9:0WHh7`},t">delay</field>
                                             <value name="VALUE">
                                               <block type="math_number" id="_B7IBLbz`j9IO|sRYKFB">
                                                 <field name="NUM">180000</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="7`b,{0M:mg[rnT1?ppqb">
                                                 <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                 <value name="VALUE">
                                                   <block type="math_number" id="O4_{|}/yrW@,|hcV+21:">
                                                     <field name="NUM">60000</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                         <value name="IF1">
                                           <block type="logic_compare" id="DgHn#PWEHLvox7[{^vC/">
                                             <field name="OP">LTE</field>
                                             <value name="A">
                                               <block type="variables_get" id="UMGtz$8FdLn$UI.16[x~">
                                                 <field name="VAR" id="]QNA]6mC/m=YN4#MWOV;">AT</field>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="math_number" id="_Lr^dK)2G$G6:5kDZr$i">
                                                 <field name="NUM">10</field>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO1">
                                           <block type="variables_set" id="j;#V?VF`YpCQ1Vb:)lRh">
                                             <field name="VAR" id="4RnZsx32p9:0WHh7`},t">delay</field>
                                             <value name="VALUE">
                                               <block type="math_number" id="Ps!:-r=^6O!3S[5HNB7B">
                                                 <field name="NUM">240000</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="controls_if" id="7(`:L+{N]{].;E+P.,@S">
                                                 <mutation else="1"></mutation>
                                                 <value name="IF0">
                                                   <block type="logic_operation" id=":?@RSP_6Q.SYS+ZqJJh%" inline="false">
                                                     <field name="OP">OR</field>
                                                     <value name="A">
                                                       <block type="logic_compare" id="Q5=s:p4=)8?2*:*#d0.y">
                                                         <field name="OP">LT</field>
                                                         <value name="A">
                                                           <block type="time_get" id="@7tjj^UH(#}i9Y5EY9ng">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                             <field name="OPTION">MM/DD</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="text" id="I%^*a//jYR.p7V=zUzUX">
                                                             <field name="TEXT">05/15</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <block type="logic_compare" id="C(?5-W9G@!g@M/x%lxp;">
                                                         <field name="OP">GT</field>
                                                         <value name="A">
                                                           <block type="time_get" id="7[vKmoB[@NtR3JxRd]Xl">
                                                             <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                             <field name="OPTION">MM/DD</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="text" id="aI_R$L%#vAU+U_)+H|)W">
                                                             <field name="TEXT">09/15</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </value>
                                                 <statement name="DO0">
                                                   <block type="variables_set" id="|.)G53.BF3{J#.^{a9(k">
                                                     <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                     <value name="VALUE">
                                                       <block type="math_number" id="ibH)+0UQz;q9s;`C}lb3">
                                                         <field name="NUM">60000</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                                 <statement name="ELSE">
                                                   <block type="variables_set" id="[hQM8-;0{iiSL6a:-fy(">
                                                     <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                     <value name="VALUE">
                                                       <block type="math_number" id="@At+{TPJ,(xKssf|n?IV">
                                                         <field name="NUM">120000</field>
                                                       </block>
                                                     </value>
                                                   </block>
                                                 </statement>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                         <value name="IF2">
                                           <block type="logic_operation" id="K;uBksX-9W)(!zT=DPiY" inline="false">
                                             <field name="OP">AND</field>
                                             <value name="A">
                                               <block type="logic_compare" id="2):ua8WrKEeCt%w}MAm[">
                                                 <field name="OP">GTE</field>
                                                 <value name="A">
                                                   <block type="time_get" id="ST6$IL$C*cxKugv*n^iE">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                     <field name="OPTION">MM/DD</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="text" id="_3$0pj0VX$}tTp3Xp=~V">
                                                     <field name="TEXT">05/15</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <value name="B">
                                               <block type="logic_compare" id="VV+!c;L6^mAcli#6f8E9">
                                                 <field name="OP">LTE</field>
                                                 <value name="A">
                                                   <block type="time_get" id="98v/1N.z,S},713lB#-T">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" format="false" language="false"></mutation>
                                                     <field name="OPTION">MM/DD</field>
                                                   </block>
                                                 </value>
                                                 <value name="B">
                                                   <block type="text" id="{VbSpg9UMWQ-%@dAcG3`">
                                                     <field name="TEXT">09/15</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                           </block>
                                         </value>
                                         <statement name="DO2">
                                           <block type="variables_set" id="$fj59$g5mU*jvefM=~;J">
                                             <field name="VAR" id="4RnZsx32p9:0WHh7`},t">delay</field>
                                             <value name="VALUE">
                                               <block type="math_number" id="8mpUp26-WiPV*b0*aR!$">
                                                 <field name="NUM">420000</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="yfNt0[oDzsM~gy3pMAN5">
                                                 <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                 <value name="VALUE">
                                                   <block type="math_number" id="b2!_?f}l2#jM78L%+,Ff">
                                                     <field name="NUM">120000</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                         <statement name="ELSE">
                                           <block type="variables_set" id="M^sgq0.rPEYJ:8!_Ia9^">
                                             <field name="VAR" id="4RnZsx32p9:0WHh7`},t">delay</field>
                                             <value name="VALUE">
                                               <block type="math_number" id="Mxi[:X|2aeD91).yYPP=">
                                                 <field name="NUM">300000</field>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="variables_set" id="v@Osj]RCiX_N7wj*(^O$">
                                                 <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                 <value name="VALUE">
                                                   <block type="math_number" id="-?*Onrmxf?^XT@sH-jWd">
                                                     <field name="NUM">120000</field>
                                                   </block>
                                                 </value>
                                               </block>
                                             </next>
                                           </block>
                                         </statement>
                                         <next>
                                           <block type="variables_set" id="l]+}}cza!:;?O8*cuXZF">
                                             <field name="VAR" id="zL[s}0F!ZKt(|[4;3urB">erinnern</field>
                                             <value name="VALUE">
                                               <block type="math_round" id="RZJdjb-`N4.^Mh6]/{Uf">
                                                 <field name="OP">ROUND</field>
                                                 <value name="NUM">
                                                   <shadow type="math_number" id=";UPHSL?Orhu^Kc,|n2b~">
                                                     <field name="NUM">3.1</field>
                                                   </shadow>
                                                   <block type="math_arithmetic" id="NWuTZur)MNxjn)~_9/}L">
                                                     <field name="OP">DIVIDE</field>
                                                     <value name="A">
                                                       <shadow type="math_number" id="fKLma,i_EPR5fi/r2[/Y">
                                                         <field name="NUM">1</field>
                                                       </shadow>
                                                       <block type="math_arithmetic" id="J58k|`S:;]al4q2P8RxG">
                                                         <field name="OP">ADD</field>
                                                         <value name="A">
                                                           <shadow type="math_number" id="fPS,[8PfV0RIJfPiy,?n">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                           <block type="variables_get" id="F~phPOa`ia=(ziw:M^nC">
                                                             <field name="VAR" id="4RnZsx32p9:0WHh7`},t">delay</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <shadow type="math_number" id="a__g(Wn$8Pi$}OvlZxK+">
                                                             <field name="NUM">1</field>
                                                           </shadow>
                                                           <block type="variables_get" id="*84MvqKAh-Qad:l@WS(X">
                                                             <field name="VAR" id="!$%d@O83Ka[rhkXU1dP%">repeat</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <value name="B">
                                                       <shadow type="math_number" id="[JzwiX?%5-J895veMWB,">
                                                         <field name="NUM">60000</field>
                                                       </shadow>
                                                     </value>
                                                   </block>
                                                 </value>
                                               </block>
                                             </value>
                                             <next>
                                               <block type="control" id=".rCb{,2-p;zUV*ybaKm@">
                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                 <field name="OID">Object ID</field>
                                                 <field name="WITH_DELAY">FALSE</field>
                                                 <value name="VALUE">
                                                   <block type="math_number" id="qr}?YyDWka?}ITSZPg_5">
                                                     <field name="NUM">100</field>
                                                   </block>
                                                 </value>
                                                 <next>
                                                   <block type="control" id="hOBpBB5X?nVIo1WOlS69">
                                                     <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                                     <field name="OID">Object ID</field>
                                                     <field name="WITH_DELAY">TRUE</field>
                                                     <field name="DELAY_MS">1</field>
                                                     <field name="UNIT">sec</field>
                                                     <field name="CLEAR_RUNNING">FALSE</field>
                                                     <value name="VALUE">
                                                       <block type="text_join" id="W5UGwFSs|Z}94U2;G_W{">
                                                         <mutation items="5"></mutation>
                                                         <value name="ADD0">
                                                           <block type="text" id="Aaz()#nr)(NTp+=G?YF|">
                                                             <field name="TEXT">Es hat gerade </field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD1">
                                                           <block type="variables_get" id="dfLE|1K#LVxI6M=]:QX{">
                                                             <field name="VAR" id="]QNA]6mC/m=YN4#MWOV;">AT</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD2">
                                                           <block type="text" id="53aPK/=@M.a}W;1D%=hL">
                                                             <field name="TEXT"> Grad Außentemperatur Erinnerung in </field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD3">
                                                           <block type="variables_get" id="M]uv~p1KB)`@`;9$4DF[">
                                                             <field name="VAR" id="zL[s}0F!ZKt(|[4;3urB">erinnern</field>
                                                           </block>
                                                         </value>
                                                         <value name="ADD4">
                                                           <block type="text" id="6yAI%}L8/H^[@[5z,``t">
                                                             <field name="TEXT"> Minutem</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <next>
                                                       <block type="timeouts_settimeout" id="/=/=Tqkdv2di8u3:0=$C">
                                                         <field name="NAME">timeout</field>
                                                         <field name="DELAY">delay</field>
                                                         <field name="UNIT">ms</field>
                                                         <statement name="STATEMENT">
                                                           <block type="timeouts_setinterval" id="}UNdg8kz$Mh:1w_Lo/V=">
                                                             <field name="NAME">Intervall</field>
                                                             <field name="INTERVAL">repeat</field>
                                                             <field name="UNIT">ms</field>
                                                             <statement name="STATEMENT">
                                                               <block type="control" id="(.$AUzO6a?iL0yhke@@g">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                                                 <field name="OID">Object ID</field>
                                                                 <field name="WITH_DELAY">FALSE</field>
                                                                 <value name="VALUE">
                                                                   <block type="text" id="ZZeLK=Ll)Q{}i,5Bj?_M">
                                                                     <field name="TEXT">Badfenster wieder schließen</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                           </block>
                                                         </statement>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </next>
                                           </block>
                                         </next>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                             <statement name="ELSE">
                               <block type="timeouts_cleartimeout" id="4FBrkRD9H2hh@0;$oWub">
                                 <field name="NAME">timeout</field>
                                 <next>
                                   <block type="timeouts_clearinterval" id="y(K.(`/O@^Yn$4IHIVrq">
                                     <field name="NAME">Intervall</field>
                                   </block>
                                 </next>
                               </block>
                             </statement>
                           </block>
                         </statement>
                       </block>
                      </xml>
                      

                      Bild_2022-02-09_153325.png

                      1 Reply Last reply Reply Quote 1
                      • L
                        LaBamba @LaBamba last edited by

                        @paul53
                        Das wahr anscheinend irgendwie nicht das Ganze.

                        var timeout, Intervall, timeout11, Intervall11, timeout12, Intervall12, timeout13, Intervall13, timeout14, Intervall14, timeout15, Intervall15, timeout16, Intervall16, timeout17, Intervall17, timeout18, Intervall18, timeout19, Intervall19, timeout20, Intervall20, timeout21, Intervall21, timeout22, Intervall22, timeout24, Intervall24;
                        
                        
                        // <=5
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 5) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 4 Minuten'].join('')), 1000, false);
                            timeout = setTimeout(async function () {
                              Intervall = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 60000);
                            }, 180000);
                          } else {
                            (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                            (function () {if (Intervall) {clearInterval(Intervall); Intervall = null;}})();
                          }
                        });
                        // >5-<=10
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 5 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 10) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 6 Minuten'].join('')), 1000, false);
                            timeout11 = setTimeout(async function () {
                              Intervall11 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 120000);
                            }, 240000);
                          } else {
                            (function () {if (timeout11) {clearTimeout(timeout11); timeout11 = null;}})();
                            (function () {if (Intervall11) {clearInterval(Intervall11); Intervall11 = null;}})();
                          }
                        });
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 5 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 10) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 5 Minuten'].join('')), 1000, false);
                            timeout12 = setTimeout(async function () {
                              Intervall12 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 60000);
                            }, 240000);
                          } else {
                            (function () {if (timeout12) {clearTimeout(timeout12); timeout12 = null;}})();
                            (function () {if (Intervall12) {clearInterval(Intervall12); Intervall12 = null;}})();
                          }
                        });
                        // >10-<=15
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('00:00', '09:30', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 12 Minuten'].join('')), 1000, false);
                            timeout13 = setTimeout(async function () {
                              Intervall13 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 120000);
                            }, 600000);
                          } else {
                            (function () {if (timeout13) {clearTimeout(timeout13); timeout13 = null;}})();
                            (function () {if (Intervall13) {clearInterval(Intervall13); Intervall13 = null;}})();
                          }
                        });
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('9:31', '23:59', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 9 Minuten'].join('')), 1000, false);
                            timeout14 = setTimeout(async function () {
                              Intervall14 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 120000);
                            }, 420000);
                          } else {
                            (function () {if (timeout14) {clearTimeout(timeout14); timeout14 = null;}})();
                            (function () {if (Intervall14) {clearInterval(Intervall14); Intervall14 = null;}})();
                          }
                        });
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '15/09' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 10 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val <= 15) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 7 Minuten'].join('')), 1000, false);
                            timeout15 = setTimeout(async function () {
                              Intervall15 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 120000);
                            }, 300000);
                          } else {
                            (function () {if (timeout15) {clearTimeout(timeout15); timeout15 = null;}})();
                            (function () {if (Intervall15) {clearInterval(Intervall15); Intervall15 = null;}})();
                          }
                        });
                        // >15-<=19
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('00:00', '09:30', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 15 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val < 19) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 18 Minuten'].join('')), 1000, false);
                            timeout16 = setTimeout(async function () {
                              Intervall16 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 180000);
                            }, 900000);
                          } else {
                            (function () {if (timeout16) {clearTimeout(timeout16); timeout16 = null;}})();
                            (function () {if (Intervall16) {clearInterval(Intervall16); Intervall16 = null;}})();
                          }
                        });
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('09:31', '23:59', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 15 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val < 19) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 13 Minuten'].join('')), 1000, false);
                            timeout17 = setTimeout(async function () {
                              Intervall17 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 180000);
                            }, 600000);
                          } else {
                            (function () {if (timeout17) {clearTimeout(timeout17); timeout17 = null;}})();
                            (function () {if (Intervall17) {clearInterval(Intervall17); Intervall17 = null;}})();
                          }
                        });
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '15/09' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val > 15 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val < 19) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 10 Minuten'].join('')), 1000, false);
                            timeout18 = setTimeout(async function () {
                              Intervall18 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 120000);
                            }, 480000);
                          } else {
                            (function () {if (timeout18) {clearTimeout(timeout18); timeout18 = null;}})();
                            (function () {if (Intervall18) {clearInterval(Intervall18); Intervall18 = null;}})();
                          }
                        });
                        // >19
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('00:00', '09:30', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val >= 19 && getState("daswetter.0.NextHours.Location_1.Day_1.current.temp_value").val < getState("hm-rpc.0.000C98A9A4C756.1.ACTUAL_TEMPERATURE").val) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 16 Minuten'].join('')), 1000, false);
                            timeout19 = setTimeout(async function () {
                              Intervall19 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 240000);
                            }, 720000);
                          } else {
                            (function () {if (timeout19) {clearTimeout(timeout19); timeout19 = null;}})();
                            (function () {if (Intervall19) {clearInterval(Intervall19); Intervall19 = null;}})();
                          }
                        });
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '15/09' && compareTime('09:31', '23:59', "between", null) && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val >= 19 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val < getState("hm-rpc.0.000C98A9A4C756.1.ACTUAL_TEMPERATURE").val) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 10 Minuten'].join('')), 1000, false);
                            timeout20 = setTimeout(async function () {
                              Intervall20 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 120000);
                            }, 480000);
                          } else {
                            (function () {if (timeout20) {clearTimeout(timeout20); timeout20 = null;}})();
                            (function () {if (Intervall20) {clearInterval(Intervall20); Intervall20 = null;}})();
                          }
                        });
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val >= 19 && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val < getState("hm-rpc.0.000C98A9A4C756.1.ACTUAL_TEMPERATURE").val) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Erinnerung nach 10 Minuten'].join('')), 1000, false);
                            timeout21 = setTimeout(async function () {
                              Intervall21 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 120000);
                            }, 480000);
                          } else {
                            (function () {if (timeout21) {clearTimeout(timeout21); timeout21 = null;}})();
                            (function () {if (Intervall21) {clearInterval(Intervall21); Intervall21 = null;}})();
                          }
                        });
                        // >Innenraumtemperatur
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") >= '05/15' && formatDate(new Date(), "MM/DD") <= '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val >= getState("hm-rpc.0.000C98A9A4C756.1.ACTUAL_TEMPERATURE").val) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Vorsicht, die Außentemperatur ist höher als die Innentemperatur','Erinnerung nach 6 Minuten'].join('')), 1000, false);
                            timeout22 = setTimeout(async function () {
                              Intervall22 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 120000);
                            }, 240000);
                          } else {
                            (function () {if (timeout22) {clearTimeout(timeout22); timeout22 = null;}})();
                            (function () {if (Intervall22) {clearInterval(Intervall22); Intervall22 = null;}})();
                          }
                        });
                        on({id: "zigbee.0.00158d0003a4845d.opened"/*Badfenster ist geöffnet!*/, change: "ne"}, async function (obj) {
                          var value = obj.state.val;
                          var oldValue = obj.oldState.val;
                          if (getState("zigbee.0.00158d0003a4845d.opened").val == true && formatDate(new Date(), "MM/DD") < '05/15' && formatDate(new Date(), "MM/DD") > '09/15' && getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val >= getState("hm-rpc.0.000C98A9A4C756.1.ACTUAL_TEMPERATURE").val) {
                            setState("shelly.0.SHSW-25#687E4F#1.Shutter.Position"/*Position*/, 100);
                            setStateDelayed("alexa2.0.Echo-Devices.G090P308817300CQ.Commands.announcement"/*announcement*/, (['Es hat gerade',getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val,'Grad Außentemperatur','Vorsicht, die Außentemperatur ist höher als die Innentemperatur','Erinnerung nach 8 Minuten'].join('')), 1000, false);
                            timeout24 = setTimeout(async function () {
                              Intervall24 = setInterval(async function () {
                                setState("alexa2.0.Echo-Devices.G2A1A6031035033H.Commands.announcement"/*announcement*/, ('Bitte das Badfenster wieder schließen'));
                              }, 120000);
                            }, 360000);
                          } else {
                            (function () {if (timeout24) {clearTimeout(timeout24); timeout24 = null;}})();
                            (function () {if (Intervall24) {clearInterval(Intervall24); Intervall24 = null;}})();
                          }
                        });
                        
                        getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val;
                        
                        getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val;
                        
                        getState("viessmannapi.0.1288346.0.features.heating.sensors.temperature.outside.properties.value.value").val;
                        
                        paul53 1 Reply Last reply Reply Quote 0
                        • paul53
                          paul53 @LaBamba last edited by

                          @labamba sagte: Das wahr anscheinend irgendwie nicht das Ganze.

                          Das Blockly um die Raumtemperatur zu erweitern, schaffst Du selbst?

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

                            @paul53
                            Probiere es mal, so fit bin ich da auch nicht.
                            Die Variablen für die Uhrzeit bei höheren Temperaturen sind da schon schwieriger.

                            Zudem glaube ich, dass der Übergang des Datums aktuelle Zeit <05/15 und >09/15 nicht funktioniert. Hat in meinem Skript schon nicht geklappt.

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

                              @labamba sagte: Übergang des Datums aktuelle Zeit <05/15 und >09/15 nicht funktioniert. Hat in meinem Skript schon nicht geklappt.

                              Du hast es auch per UND verknüpft, ich per ODER.

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

                                @paul53

                                Ahhh der kleine feine Unterschied.
                                Ich habe es mir angeschaut und bin leicht überfordert.

                                paul53 2 Replies Last reply Reply Quote 0
                                • paul53
                                  paul53 @LaBamba last edited by paul53

                                  @labamba sagte: bin leicht überfordert.

                                  Lass Dir Zeit.

                                  EDIT: Man kann es noch etwas vereinfachen, wenn man die Variable repeat auf den meist verwendeten Wert (2 Minuten) setzt und anschließend nur die Abweichungen behandelt.

                                  Bild_2022-02-09_161627.png

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

                                    @labamba
                                    Tipp: Speichere die Sachen, die mehrmals abgefragt werden, zum Anfang in Variablen. Dann wird es wesentlich übersichtlicher und schont Ressourcen.

                                    Bild_2022-02-09_191840.png

                                    Winter:

                                    Bild_2022-02-09_192129.png

                                    Die Bereiche der Außentemperatur deckt man so ab:

                                    Bild_2022-02-09_193142.png

                                    L 2 Replies Last reply Reply Quote 1
                                    • L
                                      LaBamba @paul53 last edited by

                                      @paul53
                                      Versuche es!
                                      Das mit den Variablen habe ich schon verstanden.
                                      Ich nehme an die Zahlen wie 60000 sind Millisekunden. Wird das immer in Millisekunden angegeben?
                                      Die Aneinanderreihung von sonst falls sonst falls mache usw. macht mich fertig.

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

                                        @labamba sagte: Wird das immer in Millisekunden angegeben?

                                        Timer-Werte als Variable sind immer in ms (1 min = 60000 ms).

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

                                          @paul53
                                          Müsste es nicht direkt am Anfang heißen,

                                          Falls Objekt - Objekt ID (Badfenster ist geöffnet)
                                          ist wahr
                                          Auslösung durch egal

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

                                            @labamba sagte:

                                            Falls Objekt - Objekt ID (Badfenster ist geöffnet)
                                            ist wahr
                                            Auslösung durch egal

                                            Nein, dann würde der sonst-Zweig, in dem die Timer gestoppt werden, nie erreicht. "wurde geändert" ist der richtige Trigger.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            558
                                            Online

                                            32.1k
                                            Users

                                            80.6k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            33
                                            883
                                            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