NEWS
[Gelöst] Wasserzähler mit Panasonic EX-26A und ioBroker
-
Hab die Schaltung vorab ohne geätzter Platine schon mal auf einer Lochplatine verschaltet und getestet. Läuft super stabil! Versuchsweise einfach den Sensor auf das Glas getapet und ab die Post.
Genauigkeit von 0,04Liter möglich!
-
@xxx_turbo_xxx sagte in Wasserzähler mit Panasonic EX-26A und ioBroker:
Möchte mir nun eine Platine ätzen, bin mir aber nicht 100% sicher, ob ich die Schaltung korrekt übernommen habe.
Kann mir jemand sagen ob das so passt?
Sollte so passen. Wo und zu welchem Preis lässt du die Platine machen?
-
@Lenny-CB Mach ich selber... Old School
Ich denke man müsste schon ein paar bestellen, dass es sich rechnet... Falls sich allerdings jemand anschließen möchte, so könnte man eine Sammelbestellung machen...
-
@xxx_turbo_xxx Hab noch ein kleines update gemacht und den Wemos gleich mit drauf gepackt
-
@xxx_turbo_xxx Ich glaub das lohnt sich doch nicht das selber zu machen... Kosten ja gar nix!
-
@xxx_turbo_xxx sagte in Wasserzähler mit Panasonic EX-26A und ioBroker:
@xxx_turbo_xxx Ich glaub das lohnt sich doch nicht das selber zu machen... Kosten ja gar nix!
, ich würde es vermutlich aber noch zusammen schieben...
-
Jetzt hätt ich noch ein Problemchen.
Ich würde gerne den momentanen Durchfluss aufzeichnen. Das funktioniert soweit auch, allerdings geht der Wert nicht auf Null wenn kein Wasser fließt.
Was mach ich bloß falsch?
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="*pT!+zZbJeCGKYKSBMh1">durchfluss</variable> </variables> <block type="on_ext" id="GAU@c=BIduko,e]/J!((" x="49" y="109"> <mutation items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="nOV9,~W+c}+UF2{},n?K"> <field name="oid">0_userdata.0.Wasser.Verbrauch_total_Liter</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="uio6DF@0gh$uKJwk*u;a"> <field name="VAR" id="*pT!+zZbJeCGKYKSBMh1" variabletype="">durchfluss</field> <value name="VALUE"> <block type="math_arithmetic" id="_TO1L!%;OGdHI8Y4g9G}" inline="false"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="`oXkzM26D.GfG$M6^y,}"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="@Oqa9C;}GKx`2-cFO%[@" inline="false"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="GcpGUYHdrM!e_Gr!RYy_"> <field name="NUM">60000</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="DHt:VI-66GA!^%tN;jZC"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="(VkN{H#L]S+^RKQ{V4l)"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="`Q:1v@BSwA*7~{W?Vbh{"> <field name="NUM">1</field> </shadow> <block type="on_source" id="6n5U8r1uu8*!N6M0@_Us"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <shadow type="math_number" id="(:b./h?4];4~xT+B}~lH"> <field name="NUM">1</field> </shadow> <block type="on_source" id="Rc}!Ek=9|%txm~$tLAPj"> <field name="ATTR">oldState.val</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="0,rd8C_};~YRu~wj#}i/"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="z)DV0|F)W$hf[-8aRhOz"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="`Q:1v@BSwA*7~{W?Vbh{"> <field name="NUM">1</field> </shadow> <block type="on_source" id="tuDciu1_,ym~J,Y|:7|#"> <field name="ATTR">state.ts</field> </block> </value> <value name="B"> <shadow type="math_number" id="(:b./h?4];4~xT+B}~lH"> <field name="NUM">1</field> </shadow> <block type="on_source" id="4(@MAI{Ca*0t.-1WvJ9;"> <field name="ATTR">oldState.ts</field> </block> </value> </block> </value> </block> </value> <next> <block type="controls_if" id="B@i5C6*2;q3_ZP)=z$O7"> <value name="IF0"> <block type="logic_compare" id="A^^!_;F+|*]jIr.0MCJj"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="{TAIhN$XXXG}_81?9v#k"> <field name="ATTR">val</field> <field name="OID">mqtt.0.ESP_Easy_0.Wasserzaehler.Count</field> </block> </value> <value name="B"> <block type="math_number" id="i@D8,z/)hZV+ii],,/fd"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="jL0RL-^Ch29/ifG~sKyH"> <mutation delay_input="true"></mutation> <field name="OID">0_userdata.0.Wasser.Volumenstrom</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_number" id="kT:L4J~QrJ0q{Fvk]O]u"> <field name="NUM">0</field> </block> </value> </block> </statement> <next> <block type="controls_if" id="M*2qgVs?iTT;t2T#M!b["> <value name="IF0"> <block type="logic_compare" id="0T!lCCv(NFt-y^|SJ/u:"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="#[rm{,|=q}o~Ww{7/G-r"> <field name="ATTR">val</field> <field name="OID">mqtt.0.ESP_Easy_0.Wasserzaehler.Count</field> </block> </value> <value name="B"> <block type="math_number" id="ji.YUQSNkbk3LH$1V-{k"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="8Sy5R+[e}/7}!_rMdo77"> <mutation delay_input="true"></mutation> <field name="OID">0_userdata.0.Wasser.Volumenstrom</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="VALUE"> <block type="math_rndfixed" id="F$}P~px.8OFjoj{T||1W"> <field name="n">1</field> <value name="x"> <shadow type="math_number" id="/Za,EV*K_JMR2Rx_khQN"> <field name="NUM">3.1234</field> </shadow> <block type="variables_get" id="5{I)l}F(WkUSYnH_acn("> <field name="VAR" id="*pT!+zZbJeCGKYKSBMh1" variabletype="">durchfluss</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </xml>
-
Wozu brauchst Du die Platine und den Optokoppler? Der EX-26A (ohne PN) hat doch einen Open Collector NPN Transistor, s. https://www.tme.eu/Document/fdd82007689769463d7e64e5d7a690ac/EX-20-series-en.pdf , Dokument-Seite 275, pdf Seite 7/14, "NPN output typeI/O circuit diagram". Wenn Du den 10K Widerstand, den Du von schwarz nach Braun gelegt hast, von Schwarz auf die +3.3V des Wemos legst, ist alles erledigt. Ohne Optokoppler, ohne Platine.
Bei "meiner" Wasseruhr taste ich das Sternrad bei jeder Flanke ab und bekomme 90 Impulse pro Liter, Auflösung also 0.011Liter. Hängt halt an der Wasseruhr.
Und so einfach ist die Befestigung:
Schlauchschelle, Kupferdraht, Stückchen Platine. Auf ein einigermassen symmetrisches Signal justiert und dann festgelötet.
Läuft super seit > 3 Jahren.
Hat sich gelohnt. Als das Gedächtnis meiner Mutter schwächer wurde, blieb manchmal ein Wasserhahn offen. Ich bekomme in solchen Fällen eine Mail und konnte anrufen.
Und es ist interessant zu sehen, daß bei 42% der Wasserdurchflüsse weniger als 1Liter gezapft wird.Zu Blockly kann ich wenig sagen. Aber warum kontrollierst Du, ob der Durchfluss (Delta ticks / Delta t) = 0 ist und behandelst ihn anders als einen Durchfluß >0?
Nutzt Du die Summenfunktion des ESPEasy und rechnest Du das Delta im ioBroker oder nutzt Du die im letzten Zeitintervall aufgelaufenen ticks? -
@klassisch Um ehrlich zu sein hab ich wenig Ahnung von dem gangen Elektronikgedöns. Leider...
Ich hab im Netzt die Anleitung gefunden und hab sie nachgebaut. Anscheinend funktioniert es so und frei nach dem Motto..."Never touch a runnig System" werd ich es so beibehalten
Ich hab das Ding installiert weil meine beiden großen Töchter anscheinend etwas länger in der dusche verweilen, als es eigentlich nötig wäre :-).
Außerdem experimentiere ich mit Durchflussminderer und wollte sehen, was die bringen.
Wenn ich die Trennung nicht mache, dann bleibt der Zähler immer beim letzten Wert stehen, obwohl kein Wasser mehr fließt. Hab es aber jetzt selber hin gebracht. Bezweifle, dass das die eleganteste Lösung ist, aber es scheint zu funktionieren.
-
@klassisch Zeitgemäßer Wasserzähler...
-
@xxx_turbo_xxx sagte in Wasserzähler mit Panasonic EX-26A und ioBroker:
Ich hab im Netz die Anleitung gefunden und hab sie nachgebaut.
Kommt wahrscheinlich von einem S0-Zähler. Da hat man es ja mit einem Verteilerkasten zu tun, in dem es 230V gibt - auch wenn der S0-Ausgang an sich galvanisch getrennt ist. Und die Regel für S0-Stromzähler sieht zusätzlich zu dem Optokoppler im Zähler selbst noch einen im Empfänger vor. Das macht dort auch Sinn, weil in der S0-Vorschrift noch eine zusätzliche Verpolschutzdiode im Emitterzweig des Optokopplers vorgesehen ist, siehe https://de.wikipedia.org/wiki/S0-Schnittstelle. Und das kann bei einem 3.3V System schon zuviel Spannungsabfall bedeuten.
Beim EX-26 ist diese Diaode aber nicht drin und der wird auch mit 12V oder so versorgt. Also keine zusätzliche Sicherheit und kein zusätzlicher Optikoppler nötig.Ich hab das Ding installiert weil meine beiden großen Töchter anscheinend etwas länger in der dusche verweilen, als es eigentlich nötig wäre :-).
Ja, das kann man damit recht genau erkennen. Entweder an der Kurve oder Du berechnest noch die Durchflußdauer und die Durchflußmenge. Du hast ja jetzt den Durchfluß und kannst erkennen, wenn der wieder auf 0 geht. Dann endet die Durchflußdauer und die Durchflußmenge einer "Zapfeinheit" Nach einer weiteren Zeiteinheit wird wieder scharf geschaltet. Bei mir hat sich eine Zeitbasis von 10 Sekunden bewährt (Bei Messung des Sternrades mit 90 Impulsen/Liter)
Aber was machst Du mit dem Ergebnis? Den Töchtern ins Gewissen reden? Könnte in Greta-Zeiten sogar halbwegs funktionieren. Die Differenz zu der Normduschzeit vom Taschengeld abziehen? Oder einfach unbemerkt den Durchflußminderer einbauen? Oder den Durchflußminderer nur in die Warmwasserleitung einbauen? Oder die gesamte Warmwassertemperatur senken?
Bin gespannt was letztlich zum meckerarmen Erfolg führt :-).Hab es aber jetzt selber hin gebracht. Klasse, Glückwunsch!
Ja, die Corona-Wasseruhr wurde von unserer Gemeinde ausgesucht und 2015 oder 2016 installiert. Und das wahrscheinlich nicht nur bei mir. Ich gehe aber mal davon aus, daß die Gemeinde nicht ganz so weit gedacht hat :-).
-
@klassisch Woll ihnen eigentlich nur zeigen, dass man auch sparsamer duschen kann
Papa: 20L
Mama: 40L
Tochter 1: 100LDie 100L sind jetzt auch nicht mega viel, aber wie man sieht, geht es auch sparsamer...
Erste Konfrontation war erstaunlich meckerarm...
-
@xxx_turbo_xxx sagte in Wasserzähler mit Panasonic EX-26A und ioBroker:
@klassisch Woll ihnen eigentlich nur zeigen, dass man auch sparsamer duschen kann
Erste Konfrontation war erstaunlich meckerarm...
Du machst das klasse!
Wobei Papa ja wußte, was auf ihn zukommt ....Du kannst ja das "project Greta Now" in Stufe 1 starten: Ökologischen footprint ermitteln. Jeder bekommt einen Id-Tag und die Ressourcen werden erst nach Identifikation freigeschaltet und dann wird der ökologische footprint oder Greta-Value ermittelt.
-
@klassisch
Kannst du deine Auswertung zur Verfügung stellen?