Navigation

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

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Mit mehreren Werten rechnen

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

      Hallo,

      ich bin gerade dabei von FHEM auf ioBroker umzuziehen. Ich habe eine Gastherme, welche ich über einen Homematic HM-LC-Sw1-Ba-PCB Aktor Ein bzw. Aus schalte. Um zu wissen wann die Heizung sich einschalten muss, habe ich das in FHEM bisher so gelöst indem ich die Ventilposition aller Heizkörper- Thermostate zusammengerechnet und dann durch die Anzahl der vorhandenen Thermostate dividiert habe. War dieser Wert dann größer oder kleiner als ein bestimmter Schwellenwert, dann hat wurde meine Gastherme entweder Ein- oder Ausgeschaltet.

      Diese Logik würde ich jetzt auch gerne in ioBroker mittels Blockly umsetzen. Könnt Ihr mir dazu sagen, wie ich es jetzt am Besten angehe, damit ich die Ventilpositionen meiner fünf Heizkörper- Thermostate zusammenrechnen und danach dividieren kann?

      Hier noch ein paar Screenshots aus FHEM. Vielleicht ist es damit auch leichter verständlich.

      Übersicht:
      Bildschirmfoto 2021-04-18 um 19.10.39.png
      Berechnung der Ventilposition:
      Bildschirmfoto 2021-04-18 um 19.15.16.png
      DOIF welches die Gastherme schaltet:
      Bildschirmfoto 2021-04-18 um 19.15.57.png

      Liebe Grüße
      Manuel

      E 1 Reply Last reply Reply Quote 0
      • E
        ente34 @mws last edited by

        @mws
        Du brauchst einen Trigger, der auf Änderungen deiner Ventile reagiert,
        (ich habe irgendwelche Datenpunkte von meinen Steckdosen eingesetzt)

        heizung.PNG

        <xml xmlns="https://developers.google.com/blockly/xml">
          <variables>
            <variable id="EgWDSM+ZI*yeEi}8OloP">schwelle</variable>
            <variable id="jxevN=!K6od-y2p*BWSE">liste</variable>
            <variable id="BHfhwca!@GS2RXXq`wHe">mittel</variable>
          </variables>
          <block type="variables_set" id="$3_+wrW`1~#oP*_t9r,$" x="-1012" y="-412">
            <field name="VAR" id="EgWDSM+ZI*yeEi}8OloP">schwelle</field>
            <value name="VALUE">
              <block type="math_number" id="=u*0(.ycvlW1xTaOa-i+">
                <field name="NUM">10</field>
              </block>
            </value>
            <next>
              <block type="on_ext" id="{T)8J!hVJIE|lz;kup$_">
                <mutation xmlns="http://www.w3.org/1999/xhtml" items="5"></mutation>
                <field name="CONDITION">ne</field>
                <field name="ACK_CONDITION"></field>
                <value name="OID0">
                  <shadow type="field_oid" id="H:.M9X27cmJsfVQl1wO?">
                    <field name="oid">zigbee.0.842e14fffe186b9c.load_power</field>
                  </shadow>
                </value>
                <value name="OID1">
                  <shadow type="field_oid" id="~*D1NWvnZbv_5]Jth/)(">
                    <field name="oid">zigbee.0.842e14fffe186b9c.voltage</field>
                  </shadow>
                </value>
                <value name="OID2">
                  <shadow type="field_oid" id="n*Dr~=GlFN:$+lOqr-_C">
                    <field name="oid">zigbee.0.842e14fffe186b9c.state</field>
                  </shadow>
                </value>
                <value name="OID3">
                  <shadow type="field_oid" id="k|UCuN^|TCuw)26ZJS#u">
                    <field name="oid">zigbee.0.842e14fffe186b9c.energy</field>
                  </shadow>
                </value>
                <value name="OID4">
                  <shadow type="field_oid" id="mp]I!TmQ*UpZZz13u_^*">
                    <field name="oid">default</field>
                  </shadow>
                </value>
                <statement name="STATEMENT">
                  <block type="variables_set" id="@|Md8]yOj~;nXkT@hI8t">
                    <field name="VAR" id="jxevN=!K6od-y2p*BWSE">liste</field>
                    <value name="VALUE">
                      <block type="lists_create_with" id="K?J6p|mM`y,Hv1E;;s`g">
                        <mutation items="5"></mutation>
                        <value name="ADD0">
                          <block type="get_value" id="V4z/~Cl=,.`9[:U/J@-F">
                            <field name="ATTR">val</field>
                            <field name="OID">zigbee.0.842e14fffe186b9c.load_power</field>
                          </block>
                        </value>
                        <value name="ADD1">
                          <block type="get_value" id="@f!-Un%;p^6.j7~_L|EO">
                            <field name="ATTR">val</field>
                            <field name="OID">zigbee.0.842e14fffe186b9c.load_power</field>
                          </block>
                        </value>
                        <value name="ADD2">
                          <block type="get_value" id="5|G|*{[$)==HY]`F]_(^">
                            <field name="ATTR">val</field>
                            <field name="OID">zigbee.0.842e14fffe186b9c.load_power</field>
                          </block>
                        </value>
                        <value name="ADD3">
                          <block type="get_value" id="80N@K+h{JY@/Hi9QUUHw">
                            <field name="ATTR">val</field>
                            <field name="OID">zigbee.0.842e14fffe186b9c.load_power</field>
                          </block>
                        </value>
                        <value name="ADD4">
                          <block type="get_value" id="1n5]73n41]=cNp?jSBLb">
                            <field name="ATTR">val</field>
                            <field name="OID">zigbee.0.842e14fffe186b9c.load_power</field>
                          </block>
                        </value>
                      </block>
                    </value>
                    <next>
                      <block type="variables_set" id="qkX7BfR3Ep(1m!e}/Kn0">
                        <field name="VAR" id="BHfhwca!@GS2RXXq`wHe">mittel</field>
                        <value name="VALUE">
                          <block type="math_arithmetic" id="#~Pa;*Vdm4{6f%g+bBm%">
                            <field name="OP">DIVIDE</field>
                            <value name="A">
                              <shadow type="math_number" id="m.^h)Qtr=VbCfp]7KW:W">
                                <field name="NUM">1</field>
                              </shadow>
                              <block type="math_on_list" id="49VY$6(+=!h=Z+_~+Rsc">
                                <mutation op="SUM"></mutation>
                                <field name="OP">SUM</field>
                                <value name="LIST">
                                  <block type="variables_get" id="m}kjJJSx+.YHA#K#~7!d">
                                    <field name="VAR" id="jxevN=!K6od-y2p*BWSE">liste</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                            <value name="B">
                              <shadow type="math_number" id="hvnjG]UU#`#h4T!/.k1,">
                                <field name="NUM">1</field>
                              </shadow>
                              <block type="lists_length" id="3%1!cB7aEwFS((O;T2z:">
                                <value name="VALUE">
                                  <block type="variables_get" id="i;V@Jo@Yzp{TvWmwMQ|W">
                                    <field name="VAR" id="jxevN=!K6od-y2p*BWSE">liste</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </value>
                        <next>
                          <block type="controls_if" id="=[c7k_$?s2+ijPdmdJb0">
                            <value name="IF0">
                              <block type="logic_compare" id="o_]qCH7jxMAizlLcEY!n">
                                <field name="OP">GT</field>
                                <value name="A">
                                  <block type="variables_get" id="B~d%{[075E=%oJ*L#/v@">
                                    <field name="VAR" id="BHfhwca!@GS2RXXq`wHe">mittel</field>
                                  </block>
                                </value>
                                <value name="B">
                                  <block type="variables_get" id="^zn)fp~b6P]2lHU7(91,">
                                    <field name="VAR" id="EgWDSM+ZI*yeEi}8OloP">schwelle</field>
                                  </block>
                                </value>
                              </block>
                            </value>
                          </block>
                        </next>
                      </block>
                    </next>
                  </block>
                </statement>
              </block>
            </next>
          </block>
        </xml>
        
        1 Reply Last reply Reply Quote 0
        • First post
          Last post

        Support us

        ioBroker
        Community Adapters
        Donate

        570
        Online

        32.0k
        Users

        80.5k
        Topics

        1.3m
        Posts

        2
        2
        196
        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