Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Klimaautomatik

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Klimaautomatik

    This topic has been deleted. Only users with topic management privileges can see it.
    • CrunkFX
      CrunkFX Forum Testing @Stephan Schleich last edited by CrunkFX

      @Stephan-Schleich Ersetze doch mal schrittweise die und verknüpfungen durch oder und schau ob irgendein wert evtl. nicht triggert. Ich nehme mal an , dass bool und string bei dir entsprechend eingesetzt sind also power ist bei dir ja string und sommerzeit bool

      Stephan Schleich 1 Reply Last reply Reply Quote 0
      • Stephan Schleich
        Stephan Schleich @CrunkFX last edited by Stephan Schleich

        @CrunkFX Ich hab nun mal ganz simple angefangen, selbst so startet es nicht, manuell aber schon
        Sind beides bool Variablen, somit haben wir schon mal einen Fehler 🙂
        Klima.png

        (Unwahr weil Handy grad aus ist)

        Edit: Wenn sich der Handypresence WErte von true auf false scheint's zu gehen, sollte aber doch auch ohne gehen oder?

        CrunkFX paul53 4 Replies Last reply Reply Quote 0
        • CrunkFX
          CrunkFX Forum Testing @Stephan Schleich last edited by

          @Stephan-Schleich Sorry für die späte Antwort aber deinen Edit verstehe ich nicht ganz

          1 Reply Last reply Reply Quote 0
          • CrunkFX
            CrunkFX Forum Testing @Stephan Schleich last edited by

            @Stephan-Schleich Handypresence ist ja ein Trigger, nur wenn dieser erfüllt ist und nur in dem Moment wo sich der Zustand ändert wird der Rest in Blau ausgeführt, also ohne Handypresence Kein Klima. Ich tippe, dass du davon ausgehst, das sobald das handy da ist der wert darunter weiter abgefragt wird, dies ist aber nicht der fall, da sich der Zustand ja nur ändert sobald das handy registriert wird. Tausche Handypresence mit Raumtemperatur, diese wird regelmäßig abgefragt und kann dann checken ob das handy da ist.

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

              @Stephan-Schleich
              Wenn bei Anwesenheit um 20:00 Uhr eingeschaltet und um 22:30 Uhr ausgeschaltet werden soll, sind zwei zusätzliche Zeit-Trigger erforderlich.

              CrunkFX 1 Reply Last reply Reply Quote 0
              • CrunkFX
                CrunkFX Forum Testing @paul53 last edited by

                @paul53 Er scheint doch von biz realisieren zu wollen, oder?

                1 Reply Last reply Reply Quote 0
                • CrunkFX
                  CrunkFX Forum Testing @Stephan Schleich last edited by CrunkFX

                  @Stephan-Schleich Probier den Trigger mal so: Anmerkung 2019-09-15 190219.png

                  <xml xmlns="http://www.w3.org/1999/xhtml">
                    <block type="on_ext" id="a@{5xDrpUYXIbreg)1^;" x="88" y="163">
                      <mutation items="1"></mutation>
                      <field name="CONDITION">ne</field>
                      <field name="ACK_CONDITION"></field>
                      <value name="OID0">
                        <shadow type="field_oid" id="PMw4oO^)XPeu7GA=PnvA">
                          <field name="oid">Temp Wohnzimmer</field>
                        </shadow>
                      </value>
                      <statement name="STATEMENT">
                        <block type="controls_if" id="?kDy_%9m;]yP09:L0`j(">
                          <value name="IF0">
                            <block type="logic_operation" id="k*TD`s+{X_XvvhYa0h+q" inline="false">
                              <field name="OP">AND</field>
                              <value name="A">
                                <block type="logic_compare" id="rTRZuM4Z8wuq}dE~HC.B">
                                  <field name="OP">EQ</field>
                                  <value name="A">
                                    <block type="get_value" id="2:A^/j6-{jh%J+?(Bw3V">
                                      <field name="ATTR">val</field>
                                      <field name="OID">Handypresence</field>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_boolean" id="U,NvPa/O}E2U`Hi?qmsl">
                                      <field name="BOOL">TRUE</field>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <value name="B">
                                <block type="logic_operation" id="[}-9pHab2mSeVkptzaMu" inline="false">
                                  <field name="OP">AND</field>
                                  <value name="A">
                                    <block type="logic_compare" id="b2eN8`cP3-qT`n1*SZl.">
                                      <field name="OP">EQ</field>
                                      <value name="A">
                                        <block type="get_value" id="_SiD!r1D*O}.Tj133+`2">
                                          <field name="ATTR">val</field>
                                          <field name="OID">Klimaanlage Power</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_boolean" id="?H8zS7E7j?E@ava]PPWM">
                                          <field name="BOOL">FALSE</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <block type="logic_operation" id="4@dDLiJO17s(|%b?t91P" inline="false">
                                      <field name="OP">AND</field>
                                      <value name="A">
                                        <block type="logic_compare" id="1GMQ[z|{Zd^N9lp0ZT/d">
                                          <field name="OP">GT</field>
                                          <value name="A">
                                            <block type="get_value" id="[gh#PxW]z[%{g*_~u-ia">
                                              <field name="ATTR">val</field>
                                              <field name="OID">Temp Wohnzimmer</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="get_value" id="**|2!2x+hj6L9h5X[ri-">
                                              <field name="ATTR">val</field>
                                              <field name="OID">Temp Klimaanlage</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <block type="logic_operation" id="qsx8:`RN=fb6w%%P+-1D" inline="false">
                                          <field name="OP">AND</field>
                                          <value name="A">
                                            <block type="logic_compare" id="o^)Hjnas7T|NY_Qez*l|">
                                              <field name="OP">EQ</field>
                                              <value name="A">
                                                <block type="get_value" id="DwQN}{,=ftE$z2VW3B6`">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">Sommerzeit</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="logic_boolean" id="1Jkuv~xDK+cgwK*JOCg~">
                                                  <field name="BOOL">TRUE</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="logic_operation" id="zDQ.slhC+tLpLI8i?@ol" inline="false">
                                              <field name="OP">AND</field>
                                              <value name="A">
                                                <block type="time_compare" id="WUj:7BiOA=9fZ~1@a/o$">
                                                  <mutation end_time="false"></mutation>
                                                  <field name="OPTION">&gt;=</field>
                                                  <field name="START_TIME">20:00</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <block type="time_compare" id="Q4}2pZ48xgJqTIfg-!mv">
                                                  <mutation end_time="false"></mutation>
                                                  <field name="OPTION">&lt;=</field>
                                                  <field name="START_TIME">23:30</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                            </block>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </xml>
                  

                  Die Objekte musst du natürlich aus deinem Objektkatalog noch anpassen.
                  Übrigens wäre eine kleine Hysterese in Form eines Offset sicher hilfreich, sonst Klima an Klima aus ..........

                  1 Reply Last reply Reply Quote 1
                  • paul53
                    paul53 @Stephan Schleich last edited by paul53

                    @Stephan-Schleich:

                    sollte aber doch auch ohne gehen oder?

                    Nein, der Zustand des Trigger-Datenpunktes muss sich ändern, damit getriggert wird.

                    Vorschlag:

                    Blockly_temp.JPG

                    <xml xmlns="https://developers.google.com/blockly/xml">
                     <variables>
                       <variable id=",#[n}Gg5cU04i[r{vbVP">anwesend</variable>
                       <variable id="cYFNuA7+[ui2R{rh*Dy3">temperatur</variable>
                       <variable id="{_07)W}dyHfg7bV9kbMy">ein</variable>
                     </variables>
                     <block type="on_ext" id="YNj.._4x;GYL)^j8%b](" x="87" y="12">
                       <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="LOk{:^78XZ^`Cz!J;/UV">
                           <field name="oid">default</field>
                         </shadow>
                       </value>
                       <statement name="STATEMENT">
                         <block type="variables_set" id="9d==KjB!:@GS/!zL8kM7">
                           <field name="VAR" id=",#[n}Gg5cU04i[r{vbVP">anwesend</field>
                           <value name="VALUE">
                             <block type="on_source" id="R(xurYk?*HTWevL?#)`Q">
                               <field name="ATTR">state.val</field>
                             </block>
                           </value>
                           <next>
                             <block type="procedures_callnoreturn" id="oLAJ|Qxw}t`6{4fn!}O6">
                               <mutation name="kuehlen"></mutation>
                             </block>
                           </next>
                         </block>
                       </statement>
                       <next>
                         <block type="on_ext" id="OvSmm.g`|(g*QcRZ7;/]">
                           <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="u7@qHUUkQxMH=)u2_hnU">
                               <field name="oid">default</field>
                             </shadow>
                           </value>
                           <statement name="STATEMENT">
                             <block type="variables_set" id=",gNc73gdnP3n#0::,ggC">
                               <field name="VAR" id="cYFNuA7+[ui2R{rh*Dy3">temperatur</field>
                               <value name="VALUE">
                                 <block type="on_source" id="1HCa;{|q*HMR0DV)0Dd.">
                                   <field name="ATTR">state.val</field>
                                 </block>
                               </value>
                               <next>
                                 <block type="procedures_callnoreturn" id="Nk[%`8lHmL1%F`/lPC|W">
                                   <mutation name="kuehlen"></mutation>
                                 </block>
                               </next>
                             </block>
                           </statement>
                           <next>
                             <block type="schedule" id="*)bu;dEPPzy54LGvK(Ys">
                               <field name="SCHEDULE">0 20 * * *</field>
                               <statement name="STATEMENT">
                                 <block type="procedures_callnoreturn" id="=%dEl#JJTv.%hmBZ*YEq">
                                   <mutation name="kuehlen"></mutation>
                                 </block>
                               </statement>
                               <next>
                                 <block type="schedule" id="fbTw-^/AAjYH,pgYPBSX">
                                   <field name="SCHEDULE">30 22 * * *</field>
                                   <statement name="STATEMENT">
                                     <block type="procedures_callnoreturn" id="ED)/87kx;~]Xp.zojoge">
                                       <mutation name="kuehlen"></mutation>
                                     </block>
                                   </statement>
                                 </block>
                               </next>
                             </block>
                           </next>
                         </block>
                       </next>
                     </block>
                     <block type="procedures_defnoreturn" id="Bbf%9?1bkwu!iz%Ub-jw" x="412" y="13">
                       <field name="NAME">kuehlen</field>
                       <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                       <statement name="STACK">
                         <block type="controls_if" id="ppM%sPOym-1Y](hAm(q6">
                           <mutation else="1"></mutation>
                           <value name="IF0">
                             <block type="logic_operation" id="_Y_Qia}J9A,eUw2pZ=F," inline="false">
                               <field name="OP">AND</field>
                               <value name="A">
                                 <block type="logic_operation" id="PvvH|_qg5eE])u7KHsev" inline="false">
                                   <field name="OP">AND</field>
                                   <value name="A">
                                     <block type="variables_get" id="|fHqoQYX}=!Uqtl}OU34">
                                       <field name="VAR" id=",#[n}Gg5cU04i[r{vbVP">anwesend</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="get_value" id="p}DN%6$ZpGO_?6E2Zs-F">
                                       <field name="ATTR">val</field>
                                       <field name="OID">ID auswählen</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <value name="B">
                                 <block type="time_compare" id="/bXbx6=z^~!_%!6vv@{?">
                                   <mutation xmlns="http://www.w3.org/1999/xhtml" end_time="true"></mutation>
                                   <field name="OPTION">between</field>
                                   <field name="START_TIME">20:00</field>
                                   <field name="END_TIME">22:30</field>
                                 </block>
                               </value>
                             </block>
                           </value>
                           <statement name="DO0">
                             <block type="controls_if" id="C$6:9$56%C,R~=E:8/,B">
                               <mutation elseif="1"></mutation>
                               <value name="IF0">
                                 <block type="logic_compare" id="~1dNq!mZ3VpOM0CIpt(m">
                                   <field name="OP">GT</field>
                                   <value name="A">
                                     <block type="variables_get" id="p^OZN:AX-SU%8D{:06{P">
                                       <field name="VAR" id="cYFNuA7+[ui2R{rh*Dy3">temperatur</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="get_value" id="=wB;Z:WyX[Vx4SV9h`@H">
                                       <field name="ATTR">val</field>
                                       <field name="OID">ID auswählen</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="variables_set" id="6t!@o?4QV9=ypvjtbd%Y">
                                   <field name="VAR" id="{_07)W}dyHfg7bV9kbMy">ein</field>
                                   <value name="VALUE">
                                     <block type="logic_boolean" id="q8Wl4SyJP`H1e]pmN}Y-">
                                       <field name="BOOL">TRUE</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                               <value name="IF1">
                                 <block type="logic_compare" id="3)V;}[8e;Tn/@+ihB]-n">
                                   <field name="OP">LTE</field>
                                   <value name="A">
                                     <block type="variables_get" id="rt}2n0apEDyd.p:^4v@R">
                                       <field name="VAR" id="cYFNuA7+[ui2R{rh*Dy3">temperatur</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="math_arithmetic" id="Gs^WPdkl#wmnd?]Wi;:#">
                                       <field name="OP">MINUS</field>
                                       <value name="A">
                                         <shadow type="math_number" id="^PXS$i.V;`!-*=Xf[CD1">
                                           <field name="NUM">1</field>
                                         </shadow>
                                         <block type="get_value" id="8SribB_vha]}voS^kI4R">
                                           <field name="ATTR">val</field>
                                           <field name="OID">ID auswählen</field>
                                         </block>
                                       </value>
                                       <value name="B">
                                         <shadow type="math_number" id="a9-S~X+Z-NL^CelZoYfN">
                                           <field name="NUM">0.5</field>
                                         </shadow>
                                       </value>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO1">
                                 <block type="variables_set" id="2Vobz4w?b-m,l#)-VomB">
                                   <field name="VAR" id="{_07)W}dyHfg7bV9kbMy">ein</field>
                                   <value name="VALUE">
                                     <block type="logic_boolean" id="j}dj89pmd.G|Jl%lBM,d">
                                       <field name="BOOL">FALSE</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                             </block>
                           </statement>
                           <statement name="ELSE">
                             <block type="variables_set" id="-HI7mr0P;iOM-zDLWs[f">
                               <field name="VAR" id="{_07)W}dyHfg7bV9kbMy">ein</field>
                               <value name="VALUE">
                                 <block type="logic_boolean" id="0ojp[euPAp=85{@qoN10">
                                   <field name="BOOL">FALSE</field>
                                 </block>
                               </value>
                             </block>
                           </statement>
                           <next>
                             <block type="controls_if" id="=cfhZNH7CAY%|79ke;UM">
                               <value name="IF0">
                                 <block type="logic_compare" id=":aZi[XLG@INk`ILDgyK{">
                                   <field name="OP">NEQ</field>
                                   <value name="A">
                                     <block type="variables_get" id="g]GQ2oybF[K8rp3ONc4V">
                                       <field name="VAR" id="{_07)W}dyHfg7bV9kbMy">ein</field>
                                     </block>
                                   </value>
                                   <value name="B">
                                     <block type="get_value" id="IiO5n~B0F3qVVXso_*s5">
                                       <field name="ATTR">val</field>
                                       <field name="OID">ID auswählen</field>
                                     </block>
                                   </value>
                                 </block>
                               </value>
                               <statement name="DO0">
                                 <block type="control" id="zHo{ISJ8zc)@eM,O;_tI">
                                   <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="variables_get" id="ev/:jFq,%1o4~a[_[WgD">
                                       <field name="VAR" id="{_07)W}dyHfg7bV9kbMy">ein</field>
                                     </block>
                                   </value>
                                 </block>
                               </statement>
                             </block>
                           </next>
                         </block>
                       </statement>
                     </block>
                    </xml>
                    

                    1 Reply Last reply Reply Quote 1
                    • Stephan Schleich
                      Stephan Schleich last edited by Stephan Schleich

                      @paul53 @CrunkFX Danke euch 2 für die Beispiele. Ich dachte der Trigger würde in gewissen Intervallen prüfen, dann ist es logisch warum es nicht klappt.

                      Ich probier mal pauls Blockly da er mehrere Trigger abfrägt

                      Bei dem rot markierten Feld bin ich mir unsicher, er frägt ab ob ich anwesend bin, ob die klima aus ist und ob's zwischen der genannten zeit liegt oder?
                      Klima.png

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

                        @Stephan-Schleich:

                        Bei dem rot markierten Feld bin ich mir unsicher

                        Rechts oben soll "Sommerzeit" abgefragt werden.
                        Bei "steuere" fehlt noch die Datenpunkt-Zuweisung zu "Büro Klimaanlage Power".

                        Stephan Schleich 2 Replies Last reply Reply Quote 1
                        • Stephan Schleich
                          Stephan Schleich @paul53 last edited by

                          @paul53 Danke, teste ich die Tage 👍

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

                            @paul53 habs gerade mal getestet, leider passiert nichts automatisch.
                            Klima.png

                            Stephan Schleich 1 Reply Last reply Reply Quote 0
                            • Stephan Schleich
                              Stephan Schleich @Stephan Schleich last edited by Stephan Schleich

                              Ich weiß es ist eigentlich das selbe wie von Paul aber die Trigger Punkte haben iwie die Werte nicht richtig übernommen, so läufts bei mir

                              Klima.png

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              526
                              Online

                              32.0k
                              Users

                              80.4k
                              Topics

                              1.3m
                              Posts

                              3
                              16
                              560
                              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