Niederschlagsmessung mit optischem Hydreon RG-11 Regensensor und WeMos D1 mini

Begonnen von Mihca, 13 August 2019, 18:02:41

Vorheriges Thema - Nächstes Thema

Mihca

Ich möchte mein Regensensor-Projekt mit Euch teilen. Insgesamt entenstehen Kosten von ca. 80€, wovon der Hauptteil auf den optischen Regensensor entfällt. Es funktioniert bei mir prima.
Dazu benötigt man:

1.   einen WeMos D1 mini
2.   einen 1kOhm Widerstand
3.   ein 12V Gleichspannungsnetzteil
4.   einen AMS1117CS-5.0 DC-DC Wandler
5.   einen Hydreon RG-11 Regensensor (http://rainsensors.com) Er kostet USD59. Es kommt aber noch Transport und Einfuhrumsatzsteuer dazu, so dass er am Ende rund 75€ kostet.
6.   Telefonkabel 4-adrig

ESPEasy:
Auf den WeMos flasht man die ESPEasy Firmware (https://github.com/letscontrolit/ESPEasy/releases). Sobald man den WeMos im eigenen Netz hat, konfiguriert man ihn über sein Web-Interface unter dem Reiter ,,Controllers" als MQTT-Device. Unter dem Reiter ,,Devices" stellt man ihn als ,,Generic – Pulse Counter" ein. Weitere Einstellungen siehe anliegendes pdf.

A C H T U N G: Will man den WeMos neu flashen, bitte vorher unbedingt die 12V Spannungsversorgung unterbrechen!

Schaltung:
Den Schaltplan findet ihr ebenfalls in der Anlage. Ich habe den WeMos innen in einer Box sitzen und ihn per 15m Telefonkabel mit dem Regensensor verbunden. Über das Telefonkabel laufen die 12V sowie das Signal; das funktioniert trotz der Länge ohne ,,Fehlimpulse".

FHEM:
Sobald der WeMos im Netz ist und als MQTT-Device eingerichtet ist, wird in FHEM automatisch ein entsprechendes Gerät angelegt, wenn in FHEM bereits ein MQTT-Server bereits angelegt ist. Soweit der MQTT-Server in FHEM noch nicht installiert hat, geht das so:

define MQTT2Server MQTT2_SERVER 1883 global

Im Nachfolgenden wird davon ausgegangen, dass das Gerät in ,,Regensensor" umbenannt wird. Der Regensensor erhält folgende userReadings:

RainCumDay:Total.* {sprintf("%.3f",(ReadingsNum($name,"Total",0)*ReadingsNum($name,"mmRainPerCount",0)))},
RainCumTotal:Total.* monotonic {sprintf("%.3f",(ReadingsNum($name,"RainCumDay",0)))}


Desweiteren benötigt man das reading "mmRainPerCount" damit die Impulse des Sensors in mm Regen umgerechnet werden können. Dazu gibt man in der FHEM Kommandozeile ein:

setreading Regensensor mmRainPerCount 0.0005

Damit man auch im Web den Zustand sieht, setzt man das Attribut StateFormat auf:

Heute [l/m²]: RainCumDay Gestern [l/m²]: RainCumDayBefore Status: LWT

Weiterhin wird ein ,,at" angelegt, das den Sensor täglich neu startet und Werte zurücksetzt (Achtung: für xxx.xxx die IP des WeMos einsetzen):

define Regensensor_restart_at at *23:59:59 {my $RainCumDayBefore = ReadingsNum("Regensensor","RainCumDay","0");fhem("setreading Regensensor RainCumDayBefore $RainCumDayBefore");;system "wget -O /dev/null -q 192.168.xxx.xxx/?cmd=reboot";;}

Viel Spass beim Basteln!

Viele Grüße
Achim
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

JHo

Zitat von: Mihca am 13 August 2019, 18:02:41Es funktioniert bei mir prima.
Hallo Achim,
das klingt spannend für mich. Hast du schon etwas Erfahrung mit dem Sensor und magst die hier teilen? Mich interessiert vor allem, ...

  • ... wie genau der Regensensor ist. Hast Du einen Vergleich zu einer (sehr) nahegelegenen Wetterstation? Lese ich die Auflösung des Sensors mit 0,0005mm richtig?
  • ... in welchem "Modus" du ihn betreibst, und ob du die anderen Modi auch getestet hast? Hier klingt für mich vor allem die "Irrigation Control" interessant und welche Werte hier übertragen werden.
  • ... ob der Regensensor auch Schnee erkennen kann.
[li]... und wie das 12V-Netzteil dimensioniert sein muss.
[/li][/list]

Punkt 3 beantwortet die Webseite zwar selber (nein), aber ich verstehe nicht, warum - die Reflexion müsste doch bei Schnee wie bei Wasser auch gegeben sein. Niederschlagsmenge sicher nicht mehr, aber...

Danke!
Jan
1: FHEM auf Ubuntu, MAX!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, diverse LaCrosse-Sensoren, per remote angebundene DS18B20-Sensoren
2: FHEM auf Raspi 3, Max!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, ht_pitiny-Adapter zu Junkers FW120

Mihca

Hallo Jan,
gerne:

1. Der Sensor läuft seit Juli bei mir. In dieser Zeit hat es nicht viel, aber immer wieder geregnet. Ich kontrolliere die vom Sensor gemessenen Mengen mit einem skalierten Auffanggefäß, das man immer mal wieder ausschütten muss. Das stimmt auf +-10% überein. Also überraschend gut.
2. Ich betreibe den Sensor im "Mode 0-- Tipping Bucket" entsprechend der Dip-Schalter-Stellung im pdf.
3. In der Dip-Stellung gemäß pdf ist die Auflösung 0,001mm. Da im WeMos/ESPEasy im Device auf "Change" detektiert wird, gibt es 2 Impulse je 0,001mm. Also muss in Fhem die Anzahl der Impulse mit 0,0005 multipliziert werden um auf mm-Regen zu kommen.
4. Schnee sind keine Tropfen sondern Kristalle. Ich vermute, daher wird das wohl nicht detektiert. Das kann ich erst nach dem ersten Schnee weiter beantworten.
5. Laut Manual benötigt der Regensensor 55mA und für der WeMos ca. 70mA. In Summe also <200mA. Mein Steckernetzteil hat stabilisierte 12V, 1,5A. Es ist also überdimensioniert, aber ich hatte halt noch eins über.

Ich hoffe, es hilft Dir.

Viel Spass beim Basteln  :)

Achim
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

JHo

Super, danke für die Infos.
Ich überlege mal... Der Regensensor an meiner TFA Nexus ist wohl Recht genau, aber erst ab größeren Regenmengen. Wenn ich das richtig zusammenbringe, ist ein Wippenschlag 0,7mm. D
Bis das dann auslöst, kann das (zu) lange dauern.
1: FHEM auf Ubuntu, MAX!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, diverse LaCrosse-Sensoren, per remote angebundene DS18B20-Sensoren
2: FHEM auf Raspi 3, Max!Cube, Wand- und Heizkörperthermostate, Eco-Schalter, ht_pitiny-Adapter zu Junkers FW120

Mihca

Das Teil ist extrem empfindlich. Kaum sind die ersten Tropfen da, schon meldet er das. Er macht aber auch keine Fehlmeldungen (Fliegen, Vögel, ...)
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Omega

Ich habe den Sensor auch schon eine ganze Weile im Einsatz. Schnee wird definitiv nicht erkannt.
Da ich den Sensor vor allem für meine Markise nutze, lasse ich ihn bereits auf den ersten Tropfen reagieren. Da kommt es - sehr selten - schon mal vor, dass die Markise bei schönstem Wetter einfährt, weil Regen erkannt. Er zeigt mir dann sogar 4 - 8 Tropfen an (vielleicht hat ja ein Vogel getroffen...  ;D).
Beim Auto kenne ich das auch, dass die Scheibenwischer manchmal bei schönstem Wetter glauben, dass es regnet und munter einmal über die trockene Scheibe wischen.

Regenmengenmessung: da bin ich skeptisch. Der Sensor zählt Tropfen unabhängig von deren Größe. Aber vielleicht macht es ja der Durchschnitt.

LG Holger
NUC6i3SYH (FHEM 5.8 in VM)
Homematic: HMLAN, HMUSB, HM-Sec-SD, HM-CC-RT-DN, HM-TC-IT, ... + diverse weitere
LaCrosseGateway, ESPEasy
ZWave

bigtruite

Sehr toller Beitrag. Danke sehr.  :) :) Ich habe soeben ein Youtube-Video gesehen wie einer die Funktion eines RG-11 Sensor vorführt. Dabei klickert das interne Relay bei Wassererkennung die ganze Zeit. Der Sensor wäre bei mir am Balkon. Ein ständiges Klickern würde stören.

- Hast du den Sensor noch im Einsatz? Wie bist du seitdem zufrieden?
- Klickert dein Relay auch bei jeder Wassererkennung? Ist das in deinem Mode-0 Tipping Bucket auch so?
- im o. a. Youtube-Video blinkt die LED bei jeder Tropfenerkennung? Kann man das ausschalten?
- Was macht espeasy da genau? Zählt es die Tropfen (also Kontakte vom Sensor) und gibt die Anzahl per mqtt weiter?


Zitat von: Mihca am 02 September 2019, 19:34:11
Das Teil ist extrem empfindlich. Kaum sind die ersten Tropfen da, schon meldet er das. Er macht aber auch keine Fehlmeldungen (Fliegen, Vögel, ...)

Mihca

Danke für Feedback!


  • Ja, der Sensor ist noch im Einsatz und sehr zuverlässig.
  • Ich kalibriere ihn ab und zu gegen eine Regenmessung mit Messbecher
  • Ob das Relais klickert, kann ich nicht sagen. Er hängt bei mir in der Nähe der Terrasse, wo ich bei Regen nie sitze.
  • Man kann die LED sicher mit schwarzem Isolierband überkleben.
  • ESPEasy zählt die Impulse des Sensors und gibt sie per MQTT an Fhem (MQTT2) weiter.

Viel Spass beim Basteln  :)
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

sinus61

Hab mir den RG-11 Sensor auch mal bestellt. Da mir das aus den USA zu lange dauern würde hab ich bei einem deutschen Händler bestellt (https://www.antratek.de/catalogsearch/result/?q=hydreon). Kosten knapp 75€ inkl Versand. War nach 2 Werktagen hier.
Gibt ja inzwischen auch 2 neuere Modelle, aber da muss man sich dann vor dem Kauf zwischen Tipping Bucket und It's Raining entscheiden.

Hardware hab ich ähnlich aufgebaut wie in der Vorlage von Mihca, ebenfalls als Tipping Bucket. Allerdings wollte ich auch noch Temperatur und Lichtsensoren an den Wemos hängen, das hatte ich in Tasmota schon fertig. Also den Regensensor auch in Tasmota integriert, ebenfalls an D6. In Tasmota dafür einen Counter angelegt, der gibt dann jeden Klick 1:1 weiter. Außerdem an D7 ein Relay definiert, könnte man dann später ggfs. direkt etwas anschließen.

Als nächstes in Tasmota eine Rule angelegt:

Rule1 ON COUNTER#C1>%var1% DO Backlog var1 %value%; POWER ON ENDON
Rule1 1
PulseTime1 280


Damit wird wenn es anfängt zu regnen sofort POWER auf on gesetzt und nach FHEM geschickt, damit hat man dann auch gleich die "It's Raining" Funktion und kann in FHEM reagieren. Nach 3 Minuten ohne Regen wird POWER wieder auf OFF gesetzt.
Das könnte man auch in FHEM realisieren, aber ohne die Rule ist man von der Teleperiod Zeit für MQTT abhängig. Für eine reine Regenmengenmessung aber wäre es sicher auch ausreichend.

In FHEM gibt es dann 2 Userreadings:

rainCounter:RESULT_Var1.* {sprintf("%.3f",(ReadingsNum($name,"RESULT_Var1",0)*0.001))},
rain:rainCounter.* monotonic {ReadingsNum($name,"rainCounter",0) }


Das erste nimmt die Var aus der Rule von Tasmota und multipliziert mit 0.001 (oder was eben im RG-11 als Auflösung definiert ist).
Das zweite ist der rain Zähler für FHEM. Der heißt halt der Einfachheit nur so weil ich damit das Statistik Modul füttere, da gibt es dann hinterher:


statRain         Hour: 0 Day: 0 Month: 0 Year: 0
statRainLast  Hour: 0 Day: 0 Month: 0 Year: 0


Die Zuverlässigkeit muss sich jetzt in den nächsten Tagen herausstellen. Meine echte Tipping Bucket an meiner Wetterstation musste ich gerade mal saubermachen, wenn der RG-11 gut läuft kann ich auf die vielleicht auch verzichten.

Übrigens klackert das Relais im RG-11 tatsächlich ziemlich viel wenn es regnet. Vielleicht macht es auch Sinn die Aufösung etwas runter zu nehmen.

Thyraz

Bin gerade auch auf der Suche nach einem Regensensor zwecks Markise und Warnmeldung bei offenen Dachfenster.

Ist dieser Sensor aus eurer Sicht empfehlenswerter als z.B. der hier oft verwendete Homematic Regensensor mit Heizung?
https://de.elv.com/elv-homematic-ip-komplettbausatz-regensensor-hmip-srd-154910?fs=3722081023

Der RG-11 trocknet seine Scheibe nicht, oder?
An sich wird er ja aber wahrscheinlich dennoch die Tropfen erkennen können wenn es regnet schätze ich, oder wie ist eure Erfahrungen in Herbst und Winter mit dem Ding?

Oder gibt es andersrum das Problem von False-Positives weil abperlende Taufeuchtigkeit im Herbst als Regen erkannt wird?
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

sinus61

Der RG-11 trocknet seine Scheibe nicht, aber von der Kuppel-Bauform her hält sich dort Wasser auch kaum. Einen Winter hat er bei mir noch nicht erlebt, aber ich denke auch Schnee kann sich darauf kaum länger sammeln. Aus meiner Sicht erkennt er auch schon leichten Regen sofort und zuverlässig.

Das Prinzip was der Homematic Sensor verwendet ist dagegen viel anfälliger gene Umwelteinflüsse, wie Dreck, Vogelschiß und ähnliches. Ich denke der RG-11 wird da deutlich länger halten. Und immerhin ist der Homematic Sensor ist ja schon für diesen Sensortyp relativ hochwertig, viele verwenden ja für solche Lösungen günstige Sensorplatten von Ali & Co.

Für eine reine Meldefunktion würde ja dann auch der RG-9 reichen, der kostet dann auch mit 58€ deutlich weniger als der Homematic Sensor.

Die Messung der Regenmenge finde ich dagegen relativ unzuverlässig. Zwar werden schon geringe Mengen besser erkannt als bei einer Wippe, oft zählt er aber zu viel. Ist mir gerade bei den letzten Herbststürmen mir etwas Regen aufgefallen.
Ich hab mir daher mal eine größere Wippe als die von meiner WS1600 Wetterstation besorgt. Gab es als Ersatzteil zu einer TFA Wetterstation, ich hab die Elektronik rausgeworfen und auf Zigbee umgerüstet, damit bin ich mit dem Standort flexibel.

Mal sehen, wenn das Zählen der Menge besser funktioniert stelle ich den RG-11 wieder auf normale Warnfunktion zurück.

bigtruite


Mihca

Das Gerät ist inzwischen seit mehr als 2 Jahren zuverlässig bei mir im Einsatz. Folgende Erfahrungen habe ich gemacht:

  • Der Sensor ist sehr empfindlich, d.h. er reagiert sofort, wenn es regnet.
  • Die Genauigkeit ist nicht so besonders, da er wohl nicht gut zwischen großen und kleinen Tropfen unterscheidet. Regenmenge weicht manchmal um +/-30% von der tatsächlichen Menge ab. Ich vergleiche ab und zu mit einem mechanischen Meßbecher und stelle das Reading "mmRainPerCount" nach. Zur Zeit steht es bei mir auf 0.006.
Zum Einfahren von Markisen und Schliessen von Dachfenstern bei Regen ist der Sensor schnell genug.
Zur Steuerung der Gartenbewässerung ist die Genauigkeit völlig ausreichend.

VG Achim
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Thyraz

Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Thyraz

Kam heute an. :)

Sehr beeindruckend wie gut er selbst auf kleinste Tropfen reagiert.
Betreibe ihn im "es-regnet" Modus, nicht mit der Niederschlagsmessung.

War die richtige Wahl.
Danke für die Empfehlung hier im Forum.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...