Autor Thema: Niederschlagsmessung mit optischem Hydreon RG-11 Regensensor und WeMos D1 mini  (Gelesen 4109 mal)

Offline Mihca

  • Full Member
  • ***
  • Beiträge: 287
  • Fhem seit 2014
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
« Letzte Änderung: 14 August 2019, 12:45:57 von Mihca »
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
NUC Ubuntu 20.04 Perl 5.30, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen
10xHomeMatic, 15xFS20, 1xWMBUS, 35xSonoff/Tasmota, 4xWeMos/ESPEasy, 2xCUL868v3 USB, 3xMAX! Cube LAN mit CUL-Firmware davon 2 HomeMatic & 1 WMBUS
Gefällt mir Gefällt mir x 2 Liste anzeigen

Offline JHo

  • Full Member
  • ***
  • Beiträge: 184
Es 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

Offline Mihca

  • Full Member
  • ***
  • Beiträge: 287
  • Fhem seit 2014
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
« Letzte Änderung: 02 September 2019, 19:32:26 von Mihca »
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
NUC Ubuntu 20.04 Perl 5.30, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen
10xHomeMatic, 15xFS20, 1xWMBUS, 35xSonoff/Tasmota, 4xWeMos/ESPEasy, 2xCUL868v3 USB, 3xMAX! Cube LAN mit CUL-Firmware davon 2 HomeMatic & 1 WMBUS

Offline JHo

  • Full Member
  • ***
  • Beiträge: 184
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

Offline Mihca

  • Full Member
  • ***
  • Beiträge: 287
  • Fhem seit 2014
Das Teil ist extrem empfindlich. Kaum sind die ersten Tropfen da, schon meldet er das. Er macht aber auch keine Fehlmeldungen (Fliegen, Vögel, ...)
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
NUC Ubuntu 20.04 Perl 5.30, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen
10xHomeMatic, 15xFS20, 1xWMBUS, 35xSonoff/Tasmota, 4xWeMos/ESPEasy, 2xCUL868v3 USB, 3xMAX! Cube LAN mit CUL-Firmware davon 2 HomeMatic & 1 WMBUS

Offline Omega

  • Sr. Member
  • ****
  • Beiträge: 555
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

Offline bigtruite

  • New Member
  • *
  • Beiträge: 41
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?


Das Teil ist extrem empfindlich. Kaum sind die ersten Tropfen da, schon meldet er das. Er macht aber auch keine Fehlmeldungen (Fliegen, Vögel, ...)
« Letzte Änderung: 09 Juli 2021, 10:30:46 von bigtruite »

Offline Mihca

  • Full Member
  • ***
  • Beiträge: 287
  • Fhem seit 2014
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  :)
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
NUC Ubuntu 20.04 Perl 5.30, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen
10xHomeMatic, 15xFS20, 1xWMBUS, 35xSonoff/Tasmota, 4xWeMos/ESPEasy, 2xCUL868v3 USB, 3xMAX! Cube LAN mit CUL-Firmware davon 2 HomeMatic & 1 WMBUS

Offline sinus61

  • Sr. Member
  • ****
  • Beiträge: 633
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.

 

decade-submarginal