Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly: Heizungssteuerung in Abhängigkeit mit Temperatur und Präsenz

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

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

    • Wir empfehlen: Node.js 22.x

    Blockly: Heizungssteuerung in Abhängigkeit mit Temperatur und Präsenz

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

      Hallo zusammen,

      ich benötige Unterstützung bei einem Blockly Skript.

      In meinem Arbeits-/ Gästezimmer hängt eine Elektroheizung, welche über einen Homematic Schaltaktor steuerbar ist. Weiterhin gibt es einen Homematic Präsenzmelder und einen Homematic Temperaturfüher.

      Ich möchte gern folgendes erreichen:

      Wenn die Raumtemperatur unter 20 Grad fällt und über den Bewegungsmelder 5 mal in Folge innerhalb 15 Minuten Bewegung erkannt wird, dann soll die Heizung angeschaltet werden. Sobald 15 Minuten keine Bewegung erkannt wurde, soll die Heizung ausgehen. Weiterhin soll die Heizung auch bei Überschreitung der Raumtemperatur von 22 Grad ausgehen. Zusätzlich soll die Heizung sich bei einer Raumtemperatur von kleiner 19 Grad eingeschaltet werden, um eine Auskühlung des Raumes zu vermeiden und auf 19,5 Grad aufheizen - Dies unabhängig von Bewegung.

      Ich möchte dafür sorgen, dass ich tagsüber dort sitze oder Schlafgäste habe eine halbwegs konstante Raumtemperatur erreiche. Um aber nicht unnötig Stromkosten zu verursachen, soll die Heizung bei nicht Benutzung des Raumes ausgeschaltet sein.

      Ich gehe davon aus, dass ich hier mit Variablen arbeiten muss. Habe dies bei einer anderen Schaltung auch schon mal gemacht. Doch wenn man das nicht regelmäßig macht, fängt man immer wieder von neuem an. 😄

      Ich denke, dass ich eine Variable brauche, die sich jede Minute um 1 erhöht und sich danach zurücksetzt. Oder man arbeitet mit Timeouts?

      Bei der 5 maligen Bewegungserkennung wird es bestimmt auch eine Variable werden müssen und sich bei 5 zurücksetzt.

      Ich freue mich auf eure Hilfestellung.

      Mein Skript sieht aktuell so aus:
      2044_az.jpg

      Hier noch das Skript:

      ! ````
      <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id=":zg-)_EIq?4wI^ar^xX!" x="41" y="-15"><field name="NAME">AZ_Anzahl_Bewegung</field>
      <next><block type="on_ext" id="i:tQ/iJ#.SLVro0jNI~S"><mutation items="1"></mutation>
      <field name="CONDITION">ne</field>

          <value name="OID0"><shadow type="field_oid" id=";/!P|B1JE-hF_QZMFBTz"><field name="oid">hm-rpc.2.000C18A98B9342.1.PRESENCE_DETECTION_STATE</field></shadow></value> 
          <statement name="STATEMENT"><block type="controls_if" id="L(x|T4qvmH86E6_:1mh+"><value name="IF0"><block type="logic_operation" id="=dOVAQzBHNb(DH-[q=pl"><field name="OP">AND</field>
                  <value name="A"><block type="logic_compare" id="W.KmU1UkXl;z|N64}Eo^"><field name="OP">LT</field>
                      <value name="A"><block type="get_value" id="*ilW)e`F+WvYDX9f=SnP"><field name="ATTR">val</field>
                          <field name="OID">hm-rpc.2.000E98A99D9E32.1.ACTUAL_TEMPERATURE</field></block></value> 
                      <value name="B"><block type="math_number" id="6i/reE..}C^J*hd=.m@0"><field name="NUM">20</field></block></value></block></value> 
                  <value name="B"><block type="logic_compare" id="c.VMK;VA8?YrMLjzMC:G"><field name="OP">EQ</field>
                      <value name="A"><block type="get_value" id="`-V}t|1fgfx%9`q[9Vvy"><field name="ATTR">val</field>
                          <field name="OID">hm-rpc.2.000C18A98B9342.1.PRESENCE_DETECTION_STATE</field></block></value> 
                      <value name="B"><block type="logic_boolean" id="~_hJbLLcT6[?kiyNiKxX"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
              <statement name="DO0"><block type="timeouts_settimeout" id="=8%/t,~16NWMR!qVi!fe"><field name="NAME">timeout_AZ_Heizung</field>
                  <field name="DELAY">15</field>
                  <field name="UNIT">min</field>
                  <statement name="STATEMENT"><block type="math_change" id="Yn+*#.#au+moI+M9j=7A"><field name="VAR">AZ_Anzahl_Bewegung</field>
                      <value name="DELTA"><shadow type="math_number" id="Sd-icO]K}ThE:;uf4?:5"><field name="NUM">1</field></shadow></value></block></statement></block></statement> 
              <next><block type="controls_if" id="E{@tupVFuStBC4XjuL7e"><value name="IF0"><block type="logic_compare" id="KoSm6u|@c(xg*!I7/2Q;"><field name="OP">GTE</field>
                      <value name="A"><block type="get_value" id="tf^uOgdgoYACzHo=Wj)~"><field name="ATTR">val</field>
                          <field name="OID">javascript.0.AZ_Anzahl_Bewegung</field></block></value> 
                      <value name="B"><block type="math_number" id="}BA@-FWt!WXV1ur,aW5V"><field name="NUM">5</field></block></value></block></value> 
                  <statement name="DO0"><block type="control" id="D%g9su{rG5Mf[=[j^(KF"><mutation delay_input="false"></mutation>
                      <field name="OID">hm-rpc.0.OEQ1140439.2.STATE</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"><block type="logic_boolean" id="vhsB!r:,v5*rq%Bf(V1w"><field name="BOOL">TRUE</field></block></value> 
                      <next><block type="control" id="^@#PQp]eZ`ilrjdPMrZx"><mutation delay_input="false"></mutation>
                          <field name="OID">javascript.0.AZ_Anzahl_Bewegung</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE"><block type="math_number" id="w%MJ7B+sO6.vxX3O)*mL"><field name="NUM">0</field></block></value> 
                          <next><block type="timeouts_cleartimeout" id="mjtLl(/8g2.eV5%9wJ8b"><field name="NAME">timeout_AZ_Heizung</field></block></next></block></next></block></statement></block></next></block></statement> 
          <next><block type="on_ext" id="K%9D@.Nwwf;x}WWqS(l1"><mutation items="1"></mutation>
              <field name="CONDITION">ne</field>
      
              <value name="OID0"><shadow type="field_oid" id="o/lIUv0998Q%vk*|2cks"><field name="oid">hm-rpc.2.000E98A99D9E32.1.ACTUAL_TEMPERATURE</field></shadow></value> 
              <statement name="STATEMENT"><block type="controls_if" id="M5:]JYt5_t]EO*ntsS8p"><mutation elseif="1"></mutation>
                  <value name="IF0"><block type="logic_compare" id="S74=3vIUpyY:Z}`|wCaD"><field name="OP">GTE</field>
                      <value name="A"><block type="get_value" id="y}]ghcF?0fnBjenl5@KQ"><field name="ATTR">val</field>
                          <field name="OID">hm-rpc.2.000E98A99D9E32.1.ACTUAL_TEMPERATURE</field></block></value> 
                      <value name="B"><block type="math_number" id="6^{tLMlRoCcoa1@n`@2)"><field name="NUM">20</field></block></value></block></value> 
                  <statement name="DO0"><block type="control" id="O@ezlo_=QVg~{v^!8kp7"><mutation delay_input="false"></mutation>
                      <field name="OID">hm-rpc.0.OEQ1140439.2.STATE</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"><block type="logic_boolean" id="1?W;%KpPj*]b|HpP(p#3"><field name="BOOL">FALSE</field></block></value></block></statement> 
                  <value name="IF1"><block type="logic_compare" id="WYBGS*H1E@XI@2.E;.QU"><field name="OP">LT</field>
                      <value name="A"><block type="get_value" id="aiTPK+(k6v6C[+bgfSfl"><field name="ATTR">val</field>
                          <field name="OID">hm-rpc.2.000E98A99D9E32.1.ACTUAL_TEMPERATURE</field></block></value> 
                      <value name="B"><block type="math_number" id="aTsuka1E{@SJaR:1Jo{h"><field name="NUM">19</field></block></value></block></value> 
                  <statement name="DO1"><block type="control" id="Vo::4Nu+;XA8Pq0p66E;"><mutation delay_input="false"></mutation>
                      <field name="OID">hm-rpc.0.OEQ1140439.2.STATE</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE"><block type="logic_boolean" id="eecRUdvQ7]cw+~]2T60g"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></next></block></next></block></xml> 
      
      
      Vielen Dank im Voraus.
      
      Grüße,
      
      Stefan
      1 Reply Last reply Reply Quote 0
      • Ralla66
        Ralla66 Most Active last edited by

        Hallo Stefan,

        sehe da auch eher Variablen.

        Ziemlich tief verschaltet.

        Als Beginner mach es es dir einfacher.

        Bewegungsmelder in einem Falls Objekt hochzählen in einer Var anhand der Zeit.

        Timer < 15 min, Bewegungszähler ein und hochzählen,

        Timer > 15 min, Bewegungszähler auf 0 setzen

        Kommentare bitte einfügen.

        Du möchtest also haben dies ?

        < 19 Heizung ein

        = oder > 19,5, kein Bewegungsmelder, Heizung aus

        < 20 , Bewegungsmelder > 5 , Heizung ein

        22 Heizung aus

        Ralf

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

          @Ralla66:

          Hallo Stefan,

          sehe da auch eher Variablen.

          Ziemlich tief verschaltet.

          Als Beginner mach es es dir einfacher.

          Bewegungsmelder in einem Falls Objekt hochzählen in einer Var anhand der Zeit.

          Kommentare bitte einfügen.

          Du möchtest also haben dies ?

          < 19 Heizung ein

          = oder > 19,5, kein Bewegungsmelder, Heizung aus

          < 20 , Bewegungsmelder > 5 , Heizung ein

          22 Heizung aus

          Ralf `

          Hallo Ralf,

          danke für Deine Antwort.

          Kommentare füge ich dann noch ein.

          Ja… genau das möchte ich erreichen. Bloß der Präsenzmelder soll die >= 5 Bewegungen innerhalb 15 Minuten triggern. Falls das nicht der Fall ist, würde die Heizung auch nach 5 Tagen angehen, wenn ich ein mal pro Tag ins Arbeitszimmer gehe.

          Grüße,

          Srefan

          Gesendet von iPhone mit Tapatalk

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

            Hallo Stefan,

            Kannst du ja machen, wenn Bewegungszähler > 5 und Zeit < 15 mache ..

            Nach 15 min setzt du die Var Bewegungszähler auf 0.

            Falls das nicht der Fall ist greift ja deine Temperatursteuerung ohne Bewegung.

            Zitat:

            Falls das nicht der Fall ist, würde die Heizung auch nach 5 Tagen angehen, wenn ich ein mal pro Tag ins Arbeitszimmer gehe.

            Warum 5 Tage ?

            Nachtrag Verstanden, Var nach 15 min Bewegungszähler auf 0 setzen.

            Für die 15 min würde ich ein Timer bauen der per Var runter läuft.

            1 Reply Last reply Reply Quote 0
            • G
              Georgius last edited by

              Mir fällt jetzt keine einfache Lösung für 5x in 15 Minuten ein. Würde ein Variable nehmen und die bei jedem Impuls um 1 erhöhen und gleichzeitig alle 3 Minuten um 1 reduzieren (aber nur bis 0). Dann kannst Du schauen ab welchem Wert du schalten willst. Bei 1 würde im Extremfall die Heizung für 3 Minuten anspringen wenn wer durch geht. Kannst natürlich auch sagen bei 3 wird eingeschaltet und läuft solange nicht 0. Oder du erhöhst den Abstand der Reduktion. Ist etwas spielerei.

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

                Würde da mit Blöcke arbeiten, macht das am Anfang auch übersichtlicher.

                Zur Fehlersuche sowie so besser, zumindest für Beginner wie ich das bin. :mrgreen:

                Block 1 Var Timer für die 15 min / Runterzähler

                Block 2 Var Bewegungsmelder

                Block 3 Frostschutz / Übertemperatur, ohne Bewegung ( kleiner als Bewegung )

                Block 4 Besuch, mit Bewegung >5 in < 15 min

                Beispiel Bild anbei

                Gruß Ralf
                5230_stefan_v2.jpg
                5230_stefan_bm_v1.jpg
                5230_stefan_v3.jpg

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

                  Hallo Ralf,

                  ich schaue mir das mal am Sonntag an. Vielen Dank für die Ansätze und Deine Hilfe.

                  Grüße,

                  Stefan

                  Gesendet von iPhone mit Tapatalk

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

                    Hallo Stefan,

                    den Runterzähler 15 min kannst du alle 15 min mit einem Zeitplan triggern.

                    In Block 4 sagst du dann:

                    Wenn der Runterzähler ist 0 und Bewegung > 5 dann mache ….

                    Probiere es mal :mrgreen:

                    Ralf
                    5230_stefan_v10_block1.jpg
                    5230_stefan_v10_block2.jpg
                    5230_stefan_v10_block4.jpg

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

                      Hier mal der gesamte Code.

                      Läuft bei mir. :mrgreen:

                      Versuche den mal in einem Blockly Script zu importieren.

                      ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
                      ! <block type="comment" id=",g,yqz):B[UvwUS!/I)" x="-212" y="-137"><field name="COMMENT">Block_1</field>
                      ! <next><block type="comment" id="i.#16PsJDkxRpsEcnDy="><field name="COMMENT">Vorbesetzung bis Zähler läuft</field>
                      ! <next><block type="controls_repeat_ext" id=":D3].PuP[Fc~+]bJ^n|L"><value name="TIMES"><shadow type="math_number" id="DxN[DdQ1R#,JIEw3-%5/"><field name="NUM">1</field></shadow></value>
                      ! <statement name="DO"><block type="update" id="f~DUiox[k[?f5NXd7
                      zI"><mutation delay_input="false"></mutation>
                      ! <field name="OID">javascript.0.scriptEnabled.Tests.Runterzaehler_Timer</field>
                      ! <field name="WITH_DELAY">FALSE</field>
                      ! <value name="VALUE"><block type="text" id="F[0pIP;Nda|0%[rj^/zZ"><field name="TEXT">Timer läuft an bei 0,15,30,45 min</field></block></value></block></statement>
                      ! <next><block type="comment" id="+rgv?O?%LqO7/:,/=qh"><field name="COMMENT">Runterzähler_Teit_Block_1</field>
                      ! <next><block type="schedule" id="9}r:FJN%I96j@XIj?d3["><field name="SCHEDULE">
                      /15 * * * </field>
                      ! <statement name="STATEMENT"><block type="variables_set" id="5^RO(wP0.6])yNY}yk/"><field name="VAR">Zeit</field> ! <value name="VALUE"><block type="math_number" id="+R|Q3DIq+(|5St{+v^TY"><field name="NUM">15</field></block></value> ! <next><block type="update" id="%l3pArE!Ln2%N![WD]|}"><mutation delay_input="true"></mutation> ! <field name="OID">javascript.0.scriptEnabled.Tests.Runterzaehler_Timer</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="variables_get" id="sfK5)0YntwE+XT@hRsix"><field name="VAR">Zeit</field></block></value> ! <next><block type="timeouts_setinterval" id="?vO!pb!{KnT#~C#R_M0("><field name="NAME">Intervall</field> ! <field name="INTERVAL">1</field> ! <field name="UNIT">min</field> ! <statement name="STATEMENT"><block type="variables_set" id="sN10-L_yc)w#e4]lxZj~"><field name="VAR">Zeit</field> ! <value name="VALUE"><block type="math_arithmetic" id="h(~66/Zx(e
                      ]}-tN/(Y"><field name="OP">MINUS</field>
                      ! <value name="A"><shadow type="math_number" id="l.?259QltjCD:PG@/[i7"><field name="NUM">1</field></shadow>
                      ! <block type="variables_get" id="O!CyHS,|R.?=Y!2F%He3"><field name="VAR">Zeit</field></block></value>
                      ! <value name="B"><shadow type="math_number" id="v0Y}-QujGX?4Fr;j#3"><field name="NUM">1</field></shadow></value></block></value> ! <next><block type="update" id="vw,fzs%gI[hKvIWHo,tx"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.scriptEnabled.Tests.Runterzaehler_Timer</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="variables_get" id="}k8,afsI+dTok%}xaDc"><field name="VAR">Zeit</field></block></value>
                      ! <next><block type="controls_if" id="(Ca~/?qotOff;6JCpM#y"><value name="IF0"><block type="logic_compare" id="P.sT1et.Lz,AV%kIj(SE"><field name="OP">EQ</field>
                      ! <value name="A"><block type="variables_get" id="=rYFy=D#paj}?,Vv6%^"><field name="VAR">Zeit</field></block></value> ! <value name="B"><block type="math_number" id="#%2,~#P6V51YMD]r4[%"><field name="NUM">0</field></block></value></block></value>
                      ! <statement name="DO0"><block type="timeouts_clearinterval" id="2f@AU|7+j@1HyYAMJi[u"><field name="NAME">Intervall</field></block></statement></block></next></block></next></block></statement>
                      ! <next><block type="update" id="aZ!OKug:g8i,(u_[Q-JJ"><mutation delay_input="false"></mutation>
                      ! <field name="OID">javascript.0.scriptEnabled.Tests.Runterzaehler_Timer</field>
                      ! <field name="WITH_DELAY">FALSE</field>
                      ! <value name="VALUE"><block type="logic_compare" id="kh#1eUb2L10YLH0DeHqC"><field name="OP">EQ</field>
                      ! <value name="A"><block type="variables_get" id="]2z.i?mXOu-,Cv(2pQ)H"><field name="VAR">Zeit</field></block></value>
                      ! <value name="B"><block type="math_number" id="TP#a/lW4[uiuu+(]085q"><field name="NUM">0</field></block></value></block></value></block></next></block></next></block></next></block></statement>
                      ! <next><block type="comment" id="~4j^[TCWZHr:zxg7le%g"><field name="COMMENT">Block_2</field>
                      ! <next><block type="comment" id="7R7JVZ28K
                      {Qr.j}pg|~"><field name="COMMENT">Verbesetzung Zaehler</field>
                      ! <next><block type="controls_repeat_ext" id="DcCpA88[q7_2?Ye|9=4"><value name="TIMES"><shadow type="math_number" id="Vbc{s_R5#f/JhvF%RZ%?"><field name="NUM">1</field></shadow></value> ! <statement name="DO"><block type="variables_set" id="%IqWH(_z^!jT~mrd.KER"><field name="VAR">Zaehler_BM</field> ! <value name="VALUE"><block type="math_number" id="KG(SjMJa1J1G]]9fxvRa"><field name="NUM">0</field></block></value> ! <next><block type="update" id="mM{kV~(|xHNs;r2zE%MI"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.scriptEnabled.Tests.BM_Zaehler</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="variables_get" id="WG#cGKG^+:R,rCIvNy#a"><field name="VAR">Zaehler_BM</field></block></value></block></next></block></statement> ! <next><block type="comment" id="ZTjV5Zx6:}[3maSc2c#"><field name="COMMENT">Bewegung Zaehler auf 0</field>
                      ! <next><block type="comment" id="1mJytQ=Ye)YAhrum{HOP"><field name="COMMENT">wenn Timer 0</field>
                      ! <next><block type="on" id="FGx{mizechr;LvRD]_X"><field name="OID">javascript.0.scriptEnabled.Tests.Runterzaehler_Timer</field>
                      ! <field name="CONDITION">ne</field>
                      ! <statement name="STATEMENT"><block type="controls_if" id="O2P#7VSM:YB/Wd*j~A_"><value name="IF0"><block type="logic_compare" id="1)i:~xLunCH.A;YlV/A("><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="}WwPESE#!g-It8u(hI3q"><field name="ATTR">val</field> ! <field name="OID">javascript.0.scriptEnabled.Tests.Runterzaehler_Timer</field></block></value> ! <value name="B"><block type="math_number" id="EmyO/4-Qf|9bal)0SN5"><field name="NUM">0</field></block></value></block></value>
                      ! <statement name="DO0"><block type="variables_set" id="cr8ya#(~5EEHgv%dDwCp"><field name="VAR">Zaehler_BM</field>
                      ! <value name="VALUE"><block type="math_number" id="Hym45K=;H6X3A@OHHOEy"><field name="NUM">0</field></block></value>
                      ! <next><block type="update" id="2HrMEDL)KHIYF#?H!l:"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.scriptEnabled.Tests.BM_Zaehler</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="variables_get" id="dwT,YQuhkg{gw?}8XD^"><field name="VAR">Zaehler_BM</field></block></value></block></next></block></statement></block></statement>
                      ! <next><block type="comment" id="mB!{+I8mhJ0[j}AW5KZq"><field name="COMMENT">Bewegungsmelder_Block_2</field>
                      ! <next><block type="on" id="(MlNSS2Vly9L?NW|#w+t"><field name="OID">javascript.0.scriptEnabled.Tests.Schalter</field>
                      ! <field name="CONDITION">any</field>
                      ! <statement name="STATEMENT"><block type="controls_if" id="=i|78xKgAgO:j/o^-3{1"><value name="IF0"><block type="logic_compare" id="dUFYspniIZ!]7=2XD(|d"><field name="OP">LTE</field>
                      ! <value name="A"><block type="get_value" id="IW:IlRVZ.@3PI9[?p-6
                      "><field name="ATTR">val</field>
                      ! <field name="OID">javascript.0.scriptEnabled.Tests.BM_Zaehler</field></block></value>
                      ! <value name="B"><block type="math_number" id="7t!,.3OD+Q[32E[o;Br"><field name="NUM">10</field></block></value></block></value>
                      ! <statement name="DO0"><block type="variables_set" id="xKm_V.J4azd~TcN3Z5{6"><field name="VAR">Zaehler_BM</field>
                      ! <value name="VALUE"><block type="math_arithmetic" id="e}O=,J)i5tC;=(gM[Jdt"><field name="OP">ADD</field>
                      ! <value name="A"><shadow type="math_number" id="L.Z.vRirc:?zWjvW!!ZF"><field name="NUM">1</field></shadow>
                      ! <block type="variables_get" id="Qj;%AdH2Pg2W1-X6I;
                      ."><field name="VAR">Zaehler_BM</field></block></value>
                      ! <value name="B"><shadow type="math_number" id="Y0VIcVxty2W^IEqOYNok"><field name="NUM">1</field></shadow></value></block></value>
                      ! <next><block type="update" id="f0Tz2avmGQG%lWtchI?"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.scriptEnabled.Tests.BM_Zaehler</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="variables_get" id="=Emr(JtRkmV;wl{.Ztmv"><field name="VAR">Zaehler_BM</field></block></value></block></next></block></statement> ! <next><block type="controls_if" id="_I{pqLZ8ny_BYDJckSz^"><value name="IF0"><block type="logic_compare" id="lnq5l6ebH+p=m@yy(_lE"><field name="OP">GT</field> ! <value name="A"><block type="variables_get" id="[Wf!};Uj0hR477vI,V1;"><field name="VAR">Zaehler_BM</field></block></value> ! <value name="B"><block type="math_number" id="RMX/=+{f9F89-kNje:e7"><field name="NUM">10</field></block></value></block></value> ! <statement name="DO0"><block type="variables_set" id="N0=xDwJ3Y|uJp?t~Z6R"><field name="VAR">Zaehler_BM</field>
                      ! <value name="VALUE"><block type="math_number" id="B6ByJ0UW](@-O-V-AXO{"><field name="NUM">0</field></block></value>
                      ! <next><block type="update" id="4z,xfw@u;Z0HSLX%J({~"><mutation delay_input="false"></mutation>
                      ! <field name="OID">javascript.0.scriptEnabled.Tests.BM_Zaehler</field>
                      ! <field name="WITH_DELAY">FALSE</field>
                      ! <value name="VALUE"><block type="variables_get" id="zVG?d:td3MqF+y0]#~s`"><field name="VAR">Zaehler_BM</field></block></value></block></next></block></statement></block></next></block></statement>
                      ! <next><block type="comment" id="xTDP/5Ejigu!l.z%;jhv"><field name="COMMENT">Block_3</field>
                      ! <next><block type="comment" id="VzlQV8P!trYv]1|@94q"><field name="COMMENT">Block_4</field>
                      ! <next><block type="on" id="Eu
                      Y?v[RJD|=!4sY-Y|X"><field name="OID">javascript.0.scriptEnabled.Tests.Runterzaehler_Timer</field>
                      ! <field name="CONDITION">ne</field>
                      ! <statement name="STATEMENT"><block type="controls_if" id="?jc6j^qmd2s4^L^uhm7u"><value name="IF0"><block type="logic_operation" id="_hn;tI7b8q?Dt@e3JhOw"><field name="OP">AND</field>
                      ! <value name="A"><block type="logic_compare" id="xga?iio@z+sbLcFS,Lqz"><field name="OP">GTE</field>
                      ! <value name="A"><block type="get_value" id="EkK[)9]T%H7=.7g]x-V*"><field name="ATTR">val</field>
                      ! <field name="OID">javascript.0.scriptEnabled.Tests.BM_Zaehler</field></block></value>
                      ! <value name="B"><block type="math_number" id="9w@_9uMs!HX|=c:ul(sY"><field name="NUM">5</field></block></value></block></value>
                      ! <value name="B"><block type="logic_compare" id="t,4o81k+?g+AQ!O}l}X@"><field name="OP">EQ</field>
                      ! <value name="A"><block type="get_value" id="JtUN0E_100+dfIsX2=g["><field name="ATTR">val</field>
                      ! <field name="OID">javascript.0.scriptEnabled.Tests.Runterzaehler_Timer</field></block></value>
                      ! <value name="B"><block type="math_number" id="}(r6v[K]7oJl#.b?FPiF"><field name="NUM">0</field></block></value></block></value></block></value>
                      ! <statement name="DO0"><block type="control" id=")m6%YD:8LcPmvJ,}jh7f"><mutation delay_input="false"></mutation>
                      ! <field name="OID">broadlink2.0.RM:Broadlink-RMPROPLUS-8a-60-33.L.StehlampeAus</field>
                      ! <field name="WITH_DELAY">FALSE</field>
                      ! <value name="VALUE"><block type="logic_boolean" id="PZ7o8CJb^/i)Id}1:TY~"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></xml>
                      Ralf
                      5230_stefan_v10_import.jpg

                      1 Reply Last reply Reply Quote 0
                      • G
                        Georgius last edited by

                        Nachteil dieser Lösung ist dass wenn der Skript jm 0, 15, 30 und 45' läuft Bewegungen um 10,14, 17, 19 und 21' nicht als 5 Bewegungen erkannt werden. Entweder man schreibt jede Bewegung mit Uhrzeit mit oder macht sowas wie weiter oben von mir beschrieben oder lebt mit der Einschränkung.

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

                          Hallo zusammen,

                          ich habe das Skript jetzt so gebaut. Konnte es aber noch nicht testen. Kann das so funktionieren? (Kommentare fehlen noch)
                          2044_az_heizung.jpg

                          ! ````
                          <xml xmlns="http://www.w3.org/1999/xhtml"><block type="create" id=":zg-)_EIq?4wI^ar^xX!" x="38" y="12"><field name="NAME">AZ_Anzahl_Bewegung</field>
                          <next><block type="create" id="CFxy|i:Z`!b;-*fc3x?T"><field name="NAME">AZ_Timer_15Min</field>
                          <next><block type="on_ext" id="i:tQ/iJ#.SLVro0jNI~S"><mutation items="1"></mutation>
                          <field name="CONDITION">ne</field>

                                  <value name="OID0"><shadow type="field_oid" id=";/!P|B1JE-hF_QZMFBTz"><field name="oid">hm-rpc.2.000C18A98B9342.1.PRESENCE_DETECTION_STATE</field></shadow></value> 
                                  <statement name="STATEMENT"><block type="controls_if" id="L(x|T4qvmH86E6_:1mh+"><value name="IF0"><block type="logic_operation" id="=dOVAQzBHNb(DH-[q=pl"><field name="OP">AND</field>
                                          <value name="A"><block type="logic_compare" id="W.KmU1UkXl;z|N64}Eo^"><field name="OP">LT</field>
                                              <value name="A"><block type="get_value" id="*ilW)e`F+WvYDX9f=SnP"><field name="ATTR">val</field>
                                                  <field name="OID">hm-rpc.2.000E98A99D9E32.1.ACTUAL_TEMPERATURE</field></block></value> 
                                              <value name="B"><block type="math_number" id="6i/reE..}C^J*hd=.m@0"><field name="NUM">20</field></block></value></block></value> 
                                          <value name="B"><block type="logic_compare" id="c.VMK;VA8?YrMLjzMC:G"><field name="OP">EQ</field>
                                              <value name="A"><block type="get_value" id="`-V}t|1fgfx%9`q[9Vvy"><field name="ATTR">val</field>
                                                  <field name="OID">hm-rpc.2.000C18A98B9342.1.PRESENCE_DETECTION_STATE</field></block></value> 
                                              <value name="B"><block type="logic_boolean" id="~_hJbLLcT6[?kiyNiKxX"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                                      <statement name="DO0"><block type="timeouts_setinterval" id="@3FnQiMM:!-YI^+OfzEU"><field name="NAME">AZ_Anzahl_Bewegung_Intervall</field>
                                          <field name="INTERVAL">1</field>
                                          <field name="UNIT">min</field>
                                          <statement name="STATEMENT"><block type="math_change" id="Yn+*#.#au+moI+M9j=7A"><field name="VAR">AZ_Anzahl_Bewegung</field>
                                              <value name="DELTA"><shadow type="math_number" id="Sd-icO]K}ThE:;uf4?:5"><field name="NUM">1</field></shadow></value></block></statement> 
                                          <next><block type="timeouts_setinterval" id="*0XLzl2w95E@9u}:/E{V"><field name="NAME">AZ_Timer_15Min_Intervall</field>
                                              <field name="INTERVAL">1</field>
                                              <field name="UNIT">min</field>
                                              <statement name="STATEMENT"><block type="math_change" id="*I(f-Ymq(efI}?`~!7lU"><field name="VAR">AZ_Timer_15Min</field>
                                                  <value name="DELTA"><shadow type="math_number" id="0Key~u2~3nxExQzs#URY"><field name="NUM">1</field></shadow></value></block></statement></block></next></block></statement> 
                                      <next><block type="controls_if" id="E{@tupVFuStBC4XjuL7e"><mutation elseif="1"></mutation>
                                          <value name="IF0"><block type="logic_operation" id="Pw|lq]`z,!G4-a:7)u`6"><field name="OP">AND</field>
                                              <value name="A"><block type="logic_compare" id="KoSm6u|@c(xg*!I7/2Q;"><field name="OP">GTE</field>
                                                  <value name="A"><block type="get_value" id="tf^uOgdgoYACzHo=Wj)~"><field name="ATTR">val</field>
                                                      <field name="OID">javascript.0.AZ_Anzahl_Bewegung</field></block></value> 
                                                  <value name="B"><block type="math_number" id="}BA@-FWt!WXV1ur,aW5V"><field name="NUM">5</field></block></value></block></value> 
                                              <value name="B"><block type="logic_compare" id="k~h@diPm5*iDWnfpu-%o"><field name="OP">LT</field>
                                                  <value name="A"><block type="get_value" id=".,)}Bw59qwpL(iyV5T)s"><field name="ATTR">val</field>
                                                      <field name="OID">javascript.0.AZ_Timer_15Min</field></block></value> 
                                                  <value name="B"><block type="math_number" id="J|!-ZkgH6~cQef}zG`08"><field name="NUM">15</field></block></value></block></value></block></value> 
                                          <statement name="DO0"><block type="control" id="D%g9su{rG5Mf[=[j^(KF"><mutation delay_input="false"></mutation>
                                              <field name="OID">hm-rpc.0.OEQ1140439.2.STATE</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block type="logic_boolean" id="vhsB!r:,v5*rq%Bf(V1w"><field name="BOOL">TRUE</field></block></value> 
                                              <next><block type="control" id="^@#PQp]eZ`ilrjdPMrZx"><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.AZ_Anzahl_Bewegung</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="math_number" id="w%MJ7B+sO6.vxX3O)*mL"><field name="NUM">0</field></block></value> 
                                                  <next><block type="control" id="X8y36}}+p}-oV4QF3zSj"><mutation delay_input="false"></mutation>
                                                      <field name="OID">javascript.0.AZ_Timer_15Min</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE"><block type="math_number" id="o|T.*_=]m5pSsie)xRkE"><field name="NUM">0</field></block></value></block></next></block></next></block></statement> 
                                          <value name="IF1"><block type="logic_operation" id="77dV5wje+#fP.~JH{GI|"><field name="OP">AND</field>
                                              <value name="A"><block type="logic_compare" id="?(FH)^J/b?1%?{+ai*BS"><field name="OP">LT</field>
                                                  <value name="A"><block type="get_value" id="+Urg1|7oxkH-`7O4ZxT8"><field name="ATTR">val</field>
                                                      <field name="OID">javascript.0.AZ_Anzahl_Bewegung</field></block></value> 
                                                  <value name="B"><block type="math_number" id="nB}Z4ikkqagZo0JQavL!"><field name="NUM">5</field></block></value></block></value> 
                                              <value name="B"><block type="logic_compare" id="QlO/@_hJEx^WY9cbSi7M"><field name="OP">GT</field>
                                                  <value name="A"><block type="get_value" id="xJ{78z)3?gxU=19;BI+M"><field name="ATTR">val</field>
                                                      <field name="OID">javascript.0.AZ_Timer_15Min</field></block></value> 
                                                  <value name="B"><block type="math_number" id="*K|wTjXdGc(H1_d!)yQO"><field name="NUM">15</field></block></value></block></value></block></value> 
                                          <statement name="DO1"><block type="control" id="DItJ{^4r3#L+;(9G54[]"><mutation delay_input="false"></mutation>
                                              <field name="OID">javascript.0.AZ_Anzahl_Bewegung</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block type="math_number" id="y}.|I*hoL1dYs}@[X_)i"><field name="NUM">0</field></block></value> 
                                              <next><block type="control" id="n%rm*taT*5Oo)ms3jq9?"><mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.AZ_Timer_15Min</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="math_number" id="~ZowvHkH_jH%w0#*=|Q3"><field name="NUM">0</field></block></value></block></next></block></statement></block></next></block></statement> 
                                  <next><block type="on_ext" id="K%9D@.Nwwf;x}WWqS(l1"><mutation items="1"></mutation>
                                      <field name="CONDITION">ne</field>
                          
                                      <value name="OID0"><shadow type="field_oid" id="o/lIUv0998Q%vk*|2cks"><field name="oid">hm-rpc.2.000E98A99D9E32.1.ACTUAL_TEMPERATURE</field></shadow></value> 
                                      <statement name="STATEMENT"><block type="controls_if" id="M5:]JYt5_t]EO*ntsS8p"><value name="IF0"><block type="logic_compare" id="S74=3vIUpyY:Z}`|wCaD"><field name="OP">GTE</field>
                                              <value name="A"><block type="get_value" id="y}]ghcF?0fnBjenl5@KQ"><field name="ATTR">val</field>
                                                  <field name="OID">hm-rpc.2.000E98A99D9E32.1.ACTUAL_TEMPERATURE</field></block></value> 
                                              <value name="B"><block type="math_number" id="6^{tLMlRoCcoa1@n`@2)"><field name="NUM">21</field></block></value></block></value> 
                                          <statement name="DO0"><block type="control" id="O@ezlo_=QVg~{v^!8kp7"><mutation delay_input="false"></mutation>
                                              <field name="OID">hm-rpc.0.OEQ1140439.2.STATE</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE"><block type="logic_boolean" id="1?W;%KpPj*]b|HpP(p#3"><field name="BOOL">FALSE</field></block></value></block></statement></block></statement> 
                                      <next><block type="on_ext" id="m|)dAho,l~=F{Ly?yjc{"><mutation items="1"></mutation>
                                          <field name="CONDITION">ne</field>
                          
                                          <value name="OID0"><shadow type="field_oid" id="A*_/rS(IXa2d6(5GYj+B"><field name="oid">hm-rpc.2.000E98A99D9E32.1.ACTUAL_TEMPERATURE</field></shadow></value> 
                                          <statement name="STATEMENT"><block type="controls_if" id="QO].n*_c9^3Is*RY#x0H"><value name="IF0"><block type="logic_compare" id="WYBGS*H1E@XI@2.E;.QU"><field name="OP">LT</field>
                                                  <value name="A"><block type="get_value" id="aiTPK+(k6v6C[+bgfSfl"><field name="ATTR">val</field>
                                                      <field name="OID">hm-rpc.2.000E98A99D9E32.1.ACTUAL_TEMPERATURE</field></block></value> 
                                                  <value name="B"><block type="math_number" id="aTsuka1E{@SJaR:1Jo{h"><field name="NUM">19</field></block></value></block></value> 
                                              <statement name="DO0"><block type="control" id="Vo::4Nu+;XA8Pq0p66E;"><mutation delay_input="false"></mutation>
                                                  <field name="OID">hm-rpc.0.OEQ1140439.2.STATE</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="logic_boolean" id="eecRUdvQ7]cw+~]2T60g"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></next></block></next></block></next></block></next></block></xml> 
                          
                          
                          Ich freue mich auf eure Antworten.
                          
                          Grüße,
                          
                          Stefan
                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          617
                          Online

                          32.1k
                          Users

                          80.7k
                          Topics

                          1.3m
                          Posts

                          3
                          11
                          4383
                          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