Navigation

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

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    Hilfe bei Blockly Berechnung (Formel)

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

      @Felix-Merk
      Die Formel ist ohne Zeichen für die Multiplikation schlecht zu lesen.
      Bei atan() muss man berücksichtigen, ob der Wert in Bogenmaß oder Grad angegeben ist.

      Felix Merk 1 Reply Last reply Reply Quote 0
      • amg_666
        amg_666 @Felix Merk last edited by amg_666

        @Felix-Merk said in Hilfe bei Blockly Berechnung (Formel):

        peratur und Rel. Luffeuchte mit e

        Warum postest du nicht deinen blockly-Versuch, da könnte man sehen was falsch läuft. Ich würde das in mehrere Rechenschritte aufteilen und mit Variablen innerhalb des blockly arbeiten:

        1. var1=Wurzel(RH%+8.313659)
        2. var2=atan (var1)
          usw
          und am Ende dann TW=var2 + var3 +...-4.686035

        und wenn das funktioniert kannst du versuchen es Schritt für Schritt in eine Formel zu basteln.

        Felix Merk 1 Reply Last reply Reply Quote 0
        • Felix Merk
          Felix Merk @amg_666 last edited by

          @amg_666
          guter Ansatz!

          Kann das mal jemand für mich überprüfen? Wie mache ich in Blockly einen Wert hoch 2/3 ? bzw. Wert hoch 1,5?
          Ich habe mir nicht anders zu helfen gewusst als: Wurzel Wert * Wurzel Wert * Wurzel Wert....

          Passen die einzelnen Blöcke so?

          Liebe Grüße
          Felix

          Blocly_Feuchtkugel.JPG

          <xml xmlns="http://www.w3.org/1999/xhtml">
            <block type="math_arithmetic" id="3#^r^xtPlR)Ze(MZhI5`" x="-237" y="63">
              <field name="OP">MULTIPLY</field>
              <value name="A">
                <shadow type="math_number" id="JQT5tU%]ZecGlU4@*awi">
                  <field name="NUM">1</field>
                </shadow>
                <block type="get_value" id="M6U!t21[|XqPe/uk9_1^">
                  <field name="ATTR">val</field>
                  <field name="OID">mqtt.0.lift.Sensoren.Temp</field>
                </block>
              </value>
              <value name="B">
                <shadow type="math_number" id="ctjeLIuj!n]T.^UBIQWW">
                  <field name="NUM">1</field>
                </shadow>
                <block type="math_trig" id="VGBWu]i-7SAFO9=Uw)z;">
                  <field name="OP">ATAN</field>
                  <value name="NUM">
                    <shadow type="math_number" id="%n@iOcl%Fj,;fghz%OJX">
                      <field name="NUM">45</field>
                    </shadow>
                    <block type="math_arithmetic" id="rGJezh[AMi$A_)kj!NH~">
                      <field name="OP">MULTIPLY</field>
                      <value name="A">
                        <shadow type="math_number" id="!a3k2S)i6glaeNT**OTo">
                          <field name="NUM">0.151977</field>
                        </shadow>
                      </value>
                      <value name="B">
                        <shadow type="math_number" id="Kij3;EDR[Jp!cPk6@Jmn">
                          <field name="NUM">1</field>
                        </shadow>
                        <block type="math_single" id="x)c4WRRD,p?on.q2m~$C">
                          <field name="OP">ROOT</field>
                          <value name="NUM">
                            <shadow type="math_number" id="$iTr9=`)5Q(=Y0Cqi@Ws">
                              <field name="NUM">9</field>
                            </shadow>
                            <block type="math_arithmetic" id="SF4zMNZRd/H,E0MbSpL)">
                              <field name="OP">ADD</field>
                              <value name="A">
                                <shadow type="math_number" id="k34:6xlfaOTs#H4Egow)">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="get_value" id="0*I.[p@!RU-;D!Rh/aLr">
                                  <field name="ATTR">val</field>
                                  <field name="OID">mqtt.0.lift.Sensoren.Feuchte</field>
                                </block>
                              </value>
                              <value name="B">
                                <shadow type="math_number" id="][=AINKNg[LRBk1_?MKa">
                                  <field name="NUM">8.313659</field>
                                </shadow>
                              </value>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
            </block>
            <block type="math_trig" id="+V-kj?2x6$`RZ)f%vW?b" x="-237" y="138">
              <field name="OP">ATAN</field>
              <value name="NUM">
                <shadow type="math_number" id="%n@iOcl%Fj,;fghz%OJX">
                  <field name="NUM">45</field>
                </shadow>
                <block type="math_arithmetic" id="5`SS%x)p_[/{f$77@egm">
                  <field name="OP">ADD</field>
                  <value name="A">
                    <shadow type="math_number" id="_/b$!?#yiwjHynAtuT^W">
                      <field name="NUM">0.151977</field>
                    </shadow>
                    <block type="get_value" id="R_M}a#2AWv/T-p}8]VB4">
                      <field name="ATTR">val</field>
                      <field name="OID">mqtt.0.lift.Sensoren.Temp</field>
                    </block>
                  </value>
                  <value name="B">
                    <shadow type="math_number" id="Kij3;EDR[Jp!cPk6@Jmn">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="get_value" id="u7PANch2jjl=cS/l9Sdp">
                      <field name="ATTR">val</field>
                      <field name="OID">mqtt.0.lift.Sensoren.Feuchte</field>
                    </block>
                  </value>
                </block>
              </value>
            </block>
            <block type="math_trig" id="he{#.mO.ew_Jj|@NrNUQ" x="-237" y="188">
              <field name="OP">ATAN</field>
              <value name="NUM">
                <shadow type="math_number" id="%n@iOcl%Fj,;fghz%OJX">
                  <field name="NUM">45</field>
                </shadow>
                <block type="math_arithmetic" id="|rt6:r=iER5-yn==dYAN">
                  <field name="OP">MINUS</field>
                  <value name="A">
                    <shadow type="math_number" id="_/b$!?#yiwjHynAtuT^W">
                      <field name="NUM">0.151977</field>
                    </shadow>
                    <block type="get_value" id="I_YM~GtkSk.ZcItv:lcK">
                      <field name="ATTR">val</field>
                      <field name="OID">mqtt.0.lift.Sensoren.Feuchte</field>
                    </block>
                  </value>
                  <value name="B">
                    <shadow type="math_number" id="Kij3;EDR[Jp!cPk6@Jmn">
                      <field name="NUM">1.676331</field>
                    </shadow>
                  </value>
                </block>
              </value>
            </block>
            <block type="math_arithmetic" id="JX4]@]aB9c(EwR{oon$3" x="-237" y="238">
              <field name="OP">MULTIPLY</field>
              <value name="A">
                <shadow type="math_number" id="#vkPUG*123UyF$x)O8?y">
                  <field name="NUM">0.00391838</field>
                </shadow>
              </value>
              <value name="B">
                <shadow type="math_number" id="naGvWi=:s9Msgi2RKbp-">
                  <field name="NUM">1</field>
                </shadow>
                <block type="math_arithmetic" id="yb0f##.w@mubL`v}d8*V">
                  <field name="OP">MULTIPLY</field>
                  <value name="A">
                    <shadow type="math_number" id="?IE,Lb;Edgdb)uP;G]jW">
                      <field name="NUM">0.00391838</field>
                    </shadow>
                    <block type="math_single" id="BzDMFQe,?5qcF7G0JMWi">
                      <field name="OP">ROOT</field>
                      <value name="NUM">
                        <shadow type="math_number" id="5;Ccguw-S`/%7?(d]gO+">
                          <field name="NUM">9</field>
                        </shadow>
                        <block type="get_value" id="-Ok]}n`!4ZLTdA7OkvmN">
                          <field name="ATTR">val</field>
                          <field name="OID">mqtt.0.lift.Sensoren.Feuchte</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <value name="B">
                    <shadow type="math_number" id="p4=SM5($[5bmYk|{Q@`j">
                      <field name="NUM">1</field>
                    </shadow>
                    <block type="math_arithmetic" id="tg`{E}hi.E*69HEZQV=s">
                      <field name="OP">MULTIPLY</field>
                      <value name="A">
                        <shadow type="math_number" id="14fYOvfMrfVO:38j^HWB">
                          <field name="NUM">1</field>
                        </shadow>
                        <block type="math_single" id="4|UFEN`*Y!7~0Hn^PnV8">
                          <field name="OP">ROOT</field>
                          <value name="NUM">
                            <shadow type="math_number" id="5;Ccguw-S`/%7?(d]gO+">
                              <field name="NUM">9</field>
                            </shadow>
                            <block type="get_value" id=",]75lXE2fU2Z^$ajp%2O">
                              <field name="ATTR">val</field>
                              <field name="OID">mqtt.0.lift.Sensoren.Feuchte</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <value name="B">
                        <shadow type="math_number" id="*TL0AUxc%{f4`@ma9Xd{">
                          <field name="NUM">1</field>
                        </shadow>
                        <block type="math_single" id="}QdhKQ++%5x:zmZr`/Og">
                          <field name="OP">ROOT</field>
                          <value name="NUM">
                            <shadow type="math_number" id="5;Ccguw-S`/%7?(d]gO+">
                              <field name="NUM">9</field>
                            </shadow>
                            <block type="get_value" id="l0ER*|O4)jsuX#12kC?~">
                              <field name="ATTR">val</field>
                              <field name="OID">mqtt.0.lift.Sensoren.Feuchte</field>
                            </block>
                          </value>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
            </block>
            <block type="math_arithmetic" id="|!0iKQdnBo|9J-3PG{-~" x="-238" y="313">
              <field name="OP">MINUS</field>
              <value name="A">
                <shadow type="math_number" id="d$[:Jl#qUw05@:Rg@0*^">
                  <field name="NUM">1</field>
                </shadow>
                <block type="math_trig" id="pRz(RdH#(~gNpZ%QNWxB">
                  <field name="OP">ATAN</field>
                  <value name="NUM">
                    <shadow type="math_number" id="%n@iOcl%Fj,;fghz%OJX">
                      <field name="NUM">45</field>
                    </shadow>
                    <block type="math_arithmetic" id="30Gu!y_WBDf#5k}tjL7l">
                      <field name="OP">MULTIPLY</field>
                      <value name="A">
                        <shadow type="math_number" id="_/b$!?#yiwjHynAtuT^W">
                          <field name="NUM">0.23101</field>
                        </shadow>
                      </value>
                      <value name="B">
                        <shadow type="math_number" id="F`tT#{Vi7*)+f4Vj7L?/">
                          <field name="NUM">1.676331</field>
                        </shadow>
                        <block type="get_value" id="GLH{ph7zme7Ak4!.BT`_">
                          <field name="ATTR">val</field>
                          <field name="OID">mqtt.0.lift.Sensoren.Feuchte</field>
                        </block>
                      </value>
                    </block>
                  </value>
                </block>
              </value>
              <value name="B">
                <shadow type="math_number" id="|+LJh(sF,bPu-=J]XiBi">
                  <field name="NUM">4</field>
                </shadow>
              </value>
            </block>
          </xml>
          
          amg_666 1 Reply Last reply Reply Quote 0
          • Felix Merk
            Felix Merk @paul53 last edited by

            @paul53
            Hallo Paul, es geht ums Bogenmaß

            Liebe Grüße

            paul53 1 Reply Last reply Reply Quote 0
            • amg_666
              amg_666 @Felix Merk last edited by

              @Felix-Merk said in Hilfe bei Blockly Berechnung (Formel):

              Ich habe mir nicht anders zu helfen gewusst als: Wurzel Wert * Wurzel Wert * Wurzel Wert....

              irgendwas hoch 2/3 ist dasselbe wie Wurzel aus (irgendwas hoch 3) und hoch 3 scheint in blockly nicht zu gehen, ich hab nirgendwo "hoch x" gefunden, insofern sieht deine Lösung nicht schön aus, scheint aber so "alternativlos" zu sein 🙂

              Felix Merk 1 Reply Last reply Reply Quote 0
              • Felix Merk
                Felix Merk @amg_666 last edited by

                @amg_666

                ...habe ich befürchtet 🙂
                Könntest du mal überprüfen ob die einzelnen Terme so noch korrekt sind?
                Wegen Operatorrangfolge usw.?

                Ich seh den Wald vor Bäumen nicht mehr 🙂

                Liebe Grüße

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

                  @Felix-Merk sagte.

                  es geht ums Bogenmaß

                  Die Blockly-Funktionen verwenden bzw. liefern Grad, müssen also umgerechnet werden (* Math.PI / 180).

                  @Felix-Merk sagte in Hilfe bei Blockly Berechnung (Formel):

                  Wert hoch 1,5?

                  Blockly_temp.JPG

                  Weshalb versuchst Du Blockly zu "vergewaltigen", wenn es in Javascript ganz einfach ist?

                  return t * Math.atan(0.151977 * Math.sqrt(rh + 8.313659)) + Math.atan(t + rh) - Math.atan(rh - 1.676331) + 0.00391838 * Math.pow(rh, 1.5) * Math.atan(0.023101 * rh) - 4.686035;
                  

                  <xml xmlns="https://developers.google.com/blockly/xml">
                   <variables>
                     <variable id="~aFm5k{$2?wI$XW=YnTP">t</variable>
                     <variable id="^n0#nhw9rfhv^H]ms-gl">rh</variable>
                     <variable id=";6~*#rXzT^;lw1zInB=Y">Tw</variable>
                   </variables>
                   <block type="procedures_defcustomreturn" id="$O*c54lA_?exlLWNe?aR" x="-138" y="12">
                     <mutation statements="false">
                       <arg name="t" varid="~aFm5k{$2?wI$XW=YnTP"></arg>
                       <arg name="rh" varid="^n0#nhw9rfhv^H]ms-gl"></arg>
                     </mutation>
                     <field name="NAME">Feuchtkugeltemperatur</field>
                     <field name="SCRIPT">cmV0dXJuIHQgKiBNYXRoLmF0YW4oMC4xNTE5NzcgKiBNYXRoLnNxcnQocmggKyA4LjMxMzY1OSkpICsgTWF0aC5hdGFuKHQgKyByaCkgLSBNYXRoLmF0YW4ocmggLSAxLjY3NjMzMSkgKyAwLjAwMzkxODM4ICogTWF0aC5wb3cocmgsIDEuNSkgKiBNYXRoLmF0YW4oMC4wMjMxMDEgKiByaCkgLSA0LjY4NjAzNTs=</field>
                     <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                   </block>
                   <block type="variables_set" id="@IDbA3X9DV/*,!z6KiJX" x="-313" y="67">
                     <field name="VAR" id=";6~*#rXzT^;lw1zInB=Y">Tw</field>
                     <value name="VALUE">
                       <block type="procedures_callcustomreturn" id="3#.?]O1qD*hI_2Ua;)*V" inline="false">
                         <mutation name="Feuchtkugeltemperatur">
                           <arg name="t"></arg>
                           <arg name="rh"></arg>
                         </mutation>
                         <value name="ARG0">
                           <block type="get_value" id="]jaM-ghvd;yd3By4AD?}">
                             <field name="ATTR">val</field>
                             <field name="OID">ID auswählen</field>
                           </block>
                         </value>
                         <value name="ARG1">
                           <block type="get_value" id="E)mYGrtq4F$*H.1ylE)^">
                             <field name="ATTR">val</field>
                             <field name="OID">ID auswählen</field>
                           </block>
                         </value>
                       </block>
                     </value>
                     <next>
                       <block type="debug" id="a[rx?_XPBCkl_cmFBrsU">
                         <field name="Severity">log</field>
                         <value name="TEXT">
                           <shadow type="text" id="0q7.k0x.q!T9G/Cwft:V">
                             <field name="TEXT">test</field>
                           </shadow>
                           <block type="math_rndfixed" id="4O2lFcRDfzM=wma1L9CG">
                             <field name="n">1</field>
                             <value name="x">
                               <shadow type="math_number" id="aL81:vw~8|*`EtpvY1Td">
                                 <field name="NUM">3.1234</field>
                               </shadow>
                               <block type="variables_get" id="}Rd-qh}*Y*,Ry5Grz+Mq">
                                 <field name="VAR" id=";6~*#rXzT^;lw1zInB=Y">Tw</field>
                               </block>
                             </value>
                           </block>
                         </value>
                       </block>
                     </next>
                   </block>
                  </xml>
                  

                  Blockly_temp.JPG

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

                    @paul53
                    vielen Dank für deine Hilfe!

                    Ich bin absoluter Einsteiger auf dem Gebiet - mit JS kenn ich mich gar nicht aus!
                    Ziel wäre es die ermittelten Werte in ein erstellten Datenpunkt zu schreiben - kannst du mir da helfen?

                    Gruß
                    Felix

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

                      @Felix-Merk sagte:

                      ermittelten Werte in ein erstellten Datenpunkt zu schreiben

                      Blockly_temp.JPG

                      <xml xmlns="https://developers.google.com/blockly/xml">
                       <variables>
                         <variable id="~aFm5k{$2?wI$XW=YnTP">t</variable>
                         <variable id="^n0#nhw9rfhv^H]ms-gl">rh</variable>
                         <variable id=";6~*#rXzT^;lw1zInB=Y">Tw</variable>
                       </variables>
                       <block type="on_ext" id="WYu.?[F0%#ZB5B.vSWn8" x="-312" y="12">
                         <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation>
                         <field name="CONDITION">ne</field>
                         <field name="ACK_CONDITION"></field>
                         <value name="OID0">
                           <shadow type="field_oid" id="$v5+W({B;8:Z=T|*TFsu">
                             <field name="oid">default</field>
                           </shadow>
                         </value>
                         <value name="OID1">
                           <shadow type="field_oid" id="9AG`pOEu/3N[Z)}zAh{m">
                             <field name="oid">default</field>
                           </shadow>
                         </value>
                         <statement name="STATEMENT">
                           <block type="variables_set" id="@IDbA3X9DV/*,!z6KiJX">
                             <field name="VAR" id=";6~*#rXzT^;lw1zInB=Y">Tw</field>
                             <value name="VALUE">
                               <block type="procedures_callcustomreturn" id="3#.?]O1qD*hI_2Ua;)*V" inline="false">
                                 <mutation name="Feuchtkugeltemperatur">
                                   <arg name="t"></arg>
                                   <arg name="rh"></arg>
                                 </mutation>
                                 <value name="ARG0">
                                   <block type="get_value" id="]jaM-ghvd;yd3By4AD?}">
                                     <field name="ATTR">val</field>
                                     <field name="OID">ID auswählen</field>
                                   </block>
                                 </value>
                                 <value name="ARG1">
                                   <block type="get_value" id="E)mYGrtq4F$*H.1ylE)^">
                                     <field name="ATTR">val</field>
                                     <field name="OID">ID auswählen</field>
                                   </block>
                                 </value>
                               </block>
                             </value>
                             <next>
                               <block type="update" id="JkGBb[FL.NogHmAA$6)d">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">Object ID</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="math_rndfixed" id="4O2lFcRDfzM=wma1L9CG">
                                     <field name="n">1</field>
                                     <value name="x">
                                       <shadow type="math_number" id="aL81:vw~8|*`EtpvY1Td">
                                         <field name="NUM">3.1234</field>
                                       </shadow>
                                       <block type="variables_get" id="}Rd-qh}*Y*,Ry5Grz+Mq">
                                         <field name="VAR" id=";6~*#rXzT^;lw1zInB=Y">Tw</field>
                                       </block>
                                     </value>
                                   </block>
                                 </value>
                               </block>
                             </next>
                           </block>
                         </statement>
                       </block>
                       <block type="procedures_defcustomreturn" id="$O*c54lA_?exlLWNe?aR" x="-112" y="88">
                         <mutation statements="false">
                           <arg name="t" varid="~aFm5k{$2?wI$XW=YnTP"></arg>
                           <arg name="rh" varid="^n0#nhw9rfhv^H]ms-gl"></arg>
                         </mutation>
                         <field name="NAME">Feuchtkugeltemperatur</field>
                         <field name="SCRIPT">cmV0dXJuIHQgKiBNYXRoLmF0YW4oMC4xNTE5NzcgKiBNYXRoLnNxcnQocmggKyA4LjMxMzY1OSkpICsgTWF0aC5hdGFuKHQgKyByaCkgLSBNYXRoLmF0YW4ocmggLSAxLjY3NjMzMSkgKyAwLjAwMzkxODM4ICogTWF0aC5wb3cocmgsIDEuNSkgKiBNYXRoLmF0YW4oMC4wMjMxMDEgKiByaCkgLSA0LjY4NjAzNTs=</field>
                         <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                       </block>
                      </xml>
                      

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

                        @paul53

                        VIELEN HERZLICHEN DANK! Ich werde das heute Abend gleich testen

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

                          @paul53
                          kannst du mir das bitte noch als Blockly exportieren?
                          Ich finde das Objekt "Falls Objekt" mit zwei "Objekt IDs" nicht.... 😞

                          1 Reply Last reply Reply Quote 0
                          • L
                            Linedancer last edited by

                            Einfach auf das Zahnrad im Falls Baustein klicken.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            402
                            Online

                            31.8k
                            Users

                            80.0k
                            Topics

                            1.3m
                            Posts

                            4
                            13
                            1930
                            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