iobroker Blockly Script absolute Feuchte berechnen

Code für den Blockly import:

    <xml xmlns="https://developers.google.com/blockly/xml">
  <variables>
    <variable id=")Vz0,u.-.k*4g:m~W}7W">temperature</variable>
    <variable id=")(A+CMXkz]`wvY;?c89W">relFeuchte</variable>
    <variable id="DLEhFoj!*h)Y^q~k=F]D">hysterese</variable>
    <variable id="l*On1=aiKKj0p:|T=fm{">absfeuchte</variable>
  </variables>
  <block type="procedures_defnoreturn" id="a.7eeV[s:u5??`4e3Od;" x="-37" y="-413">
    <mutation>
      <arg name="temperature" varid=")Vz0,u.-.k*4g:m~W}7W"></arg>
      <arg name="relFeuchte" varid=")(A+CMXkz]`wvY;?c89W"></arg>
    </mutation>
    <field name="NAME">feuchte</field>
    <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
    <statement name="STACK">
      <block type="variables_set" id="u;rAvA^Tg)fde-N$g+n(">
        <field name="VAR" id="DLEhFoj!*h)Y^q~k=F]D">hysterese</field>
        <value name="VALUE">
          <block type="math_number" id="@q.bo#w=6Z#K/42*x$.3">
            <field name="NUM">0.5</field>
          </block>
        </value>
        <next>
          <block type="variables_set" id="GLoUl42Ssmd5x{%ngji+">
            <field name="VAR" id="l*On1=aiKKj0p:|T=fm{">absfeuchte</field>
            <value name="VALUE">
              <block type="math_arithmetic" id="$9dk$%bCfi).WmTQ0YvS" inline="false">
                <field name="OP">DIVIDE</field>
                <value name="A">
                  <shadow type="math_number" id="@|]|kf(~;UXSj{r-Py.}">
                    <field name="NUM">1</field>
                  </shadow>
                  <block type="math_arithmetic" id="drl{z6M9~)QK=1jWZwS1" inline="false">
                    <field name="OP">MULTIPLY</field>
                    <value name="A">
                      <shadow type="math_number" id="?(XoR_CDs1f)=_zC_s`c">
                        <field name="NUM">1</field>
                      </shadow>
                      <block type="math_arithmetic" id="Ii^SaP2Kig/a4yQeL2Kp" inline="false">
                        <field name="OP">MULTIPLY</field>
                        <value name="A">
                          <shadow type="math_number" id="W]Ok6Ex(k9gJWN%Vl0(?">
                            <field name="NUM">1</field>
                          </shadow>
                          <block type="math_arithmetic" id="G_aJ68Y!9?zmeHy=4+6O" inline="false">
                            <field name="OP">MULTIPLY</field>
                            <value name="A">
                              <shadow type="math_number" id="rS7,,?%z$GHN(0DP-)Wa">
                                <field name="NUM">1</field>
                              </shadow>
                              <block type="math_number" id="Ss;2=UpBXrr%ru]F/HcD">
                                <field name="NUM">6.112</field>
                              </block>
                            </value>
                            <value name="B">
                              <shadow type="math_number" id="Q_;jA]edTjm#:$`BlH8l">
                                <field name="NUM">1</field>
                              </shadow>
                              <block type="math_single" id="PgF}b=!D4^{n0iWk|%7z">
                                <field name="OP">EXP</field>
                                <value name="NUM">
                                  <shadow type="math_number" id="tV|:2_[M=j?P!6L7vh1^">
                                    <field name="NUM">9</field>
                                  </shadow>
                                  <block type="math_arithmetic" id="4A4-v3;A2z}(iC1}/|;J" inline="false">
                                    <field name="OP">DIVIDE</field>
                                    <value name="A">
                                      <shadow type="math_number" id="/DEPg%|MS4iI54Xg6-E:">
                                        <field name="NUM">1</field>
                                      </shadow>
                                      <block type="math_arithmetic" id="s9-wArpJZT$DZJF(:oe_">
                                        <field name="OP">MULTIPLY</field>
                                        <value name="A">
                                          <shadow type="math_number" id="wU{rm.Y~Cc:*cKP-pI6n">
                                            <field name="NUM">17.67</field>
                                          </shadow>
                                        </value>
                                        <value name="B">
                                          <shadow type="math_number" id="(6gfCw,CHBNtyNrq4xf6">
                                            <field name="NUM">1</field>
                                          </shadow>
                                          <block type="variables_get" id="_K@|_[8M3NUw?.VA(],?">
                                            <field name="VAR" id=")Vz0,u.-.k*4g:m~W}7W">temperature</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                    <value name="B">
                                      <shadow type="math_number" id="._D6XRUnVpSD:3e;r6u[">
                                        <field name="NUM">1</field>
                                      </shadow>
                                      <block type="math_arithmetic" id="};.N1a,UzboZAd@o+^jr">
                                        <field name="OP">ADD</field>
                                        <value name="A">
                                          <shadow type="math_number" id="[:o6ZaA4M%CmKmi}Fb07">
                                            <field name="NUM">1</field>
                                          </shadow>
                                          <block type="math_number" id="?e~,rPM[rLNAX88SQw6*">
                                            <field name="NUM">243.5</field>
                                          </block>
                                        </value>
                                        <value name="B">
                                          <shadow type="math_number" id=")0kFf`)/(A}-,6o=d9]?">
                                            <field name="NUM">1</field>
                                          </shadow>
                                          <block type="variables_get" id="Gw.PQ]#i.P)4H?q0:uis">
                                            <field name="VAR" id=")Vz0,u.-.k*4g:m~W}7W">temperature</field>
                                          </block>
                                        </value>
                                      </block>
                                    </value>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                        <value name="B">
                          <shadow type="math_number" id="=QJ@}_89oaSc6TkLXqL{">
                            <field name="NUM">1</field>
                          </shadow>
                          <block type="math_number" id="+-RP-jJ/Cl8j~X(iqtKk">
                            <field name="NUM">2.1674</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <value name="B">
                      <shadow type="math_number" id=";`Yd*+h-@*2XfUACe)O8">
                        <field name="NUM">1</field>
                      </shadow>
                      <block type="variables_get" id="tMo|!n{{H-zc)qWU3Be9">
                        <field name="VAR" id=")(A+CMXkz]`wvY;?c89W">relFeuchte</field>
                      </block>
                    </value>
                  </block>
                </value>
                <value name="B">
                  <shadow type="math_number" id="H=hU4(hGj-[YSN#G(cZ}">
                    <field name="NUM">1</field>
                  </shadow>
                  <block type="math_arithmetic" id="=Xf0xz;M.wOqwduBl|O+">
                    <field name="OP">ADD</field>
                    <value name="A">
                      <shadow type="math_number" id="*=pAEW@=`5jlHQO4GUyX">
                        <field name="NUM">1</field>
                      </shadow>
                      <block type="math_number" id="(11}Qz2^*N(([RQo~/lT">
                        <field name="NUM">273.15</field>
                      </block>
                    </value>
                    <value name="B">
                      <shadow type="math_number" id="cS*9f1Zsst}!M]qx+5mO">
                        <field name="NUM">1</field>
                      </shadow>
                      <block type="variables_get" id="lzNp]xQRt$;C}pPC=%vO">
                        <field name="VAR" id=")Vz0,u.-.k*4g:m~W}7W">temperature</field>
                      </block>
                    </value>
                  </block>
                </value>
              </block>
            </value>
            <next>
              <block type="debug" id="a%5zx.dK7PlF5.J+8MkO">
                <field name="Severity">log</field>
                <value name="TEXT">
                  <shadow type="text" id="6-p*!}%Tylz*Wa5W=np`">
                    <field name="TEXT">test</field>
                  </shadow>
                  <block type="variables_get" id="Is`6[Nqd5u4(DbI=P;{|">
                    <field name="VAR" id="l*On1=aiKKj0p:|T=fm{">absfeuchte</field>
                  </block>
                </value>
              </block>
            </next>
          </block>
        </next>
      </block>
    </statement>
  </block>
  <block type="procedures_callnoreturn" id="H|*Iwoq#skE(gVEMG|eV" inline="false" x="-12" y="38">
    <mutation name="feuchte">
      <arg name="temperature"></arg>
      <arg name="relFeuchte"></arg>
    </mutation>
    <value name="ARG0">
      <block type="get_value" id="9u|-hEAMf$~oj/Zf1O}u">
        <field name="ATTR">val</field>
        <field name="OID">hm-rpc.0.KEQ0054471.1.TEMPERATURE</field>
      </block>
    </value>
    <value name="ARG1">
      <block type="get_value" id="I~Aep.0[Sm=IN{(oh?H8">
        <field name="ATTR">val</field>
        <field name="OID">hm-rpc.0.KEQ0054471.1.HUMIDITY</field>
      </block>
    </value>
    <next>
      <block type="update" id="4Ksn|FG0NOO1hK(UthA{">
        <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
        <field name="OID">0_userdata.0.Temperaturen.Abs_Feuchte_Keller_gross</field>
        <field name="WITH_DELAY">FALSE</field>
        <value name="VALUE">
          <block type="math_rndfixed" id="[mKK3g+/N+C]~fpBGXU{">
            <field name="n">2</field>
            <value name="x">
              <shadow type="math_number" id="UfRGQ3R/3R*Bo;7K.,9p">
                <field name="NUM">3.1234</field>
              </shadow>
              <block type="variables_get" id="WPY):G%A0W#mN-oNMq-d">
                <field name="VAR" id="l*On1=aiKKj0p:|T=fm{">absfeuchte</field>
              </block>
            </value>
          </block>
        </value>
      </block>
    </next>
  </block>
</xml>
image_pdfBeitrag als PDF
Like
Like Love Haha Wow Sad Angry
1321

6 Antworten auf „iobroker Blockly Script absolute Feuchte berechnen“

  1. Hallo Frank,
    vielen Dank für das knackig kurze Script. Endlich zu wissen man man Lüften kann ist ein Segen. Das Script hat seinen Weg auch schon in andere iobroker im Umfeld gefunden.
    Mir scheint dass die Variable “hysterese” nicht genutzt wird.
    Um bei mir kurzfristige Schwankungen auszugleichen meldet mein iobroker erst bei einer Differenz von > 1g/m³ dass belüftet werden kann.
    Wie hast du dass bei dir gelöst?

    1. Hi Robert,

      du hast recht, hysterese wird glaub ich gar nicht genutzt. das war noch von den versuchen beim bauen des skriptes übrig geblieben.
      Ich mache es aber auch so, das ich erst bei einer Differenz von >1g/kg schalte. Alternativ hatte ich auch schon so eingestellt, das es unter 8 g/kg erst schaltet, denn dann ist die Luft schon ziemlich trocken.

      vg andy

  2. Hallo Andy,

    bin auf de Suche nach einer Lüftersteuerung für den Keller auf deinen Blog gestoßen.
    Das mit der Berechnung verstehe ich, aber wie genau gestaltest du die Steuerung danach?

    Gruß Frank

    1. Hi Frank,
      stimmt, ich habe nur die Berechnung gezeigt, weil ich zu der generellen Umsetzung einiges im Internet gefunden habe. Aber du hast recht, vielleicht sollte ich das noch beschreiben. Zusammengefasst ist es so, das ich die absolute Feuchte aussen und innen vergleiche und wenn aussen geringer ist als innen, dann wird ein Lüfter aktiviert. Somit sinkt dann auch die Luftfeuchte im Keller.

      Viele Grüße Andy

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.