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.
    • 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

                          877
                          Online

                          31.8k
                          Users

                          79.9k
                          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