Navigation

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

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Berechnung Durchfluss

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

      Hallo zusammen,

      ich möchte eigentlich nur eine einfache addition darstellen, irgendwie stehe ich im wahrsten sinne des wortes auf dem schlauch...

      Ich bekomme den Wert RightFlow und LeftFlow, welche sich aber bei jedem Durchfluss überschreiben. Nun möchte ich einfach die Werte addieren, so dass ich mir via VIS die Gesamtmenge anzeigen lassen kann.

      Folgendes habe ich aktuell:

      3477e6ce-e35d-4357-9e94-e7ceda522bc5-image.png

      leider addiert er mir die Werte nicht.

      Was mache ich falsch? 😞

      Gruß und Danke

      <xml xmlns="https://developers.google.com/blockly/xml">
        <variables>
          <variable id="l.p1`Q}Y(LI)0?I@s36=">durchfluss_last_links</variable>
          <variable id="@yzjK}Fk:%^Y3YjeZ_Hn">durchfluss_last_rechts</variable>
        </variables>
        <block type="on_ext" id="UxX?@q/7L,ue:erq/x,Y" x="-937" y="-812">
          <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <value name="OID0">
            <shadow type="field_oid" id="P3oXHP!RX6~%y?WK.@m1">
              <field name="oid">tuya.0.bf2470c6a826549a698cfd.152</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="update" id="?8Jp|[9GY9xuxbuilZG7">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">javascript.0.MeineObjekte.Bewaesserung.ventil_rechts_zwischensumme</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="get_value" id=";ZR?qxzKQ;c_$~+C}dkY">
                  <field name="ATTR">val</field>
                  <field name="OID">tuya.0.bf2470c6a826549a698cfd.152</field>
                </block>
              </value>
              <next>
                <block type="variables_set" id="|ju*kG]oct5qEI%oB@D+">
                  <field name="VAR" id="@yzjK}Fk:%^Y3YjeZ_Hn">durchfluss_last_rechts</field>
                  <value name="VALUE">
                    <block type="math_arithmetic" id="V:GI2mqOPI`U_I#U9*A]" inline="false">
                      <field name="OP">ADD</field>
                      <value name="A">
                        <shadow type="math_number" id="9SV)aGl06%r.5dMgq-;_">
                          <field name="NUM">1</field>
                        </shadow>
                        <block type="get_value" id=";f(ZN^C5O%kH16-!Upwg">
                          <field name="ATTR">val</field>
                          <field name="OID">javascript.0.MeineObjekte.Bewaesserung.ventil_rechts_zwischensumme</field>
                        </block>
                      </value>
                      <value name="B">
                        <shadow type="math_number" id="[wmT(-LO}O)AH?5Lm)*`">
                          <field name="NUM">1</field>
                        </shadow>
                        <block type="get_value" id="u_;oz#Zodu%Fr@0MehFC">
                          <field name="ATTR">val</field>
                          <field name="OID">javascript.0.MeineObjekte.Bewaesserung.ventil_rechts_last</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="update" id="GvR)9~6hNtIB~Jx5Y8(e">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">javascript.0.MeineObjekte.Bewaesserung.ventil_rechts_gesamt</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="variables_get" id="G$H{~AuIgUSNHXb4wrUU">
                          <field name="VAR" id="@yzjK}Fk:%^Y3YjeZ_Hn">durchfluss_last_rechts</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
        <block type="on_ext" id="O3{mgK=f|tQfk@xiyTRn" x="-937" y="-537">
          <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation>
          <field name="CONDITION">ne</field>
          <field name="ACK_CONDITION"></field>
          <value name="OID0">
            <shadow type="field_oid" id="A*xhEuF`#1j$Sr*+GQ7-">
              <field name="oid">tuya.0.bf2470c6a826549a698cfd.103</field>
            </shadow>
          </value>
          <statement name="STATEMENT">
            <block type="update" id="B@X1rZ6.kRoYo]Tih{+T">
              <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
              <field name="OID">javascript.0.MeineObjekte.Bewaesserung.ventil_links_zwischensumme</field>
              <field name="WITH_DELAY">FALSE</field>
              <value name="VALUE">
                <block type="get_value" id="is8nek}UEr?j|C0faQQ|">
                  <field name="ATTR">val</field>
                  <field name="OID">tuya.0.bf2470c6a826549a698cfd.103</field>
                </block>
              </value>
              <next>
                <block type="variables_set" id="@T/ynW=WK6-g7CCG~P]x">
                  <field name="VAR" id="l.p1`Q}Y(LI)0?I@s36=">durchfluss_last_links</field>
                  <value name="VALUE">
                    <block type="math_arithmetic" id="vL%xceDQECR@ZUxuulKw" inline="false">
                      <field name="OP">ADD</field>
                      <value name="A">
                        <shadow type="math_number">
                          <field name="NUM">1</field>
                        </shadow>
                        <block type="get_value" id="V;Uxb~j)?dL^u%Vuc}t1">
                          <field name="ATTR">val</field>
                          <field name="OID">javascript.0.MeineObjekte.Bewaesserung.ventil_links_zwischensumme</field>
                        </block>
                      </value>
                      <value name="B">
                        <shadow type="math_number">
                          <field name="NUM">1</field>
                        </shadow>
                        <block type="get_value" id="k^B--XVBZXV]su5sIQrI">
                          <field name="ATTR">val</field>
                          <field name="OID">javascript.0.MeineObjekte.Bewaesserung.ventil_links_last</field>
                        </block>
                      </value>
                    </block>
                  </value>
                  <next>
                    <block type="update" id="6+=-qx6^fzneKiLAmu]_">
                      <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                      <field name="OID">javascript.0.MeineObjekte.Bewaesserung.ventil_links_gesamt</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="variables_get" id=",:POlZKY]!b/h=^,lSL9">
                          <field name="VAR" id="l.p1`Q}Y(LI)0?I@s36=">durchfluss_last_links</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </next>
            </block>
          </statement>
        </block>
      </xml>
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @Sebastian 0 last edited by paul53

        @sebastian-0 sagte: die Gesamtmenge anzeigen lassen kann.

        Du möchtest aus dem Durchfluss die Menge bestimmen? Dann muss über die Zeit integriert werden.
        In welcher Einheit liegt der Durchfluss vor und in welcher Einheit (l / m³) soll die Menge errechnet werden?

        Prinzip:

        Blockly_temp.JPG

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

          @paul53

          Ich möchte eigentlich nur den Wert den ich erhalte:

          3ef6457b-03bc-4335-b901-e129676a4b77-image.png

          (Letzte Beregnung = 5Liter) aufaddieren.
          Bei jeder Bewässerung setzt sich der Wert RightFlow zurück. Ich möchte gerne die Gesamtmenge anzeigen lassen.

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

            @sebastian-0 sagte: Letzte Beregnung = 5Liter

            Das ist kein Durchfluss, sondern die Menge bei einem Bewässerungsdurchlauf. Dann verwende einen Trigger "ist größer als letztes":

            Blockly_temp.JPG

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

              @paul53 ist das Objekt "Verbrauch" in dem Fall mein Wert RightFlow den mir das Gerät ausgibt oder ein eigener Datenpunkt?

              Falls ich das nicht falsch verstehe, würde er mir ja ansonsten meinen Wert RightFlow überschreiben oder nicht?

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

                @sebastian-0
                "Verbrauch" entspricht wohl "ventil_rechts_gesamt" in deinem Blockly-Bild.

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

                  @paul53 ok, dann hatte ich es richtig verstanden.

                  7ecd178e-e5fe-4c11-a7a8-17bf5fb3b550-image.png

                  so sieht es jetzt aus. ich teste gleich mal.

                  nochmal zum Verständnis; warum hast du oben "-" bei "Wert" - "vorheriger Wert" verwendet?

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

                    @sebastian-0 sagte: warum hast du oben "-" bei "Wert" - "vorheriger Wert" verwendet?

                    Bedeutet: Erhöhe Verbrauch um Differenz zum letzten Wert.

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

                      @paul53

                      ich habe es abgeändert auf: "wurde geändert" da er ja sonst erst getriggert hat, wenn der wert höher war als der letzte.

                      c58ea887-5609-455e-8ce5-3558a436d3a2-image.png

                      Problem ist, er addiert diese nicht auf.

                      Ich habe jetzt 4 mal manuell zum testen laufen lassen:

                      Durchgang 1: 5L
                      Durchgang 2: 3L
                      Durchgang 3: 2L
                      Durchgang 4: 4L

                      Datenpunkt stehet auf 7L

                      7bf7b447-8b6a-4dde-9c6c-ec90fd1a80c5-image.png

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

                        @sebastian-0 sagte: erst getriggert hat, wenn der wert höher war als der letzte.

                        Der Wert von "Flow" wird nicht während der Bewässerung kontinuierlich von 0 beginnend erhöht, sondern erst am Ende eingetragen? Dann muss auf "wurde aktualisiert" getriggert werden (2 aufeinanderfolgende Werte können ja zufällig gleich sein):

                        Blockly_temp.JPG

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

                          @paul53 also irgendetwas stimmt mit dem Skript nicht.

                          Er addiert ständig irgendwelche Werte auf. Heute liefen max. 20Liter. Er zeigt aber 790Liter an.

                          f202caa3-07bf-4b64-84c5-2b9b72aabcff-image.png

                          9192c037-d3c9-4d56-86c2-753bac7222e3-image.png

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

                            @sebastian-0 sagte: Er addiert ständig irgendwelche Werte auf.

                            Wenn das Verhalten des DP "Flow" nicht klar ist, kann nicht beurteilt werden, woran es liegt. Historisiere mal den DP "Flow" (alles aufzeichnen), damit wir wissen, was er macht.

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

                            Support us

                            ioBroker
                            Community Adapters
                            Donate

                            865
                            Online

                            32.0k
                            Users

                            80.5k
                            Topics

                            1.3m
                            Posts

                            2
                            12
                            461
                            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