Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Hardware
    4. Wasserzähler - Selfmade

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Wasserzähler - Selfmade

    This topic has been deleted. Only users with topic management privileges can see it.
    • J
      jomjol @Rababersaft last edited by

      @Rababersaft Adafruit_Neopixel ist eine Bibliothek, die ich für eine Version mit getrennter Beleuchtung benötige. Ich flashe meinen ESP32 mit der Arduino Umgebung und dann kannst du das über die Bibliothekverwaltung installieren:

      c49bca06-e581-4cfb-a9d1-7e3d7ec12989-grafik.png

      Theoretisch kann man den Code auch streichen, aber dann ist es mit meiner alten Hardware nicht kompatibel (ESP3286 mit ArduCAM) - aktuell fehlt mir auch die Zeit dazu

      Rababersaft 1 Reply Last reply Reply Quote 1
      • Rababersaft
        Rababersaft @jomjol last edited by

        @jomjol Nabend 😉
        Ja, so flashe ich auch. Er moniert ja den *light Befehl bei mir. Evtl sollte ich auf deine Version von neopixel downgreaden. Das wäre nen Versuch mal wert 🙂

        Ich informiere weiter ...

        1 Reply Last reply Reply Quote 0
        • Knallochse
          Knallochse @mcchickents last edited by Knallochse

          @mcchickents sagte in Wasserzähler - Selfmade:

          @Mikewolf

          kommt heute Abend

          So hier mein Programm.
          Programm mcchickents 191017.txt

          Du brauchst zwei DB Steine meine beiden heißen.

          3fd358f9-48e3-48cf-ba27-aaacff87ab66-image.png

          Und dann habe ich SV auf meiner CCU gefühlt hier kannst du aber auch DB im Iobroker füllen.

          Gruß Julian

          Wie ich schon angemerkt hatte, werden bei mir die "Digitalen" Zahlem (m³) nicht immer richtig erkannt. Das führte bei mir zu Verbrauchswerten, die nicht besonders aussagekräftig waren.

          Dagegen habe ich beobachtet, das die Erkennung der Zeiger (analog) sehr zuverlässig funktioniert.

          Ich habe mir erlaubt, dass Script von @mcchickents so umzubauen, dass nur noch diese Analogen Werte verwendet werden. die Digitalen (m³) werden nur noch im Script hochgezählt.

          Ausgangspunkt sind die Parser Werte mit den Einstellungen von @mcchickents
          1569000801939-63136003-5735-4988-a0ff-26b8804185bf-image-resized.png
          mit Intervall von 300000 (5min)

          Ich habe des Script so umgebaut, das mit Anfangszählerständen gearbeitet wird (Tag; Woche; Monat; Jahr) Die dazugehörigen Objekte müssen (wo immer Ihr sie hin haben wollt) angelegt werden.

          WICHTIG: Die Plausibilitätsprüfung muss ausgeschaltet sein, so das immer der gerade erkannte Wert im Parser mitgegeben wird.

          Bei mir funktioniert das seit 1er Woche ohne Auffälligkeiten.

          Ich würde mich über Tester freuen. Auch Verbesserungsvorschläge sind sehr willkommen.
          Ich bin wahrlich kein Profi, was das Scripten betrifft.

          Hier das Blockly Script:

          
          <xml xmlns="http://www.w3.org/1999/xhtml">
            <variables>
              <variable type="" id="+{wu7EACDqh[jz.w|UJ_">Digital</variable>
              <variable type="" id="CrQs0Fj4!jTiB_=7Z{H#">Analog alt</variable>
              <variable type="undefined" id="timeout2">timeout2</variable>
              <variable type="undefined" id="timeout">timeout</variable>
              <variable type="" id="Y%2waVBVJfgC:UsZNg9^">Analog</variable>
              <variable type="" id="jD*[#Zlic1jmyurL%.%b">Wasser</variable>
              <variable type="" id="S~g:}fW6Tm:Aw?GxUkaZ">Wasser gerechnet</variable>
              <variable type="undefined" id="timeout3">timeout3</variable>
            </variables>
            <block type="variables_set" id="GE[E%kt%s0mH*y[T,]`|" x="-1813" y="-637">
              <field name="VAR" id="+{wu7EACDqh[jz.w|UJ_" variabletype="">Digital</field>
              <value name="VALUE">
                <block type="get_value" id="f#L%AXrk=Ex$lR)!ag{6">
                  <field name="ATTR">val</field>
                  <field name="OID">javascript.0.Wasserverbrauch1.Digital</field>
                </block>
              </value>
            </block>
            <block type="on_ext" id="hW,coeg6nL[_/oRIW8`_" x="-1288" y="-612">
              <mutation items="1"></mutation>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <value name="OID0">
                <shadow type="field_oid" id="#1+|n}n82E%YcW~~(OAJ">
                  <field name="oid">javascript.0.Wasserverbrauch1.Anfangszaehlerstand</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="variables_set" id="[3s08X/c2]b+g09k=MS2">
                  <field name="VAR" id="+{wu7EACDqh[jz.w|UJ_" variabletype="">Digital</field>
                  <value name="VALUE">
                    <block type="get_value" id="~ZWWb=S%vhPDv}PO8g-~">
                      <field name="ATTR">val</field>
                      <field name="OID">javascript.0.Wasserverbrauch1.Anfangszaehlerstand</field>
                    </block>
                  </value>
                </block>
              </statement>
            </block>
            <block type="comment" id="{)~[qYJwM%HmTqZC[Dme" x="-1787" y="-537">
              <field name="COMMENT">Werte von Url Ausgabe aufbereiten und als Zahl in neuen DB</field>
              <next>
                <block type="on_ext" id="O@t;)N+2$SFNG$?Gf{h2">
                  <mutation items="1"></mutation>
                  <field name="CONDITION">any</field>
                  <field name="ACK_CONDITION"></field>
                  <value name="OID0">
                    <shadow type="field_oid" id="9K|x1o#+%6GQb*;p%3O#">
                      <field name="oid">parser.0.Wasserzähler</field>
                    </shadow>
                  </value>
                  <statement name="STATEMENT">
                    <block type="timeouts_settimeout" id="W]bzQri^_8bvqpKQOrEV">
                      <field name="NAME">timeout</field>
                      <field name="DELAY">200</field>
                      <field name="UNIT">ms</field>
                      <statement name="STATEMENT">
                        <block type="variables_set" id="5w0B^2Jki=M**PAtqc+u">
                          <field name="VAR" id="jD*[#Zlic1jmyurL%.%b" variabletype="">Wasser</field>
                          <value name="VALUE">
                            <block type="get_value" id=";?U(`UWCL4fsnK8#0#*[">
                              <field name="ATTR">val</field>
                              <field name="OID">parser.0.Wasserzähler</field>
                            </block>
                          </value>
                          <next>
                            <block type="variables_set" id="ixFd@J8)L1oE}OCVbtYq">
                              <field name="VAR" id="Y%2waVBVJfgC:UsZNg9^" variabletype="">Analog</field>
                              <value name="VALUE">
                                <block type="text_join" id="/fqyB}E;PHmjBsJJ`0Fh">
                                  <mutation items="6"></mutation>
                                  <value name="ADD0">
                                    <block type="math_number" id="SMJBX;~T(pjV^d0~+S)y">
                                      <field name="NUM">0</field>
                                    </block>
                                  </value>
                                  <value name="ADD1">
                                    <block type="text" id="u[@%#8#fi4C^yX.r%d!I">
                                      <field name="TEXT">.</field>
                                    </block>
                                  </value>
                                  <value name="ADD2">
                                    <block type="text_charAt" id="kJ_eC,oa_KKeEhwykd:J">
                                      <mutation at="true"></mutation>
                                      <field name="WHERE">FROM_START</field>
                                      <value name="VALUE">
                                        <block type="variables_get" id="-y({kI6sfR,nQAjVkA]A">
                                          <field name="VAR" id="jD*[#Zlic1jmyurL%.%b" variabletype="">Wasser</field>
                                        </block>
                                      </value>
                                      <value name="AT">
                                        <block type="math_number" id="hr%jA*b+T]5*Ca|K9m+4">
                                          <field name="NUM">7</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="ADD3">
                                    <block type="text_charAt" id="5.{HXUkih?pbuhQ3mL)E">
                                      <mutation at="true"></mutation>
                                      <field name="WHERE">FROM_START</field>
                                      <value name="VALUE">
                                        <block type="variables_get" id="H=fwgeU*yM2BO1So/@rJ">
                                          <field name="VAR" id="jD*[#Zlic1jmyurL%.%b" variabletype="">Wasser</field>
                                        </block>
                                      </value>
                                      <value name="AT">
                                        <block type="math_number" id="Up65|^q^LW$4[4{Q2Kvh">
                                          <field name="NUM">8</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="ADD4">
                                    <block type="text_charAt" id="ds.0fi_$#ZlQ+?RhAo,4">
                                      <mutation at="true"></mutation>
                                      <field name="WHERE">FROM_START</field>
                                      <value name="VALUE">
                                        <block type="variables_get" id="O|qHH_xUhqy?KE+,cKX2">
                                          <field name="VAR" id="jD*[#Zlic1jmyurL%.%b" variabletype="">Wasser</field>
                                        </block>
                                      </value>
                                      <value name="AT">
                                        <block type="math_number" id="bLvs%(U/*rs$Ld9Al1[+">
                                          <field name="NUM">9</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="ADD5">
                                    <block type="text_charAt" id="6OR:#lbqI-PRhCHNec9^">
                                      <mutation at="true"></mutation>
                                      <field name="WHERE">FROM_START</field>
                                      <value name="VALUE">
                                        <block type="variables_get" id=":H4e}P$k[XW1ul.ATEA5">
                                          <field name="VAR" id="jD*[#Zlic1jmyurL%.%b" variabletype="">Wasser</field>
                                        </block>
                                      </value>
                                      <value name="AT">
                                        <block type="math_number" id="X4xw.sN^lzaqf}IPF.jh">
                                          <field name="NUM">10</field>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="timeouts_settimeout" id=".SMM.AW-`BYfdQ}ya?b1">
                                  <field name="NAME">timeout3</field>
                                  <field name="DELAY">200</field>
                                  <field name="UNIT">ms</field>
                                  <statement name="STATEMENT">
                                    <block type="controls_if" id="ju/a2i7Frg:jTfpH!r}c">
                                      <value name="IF0">
                                        <block type="logic_compare" id="iF^jZ2ra(+[,1@C9!+=|">
                                          <field name="OP">GT</field>
                                          <value name="A">
                                            <block type="math_arithmetic" id="_GG[w[-[]ELfHI1|/,TP">
                                              <field name="OP">MINUS</field>
                                              <value name="A">
                                                <shadow type="math_number" id="Olf6S3dwBydhTC59hi/:">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="convert_tonumber" id="BL,kMdDU#u3!rMwPJmR*">
                                                  <value name="VALUE">
                                                    <block type="variables_get" id="PhuKa|3GsTTN8QxR{%AZ">
                                                      <field name="VAR" id="CrQs0Fj4!jTiB_=7Z{H#" variabletype="">Analog alt</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <shadow type="math_number" id="u!#Qj:zrQsUXSN8{%.g1">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="convert_tonumber" id="OEPXck6@PFIlEp.OYnhd">
                                                  <value name="VALUE">
                                                    <block type="variables_get" id="7,s5XP+o{Z?X[7ll.+0Q">
                                                      <field name="VAR" id="Y%2waVBVJfgC:UsZNg9^" variabletype="">Analog</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <block type="math_number" id="%At]Iu`?WR5ZfT:VCL#z">
                                              <field name="NUM">0.5</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <statement name="DO0">
                                        <block type="math_change" id="DAIA1CzWMpcy853_!RS!">
                                          <field name="VAR" id="+{wu7EACDqh[jz.w|UJ_" variabletype="">Digital</field>
                                          <value name="DELTA">
                                            <shadow type="math_number" id="~^qVXIp-f$qYSGT|k(p*">
                                              <field name="NUM">1</field>
                                            </shadow>
                                          </value>
                                        </block>
                                      </statement>
                                      <next>
                                        <block type="control" id="9n0als[H])_JXK;wZ;Rj">
                                          <mutation delay_input="false"></mutation>
                                          <field name="OID">javascript.0.Wasserverbrauch1.Digital</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="convert_tonumber" id="(V-dzVo;qF_Ad-#3qQ{U">
                                              <value name="VALUE">
                                                <block type="variables_get" id="YRQ;vYYHy!{m@:dXStQf">
                                                  <field name="VAR" id="+{wu7EACDqh[jz.w|UJ_" variabletype="">Digital</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="control" id="y/fZ]IDy`tMrbrJLSaCC">
                                              <mutation delay_input="false"></mutation>
                                              <field name="OID">javascript.0.Wasserverbrauch1.Analog</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="convert_tonumber" id="duI29L)?T~xuD,TORa9@">
                                                  <value name="VALUE">
                                                    <block type="variables_get" id="+Y@Az*Mey}}NRlITw$Xi">
                                                      <field name="VAR" id="Y%2waVBVJfgC:UsZNg9^" variabletype="">Analog</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <next>
                                                <block type="control" id="K2vn9_SQgwL|)u!!gl1|">
                                                  <mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE">
                                                    <block type="math_arithmetic" id="MM+jsw4UfO(.Hx.u/s:`">
                                                      <field name="OP">ADD</field>
                                                      <value name="A">
                                                        <shadow type="math_number" id="7Oaw?3HKyclxaVy@qE~p">
                                                          <field name="NUM">1</field>
                                                        </shadow>
                                                        <block type="convert_tonumber" id="XJ=s_p6$TZ)-avlBa((;">
                                                          <value name="VALUE">
                                                            <block type="variables_get" id="W0w=_,X/ejFNyHT1XV{R">
                                                              <field name="VAR" id="+{wu7EACDqh[jz.w|UJ_" variabletype="">Digital</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <shadow type="math_number" id="|=f,]Pr,T6HC8laX|R;o">
                                                          <field name="NUM">1</field>
                                                        </shadow>
                                                        <block type="convert_tonumber" id="552=i|r`DG0,-Fa.z5km">
                                                          <value name="VALUE">
                                                            <block type="variables_get" id="9`[$K-.pLdS/93Sr7u]M">
                                                              <field name="VAR" id="Y%2waVBVJfgC:UsZNg9^" variabletype="">Analog</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
            <block type="on_ext" id="@zG4;]iYO[gk6PE9A8Bd" x="-1788" y="137">
              <mutation items="1"></mutation>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <value name="OID0">
                <shadow type="field_oid" id="bo2gx?dIMh?:HL#A@*J[">
                  <field name="oid">parser.0.Wasserzähler</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="variables_set" id="$^5i[4.V)UQ$0,R53n%|">
                  <field name="VAR" id="CrQs0Fj4!jTiB_=7Z{H#" variabletype="">Analog alt</field>
                  <value name="VALUE">
                    <block type="variables_get" id="auf4Vpl?.5xl,2EQDC}x">
                      <field name="VAR" id="Y%2waVBVJfgC:UsZNg9^" variabletype="">Analog</field>
                    </block>
                  </value>
                  <next>
                    <block type="control" id="6DzKEv?-~d]3U=;Btcop">
                      <mutation delay_input="false"></mutation>
                      <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_alt</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="get_value" id="o5`@Rv8Ul:#hrNuvl,2|">
                          <field name="ATTR">val</field>
                          <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                        </block>
                      </value>
                    </block>
                  </next>
                </block>
              </statement>
            </block>
            <block type="on_ext" id="g0!@tN:hJ5,@IC03]C(R" x="-1787" y="337">
              <mutation items="1"></mutation>
              <field name="CONDITION">ne</field>
              <field name="ACK_CONDITION"></field>
              <value name="OID0">
                <shadow type="field_oid" id="i*|8`Z*]C1Z-aKXfx4qF">
                  <field name="oid">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                </shadow>
              </value>
              <statement name="STATEMENT">
                <block type="timeouts_settimeout" id="9)silgejCBBBlJ^K5*h.">
                  <field name="NAME">timeout2</field>
                  <field name="DELAY">1000</field>
                  <field name="UNIT">ms</field>
                  <statement name="STATEMENT">
                    <block type="controls_if" id="$_^*U)oNg;J39mNWX7iv">
                      <value name="IF0">
                        <block type="logic_compare" id="R+]z+~$9PRX.!`-n2j$_">
                          <field name="OP">GT</field>
                          <value name="A">
                            <block type="get_value" id="1Q.u,.7hmJgpxgTS!yJJ">
                              <field name="ATTR">val</field>
                              <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="get_value" id="*^w0O6:fgj}}S|y_?89S">
                              <field name="ATTR">val</field>
                              <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_alt</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="variables_set" id="z)/Gd*s9,-W6[D752=D?">
                          <field name="VAR" id="S~g:}fW6Tm:Aw?GxUkaZ" variabletype="">Wasser gerechnet</field>
                          <value name="VALUE">
                            <block type="math_arithmetic" id="xt-H^j-:43Irbg7Fhml(">
                              <field name="OP">MINUS</field>
                              <value name="A">
                                <shadow type="math_number" id="X_rWlPD~o/J^KhVZi%6o">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="get_value" id="A4Sx?OtCp2T?h#I(031U">
                                  <field name="ATTR">val</field>
                                  <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                                </block>
                              </value>
                              <value name="B">
                                <shadow type="math_number" id="+qND:7;^kTj.azwuZHHi">
                                  <field name="NUM">1</field>
                                </shadow>
                                <block type="get_value" id="@R6Vro4Waf_mK|.+!]^0">
                                  <field name="ATTR">val</field>
                                  <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_alt</field>
                                </block>
                              </value>
                            </block>
                          </value>
                          <next>
                            <block type="control" id="0(_/h8O2,M[gEb`Ic4=2">
                              <mutation delay_input="false"></mutation>
                              <field name="OID">hm-rega.0.8533</field>
                              <field name="WITH_DELAY">FALSE</field>
                              <value name="VALUE">
                                <block type="math_arithmetic" id="s)PN7Vw`prv!A?hv2mLf">
                                  <field name="OP">MULTIPLY</field>
                                  <value name="A">
                                    <shadow type="math_number" id="E#zB^cvPPx!3cYPr+Pu{">
                                      <field name="NUM">1</field>
                                    </shadow>
                                    <block type="math_rndfixed" id="A_V2Dl3Tco*!@[~Lr1n~">
                                      <field name="n">4</field>
                                      <value name="x">
                                        <shadow type="math_number" id="a?I?-VQtRV1uduc!*;@I">
                                          <field name="NUM">3.1234</field>
                                        </shadow>
                                        <block type="math_arithmetic" id="XY5vn6~5Da?Zt0namcfQ">
                                          <field name="OP">MINUS</field>
                                          <value name="A">
                                            <shadow type="math_number" id="TlPoMg6n6S:en?y89?T4">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="get_value" id="Il/T*4`06v:{m@*OFmkc">
                                              <field name="ATTR">val</field>
                                              <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number" id="%8A!l4mo_0a=h,ezfnVP">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="get_value" id="=TjWO/63[rWCTbDj7JUs">
                                              <field name="ATTR">val</field>
                                              <field name="OID">javascript.0.Wasserverbrauch1.Anfangszaehlerstand_heute</field>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                    </block>
                                  </value>
                                  <value name="B">
                                    <shadow type="math_number" id="tn*R.05(D.%K3Cq(}nvg">
                                      <field name="NUM">1000</field>
                                    </shadow>
                                  </value>
                                </block>
                              </value>
                              <next>
                                <block type="control" id="5fng!*j2(M,$$,YwlLHx">
                                  <mutation delay_input="false"></mutation>
                                  <field name="OID">hm-rega.0.8568</field>
                                  <field name="WITH_DELAY">FALSE</field>
                                  <value name="VALUE">
                                    <block type="math_arithmetic" id="j!|XN6hin]+7`7e88l18">
                                      <field name="OP">MULTIPLY</field>
                                      <value name="A">
                                        <shadow type="math_number" id="!%YGCtSmGv.!]KU$#6Nw">
                                          <field name="NUM">1</field>
                                        </shadow>
                                        <block type="math_rndfixed" id="-3@,nGkZ]@$FU1Ry}%PA">
                                          <field name="n">4</field>
                                          <value name="x">
                                            <shadow type="math_number" id="a?I?-VQtRV1uduc!*;@I">
                                              <field name="NUM">3.1234</field>
                                            </shadow>
                                            <block type="math_arithmetic" id="(E?id-LI#NfEL|Jt:.vZ">
                                              <field name="OP">MINUS</field>
                                              <value name="A">
                                                <shadow type="math_number" id="TlPoMg6n6S:en?y89?T4">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="get_value" id="0E2;EjD-PBt:GCDwPU~H">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <shadow type="math_number" id="%8A!l4mo_0a=h,ezfnVP">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="get_value" id="YDY5~1aA-=^]//;i6MJ+">
                                                  <field name="ATTR">val</field>
                                                  <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_alt</field>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                        </block>
                                      </value>
                                      <value name="B">
                                        <shadow type="math_number" id="NUZlH-[?T]-}p@iCL{Au">
                                          <field name="NUM">1000</field>
                                        </shadow>
                                      </value>
                                    </block>
                                  </value>
                                  <next>
                                    <block type="control" id="oBT%X]5xBNnY,5AICE3X">
                                      <mutation delay_input="false"></mutation>
                                      <field name="OID">hm-rega.0.8566</field>
                                      <field name="WITH_DELAY">FALSE</field>
                                      <value name="VALUE">
                                        <block type="math_arithmetic" id="[nv%@@BX,N#hLq#S-k`+">
                                          <field name="OP">MULTIPLY</field>
                                          <value name="A">
                                            <shadow type="math_number" id="CL~9xg^p8_Kzc5n_ImjG">
                                              <field name="NUM">1</field>
                                            </shadow>
                                            <block type="math_rndfixed" id=",P%Ylnd^*u1LkcG9X]:W">
                                              <field name="n">4</field>
                                              <value name="x">
                                                <shadow type="math_number" id="a?I?-VQtRV1uduc!*;@I">
                                                  <field name="NUM">3.1234</field>
                                                </shadow>
                                                <block type="math_arithmetic" id="|(*+rA~Ej?$2*?ityV)U">
                                                  <field name="OP">MINUS</field>
                                                  <value name="A">
                                                    <shadow type="math_number" id="TlPoMg6n6S:en?y89?T4">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="get_value" id="]ziDJBvg89Wq:.R;J:!,">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                                                    </block>
                                                  </value>
                                                  <value name="B">
                                                    <shadow type="math_number" id="%8A!l4mo_0a=h,ezfnVP">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                    <block type="get_value" id="nd_9af.ZMA1/K1,S#U@Q">
                                                      <field name="ATTR">val</field>
                                                      <field name="OID">javascript.0.Wasserverbrauch1.Anfangszaehlerstand_Woche</field>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </value>
                                          <value name="B">
                                            <shadow type="math_number" id="s#NIPHF{^u=-UljnNO$r">
                                              <field name="NUM">1000</field>
                                            </shadow>
                                          </value>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="control" id="#z,-nejW?jGgjF|6|.H}">
                                          <mutation delay_input="false"></mutation>
                                          <field name="OID">hm-rega.0.8648</field>
                                          <field name="WITH_DELAY">FALSE</field>
                                          <value name="VALUE">
                                            <block type="math_arithmetic" id="y39]M!U/%X9b%6jp*4#}">
                                              <field name="OP">MULTIPLY</field>
                                              <value name="A">
                                                <shadow type="math_number" id="CL~9xg^p8_Kzc5n_ImjG">
                                                  <field name="NUM">1</field>
                                                </shadow>
                                                <block type="math_rndfixed" id="2#^Z6@xqJOMGnvvjT6%?">
                                                  <field name="n">4</field>
                                                  <value name="x">
                                                    <shadow type="math_number" id="a?I?-VQtRV1uduc!*;@I">
                                                      <field name="NUM">3.1234</field>
                                                    </shadow>
                                                    <block type="math_arithmetic" id="UN.1V5+(r@))%J,=@gqY">
                                                      <field name="OP">MINUS</field>
                                                      <value name="A">
                                                        <shadow type="math_number" id="TlPoMg6n6S:en?y89?T4">
                                                          <field name="NUM">1</field>
                                                        </shadow>
                                                        <block type="get_value" id="$mrk)426X5fx_+e!J_gK">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <shadow type="math_number" id="%8A!l4mo_0a=h,ezfnVP">
                                                          <field name="NUM">1</field>
                                                        </shadow>
                                                        <block type="get_value" id="/Z@4#mZokQ,L-w^bH.Tg">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">javascript.0.Wasserverbrauch1.Anfangszaehlerstand_Monat</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                              <value name="B">
                                                <shadow type="math_number" id="Ha=O,ekrr9a?z]eu4Xs+">
                                                  <field name="NUM">1000</field>
                                                </shadow>
                                              </value>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="control" id="=E[:Y4;({rV9PgxM??W#">
                                              <mutation delay_input="false"></mutation>
                                              <field name="OID">hm-rega.0.8567</field>
                                              <field name="WITH_DELAY">FALSE</field>
                                              <value name="VALUE">
                                                <block type="math_rndfixed" id="N~pEF;p}RibZHL@Jj%]8">
                                                  <field name="n">4</field>
                                                  <value name="x">
                                                    <shadow type="math_number" id="a?I?-VQtRV1uduc!*;@I">
                                                      <field name="NUM">3.1234</field>
                                                    </shadow>
                                                    <block type="math_arithmetic" id="(ypJq^YjyV_r2Tja[JzG">
                                                      <field name="OP">MINUS</field>
                                                      <value name="A">
                                                        <shadow type="math_number" id="TlPoMg6n6S:en?y89?T4">
                                                          <field name="NUM">1</field>
                                                        </shadow>
                                                        <block type="get_value" id="-MMgXsvKFd?[}m13v}9o">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                                                        </block>
                                                      </value>
                                                      <value name="B">
                                                        <shadow type="math_number" id="%8A!l4mo_0a=h,ezfnVP">
                                                          <field name="NUM">1</field>
                                                        </shadow>
                                                        <block type="get_value" id="iD:Yn+mvm5eH]y:k88K+">
                                                          <field name="ATTR">val</field>
                                                          <field name="OID">javascript.0.Wasserverbrauch1.Anfangszaehlerstand_Jahr</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </value>
                                                </block>
                                              </value>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </next>
                                </block>
                              </next>
                            </block>
                          </next>
                        </block>
                      </statement>
                    </block>
                  </statement>
                </block>
              </statement>
            </block>
            <block type="comment" id="ox+@jzn`KXVwX.fOTB$," x="-937" y="888">
              <field name="COMMENT">Wasserverbrauch letzte 5 min zurücksetzen</field>
              <next>
                <block type="on_ext" id="j=c,w9.$Xq;DsB5^}pBB">
                  <mutation items="1"></mutation>
                  <field name="CONDITION">ne</field>
                  <field name="ACK_CONDITION"></field>
                  <value name="OID0">
                    <shadow type="field_oid" id="}z+=RenMSy8(B@XhK@0K">
                      <field name="oid">hm-rega.0.8568</field>
                    </shadow>
                  </value>
                  <statement name="STATEMENT">
                    <block type="controls_if" id="%|yEAWaJ*FP|KJ!T/+Y$">
                      <value name="IF0">
                        <block type="logic_compare" id="_EAAa*G$MT%4=Rg?[~bP">
                          <field name="OP">GT</field>
                          <value name="A">
                            <block type="get_value" id="tZQSY0`YcA7JL[M$Ws@g">
                              <field name="ATTR">val</field>
                              <field name="OID">hm-rega.0.8568</field>
                            </block>
                          </value>
                          <value name="B">
                            <block type="math_number" id="Pd*)$#q#9Ay-w#:cv1+7">
                              <field name="NUM">0</field>
                            </block>
                          </value>
                        </block>
                      </value>
                      <statement name="DO0">
                        <block type="control" id="lU:dL+CfL4WMPIg8M38w">
                          <mutation delay_input="true"></mutation>
                          <field name="OID">hm-rega.0.8568</field>
                          <field name="WITH_DELAY">TRUE</field>
                          <field name="DELAY_MS">5</field>
                          <field name="UNIT">min</field>
                          <field name="CLEAR_RUNNING">FALSE</field>
                          <value name="VALUE">
                            <block type="math_number" id="sH;+ugos5JXLrj_4BfDg">
                              <field name="NUM">0</field>
                            </block>
                          </value>
                        </block>
                      </statement>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
            <block type="comment" id="qSxx=;Q,jlnWfNVxu*TC" x="-1688" y="1062">
              <field name="COMMENT">reset heute</field>
              <next>
                <block type="schedule" id="v;%?AXWh:txx%4R+2:U,">
                  <field name="SCHEDULE">59 23 * * *</field>
                  <statement name="STATEMENT">
                    <block type="control" id="o03K_LgrizESb@J0r`gL">
                      <mutation delay_input="false"></mutation>
                      <field name="OID">hm-rega.0.8533</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="math_number" id="+|Dv5/%]/%.QIWBB+**C">
                          <field name="NUM">0</field>
                        </block>
                      </value>
                      <next>
                        <block type="control" id="8DJ|hXs^UV[]]q|j@$/@">
                          <mutation delay_input="false"></mutation>
                          <field name="OID">javascript.0.Wasserverbrauch1.Anfangszaehlerstand_heute</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="get_value" id="q#8NRrtE|p##-plw;KZ9">
                              <field name="ATTR">val</field>
                              <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                            </block>
                          </value>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
            <block type="comment" id="f}lW@jf:=d$f0yptTr$b" x="-1687" y="1262">
              <field name="COMMENT">reset Woche</field>
              <next>
                <block type="schedule" id="CS=RSPfa:iN5AMzgx~+$">
                  <field name="SCHEDULE">59 23 * * 0</field>
                  <statement name="STATEMENT">
                    <block type="control" id=".l7{U_lCbkh?eh[J76.L">
                      <mutation delay_input="false"></mutation>
                      <field name="OID">hm-rega.0.8566</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="math_number" id="NQ{Xt.0IXvoF}I^AtomT">
                          <field name="NUM">0</field>
                        </block>
                      </value>
                      <next>
                        <block type="control" id="lf}%4*+o^Q{FU:7fxp|;">
                          <mutation delay_input="false"></mutation>
                          <field name="OID">javascript.0.Wasserverbrauch1.Anfangszaehlerstand_Woche</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="get_value" id="nh{y8TyWjpjiIEhFd/tl">
                              <field name="ATTR">val</field>
                              <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                            </block>
                          </value>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
            <block type="comment" id="K/RigU5g)ITrS$Z5%z%$" x="-1687" y="1462">
              <field name="COMMENT">reset Monat</field>
              <next>
                <block type="schedule" id="I+d[tdGa*#NplJWq)l:D">
                  <field name="SCHEDULE">2 0 1 * *</field>
                  <statement name="STATEMENT">
                    <block type="control" id="Xs0Vn%@[Z3LhUgSZi.{E">
                      <mutation delay_input="false"></mutation>
                      <field name="OID">hm-rega.0.8648</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="math_number" id="!8%xuHUE*S.4byz]?#eV">
                          <field name="NUM">0</field>
                        </block>
                      </value>
                      <next>
                        <block type="control" id="$izuc,5%%3Gb_Y!X,+vb">
                          <mutation delay_input="false"></mutation>
                          <field name="OID">javascript.0.Wasserverbrauch1.Anfangszaehlerstand_Monat</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="get_value" id="~}P$;7JTwiREk|;4H:.i">
                              <field name="ATTR">val</field>
                              <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                            </block>
                          </value>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
            <block type="comment" id="oHR,JG*z8K2lOHmdJgUI" x="-1687" y="1662">
              <field name="COMMENT">reset Jahr</field>
              <next>
                <block type="schedule" id="#CJ#r$^ohJ=^7![RC?r[">
                  <field name="SCHEDULE">59 23 31 12 *</field>
                  <statement name="STATEMENT">
                    <block type="control" id="RjxS0F1e!{}R=?k0u5hu">
                      <mutation delay_input="false"></mutation>
                      <field name="OID">hm-rega.0.8567</field>
                      <field name="WITH_DELAY">FALSE</field>
                      <value name="VALUE">
                        <block type="math_number" id="Gv+;Fb{zqvo$M?Mv;DML">
                          <field name="NUM">0</field>
                        </block>
                      </value>
                      <next>
                        <block type="control" id="!u17z/OwRnOxh=PKk1UV">
                          <mutation delay_input="false"></mutation>
                          <field name="OID">javascript.0.Wasserverbrauch1.Anfangszaehlerstand_Jahr</field>
                          <field name="WITH_DELAY">FALSE</field>
                          <value name="VALUE">
                            <block type="get_value" id="@hyKafoqvaHq~H5k.|vG">
                              <field name="ATTR">val</field>
                              <field name="OID">javascript.0.Wasserverbrauch1.Wasserverbrauch_aktualisiert</field>
                            </block>
                          </value>
                        </block>
                      </next>
                    </block>
                  </statement>
                </block>
              </next>
            </block>
          </xml>
          
          W J 2 Replies Last reply Reply Quote 1
          • W
            watcherkb @Knallochse last edited by

            @Knallochse wegen Zeitmangel ruht das Projekt aktuell bei mir. Auch wegen der Anschaffung eines 3D-Druckers. Gehäuse ist schon gedruckt aber keine Zeit gehabt das final einzubauen und zu verlöten. Außerdem kämpfe ich immer noch mit dem Problem dass der ESP nach paar Tagen offline ist. Beschlagen der Uhr ist auch noch ein Problem was ich lösen muss. Wie schaut es bei euch aus?

            coyote 1 Reply Last reply Reply Quote 0
            • pfried
              pfried last edited by

              @jomjol Hallo Jomjol, hattest Du schon Zeit Dir den Speicheroverflow anzusehen. Wenn nicht, welche HW verwendest Du, dann kann ich mir ja auch diese bestellen..... Vielen Dank und liebe Grüße Paul

              J 1 Reply Last reply Reply Quote 0
              • coyote
                coyote Most Active @watcherkb last edited by

                @watcherkb also ich hab ja, wie oben beschrieben, vom Parser Adapter auf Scriptabfrage umgestellt, seit dem läuft das Ding jetzt schon seit 20 treffen unterbrechungsfrei, keine disconnects mehr vom ESP

                1 Reply Last reply Reply Quote 0
                • J
                  jomjol @Knallochse last edited by

                  @Knallochse schick mir mal ein paar Bilder von deinen digitalen Ziffern. Je Ziffer so 3-5 Stück, dann kann ich die Erkennung damit trainieren.

                  1 Reply Last reply Reply Quote 0
                  • J
                    jomjol @pfried last edited by

                    @pfried Hallo Paul,
                    bin momentan bis Weihnachten beruflich ziemlich beschäftigt und komme erst nach den Feiertagen dazu, es mir genauer anzuschauen. Welche Version verwendest du den genau, denn in der letzten Version habe schon ein kleineres potentielles Leck entfernt.
                    Dennoch kann ich das nicht richtig gut debuggen, denn bei mir läuft das ganze auf einer Synology DS718+ als Docker Container und dort ist es echt stabil.

                    pfried 1 Reply Last reply Reply Quote 0
                    • pfried
                      pfried @jomjol last edited by

                      @jomjol Hallo Jomjol,
                      Ich verwende die letzte Raspi-Rolling Version: jomjol/wasserzaehler:raspi-rolling, die ich über Docker pull bekommen habe, wie Du oben beschrieben hast. Läuft diese Version auf einem RP3+ bei Dir stabil, wenn ja, besorge ich mir noch einen......
                      Liebe Grüße
                      Paul

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        jomjol @pfried last edited by

                        @pfried Hallo Paul,
                        bei mir läuft der Docker auf einer Synology mit 12 GB Ram, daher habe ich mit einem Speicherleck keine Probleme. Meinen Raspi B3 verwende ich nur zum Testen. Dort läuft es nicht im Produktivmodus über meherere Stunden.

                        Inzwischen habe ich aber mit googlen auch die Ursache gefunden. Das Problem ist bekannt und liegt in der Tensorflowbibliothek selbst: https://github.com/keras-team/keras/issues/13118.

                        Ich habe das Workaround eingebaut und gerade läuft der Docker-Build auch für den Raspi-Rolling. Ganz weg ist das Problem nicht, aber deutlich kleiner:
                        Vorher:
                        b5f56dfb-23b8-41f8-8561-7ebd485ac6d1-grafik.png
                        Nachher:
                        7034ff29-4c13-470f-9ea9-555620f80e6c-grafik.png
                        Jeweils nach 20 Aufrufen.

                        Probier mal das aus und melde ich. Bei mir installiere ich es auch, sobald der Build fertig ist.
                        LG, jomjol

                        hotplot created this issue in keras-team/keras

                        closed Repeatedly calling model.predict(...) results in memory leak #13118

                        1 Reply Last reply Reply Quote 0
                        • C
                          C1500 last edited by

                          Servus
                          Ich hatte gestern die Idee das roi Bild mit in die VIS aufzunehemen.
                          Schaut sehr gut aus.
                          Aber leider wird es anscheinend nur aktualisiert, wenn ich die ip:3000/roi.html aufrufe.
                          Ich hab aber das direkte Bild verlinkt.

                          Kann ich das auch automatisch irgendwie generieren lassen?
                          Ideal wäre natürlich wenn es nur erstellt wir wenn die VIS aktiv ist und auch wirklich eine Änderung vorliegt.

                          Ist vermutlich eher eine VIS frage aber da es nur mit dem Wasserzähler zu tun hat frag ich hier.

                          Ich verwende noch die letzte Version die direkt auf dem PI ohner Docker läuft.

                          Gruß Peer

                          pfried J 2 Replies Last reply Reply Quote 0
                          • pfried
                            pfried @C1500 last edited by

                            @C1500 Hast Du schon probiert, das mit dem Parser zu machen, würde mich interessieren ob das geht. Wie läuft das mit Deiner Erkennungsrate, ist diese stabil?

                            1 Reply Last reply Reply Quote 0
                            • C
                              C1500 last edited by

                              Servus @pfried
                              Ich hatte mit dem Parser immer das Problem, dass er pünklich um 0:03 Uhr aufgehört hat und sich auch die CAM weggehängt hat.

                              Ich probier jetzt gerade das Script von weiter oben.
                              Letzte Nacht lief es schon mal durch.

                              Die Erkennungsrate ist sehr gut, solange ich "usePreValue" verwende.
                              Sobald die Zahlen anfangen sich wegzudrehen wird es sonst schwierig.

                              Gruß Peer

                              1 Reply Last reply Reply Quote 0
                              • J
                                jomjol @C1500 last edited by

                                @C1500 Korrekt, das roi-Bild wird nur bei roi.html aktualisiert. Der Aufwand, es jedesmal zu aktualisieren ist nicht sehr groß, kann ich bei nächster Gelegenheit mal machen.

                                1 Reply Last reply Reply Quote 0
                                • E
                                  ecki945 last edited by

                                  Hat einer von Euch diess Projekt erfolgreich in einer VM unter Proxmox am laufen?

                                  1 Reply Last reply Reply Quote 0
                                  • pfried
                                    pfried last edited by pfried

                                    @jomjol Habe die neue Docker Version getestet. Es dauert nun nicht mehr 4 Stunden bis der Memory überläuft sondern 15 Stunden:

                                    3b92ed7e-f434-4e6e-817e-a58972087e3b-image.png

                                    J 1 Reply Last reply Reply Quote 0
                                    • J
                                      jomjol @pfried last edited by

                                      @pfried Hallo Paul,
                                      der Memory-Leak liegt intern in Tensorflow. Da kann ich an meiner Software nichts machen. Nicht mal das Löschen und Neuladen der Tensorflowobjekte hilft nicht, da offenbar ein interner Tensor im Speicher bleibt. Habe mehrere Threads dazu gefunden.
                                      Die Tensorflow-Community arbeitet daran und es gibt Hinweise, dass es in der Nightly besser wird, aber anscheinend nicht bei allen.
                                      Bleibt nur das Beobachten und Update, sobald es eine neue Version gibt, testen. Ich beobachte es weiter.
                                      Eventuell kannst du deinen Container regelmäßig nach ein paar Stunden per Script neu starten als Zwischenlösung?
                                      Gruß, jomjol

                                      1 Reply Last reply Reply Quote 0
                                      • pfried
                                        pfried last edited by

                                        Hallo, hat jemand eine Lösung für die Beschlagung des Wasserzählers gefunden?

                                        d0177c24-6a35-4b7b-832f-5a61c328b433-image.png

                                        Wie man sieht sinkt dadurch die Erkennungsrate gegen null:

                                        f9fd4ff5-9405-4437-9b20-0fc6469d1140-image.png

                                        W 1 Reply Last reply Reply Quote 0
                                        • W
                                          watcherkb @pfried last edited by

                                          @pfried das Beschlagen hat nur einen Grund: Wasser ist kalt, Umgebung warm. Dadurch beschlägt es. Also entweder dämmt man den Wasserzähler gegen Wärme, oder alternativ probieren eine anti-Beschlagfolie oder Spray verwenden. Alles nur Theorie...hab ich auch noch vor mir.

                                          pfried 1 Reply Last reply Reply Quote 0
                                          • pfried
                                            pfried @watcherkb last edited by

                                            @watcherkb Das mit dem Spray werde ich versuchen. Werde berichten. Außerdem werde ich nun an einem freien Tag einen Ventilator in das Gehäuse einbauen, Vielleicht hilft das ja was.....

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            994
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            how-to wasser wasserzähler
                                            48
                                            1089
                                            310412
                                            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