Wie voll ist im Augenblick die Regentonne?
Wieviel Liter habe ich noch zur Verfügung?
Auf diese Fragen bekomme ich seit neuestem Antwort. Klar im Winter ist das weniger interessant. Aber im Sommer, wenn es lange nicht geregnet hat, kann es wichtig sein, woher ich mein Gießwasser beziehe.
Eine große MAKER-Zeitschrift hat dazu einen Interessanten Artikel herausgebracht. Ich habe das Projekt nachgebaut, nachdem ich mit diversen Sensoren gescheitert bin.
Für mich waren Ultraschall-Abstandssensoren nicht geeignet, weil der wasserdichte Sensor Abstände unter 15 cm nicht messen konnte.
Den nicht wasserdichten habe ich gleich verworfen.
Die Laserstrahlmessmethode braucht einen Schwimmer auf der Wasseroberfläche, der den Strahl reflektiert. Auch diesen Sensor hätte man noch wasserdicht machen müssen. Wie soll das gehen, wenn eine Folie oder Glasscheibe den Strahl schon reflektiert?
Die neue Idee ist ein Drucksensor, der im Wasser liegt. Durch einen kleinen Schlauch in der Zuleitung kann der Sensor Luftdruckschwankungen neutralisieren. Nicht ganz billig (>30 Euro) und wird in China gebaut, aber nach meiner Erfahrung sehr zuverlässig.
Die Home-Assistant-Einbindung, die in dem Zeitschriftartikel beschrieben ist, war nicht geeignet, ausserdem wollte ich ESPHOME nutzen. Eventuelle Änderungen im Programm OTA an den ESP mini senden.
Hier das Programm, das mir alle 5 Minuten den analogen Wert des Wasserstands liefert.
esphome:
name: seetief
friendly_name: SeeTief
esp8266:
board: d1
i2c:
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: [key]
ota:
- platform: esphome
password: [passwort]
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ads1115:
- address: 0x48
sensor:
- platform: ads1115
multiplexer: 'A0_GND'
gain: 4.096
unit_of_measurement: V
accuracy_decimals: 2
name: voltage
update_interval: 300s
in meinem Fall lieferte mir der Sensor einen Wert 0,21 ausserhalb der Regentonne und innerhalb der Tonne bei 1,80 Meter Wassertiefe den Wert 2,01
So brauche ich nur von jedem gelieferten Wert 0,21 abzuziehen und erhalte den Füllstand (2,01 - 0,21 ) = 1,8 Meter.
Bei einem zylindrischen Regenfass ist auch die Wassermenge proportional zum Füllstand (90 cm = 150 Liter, wenn das Fass bei 1.8 m Höhe 300 Liter fasst)
template:
- sensor:
- name: Wasser_Stand
unique_id: wasserstand
unit_of_measurement: cm
state: >-
{{(states('sensor.seetief_voltage') | float(2) - 0.21) * 180 }}