Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Chinaheizung halbwegs smart gemacht

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Chinaheizung halbwegs smart gemacht

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

      Hallo Zusammen,

      nun möchte ich euch mein kleines Projekt der letzten Tage vorstellen. Es ist jedoch noch nicht komplett abgeschlossen.
      Ich habe mir vor einiger Zeit in meiner Werkstatt so eine Chinastandheizung für knapp 100€ installiert. Leider ist dort die Bedienung nur per Fernbedienung und Tasten am Display möglich.

      Anfangs wollte ich die Tasten mit einem 4 Fach Aktor (Relaisplatine) von homematic ansteuern. Kurzzeitig muss ich jedoch Mr. 3000V gewesen sein und habe die Platine und die Fernbedienung zerschossen :-).

      Als nächstes habe ich eine Platine von Shelly entdeckt, die quasi das gleich kann nur noch viel mehr zum 1/3 des Preises der Homematic Platine. Leider ist die Shelly Platine noch nicht im Adapter integriert (Git Request habe ich bereits bestellt), jedoch kann ich alles per html request steuern.

      Da die Fernbedienung nun kaputt ist, bin ich jetzt direkt an die Tasten des Displays gegangen. Hier bediene ich dann nur die Tasten ON/OFF sowie Heizstufe hoch und runter.

      Damit das ganze auch halbwegs schick und gewollt aussieht habe ich noch eine kleine Box gedruckt, die die Shlleyplatine, das Display sowie einen Shelly Uni aufnimmt.

      Der Shelly Uni wird benutzt um die Pegelstand im Tank zu messen um es in der Vis auch darzustellen. Später wird der Pegelstand noch benutzt, um eine automatische Betankung des kleinen 5,5l Tanks mittels Pumpe aus einem großen Kanister zu bewerkstelligen.

      20241123_114754.jpg

      Das ist die Shelly Platine. die ersten 3 Relais von oben sind für die Steuerung des Displays. Für eine einfachere Montage hab ich dort einen Zwischenstecker installiert.
      Das unterste Relais wird später für die Ansteuerung des Krafstoffpumpe verwendet.

      20241123_114804.jpg

      Hier ist das Display mit den angelöteten Gegensteckern.

      20241123_094039.jpg

      Da ich sehr gerne Ordnung mag hab ich gleich Steckplätze für Wagoklemmen in die Box integriert. Und damit bei der Montage nichts schief geht gleich mehrfarbig gedruckt. Die unteren Wagos dienen zur Spannungsversorgung der Heizung, Shellyplatine und der Kraftstoffpumpe.

      20241123_110658.jpg

      Auf der rechten Seite der Box befindet sich die Aufname für den Shelly Uni.

      20241123_093912.jpg

      Des Weiteren hab ich noch eine Aufnahme für das eigentliche Display gedruckt. Unten in der Box liegt die Shellyplatine, darauf kommt die Aufnahme und darauf wird dann das Display befestigt.

      20241123_144945.jpg

      Angeschlossen sieht das ganze dann so aus.

      Als Pegelerfassung nutze ich eine 125mmUnbenannt.PNG Pegelsonde.

      Diese hat einen veränderlichen Widerstand von 0-190ohm. Leider ist dieser nicht kontinuierlich. Jedoch sind es insgesamt 6 Stufen wo sich der Widerstand ändert. Ist für mich ausreichend genau. Um jedoch das Signal zu messen, habe ich einen Spannungsteiler mit 1kOhm als Widerstand gebaut. Mit der Eingangsspannung von 12V ergeben sich dann knapp 0-2 Volt als Messbereich. Ausreichend groß um die Stufen dann mittels Shelly Uni zu messen und per Script dann in den jeweilgen Füllstand umzurechnen.

      An der Shellyplatine hab ich dann noch einen Temperaturfühler angebracht um die Ausströmertemperatur zu messen.

      Nun gibt es noch die bisher erstellten BlocklyScripte:

      Startscript: Startet die Heizung und sperrt zunächst 8min die Steuerung. Die Heizung fährt sich alleine erstmal hoch, dort reagiert sie auch nicht auf eine Änderung am Display.

      <xml xmlns="https://developers.google.com/blockly/xml">
        <block type="on" id="$tU996o~hQ[gu+Rp]ZzL" x="138" y="88">
          <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_On</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="controls_if" id="-kvipVRHx8bQ=BYHNv*|">
              <value name="IF0">
                <block type="logic_compare" id="%z+e+i0x7-#GA)9#3[5F">
                  <field name="OP">EQ</field>
                  <value name="A">
                    <block type="get_value" id="?1RP)!8R(~0^N,3i{}hQ">
                      <field name="ATTR">val</field>
                      <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_On</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="logic_boolean" id="9P]dho?Dg)Ol5EY~$Utq">
                      <field name="BOOL">TRUE</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="control" id="`E9{]wV#ZzVvYxa-[qIi">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Heizstufe</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="math_number" id="8KWV8^?KTJK~1/,FxL0x">
                      <field name="NUM">3</field>
                    </block>
                  </value>
                  <next>
                    <block type="request" id="=#~U|~ufO;;RIFT51z*Z">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                      <field name="WITH_STATEMENT">FALSE</field>
                      <field name="LOG"></field>
                      <value name="URL">
                        <shadow type="text" id="Dv-gz/AEM.O*pf8=9d=e">
                          <field name="TEXT">http://192.168.178.140/relay/2?turn=on</field>
                        </shadow>
                      </value>
                      <next>
                        <block type="timeouts_wait" id="Ut#@_]7_Ocl!qwh0+9ZH">
                          <field name="DELAY">2500</field>
                          <field name="UNIT">ms</field>
                          <next>
                            <block type="request" id="b)IGmCnP(mkg+HpY3ZJu">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                              <field name="WITH_STATEMENT">FALSE</field>
                              <field name="LOG"></field>
                              <value name="URL">
                                <shadow type="text" id="$|(F/4!az1S+8D?w!i0%">
                                  <field name="TEXT">http://192.168.178.140/relay/2?turn=off</field>
                                </shadow>
                              </value>
                              <next>
                                <block type="control" id="Q(KElrPDwU#?`05agb:$">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Text</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="text" id="N}TV|F%J;H/d1ma,~lnu">
                                      <field name="TEXT">Heizung startet! Bedienung für 8min gesperrt.</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="control" id="8@rsdx{|5Ny-mRp77$;l">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                      <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Freigabe</field>
                                      <field name="WITH_DELAY">TRUE</field>
                                      <field name="DELAY_MS">8</field>
                                      <field name="UNIT">min</field>
                                      <field name="CLEAR_RUNNING">FALSE</field>
                                      <value name="VALUE">
                                        <block type="logic_boolean" id="k(F9$uy7Kop+oGm9MCp6">
                                          <field name="BOOL">TRUE</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="control" id="EK9bbEhGIZpD_5w{n[EG">
                                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                          <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Text</field>
                                          <field name="WITH_DELAY">TRUE</field>
                                          <field name="DELAY_MS">8</field>
                                          <field name="UNIT">min</field>
                                          <field name="CLEAR_RUNNING">FALSE</field>
                                          <value name="VALUE">
                                            <block type="text" id="q-ZIoo@6^==/AcRP=oT~">
                                              <field name="TEXT">Hochlauf abgeschlossen und Freigabe erteilt</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="control" id="#0laTSHaL(M~X6PfBM~:">
                                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                              <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Text</field>
                                              <field name="WITH_DELAY">TRUE</field>
                                              <field name="DELAY_MS">500</field>
                                              <field name="UNIT">sec</field>
                                              <field name="CLEAR_RUNNING">FALSE</field>
                                              <value name="VALUE">
                                                <block type="text" id="j|Y@e5V{,B|-d*#BGwAV">
                                                  <field name="TEXT"></field>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
      </xml>
      

      Wenn die 8 min vorbei sind, wird die Freigabe für Heizstufe hoch und runter erteilt. Die Heizung startet immer in Heizstufe 3 von 6.

      Die Scripte zählen dann automatisch die Heizstufen mit hoch und runter und sperren sich wenn die kleinste oder höchste Stufe erreicht ist.

      Heizstufe runter:

      <xml xmlns="https://developers.google.com/blockly/xml">
        <block type="on" id="YQ6XX(]NsmxZEN-^$jHM" x="238" y="62">
          <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Down</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="controls_if" id="9!khcKWsA5;ZZ[t+/@8O">
              <value name="IF0">
                <block type="logic_multi_and" id="mKL^S/vITNpfMyhKtfdC">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                  <value name="AND0">
                    <block type="logic_compare" id="9B0O//g^EB2tA0~l+uii">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="get_value" id="v(i5r#h[]ul``DFZ$z|d">
                          <field name="ATTR">val</field>
                          <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Down</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_boolean" id="@OVi1+pG[|$)4W6#/_Tl">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <value name="AND1">
                    <block type="logic_multi_and" id="-#;92aA#@bv`%Y*!`@]2">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                      <value name="AND0">
                        <block type="logic_compare" id="kWeOb0!:)Y+G]g,9OKT?">
                          <field name="OP">GTE</field>
                          <value name="A">
                            <block type="get_value" id="+wFLQW9[|04f=t$W+Dw`">
                              <field name="ATTR">val</field>
                              <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Heizstufe</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id=".AH`b}8=?AZAXihpYrl!">
                              <field name="NUM">2</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="AND1">
                        <block type="logic_compare" id="xiOi|fX8*AL*alPUm5W_">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="get_value" id="%9qa^R(SGh4?Ogz5w;R]">
                              <field name="ATTR">val</field>
                              <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Freigabe</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="!B*L#|AGyB;#$DG}S%C^">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="request" id="=#~U|~ufO;;RIFT51z*Z">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                  <field name="WITH_STATEMENT">FALSE</field>
                  <field name="LOG"></field>
                  <value name="URL">
                    <shadow type="text" id="Dv-gz/AEM.O*pf8=9d=e">
                      <field name="TEXT">http://192.168.178.140/relay/1?turn=on</field>
                    </shadow>
                  </value>
                  <next>
                    <block type="timeouts_wait" id="c-p;x5/E.2j{i$2C0B4`">
                      <field name="DELAY">750</field>
                      <field name="UNIT">ms</field>
                      <next>
                        <block type="request" id="J@{%uh|E@DB3a0+I~RLX">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                          <field name="WITH_STATEMENT">FALSE</field>
                          <field name="LOG"></field>
                          <value name="URL">
                            <shadow type="text" id="6g21V#a+@_cTOom}bs,g">
                              <field name="TEXT">http://192.168.178.140/relay/1?turn=off</field>
                            </shadow>
                          </value>
                          <next>
                            <block type="control" id="@jihPVZsZeHBBIhzK!-)">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                              <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Down</field>
                              <field name="WITH_DELAY">TRUE</field>
                              <field name="DELAY_MS">1000</field>
                              <field name="UNIT">ms</field>
                              <field name="CLEAR_RUNNING">FALSE</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="uK$Axj2l8o.TOts@JbPE">
                                  <field name="BOOL">FALSE</field>
                                </block>
                              </value>
                              <next>
                                <block type="control" id="e.`Cm)ApP934MxaV?/C@">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Heizstufe</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="math_arithmetic" id="U,mmQ7v^5B/!I+{8U#rq">
                                      <field name="OP">MINUS</field>
                                      <value name="A">
                                        <shadow type="math_number" id="n:x}*D9/xx+fELeF2P*u">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="get_value" id="gB+dc%F/$obpW%Bu6.`u">
                                          <field name="ATTR">val</field>
                                          <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Heizstufe</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="u1@ALAb#3^nhm-uif/x@">
                                          <field name="NUM">1</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
              <next>
                <block type="controls_if" id="1}AvgoEZ%O+o}/?:w=#^">
                  <value name="IF0">
                    <block type="logic_multi_and" id="wFt5Q,D3A%CH*`~!]IPa">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                      <value name="AND0">
                        <block type="logic_compare" id="+mdg%j:=G,Fj$D9J3iN+">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="get_value" id="jpGn_bnsar54`/)+F.+]">
                              <field name="ATTR">val</field>
                              <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Down</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="=nNU?H?v/.hw65[EdvQh">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="AND1">
                        <block type="logic_compare" id="i9Qe(:z|.+I0GPs+j:ql">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="get_value" id="kh!ozti.:f*W5zFiq`kF">
                              <field name="ATTR">val</field>
                              <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Heizstufe</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id="b$7:,(xUS_!/EX*;#CYM">
                              <field name="NUM">1</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="control" id="hi8QC05VCtuMPc@MZ3/W">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                      <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Down</field>
                      <field name="WITH_DELAY">TRUE</field>
                      <field name="DELAY_MS">1000</field>
                      <field name="UNIT">ms</field>
                      <field name="CLEAR_RUNNING">FALSE</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="6~J=fBw_ZF9%(j,KLaPI">
                          <field name="BOOL">FALSE</field>
                        </block>
                      </value>
                      <next>
                        <block type="control" id="Q(KElrPDwU#?`05agb:$">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Text</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="text" id="N}TV|F%J;H/d1ma,~lnu">
                              <field name="TEXT">Kleinste Stufe erreicht</field>
                            </block>
                          </value>
                          <next>
                            <block type="control" id="3=jGY}5;qwu=G-flCg0^">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                              <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Text</field>
                              <field name="WITH_DELAY">TRUE</field>
                              <field name="DELAY_MS">10</field>
                              <field name="UNIT">sec</field>
                              <field name="CLEAR_RUNNING">FALSE</field>
                              <value name="VALUE">
                                <block type="text" id=")_gK@lrF#Zq$G@_@V=LQ">
                                  <field name="TEXT"></field>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </xml>
      

      Heizstufe hoch:

      <xml xmlns="https://developers.google.com/blockly/xml">
        <block type="on" id="YQ6XX(]NsmxZEN-^$jHM" x="238" y="62">
          <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Up</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="controls_if" id="9!khcKWsA5;ZZ[t+/@8O">
              <value name="IF0">
                <block type="logic_multi_and" id="mKL^S/vITNpfMyhKtfdC">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                  <value name="AND0">
                    <block type="logic_compare" id="9B0O//g^EB2tA0~l+uii">
                      <field name="OP">EQ</field>
                      <value name="A">
                        <block type="get_value" id="v(i5r#h[]ul``DFZ$z|d">
                          <field name="ATTR">val</field>
                          <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Up</field>
                        </block>
                      </value>
                      <value name="B">
                        <block type="logic_boolean" id="@OVi1+pG[|$)4W6#/_Tl">
                          <field name="BOOL">TRUE</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <value name="AND1">
                    <block type="logic_multi_and" id="-#;92aA#@bv`%Y*!`@]2">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                      <value name="AND0">
                        <block type="logic_compare" id="kWeOb0!:)Y+G]g,9OKT?">
                          <field name="OP">LTE</field>
                          <value name="A">
                            <block type="get_value" id="+wFLQW9[|04f=t$W+Dw`">
                              <field name="ATTR">val</field>
                              <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Heizstufe</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id=".AH`b}8=?AZAXihpYrl!">
                              <field name="NUM">5</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="AND1">
                        <block type="logic_compare" id="xiOi|fX8*AL*alPUm5W_">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="get_value" id="%9qa^R(SGh4?Ogz5w;R]">
                              <field name="ATTR">val</field>
                              <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Freigabe</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="!B*L#|AGyB;#$DG}S%C^">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="request" id="=#~U|~ufO;;RIFT51z*Z">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                  <field name="WITH_STATEMENT">FALSE</field>
                  <field name="LOG"></field>
                  <value name="URL">
                    <shadow type="text" id="Dv-gz/AEM.O*pf8=9d=e">
                      <field name="TEXT">http://192.168.178.140/relay/3?turn=on</field>
                    </shadow>
                  </value>
                  <next>
                    <block type="timeouts_wait" id="c-p;x5/E.2j{i$2C0B4`">
                      <field name="DELAY">750</field>
                      <field name="UNIT">ms</field>
                      <next>
                        <block type="request" id="J@{%uh|E@DB3a0+I~RLX">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                          <field name="WITH_STATEMENT">FALSE</field>
                          <field name="LOG"></field>
                          <value name="URL">
                            <shadow type="text" id="6g21V#a+@_cTOom}bs,g">
                              <field name="TEXT">http://192.168.178.140/relay/3?turn=off</field>
                            </shadow>
                          </value>
                          <next>
                            <block type="control" id="@jihPVZsZeHBBIhzK!-)">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                              <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Up</field>
                              <field name="WITH_DELAY">TRUE</field>
                              <field name="DELAY_MS">1000</field>
                              <field name="UNIT">ms</field>
                              <field name="CLEAR_RUNNING">FALSE</field>
                              <value name="VALUE">
                                <block type="logic_boolean" id="uK$Axj2l8o.TOts@JbPE">
                                  <field name="BOOL">FALSE</field>
                                </block>
                              </value>
                              <next>
                                <block type="control" id="e.`Cm)ApP934MxaV?/C@">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Heizstufe</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="math_arithmetic" id="U,mmQ7v^5B/!I+{8U#rq">
                                      <field name="OP">ADD</field>
                                      <value name="A">
                                        <shadow type="math_number" id="n:x}*D9/xx+fELeF2P*u">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="get_value" id="gB+dc%F/$obpW%Bu6.`u">
                                          <field name="ATTR">val</field>
                                          <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Heizstufe</field>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="u1@ALAb#3^nhm-uif/x@">
                                          <field name="NUM">1</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
              <next>
                <block type="controls_if" id="1}AvgoEZ%O+o}/?:w=#^">
                  <value name="IF0">
                    <block type="logic_multi_and" id="wFt5Q,D3A%CH*`~!]IPa">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                      <value name="AND0">
                        <block type="logic_compare" id="+mdg%j:=G,Fj$D9J3iN+">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="get_value" id="jpGn_bnsar54`/)+F.+]">
                              <field name="ATTR">val</field>
                              <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Up</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="logic_boolean" id="=nNU?H?v/.hw65[EdvQh">
                              <field name="BOOL">TRUE</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="AND1">
                        <block type="logic_compare" id="i9Qe(:z|.+I0GPs+j:ql">
                          <field name="OP">EQ</field>
                          <value name="A">
                            <block type="get_value" id="kh!ozti.:f*W5zFiq`kF">
                              <field name="ATTR">val</field>
                              <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Heizstufe</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id="b$7:,(xUS_!/EX*;#CYM">
                              <field name="NUM">6</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <statement name="DO0">
                    <block type="control" id="hi8QC05VCtuMPc@MZ3/W">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                      <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Up</field>
                      <field name="WITH_DELAY">TRUE</field>
                      <field name="DELAY_MS">1000</field>
                      <field name="UNIT">ms</field>
                      <field name="CLEAR_RUNNING">FALSE</field>
                      <value name="VALUE">
                        <block type="logic_boolean" id="6~J=fBw_ZF9%(j,KLaPI">
                          <field name="BOOL">FALSE</field>
                        </block>
                      </value>
                      <next>
                        <block type="control" id="Q(KElrPDwU#?`05agb:$">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                          <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Text</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="text" id="N}TV|F%J;H/d1ma,~lnu">
                              <field name="TEXT">Höchste Stufe erreicht</field>
                            </block>
                          </value>
                          <next>
                            <block type="control" id="3=jGY}5;qwu=G-flCg0^">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                              <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Text</field>
                              <field name="WITH_DELAY">TRUE</field>
                              <field name="DELAY_MS">10</field>
                              <field name="UNIT">sec</field>
                              <field name="CLEAR_RUNNING">FALSE</field>
                              <value name="VALUE">
                                <block type="text" id=")_gK@lrF#Zq$G@_@V=LQ">
                                  <field name="TEXT"></field>
                                </block>
                              </value>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </xml>
      

      Abschalten:

      <xml xmlns="https://developers.google.com/blockly/xml">
        <block type="on" id="$tU996o~hQ[gu+Rp]ZzL" x="138" y="88">
          <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_On</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="controls_if" id="-kvipVRHx8bQ=BYHNv*|">
              <value name="IF0">
                <block type="logic_compare" id="%z+e+i0x7-#GA)9#3[5F">
                  <field name="OP">EQ</field>
                  <value name="A">
                    <block type="get_value" id="?1RP)!8R(~0^N,3i{}hQ">
                      <field name="ATTR">val</field>
                      <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_On</field>
                    </block>
                  </value>
                  <value name="B">
                    <block type="logic_boolean" id="9P]dho?Dg)Ol5EY~$Utq">
                      <field name="BOOL">FALSE</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="request" id="=#~U|~ufO;;RIFT51z*Z">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                  <field name="WITH_STATEMENT">FALSE</field>
                  <field name="LOG"></field>
                  <value name="URL">
                    <shadow type="text" id="Dv-gz/AEM.O*pf8=9d=e">
                      <field name="TEXT">http://192.168.178.140/relay/2?turn=on</field>
                    </shadow>
                  </value>
                  <next>
                    <block type="timeouts_wait" id="Ut#@_]7_Ocl!qwh0+9ZH">
                      <field name="DELAY">2500</field>
                      <field name="UNIT">ms</field>
                      <next>
                        <block type="request" id="b)IGmCnP(mkg+HpY3ZJu">
                          <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                          <field name="WITH_STATEMENT">FALSE</field>
                          <field name="LOG"></field>
                          <value name="URL">
                            <shadow type="text" id="$|(F/4!az1S+8D?w!i0%">
                              <field name="TEXT">http://192.168.178.140/relay/2?turn=off</field>
                            </shadow>
                          </value>
                          <next>
                            <block type="control" id="Q(KElrPDwU#?`05agb:$">
                              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                              <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Text</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="text" id="N}TV|F%J;H/d1ma,~lnu">
                                  <field name="TEXT">Heizung fährt herunter, Freigabe entzogen</field>
                                </block>
                              </value>
                              <next>
                                <block type="control" id="8@rsdx{|5Ny-mRp77$;l">
                                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                  <field name="OID">0_userdata.0.Werkstattheizung.B_Werkstattheizung_Freigabe</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="logic_boolean" id="k(F9$uy7Kop+oGm9MCp6">
                                      <field name="BOOL">FALSE</field>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="control" id="/f@iSqb-Z)tvu!A5A*+r">
                                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                      <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Text</field>
                                      <field name="WITH_DELAY">TRUE</field>
                                      <field name="DELAY_MS">2</field>
                                      <field name="UNIT">min</field>
                                      <field name="CLEAR_RUNNING">FALSE</field>
                                      <value name="VALUE">
                                        <block type="text" id="WKFRSa1mm=Vc?V|%}U?(">
                                          <field name="TEXT"></field>
                                        </block>
                                      </value>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </next>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
      </xml>
      

      Analog zum selbständigen Hochfahren der Heizung führt diese auch eine Selbstständige Abkühlphase durch. Zur Zeit wird das jedoch noch nicht vom Script erschlagen. Daher bitte mit vorsicht zu genießen.

      Nun folgen noch die Abfrage der Temperatur und Spannung der jeweiligen Shelly:

      Temperatur

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="!);hs;9{=,[~A8o5{=Hv">x</variable>
          <variable id="vKh/VeTs4fFJuM1~{sL^">result</variable>
        </variables>
        <block type="schedule" id="S5y/ctFHiI7:WlW-,Dfh" x="112" y="63">
          <field name="SCHEDULE">* * * * * *</field>
          <statement name="STATEMENT">
            <block type="request" id="UTG6!ewVuNx|/w}T^dBz">
              <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
              <field name="WITH_STATEMENT">TRUE</field>
              <field name="LOG"></field>
              <value name="URL">
                <shadow type="text" id="0KpZxvNEi=c6f!Np2x*U">
                  <field name="TEXT">http://192.168.178.140/rpc/Temperature.GetStatus?id=100</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="variables_set" id="bfIINS`.pTEu+cC3%qg[">
                  <field name="VAR" id="!);hs;9{=,[~A8o5{=Hv">x</field>
                  <value name="VALUE">
                    <block type="get_attr" id="6l|u$1Ux]=:T::Zok93~">
                      <value name="PATH">
                        <shadow type="text" id="QR9!,Cad!IG[S06MPl|z">
                          <field name="TEXT">tC</field>
                        </shadow>
                      </value>
                      <value name="OBJECT">
                        <shadow type="get_object" id="aq)Rdy.u8%`LFx0K+o@!">
                          <field name="OID">Object ID</field>
                        </shadow>
                        <block type="convert_json2object" id=";Ll?WdS,2,vA-zX:V]9M">
                          <value name="VALUE">
                            <block type="variables_get" id="tY3hxMoz/LX!f_go.c.N">
                              <field name="VAR" id="vKh/VeTs4fFJuM1~{sL^">result</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="update" id="=q.UG4o;V#*~Md#`H$o9">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Ausstroemertemperatur</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="variables_get" id="f_l+(|oUEI0^){.#3A;-">
                          <field name="VAR" id="!);hs;9{=,[~A8o5{=Hv">x</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
      </xml>
      

      Spannung:

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="!);hs;9{=,[~A8o5{=Hv">x</variable>
          <variable id="vKh/VeTs4fFJuM1~{sL^">result</variable>
        </variables>
        <block type="schedule" id="S5y/ctFHiI7:WlW-,Dfh" x="112" y="63">
          <field name="SCHEDULE">* * * * * *</field>
          <statement name="STATEMENT">
            <block type="request" id="UTG6!ewVuNx|/w}T^dBz">
              <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="true"></mutation>
              <field name="WITH_STATEMENT">TRUE</field>
              <field name="LOG"></field>
              <value name="URL">
                <shadow type="text" id="0KpZxvNEi=c6f!Np2x*U">
                  <field name="TEXT">http://192.168.178.141/rpc/Voltmeter.GetStatus?id=100</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="variables_set" id="bfIINS`.pTEu+cC3%qg[">
                  <field name="VAR" id="!);hs;9{=,[~A8o5{=Hv">x</field>
                  <value name="VALUE">
                    <block type="get_attr" id="6l|u$1Ux]=:T::Zok93~">
                      <value name="PATH">
                        <shadow type="text" id="QR9!,Cad!IG[S06MPl|z">
                          <field name="TEXT">voltage</field>
                        </shadow>
                      </value>
                      <value name="OBJECT">
                        <shadow type="get_object" id="aq)Rdy.u8%`LFx0K+o@!">
                          <field name="OID">Object ID</field>
                        </shadow>
                        <block type="convert_json2object" id=";Ll?WdS,2,vA-zX:V]9M">
                          <value name="VALUE">
                            <block type="variables_get" id="tY3hxMoz/LX!f_go.c.N">
                              <field name="VAR" id="vKh/VeTs4fFJuM1~{sL^">result</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="update" id="=q.UG4o;V#*~Md#`H$o9">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Pegelstand_Spannung</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="variables_get" id="f_l+(|oUEI0^){.#3A;-">
                          <field name="VAR" id="!);hs;9{=,[~A8o5{=Hv">x</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
          </statement>
        </block>
      </xml>
      

      Und abschließend noch die Umrechnung von Volt in prozentualen Stufen:

      <xml xmlns="https://developers.google.com/blockly/xml">
        <block type="on" id="xJ[|`FS|n8IM09ZoRk]`" x="88" y="-137">
          <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Pegelstand_Spannung</field>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <statement name="STATEMENT">
            <block type="controls_if" id="#nK)yu%Qt.JT=6)rwfQ/">
              <mutation elseif="5"></mutation>
              <value name="IF0">
                <block type="logic_between" id="}5fmcYO^vc{Rd7thL#:F">
                  <field name="MIN_OPERATOR">LE</field>
                  <field name="MAX_OPERATOR">LT</field>
                  <value name="MIN">
                    <block type="math_number" id="x`b46TWbLjMn4NxzqINX">
                      <field name="NUM">0</field>
                    </block>
                  </value>
                  <value name="VALUE">
                    <shadow type="math_number" id="P2@qS~JU~R?O#Al@zu=I">
                      <field name="NUM">42</field>
                    </shadow>
                    <block type="get_value" id="ZoHikS+~ewT]pdjbH$r0">
                      <field name="ATTR">val</field>
                      <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Pegelstand_Spannung</field>
                    </block>
                  </value>
                  <value name="MAX">
                    <block type="math_number" id="AGgj!,MY9I9*y,,`rX^f">
                      <field name="NUM">0.3</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO0">
                <block type="control" id="1,~#!4#0T0[[{lSh8(+q">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Tankfüllstand</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="math_number" id="8b[`?[g3R`luMN,^|nJ|">
                      <field name="NUM">0</field>
                    </block>
                  </value>
                </block>
              </statement>
              <value name="IF1">
                <block type="logic_between" id="EwqHluPmKIS/a-s+d|$$">
                  <field name="MIN_OPERATOR">LE</field>
                  <field name="MAX_OPERATOR">LT</field>
                  <value name="MIN">
                    <block type="math_number" id="PVq4yno;HUGZZc01^h}T">
                      <field name="NUM">0.3</field>
                    </block>
                  </value>
                  <value name="VALUE">
                    <shadow type="math_number" id="P2@qS~JU~R?O#Al@zu=I">
                      <field name="NUM">42</field>
                    </shadow>
                    <block type="get_value" id="lC?5E,AwvS8h=4h.3C)T">
                      <field name="ATTR">val</field>
                      <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Pegelstand_Spannung</field>
                    </block>
                  </value>
                  <value name="MAX">
                    <block type="math_number" id="UOhMfk2/A)IzWup_4JNJ">
                      <field name="NUM">0.6</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO1">
                <block type="control" id="-i[.mk.8{?P9K|`9+e4,">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Tankfüllstand</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="math_number" id="T#kIquVF);B]oOu~hy9m">
                      <field name="NUM">20</field>
                    </block>
                  </value>
                </block>
              </statement>
              <value name="IF2">
                <block type="logic_between" id=".J+Ij9*Ghf}y3O@1S-cy">
                  <field name="MIN_OPERATOR">LE</field>
                  <field name="MAX_OPERATOR">LT</field>
                  <value name="MIN">
                    <block type="math_number" id="kZmPc[c(vU6FtFhbNc43">
                      <field name="NUM">0.6</field>
                    </block>
                  </value>
                  <value name="VALUE">
                    <shadow type="math_number" id="P2@qS~JU~R?O#Al@zu=I">
                      <field name="NUM">42</field>
                    </shadow>
                    <block type="get_value" id="cL4zpYl-~-^Oxj+tH3s5">
                      <field name="ATTR">val</field>
                      <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Pegelstand_Spannung</field>
                    </block>
                  </value>
                  <value name="MAX">
                    <block type="math_number" id="H|+{+t(D|EDSt(2.T}Zg">
                      <field name="NUM">1.2</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO2">
                <block type="control" id="=e|m.lKD)hZ^WI0e_t3k">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Tankfüllstand</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="math_number" id="M(Y*TBKe%,-yW$8#[ArG">
                      <field name="NUM">40</field>
                    </block>
                  </value>
                </block>
              </statement>
              <value name="IF3">
                <block type="logic_between" id="[k)#~YK5`AWZfC7+}YUY">
                  <field name="MIN_OPERATOR">LE</field>
                  <field name="MAX_OPERATOR">LT</field>
                  <value name="MIN">
                    <block type="math_number" id="czsmVFCZ^O,ERz*j)fWz">
                      <field name="NUM">1.2</field>
                    </block>
                  </value>
                  <value name="VALUE">
                    <shadow type="math_number" id="P2@qS~JU~R?O#Al@zu=I">
                      <field name="NUM">42</field>
                    </shadow>
                    <block type="get_value" id="HSkz0?fd:#KnwqY62`eR">
                      <field name="ATTR">val</field>
                      <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Pegelstand_Spannung</field>
                    </block>
                  </value>
                  <value name="MAX">
                    <block type="math_number" id="4@h`zh|v7]bN]rG7zgJL">
                      <field name="NUM">1.45</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO3">
                <block type="control" id="6DNPjF{a_6pipj1PT2,a">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Tankfüllstand</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="math_number" id="wF.o.Bl@x$/jh#BwD}Gh">
                      <field name="NUM">60</field>
                    </block>
                  </value>
                </block>
              </statement>
              <value name="IF4">
                <block type="logic_between" id="_HkC0ZK~c4P|)VuPp[7C">
                  <field name="MIN_OPERATOR">LE</field>
                  <field name="MAX_OPERATOR">LT</field>
                  <value name="MIN">
                    <block type="math_number" id="6x!sjnvwh0JgPuwzkiF9">
                      <field name="NUM">1.45</field>
                    </block>
                  </value>
                  <value name="VALUE">
                    <shadow type="math_number" id="P2@qS~JU~R?O#Al@zu=I">
                      <field name="NUM">42</field>
                    </shadow>
                    <block type="get_value" id="8q8H1b?Iek`o(jKtnY:m">
                      <field name="ATTR">val</field>
                      <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Pegelstand_Spannung</field>
                    </block>
                  </value>
                  <value name="MAX">
                    <block type="math_number" id="lG4ISgP1FYEz#xap9(NB">
                      <field name="NUM">1.7</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO4">
                <block type="control" id="}aGMHDP]R/gRz0#C]fe]">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Tankfüllstand</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="math_number" id=".Y:Abs0.lO_;;AL+GG}`">
                      <field name="NUM">80</field>
                    </block>
                  </value>
                </block>
              </statement>
              <value name="IF5">
                <block type="logic_between" id=".~VsBY_):n-HG$p=d]O/">
                  <field name="MIN_OPERATOR">LE</field>
                  <field name="MAX_OPERATOR">LT</field>
                  <value name="MIN">
                    <block type="math_number" id="emPN?M|ULRTqN5pa0eZE">
                      <field name="NUM">1.7</field>
                    </block>
                  </value>
                  <value name="VALUE">
                    <shadow type="math_number" id="P2@qS~JU~R?O#Al@zu=I">
                      <field name="NUM">42</field>
                    </shadow>
                    <block type="get_value" id="D0W-M6!,eUa,%R?!iJA1">
                      <field name="ATTR">val</field>
                      <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Pegelstand_Spannung</field>
                    </block>
                  </value>
                  <value name="MAX">
                    <block type="math_number" id="MdQ_?q*S`9!sfib![;3H">
                      <field name="NUM">2.1</field>
                    </block>
                  </value>
                </block>
              </value>
              <statement name="DO5">
                <block type="control" id="NoM/k3ug%pt~33EXJp+_">
                  <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                  <field name="OID">0_userdata.0.Werkstattheizung.Var_Werkstattheizung_Tankfüllstand</field>
                  <field name="WITH_DELAY">FALSE</field>
                  <value name="VALUE">
                    <block type="math_number" id="xUVm,_mTZUu,W~SKn@%*">
                      <field name="NUM">100</field>
                    </block>
                  </value>
                </block>
              </statement>
            </block>
          </statement>
        </block>
      </xml>
      

      In der Vis hab ich das bisher nur erstmal quick and dirty integriert und sieht so aus.

      Vis.PNG

      Für die Zukunft sind die angesprochene automatische Betankung und weitere Scripte z.B. einen Automatikmodus geplant.
      Sowie die Gestaltung des Deckels mit den Druckknöpfen für die Tasten am Display. Aktuell sieht es nämlich so aus.

      20241123_195624.jpg

      Über ein Feedback von euch würde ich mich sehr freuen.

      da_Woody R 2 Replies Last reply Reply Quote 3
      • da_Woody
        da_Woody @gmt94 last edited by

        @gmt94 super projekt! laola.gif

        1 Reply Last reply Reply Quote 0
        • R
          Radi @gmt94 last edited by

          @gmt94 Dein Projekt erscheint ja höchst interessant. Ich habe eine ähnliche Konstellation im Einsatz und ärgere mich immer wieder, dass ich das Gerät eigentlich nur am oder in der Nähe des Geräts bedienen kann. Von daher wäre ich an einem Nachbau deines Projekts interessiert. Welche Platine von Shelly hast du denn dabei genutzt? Ich fand auf die Schnelle nichts, was nach der von dir genutzten Platine aussieht.

          da_Woody G 2 Replies Last reply Reply Quote 0
          • da_Woody
            da_Woody @Radi last edited by

            @radi musste auch suchen. Noch nie gesehen.
            https://www.shelly.com/de/products/db2024r-xsm
            Da gibt's noch was
            https://www.shelly.com/de/products/db2024t-xsm

            G 1 Reply Last reply Reply Quote 1
            • G
              gmt94 @Radi last edited by

              @radi

              Hey Radi,

              Hier ist der Link:

              https://www.shelly.com/de/products/db2024r-xsm

              Falls du weitere Unterstützung benötigst einfach melden.

              Vg

              R 1 Reply Last reply Reply Quote 1
              • R
                Radi @gmt94 last edited by

                @gmt94 Danke dir und auch da_Woody. Die Platine kannte ich auch noch nicht. Vielleicht kannst du mal, wenn genug Zeit ist, eine Materialaufstellung machen. Das würde den Nachbau erleichtern. Die .stl-Files für den 3D-Druck wären natürlich auch willkommen. So, jetzt habe ich aber genug gewünscht. Es ist auf jeden Fall ein sehr interessantes Projekt, das mich zum Nachbau anstachelt.

                G 2 Replies Last reply Reply Quote 0
                • G
                  gmt94 @da_Woody last edited by

                  @da_woody

                  Bist du der woody aus dem shelly forum der da nicht mehr aktiv ist?

                  Wenn ja hab ich dir damals ja die shelly in Box druckdatei extra für dich erstellt. 🙂

                  da_Woody 1 Reply Last reply Reply Quote 0
                  • G
                    gmt94 @Radi last edited by

                    @radi

                    Werde ich heute abend alles zusammen stellen.

                    1 Reply Last reply Reply Quote 0
                    • da_Woody
                      da_Woody @gmt94 last edited by

                      @gmt94 oioi, wie die Zeit vergeht...
                      Jup, das war meinereiner. Wurde damals vom selbsternannten godadmin gesperrt.
                      Thnx noch mal für die Box!
                      Biste da noch dran für die neuen Shelly?

                      1 Reply Last reply Reply Quote 0
                      • G
                        gmt94 @Radi last edited by gmt94

                        @radi

                        So wie versprochen anbei die Stückliste. Ich werde nachher auch noch einen Schaltplan malen.

                        1x Shelly X MOD1 – DevKit with 4 relays
                        1x Shelly Uni
                        1x Temperatursensor ds18b20
                        4x Wago 221 5 Fach
                        1x Wago 221 3 Fach
                        2x Zugentlastung M12
                        1x kOhm Widerstand
                        12x M3 Einpressmuttern
                        8x M3x10 Senkkopf
                        4x M3x6 Flachkopf
                        3x Steckverbindungskabel (optional, erleichtert jedoch Montage von Display und Shelly)
                        1x 125mm Pegelmesser
                        2x1,5qm Kabel
                        0,5qm Signalkabel
                        einige kleine Aderendhülsen
                        Schrumpfschlauch
                        Lötkolben

                        Das müsste es erstmal gewesen sein. Am Wochenende hab ich dann noch für die Ausströmerseite ein kleines Rohr mit Bogen gedruckt, dieser kann dann den Temperatursensor aufnehmen. Das habe ich jedoch aus ASA aufgrund der Temperaturbeständigkeit gedruckt,

                        20241125_165722[1].jpg

                        20241125_165729[1].jpg

                        G da_Woody R 3 Replies Last reply Reply Quote 0
                        • G
                          gmt94 @gmt94 last edited by

                          Wie angekündigt hier noch der Schaltplan:

                          Schaltplan.png

                          Ich hoffe, dass man damit was anfangen kann.

                          1 Reply Last reply Reply Quote 0
                          • da_Woody
                            da_Woody @gmt94 last edited by

                            @gmt94 sagte in Chinaheizung halbwegs smart gemacht:

                            0,5qm Signalkabel

                            ganz schön dick... floet.gif
                            ne, auch wenn ich sowas nicht brauche, thnx fürs teilen!

                            1 Reply Last reply Reply Quote 0
                            • R
                              Radi @gmt94 last edited by

                              @gmt94 Danke für die Aufstellung. Ist sehr detailliert geworden. Was für ein Display hast du da verbaut?
                              Ich habe es bei mir so realisiert, das ich am Ausgang der Heizung einen temperaturbeständigen Rohrlüfter angeschlossen habe, der über die Stromaufnahme der Standheizung gesteuert eingeschaltet wird und die warme Luft über ein Rohrsystem mit mehreren Luftauslässen im Gebäude verteilt.

                              G 1 Reply Last reply Reply Quote 0
                              • G
                                gmt94 @Radi last edited by

                                @radi

                                Na das ist das Display direkt von der Heizung. Das habe ich aus dem originalen Gehäuse ausgebaut. Ohne dem funktioniert ja die ganze Heizung nicht.

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  Radi @gmt94 last edited by

                                  @gmt94 Manchmal ist man einfach nur blind. Habe mir das Bild gerade noch mal richtig angeschaut und mir erstmal vor den Kopf geschlagen 😉

                                  G 1 Reply Last reply Reply Quote 0
                                  • G
                                    gmt94 @Radi last edited by

                                    @radi

                                    Hast du ein Display mit schwarzem oder weißen Stecker? Die sind nämlich etwas unterschiedlich.

                                    R 1 Reply Last reply Reply Quote 0
                                    • R
                                      Radi @gmt94 last edited by

                                      @gmt94 Habs noch nicht auseinander gebaut. Würde mich melden, wenn ich mal wieder Muse habe, mich mit dem Thema zu beschäftigen. Momentan haben leider noch andere Dinge Priorität.

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

                                      Support us

                                      ioBroker
                                      Community Adapters
                                      Donate

                                      1.0k
                                      Online

                                      31.7k
                                      Users

                                      79.7k
                                      Topics

                                      1.3m
                                      Posts

                                      3
                                      17
                                      1089
                                      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