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

Offline Mihca

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

Intel NUC Ubuntu, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen. 40xHomeMatic, 15xFS20, 1xWMBUS, 1xSonoff/Tasmota, 4xWeMos/ESPEasy, 2xCUL868v3 USB, 1xHMLAN, 1xMAX! Cube LAN mit CUL-Firmware

Offline JHo

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

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

Intel NUC Ubuntu, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen. 40xHomeMatic, 15xFS20, 1xWMBUS, 1xSonoff/Tasmota, 4xWeMos/ESPEasy, 2xCUL868v3 USB, 1xHMLAN, 1xMAX! Cube LAN mit CUL-Firmware

Offline JHo

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

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

Intel NUC Ubuntu, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen. 40xHomeMatic, 15xFS20, 1xWMBUS, 1xSonoff/Tasmota, 4xWeMos/ESPEasy, 2xCUL868v3 USB, 1xHMLAN, 1xMAX! Cube LAN mit CUL-Firmware

Offline Omega

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

 

decade-submarginal