Im Prinzip kannst Du es genau so machen wie mit einem Stromzähler, allerdings wurde ich die Last ein wenig besser verteilen, die Auflösung bei Wasser dürfte viel höher sein als ein bei einem Stromzähler.
Ich denke folgendes ist simple und einfach umzusetzen.
Man nehme einen kleinen Nano, Wemo mini oder ähnliches was klein ist.
Dort ist der TRCT5000 angeschlossen, der ein low und high Signal sendet.
Den TRCT5000 an den Arduino an D6 anschließen.
Folgendes Arduino Script:
[/* Zähle Erkennung hoch bis X erreicht wurde und sende dann ein high an den EPS */
int switch = D6; // TRCT5000
int val; // Variable für den Pin Zustand
int upscale; // Variable für den letzten Schaltzustand
int trct = 0; // Wie oft ist ein Signal gekommen
const int node = D4;
void setup()
{
pinMode(node, OUTPUT); // GPIO als Ausgang definieren
digitalWrite(node, LOW); // soll beim starten auf low gezogen werden
pinMode(switch, INPUT); // Switch ist auf Input gesetzt
Serial.begin(9600); // Start der seriellen Kommunikation ( Justierung abfrage etc )
State = digitalRead(switch); // Anfangszustand lesen}
void loop()
{
val = digitalRead(switch); // Eingabewert lesen und in val speichern
if (val != State) { // Der Zustand des Schalters hat sich verändert
if (val == HIGH) { // Ist eine Umdrehung erkannt?
trct++; // Inkrementieren der Variable
Serial.print("Soviel Liter wurden erkannt: ");
Serial.print(trct); Serial.println(" Ltr.");
}
}
State = val; // Den Zustand merken
if (trct == 10) // bei 10 Umdrehungen high senden ( sollten 10 Liter sein. )
{
digitalWrite(node, HIGH);
delay(50); // kurze Verzögerung ( millis() wurde wohl besser passen aber kein anspruchsvolles Script
digitalWrite(node, LOW); // Schalte den Ausgang wieder auf low
trct = 0; // Variable zurücksetzen!
}
}
Alles anzeigen
Nachfolgend einen EPS01 oder ähnliches ( [definition='27','0'][definition='27','0'][definition='27','0'][definition='27','0'][definition='27','0'][definition='27','0']NodeMCU[/definition][/definition][/definition][/definition][/definition][/definition] V1-3 ) mit ESPeasy Flashen
Arduino nano/ mini etc D4 mit D8 am [definition='27','0'][definition='27','0'][definition='27','0'][definition='27','0'][definition='27','0'][definition='27','0']NodeMCU[/definition][/definition][/definition][/definition][/definition][/definition] verbinden.
D8 als Switch konfigurieren ( Signal Input auf high )
Die Daten können dann via ESPEASY Software zum IoBroker übersandt werden.
Im Iobroker muss dann nur ein Anfrage Script erstellt werden was die variable " liter" wieder umrechnet.
Wenn bei 10 Umdrehungen, ein Signal gesendet wird, muss es getriggert werden.
Wenn Switch - "wurde aktualisiert" ( wichtig! so zählt er bei 0/1 hoch und nicht nur bei 1 ( true )) - Liter + 1
Das ganze kann man noch paaren mit : Tagesverbrauch, Wochenverbrauch, Monatsverbrauch etc pp
Stromversorgung für beide Geräte von einem alten 5V Netzteil, aufsplitten und einen Y Stecker dran löten.
An die VIN PINS an beiden Geräten gehen und gut ..
Ist jetzt so "on the fly" geschrieben und nicht getestet, allerdings bin ich da guter Dinge.
( Das gleiche geht übrigens auch an einem [definition='18','0'][definition='18','0'][definition='18','0'][definition='18','0'][definition='18','0'][definition='18','0']Raspberry[/definition][/definition][/definition][/definition][/definition][/definition] Pi )
Dazu einfach ein kleines Phytonscript schreiben und es dann per MQTT an den IoBroker versenden )