Wie erkenne ich einfach, ob es zuhause regnet

Servus zusammen,

ich such nach einer praktikablen Möglichkeit zu erkennen, ob es bei mir zuhause regnet. Eine grobe Wetter-Vorhersage, dass es laut einer Wetter-App gerade in meiner Gegend regnet wäre die Minimalanforderung. Gerne aber auch zusätzlich mit einem einfachen (ZigBee-)Sensor, den ich irgendwo im Garten platziere. Ich brauche auch nicht die Regenmenge (nur optional). Mir reicht nur die Info als Ja oder Nein.

Ich möchte anhand dessen bestimmte Geräte im Garten steuern.

Grüße Robert

Nimm einen Wassersensor in die Regenrinne

Optimal wäre einen Regenmelder der auch für en Außeneinsatz konzipiert ist,
alles Andere wird Dir nach wenigen Jahren oder sogar Monaten weg faulen.

Ich habe einen Regenmelder von B+B jetzt fast schon 4 Jahre im Einsatz, funktioniert noch wie am ersten Tag. Qualität zahl sich halt aus. :wink:

In meinem Fall in Verbindung mit dem Smart Implat von Fibaro (Z-Wave)

Gruß
Osorkon

1 „Gefällt mir“

Hast du ein ein Beispiel für eine Komponente?

Ich bin nicht elektrotechnik-versiert. Wie bring ich denn den Sensor in meinen Home-Assistant? Müsst ich mir dazu nen ESP32 kaufen? Am Liebsten wär mir halt ein Sensor der per WIFI oder ZigBee direkt als Gerät im HA einfügen lässt

Wenn Du auf WIFI stehst, dann wäre ein Shelly Uni das richtige.

Also ein Regenmelder + Shelly Uni + 24V Netzteil.

Gruß
Osorkon

Ich habe mir diese Komponenten aus dem Video zusammengebastelt.
Funktioniert bestens:

2 „Gefällt mir“

Ich möchte grad erst mit dem Thema ESP-Controller anfangen. Anstatt einem Shelly Uni könnte ich aber auch einen ESP32 nehmen, oder?

Es geht ja nur darum, den Ausgang des Regensensors mit einem Kabel auf einen Controller zu bringen, oder? Das müsste ja mit einem ESP-32 auf funktionieren. Aber der Sensor braucht trotzdem separat eine Stromversorgung und kann nicht die vom ESP nehmen, oder?

Ich habe heute einen RB-SRAIN01 installiert. Klappt prima bislang, konnte das gleich testen, da es heute geregnet hat. Schon ganz leichter Regen wird als solcher erkannt.
Solange noch Tropfen drauf sind, wird auch Regen angezeigt, obwohl es längst aufgehört hat, aber das war mir vorher klar. Mir ist vor allem eine zuverlässige Meldung bei Regenbeginn wichtig, das klappt.
Morgentau ist natürlich auch noch ein Problem., Mal schauen, wie das Gerät reagiert und wie ich damit evtl. umgehen kann.
Hier noch mein Sensor (gefunden im Netz und leicht abgewandelt) für die Anzeige der Regenstärke (bei mir in der configuration.yaml unter template:)

  - sensor:
      - name: "Regenstärke"
        state: >
          {% set intensity = states('sensor.regensensor_balkon_rain_intensity') | int %}
          {% if intensity < 10 %}
            Kein Regen
          {% elif intensity <= 1500 %}
            Ganz Leichter Regen
          {% elif intensity <= 2200 %}
            Leichter Regen
          {% elif intensity <= 2600 %}
            Normaler Regen
          {% else %}
            Starker Regen
          {% endif %}

Mit den Werten muss ich noch spielen, das sind allererste Versuche während des Regens vorhin, aber in etwa könnte es so hinkommen.

Falls jemand Ideen hat oder das schon eingebaut hat bezüglich Morgentau (wie von Regen abgrenzen/unterscheiden), gerne her damit :slight_smile:

1 „Gefällt mir“

Danke, finde ich gut, ich schau mal und hole mir auch einen.

… ich werde dass hier mal testen:
Tuya Solarlicht und Regensensor, Smarthome Rain And Light Sensor
Für unter 20 Euro (m)einen Versuch wert.

Den habe ich gestern auch bekommen. Wenn Du das Regen/Tau-Problem irgendwie lösen kannst gerne mal hier reinschreiben. Hab das Teil noch nicht getestet, werde vorrangig den Lichtsensor verwenden zum schalten der Beleuchtung von den Pflanzen.
Fleischfressende, kein Gras… :rofl:

Dieser ELV hat ne Heizung drin, dann mim Ausgang auf nen Eingang von nen shelly, esp o. ä. Habs nicht getestet, da ich ne Wetterstation von Stall.biz habe, aber dessen sensor funktioniert nach dem gleichen Prinzip und der ist perfekt…

1 „Gefällt mir“

Oh, sehr cool, das mit der Heizung. Danke :slight_smile:

Ich habe seit 2 Tagen auch den RB-SRAIN01

  • Seht Ihr bei Euch den Batteriestand? Ich habe immer unknown auch nach mehrfachen Anlernen. Der Rest geht.
  • Und wofür steht der Cleaning Reminder? Hat sich mir beim Testen noch nicht erschlossen.
  • Am Erkennen vom Regen arbeite ich gerade mit Ableitungssensoren. Ist vielversprechend. Sobald ich sicherer bin, veröffentliche ich meinen Weg.
    Danke

PS: Ach eins noch - Regenschutz IP6 ?! Naja, darauf würde ich nicht zu viel geben. Ich habe sicherheitshalber etwas Silikonfett an der Naht “Teller/Topf” aufgetan.

Batterie musste ich noch selber aktivieren, dachte es sei behoben mittlerweile. Schau mal nach unter “Berichte”, und gegebenenfalls selber einstellen wie auf dem Screenshot:

2 „Gefällt mir“

Moin,

wie oben versprochen mein Methode zum Unterscheiden von Regen/Tau etc.

Sie bezieht sich auf den Regensensor Tuya RB-SRAIN01 und auf die letzten 3 Tage wechselhaftem Wetter und erzeugtem 3800 Testdaten und Beobachtungen. Und dann Muster erkennen und programmieren und wieder von vorne anfangen :slight_smile:

Testdaten

Um Testdaten zu produzieren habe ich mir bei jeglicher Änderung von sensor.regensensor_rain_intensity eine Mail mit verschiedensten Werten herangezogen, die ich ggf. zur Unterscheidung heranziehen könnte.

action: notify.gmx
metadata: {}
data:
  title: >-
    {{states('sensor.uhrzeit_momentan_formatiert_hh_mm')}} Regenintensität zu
    "{{ states('sensor.regensensor_rain_intensity') }}" und "{{
    states('sensor.regenstarke') }}"
  message: |
    - Automatisation: automation.om_aut_draussen_regenstarke -
    - binary_sensor.regensensor_cleaning_reminder: {{
    states('binary_sensor.regensensor_cleaning_reminder') }}
    - sensor.regensensor_battery: {{ states('sensor.regensensor_battery') }} %

    --------------------

    - Regensensor State: {{ states('binary_sensor.regensensor_rain')}}

    - sensor.regensensor_rain_intensity:
    {{states('sensor.regensensor_rain_intensity') }}

    - sensor.regen_ableitung_45_sekunden:
    {{states('sensor.regen_ableitung_45_sekunden') }}

    - sensor.regen_ableitung_5_minuten:
    {{states('sensor.regen_ableitung_5_minuten') }}

    - Mein eigener Sensor Regenstaerke hat den Status:
      "{{ states('sensor.regenstarke') }}" -> Stimmt das mit Deiner Beobachtung überein ???

    --------------------

    - Solarproduktion: {{states('sensor.solar_carport_power')}}

    - Wetter Quickborn: {{states('weather.quickborn')}}

Kleiner Tipp: Automatisches Verschieben in einen Unterordner macht Sinn.

Erster Teil der Lösung sind 2 Ableitungssensoren, die angelegt werden müssen:

  • 45 Sekunden Basis (= kurzfristiger Anstieg/Rückganges)
  • 5 Minuten Basis (Anstieg/Rückganges in 5 min)

Als Besitzer eines Balkonkraftwerks habe ich noch die erzeugte Solarenergie als Kriterium herangezogen. Darüber läßt sich streiten weil es auch mal bei Sonne regnen kann aber ich fand es sehr hilfreich um stundenlange Feuchtigkeit am Tau am Morgen zu erkennen.

Zweiter Teil der Lösung: Ein Template Sensor angelegt mit folgendem Code:

{#--- 1. Setzen von Texten und anderen Variablen  ---#}

{% set Solargrenze_sonnig_watt = 150 -%}
{% set Regenstatus1 = 'Es ist feucht (kein Regen).' -%}
{% set Regenstatus2 = 'Fing gerade an zu regnen.' -%}
{% set Regenstatus3 = 'Es regnet.' -%}
{% set Regenstatus4 = 'Es regnet etwas weniger.' -%}
{% set Regenstatus5 = 'Kein Regen aber es ist naß.' -%}
{% set Regenstatus6 = 'Es ist naß aber die Sonne scheint.' -%}
{% set Regenstatus7 = 'Kein Regen aber es ist naß.' -%}
{% set Regenstatus8 = 'Logik unvollständig' -%}
{% set Regenstatus9 = 'Es regnet nicht.' -%}
{% set Regenstatus10 = 'Invalider Status' -%}

{# Zum Debuggen Kommentar entfernen / überschreibt obere Texte

{% set Regenstatus1 = 'Es ist feucht. (Tau o. Restregen)' -%}
{% set Regenstatus2 = 'Fing an zu regnen (45 s > 1)' -%}
{% set Regenstatus3 = 'Es regnet (5 min > 1)' -%}
{% set Regenstatus4 = 'Es regnet weniger (45 s < -1)' -%}
{% set Regenstatus5 = 'Kein Regen aber naß (5 min < -1)' -%}
{% set Regenstatus6 = 'Sonne aber naß (Solar > ' + Solargrenze_sonnig_watt | string + ')' -%}
{% set Regenstatus7 = 'Kein Regen aber naß (-1 zu 1)' -%}
{% set Regenstatus8 = 'Logik unvollständig' -%}
{% set Regenstatus9 = 'Es regnet nicht (off)' -%}
{% set Regenstatus10 = 'Invalider Status' -%}

#}

{% set Regensensor = none -%}
{% set Regenintensitaet = none -%}
{% set Ableitung_45s = none -%}
{% set Ableitung_5min = none -%}
{% set Solar = none -%}
{% set invalid_status = ['none', 'unknown', 'unavailable'] -%}
{% set my_stati = true -%}

{#--- 2. Prüfung auf valide Stati (mystati == false führt später zum Abbruch) ---#}

{% if states('binary_sensor.regensensor_rain') | lower not in invalid_status -%}
  {% set Regensensor = states('binary_sensor.regensensor_rain') -%}
{% else %}
  {% set my_stati = false -%}
{% endif -%}
{% if states('sensor.regensensor_rain_intensity') | lower not in invalid_status -%}
  {% set Regenintensitaet = states('sensor.regensensor_rain_intensity') | float -%}
{% else -%}
  {% set my_stati = false -%}
{% endif -%}
{% if states('sensor.regen_ableitung_45_sekunden') | lower not in invalid_status -%}
  {% set Ableitung_45s = states('sensor.regen_ableitung_45_sekunden') | float -%}
{% else -%}
  {% set my_stati = false -%}
{% endif -%}
{% if states('sensor.regen_ableitung_5_minuten') | lower not in invalid_status -%}
  {% set Ableitung_5min = states('sensor.regen_ableitung_5_minuten') | float -%}
{% else -%}
  {% set my_stati = false -%}
{% endif -%}
{% if states('sensor.solar_carport_power') | lower not in invalid_status -%}
  {% set Solar = states('sensor.solar_carport_power') | float -%}
{% else %}
  {% set my_stati = false -%}
{% endif %}

{#--- 3. Beginn der Unterscheidungen ob Regen, Tau oder nur feucht ---#}

{% if my_stati -%}
  {# Case: Es ist feucht aber Regensensor ist noch off
  Ich konnte keinen belastbaren Zusammenhang zwischen Regensensor on/off und Regenintensität herstellen
    - off -> on bei > 700 aber auch erst bei 2077
    - on -> off bei Durchbruch erst bei von 176
  Ich setze >80 als feucht und sollte Regensensor angehen, überschreibt er den Wert von Regenstatus
  #}
  {% if Regensensor == 'off' and Regenintensitaet > 80 -%}
    {% set Regenstatus = Regenstatus1 -%}

  {% elif Regensensor == 'on' or Ableitung_45s > 1 or Ableitung_5min > 1 -%}
    {# !!! Denk dran elif bedeutet obere Bedingungen greifen alleinig, also die eindeutigen nach oben !!!#}

    {# Fing an zu regnen (45 s > 1) #}
    {% if Ableitung_45s > 1 and Ableitung_5min <= 1 -%}
      {% set Regenstatus = Regenstatus2 -%}
    
    {# Es regnet (5 min > 1)#}
    {% elif Ableitung_5min and Ableitung_5min > 1 -%}
      {% set Regenstatus = Regenstatus3 -%}
    
    {# Es regnet weniger (45 s < -1) #}
     {% elif Ableitung_45s < -1 %}
      {% set Regenstatus = Regenstatus4 -%}
    
    {# Kein Regen aber naß (5 min < -1) #}
    {% elif Ableitung_5min < -1 %}
      {% set Regenstatus = Regenstatus5 -%}
    
    {# Solarproduktion > XXX Watt weil Sonne scheint (Schwachpunkt: manchmal regnet es auch wenn die Sonne scheint #}
    {% elif Solar > Solargrenze_sonnig_watt -%}
      {% set Regenstatus = Regenstatus6 -%}
  
    {# Kein Regen aber naß (-1 zu 1) #}
    {% elif Ableitung_45s >= -1 and Ableitung_45s | float <= 1 -%}
      {% set Regenstatus = Regenstatus7 -%}
 
    {% else %}
      {#Logik ist noch nicht vollständig :( #}
      {% set Regenstatus = Regenstatus8 -%}
    {% endif %}
  {# Case: Regensensor = off - Es regnet nicht #}
  {% else %}
    {% set Regenstatus = Regenstatus9 -%}
  {% endif %}
{# Case: Invalider Status #}
{% else -%}
  {% set Regenstatus = Regenstatus10 -%}
{% endif -%}
{{Regenstatus}}

Für die Entwickler unter Euch: Was mich anfangs verzweifeln ließ, war folgendes Jinja Verhalten:

{{-1.6 | float }} → 1.6 (Wo ist das Minus?)
{% set value = -1.6 %}
{{value | float }} → -1.6
Der Jinja-Parser erkennt das Minuszeichen als Trennzeichen und “floated” nur die Ziffer. Wird der Wert einer Variablen zugewiesen, geht es.

Und was mache ich daraus?
Am meisten interessiert mich, wenn es anfängt zu regnen und entsprechende Türen/Fenster zu sein sollten. Unsere Gartenhüttentür vergessen wir sehr gerne.
Desweiteren spiele ich mit dem Gedanken, unser Gartenlicht auszuschalten, wenn es so richtig schüttet. Aus reiner Kurzschluß Vorsicht aber mal sehen.

Was noch offen ist
Keine Ahnung wie der Regensensor sich im Winter bei Schnee oder Frost verhält. Dann werde ich sicher hier und da noch nachjustieren müssen.

Ich wünsche Euch ein Gutes Gelingen mit Euren Regensensoren!

PS: Danke auch an @RobertSorgenfrei, der mich in diesem Thread auf die richtige Idee gebracht hatte. Deine 45 s Ableitungsidee habe ich übernommen.

2 „Gefällt mir“

@knuti1960 - ein Regensensor sollte auch über eine Heizung verfügen, sonst hat du ein Problem mit der tatsächlichen Regendauer, Tau, Schnee und Vereisung. Das bedeutet aber auch… ans Netz anstecken.

Ich habe schon einige Jahre die Lösung aus dem Video oben, mit einem Shelly UNI und bin damit sehr zufrieden…
Screenshot_164

Hatte einige Zeit einen Widerstand drin um das ständige Heizen zu deaktivieren. Leider funktionierte der Sensor danach (aus oben genannten Gründen nicht mehr korrekt bzw. nicht mehr so, wie ein Regensensor funktionieren sollte. Hatte teilweise einen ganzen Vormittag “Nass”, weil der dichte Neben sich nicht auflöste und im Winter ging teilweise überhaupt nicht mehr, weil das Teil zugeschneit oder total vereist war.

1 „Gefällt mir“

Ich habe seit heute auch einen
RB-SRAIN01
und er zeigt mir auch die Batterie, nur leider fehlt bei mir die Beleuchtungsstärke.

Es steht auch RB-SRAIN01 hinten drauf, aber erkannt wird er “nur” als
TS0207_water_leak_detector

Muss ich dieses Konverterfile von Hand erzeugen?

Ich mußte das nicht machen, bei mir hat Zigbee2MQTT auch einen RB-SRAIN01 erkannt. Dafür mußte ich wie oben beschrieben die Batterie unter Berichte definieren.