Durch einen Leserkommentar bin ich auf eine wirklich einfache Bauanleitung für einen ZigBee Regensensor aufmerksam gemacht worden. Diese Bauanleitung von masterkenobi habe ich selbst umgesetzt und für andere interessierte in diesem Beitrag dokumentiert: ZigBee Regensensor in 3 Schritten selber bauen mit Xiaomi/Aqara Türsensor.
DIY ZigBee Regensensor
Um es gleich vorweg zu sagen: Mein DIY (Wikipedia: do-it-yourself) ZigBee Regensensor ist definitiv nicht schön. Aber er ist einfach zu bauen, funktioniert verlässlich und kostet nur sehr wenig Geld. Aber schön ist er garantiert nicht. 🙂 Meine Fähigkeiten mit der Heissklebepistole sind definitiv ausbaufähig!
Inhaltsverzeichnis
Benötigtes Zubehör
Für diesen einfachen ZigBee Regensensor benötigt man lediglich:
- einen günstigen ZigBee Türsensor
- einen günstigen Regensensor
- eine wasserdichte Dose
- etwas Draht
- vier Schrauben
- sowie einen Lötkobeln, eine Heissklebepistole und etwas übliches Werkzeug
Ich unterstelle, dass nahezu jeder Draht, Lötkobeln, Heissklebepistole und einfaches Werkzeug zu Hause hat. Somit wirst du für diesen DIY ZigBee Regensensor lediglich die folgenden Bauteile kaufen müssen:
Dies sind natürlich nur beispielhafte Bauteile, mit denen ich meinen Regensensor gebaut habe. Vergleichbare Ausführungen werden es ziemlich sicher auch tun!
Bauanleitung
Wenn du alle benötigten Bauteile zu Hause hast, kannst du mit dem sehr einfachen Zusammenbau der Komponenten beginnen. Letztendlich musst du nicht viel mehr machen als den Regensensor direkt an die Kontakte des Reedschalters (Wikipedia: Reedschalter) des Türsensors zu löten. Die Reihenfolge/Farbwahl ist hierbei komplett egal.
Ich habe in meinem Fall den Reedschalter nicht entfernt, so dass ich den Türsensor zukünftig auch wieder als Türsensor nutzen könnte. Wichtig ist in diesem Fall nur, dass keine Magnete in die Nähe des DIY ZigBee Regensensors kommen, um nicht falschen Alarm auszulösen.
In die wasserdichte Abzweigdose habe ich dann für die Kabeldurchführung ein kleines Loch gebohrt. Nachdem ich as Kabel durch das Loch geführt habe, wird das Loch mit Heisskleber wasserdicht verschlossen. Teste vorher jedoch auf jeden Fall, dass deine Konstruktion funktioniert!
Bei dem von mir gewählten Regentropfen Sensor von AZ-Delivery reicht es bereits aus die Kontakte des Sensors mit den Fingern zu berühren um Strom zu leiten. Erst, wenn der Türsensor dies erkennt und entsprechend das Signal „geschlossen“ sendet, solltest du alles festlöten bzw. mit der Heissklebepistole fixieren und abdichten.
Nachdem ich also mein Proof of Concept hatte, habe ich für den eigentlichen Wassertropfen-Sensor mit Schrauben noch eine Erhöhung gebaut. Da der Wassertropfen-Sensor auf beiden Seiten die Sensorfläche hat, möchte ich vermeiden, dass sich unterhalb des Sensors Wasser sammelt und somit „dauerhaft“ falschen Alarm auslösen kann.
Ich habe hierfür ohnehin vorhandene Schrauben genutzt, da diese zum einen perfekt in die Löcher an allen 4 Ecken passten und sich perfekt als Abstandshalter geeignet haben:
(Auch auf diesem Foto sieht man wieder meine nicht vorhandenen Fähigkeiten an der Heissklebepistole… :))
Dann kannst du die wasserdichte Dose schließen und auf der Dose den Regentropfen-Sensor befestigen. Auch hierfür habe ich natürlich die Heissklebepistole benutzt – Übung macht den Meister:
Das war es eigentlich an „Baumaßnahmen“ schon. Wie gesagt: Meine Lösung ist definitiv nicht schön. Aber sie kann wirklich von jedem nachgebaut werden. Dazu ist sie noch absolut kostengünstig. Und es macht natürlich Spaß für das eigene Smarthome Dinge zu kombinieren und Neues zu schaffen. 🙂
Diesen DIY ZigBee Regensensor kannst du dann aufgrund der eingebauten Batterie nahezu beliebig platzieren. Natürlich musst du dabei die ZigBee-Reichweite beachten! 😉
Einbindung in Home Assistant
Den Aqara-Türsensor hatte ich für Funktionstests natürlich vor meiner Umbaumaßnahme bereits im Home Assistant eingebunden. Da es sich um einen Türsensor handelt, wird die Entity-ID beim Anzeigen des aktuellen Status folglich die Zustände „Offen“ oder „Geschlossen“ haben. Offen bedeutet in unserem Fall, dass der Wassertropfen-Sensor trocken ist. Regnet es hingegen „schließt“ der Sensor und die Entity-ID wird als geschlossen angezeigt.
Rein technisch kommen wir damit natürlich zurecht. Aber es sieht komisch aus. Und da meine Heisskleber-Versuche schon komisch aussehen, wollen wir nun zumindest noch unseren DIY ZigBee Regensensor im Home Assistant ordentlich dargestellt haben.
Hierfür bedienen wir uns der Möglichkeit für einen Binary-Sensor ein Template zu erstellen:
- platform: template sensors: regensensor: friendly_name: "Regensensor" device_class: moisture icon_template: >- {% if is_state('binary_sensor.fenster_turkontaktsensor_2', 'off') %} mdi:weather-rainy {% else %} mdi:water-off {% endif %}
Zum Einen definieren wir, dass es sich um die Geräte-Klasse „moisture“, also Feuchtigkeit handelt und zum anderen ersetzen wir auch noch die dargestellten Icons in Abhängigkeit vom Zustand unseres Sensors.
Mit der Zuweisen der Geräte-Klasse „moisture“ werden automatisch der bisherige Zustand „offen“ zu „trocken“ und der bisherige Zustand „geschlossen“ zu „nass“.
Fertig ist der ganze Spaß – ich hoffe dir hilft es auch ein wenig weiter! Und vielen Dank noch einmal an masterkenobi für den Hinweis im Home Assistant Forum als auch an den guten Leser-Hinweis!
Produktempfehlungen
Danke für diese DIY Vorschlag. Eine Frage stelle ich mir aber. Hat jemand getestet wie es sich verhält mit den „Leiterbahnlücken der Platine senkrecht“ im Vergleich zu „Leiterbahnlücken der Platine waagerecht“? Ich hoffe Ihr versteht was ich meine. Mein Gedanke ist, den Ablauf von Regentropfen zu erleichtern.
Dir geht es darum, dass der Sensor schneller trocknen soll?
Im Sommer dürfte das fast egal sein (und d brauche ich den Sensor eigentlich nur). Zur aktuellen Jahreszeit könnte es helfen, die Bahnen so rum zu platzieren, dass der Regen „dazwischen“ abfließen kann, mit Gefälle natürlich.
Danke Dir 🙂
Hallo Olli,
vielleicht kannst du mir helfen.
Ich hab den Sensor begeistert nachgebaut bin aber leider unfähig das das ding funktioniert. Der Sensor ist über Zigbee eingebunden und funktioniert auch soweit.
Jetzt wollte ich deinen Code in die Konfiguration.yaml einfügen:
– binary_sensor:
– name: Regensensor
state: {{is_state(‚binary_sensor.regensensor_zigbee_contact‘) }}
device_class: moisture
icon_template: >-
{% if is_state(‚binary_sensor.regensensor_zigbee_contact‘, ‚off‘) %}
mdi:weather-rainy
{% else %}
mdi:water-off
{% endif %}
Leider bekomme ich dann folgende Meldung:
The system cannot restart because the configuration is not valid: Error loading /config/configuration.yaml: invalid key: „{„is_state(‚binary_sensor.regensensor_zigbee_contact‘)“: None}“ in „/config/configuration.yaml“, line 48, column 0
Ich komm nicht drauf wo mein Problem liegt. Hat sich an dem Code nochmals was geändert?
Hi Marc,
folgender Code sollte mit HA 2023.9 funktionieren:
template:
- binary_sensor:
- name: "regensensor2"
state: "{{ states('binary_sensor.fenster_turkontaktsensor_2') }}"
device_class: moisture
icon: >-
{% if is_state('binary_sensor.fenster_turkontaktsensor_2', 'off') %}
mdi:weather-rainy
{% else %}
mdi:water-off
{% endif %}
Gib‘ gerne Feedback, ob es geklappt hat!
Ich glaube, dass ich den Beitrag mal aktualisieren oder neu verfassen sollte 😉
VG
Olli
Hm also ich kann machen was ich will aber der Code selbst in den Kommentaren funktioniert nicht.
Konfiguration fehlerhaft!
Invalid config for [binary_sensor.template]: expected dictionary for dictionary value @ data[’sensors‘]. Got None
extra keys not allowed @ data[‚friendly_name‘]. Got ‚„Regensensor“‘
extra keys not allowed @ data[‚icon_template‘]. Got ‚{% if is_state(‚binary_sensor.lumi_lumi_sensor_magnet_aq2_opening‘, ‚off‘) %} mdi:weather-rainy {% else %} mdi:water-off {% endif %}‘
extra keys not allowed @ data[‚regensensor‘]. Got None
extra keys not allowed @ data[‚value_template‘]. Got ‚{{is_state(‚binary_sensor.lumi_lumi_sensor_magnet_aq2_opening‘)}}‘. (See ?, line ?).
Kann hier jemand helfen? Ich habe schon Stunden (ca 6 Std probiere ich das nun) damit verbracht…
Ja, das liegt an einer Änderung bei Home Assistant. Kannst du folgenden Code probieren und kurz Feedback geben? Dann passe ich das im Text entsprechend an!
template:
- binary_sensor:
- name: "Regensensor"
state: {{ is_state('binary_sensor.fenster_turkontaktsensor_2') }}
device_class: moisture
icon_template: >-
{% if is_state('binary_sensor.fenster_turkontaktsensor_2', 'off') %}
mdi:weather-rainy
{% else %}
mdi:water-off
{% endif %}
Hast du noch einen Idee.
– platform: template
sensor:
friendly_name: „Regensensor“
state: {{ is_state(‚binary_sensor.regensensor_contact‘) }}
device_class: moisture
icon_template: >-
{% if is_state(‚binary_sensor.regensensor_contact‘, true) %}
mdi:weather-rainy
{% else %}
mdi:weather-sunny
{% endif %}
Fehler :
Error loading /config/configuration.yaml: invalid key: „{„is_state(‚binary_sensor.regensensor_contact‘)“: None}“
in „/config/configuration.yaml“, line 252, column 0
Zwei Dinge:
1.: Heißt dein Sensor wirklich „binary_sensor.regensensor_contact“ wie bei mir?
Und 2.: Dein Code beinhaltet „is_state(‚bin…“ ein Komma nach der öffnenden Klammer. Das muss ein Hochkomma sein!
Kleiner Tip: Wenn schon, dann lieber Sanitärsilikon verwenden.
Unter den Heißkleber kriecht das Wasser mit der Zeit drunter , ist also relativ sinnlos 😉
Sehr schöne Anleitung, Teile bestellt und in einer Stunde war alles fertig. Auch mein erstes Mal mit eine Heißklebepistole und ich war sogar Recht erfolgreich damit
Danke!
Hallo! Danke für all die Erfahrungen, die du mit uns geteilt hast. Kannst du etwas zur Akkulaufzeit sagen? In der Box ist Platz, um ein wenig zu modifizieren und zwei Lithium-AA-Batterien anzuschließen. Dies könnte die Batterielebensdauer um den Faktor 20 verlängern. Warum haben Sie den Tür-/Fenstersensor und nicht den Wasserlecksensor verwendet? Letztere ist bereits im IP67-Gehäuse abgedichtet.
HI! Die Laufzeit des Akkus hängt natürlich 100% vom lokalen Wetter ab: Je mehr Wechsel es zwischen Regen und „trocken“ gibt, desto öfter erfolgt durch den Türsensor ein „funk“ an das ZigBee-Netzwerk. Eine grundsätzlich gültige Aussage zu treffen, ist also entsprechend schwer/unmöglich. Ich kann aber sagen, dass in dem beschriebenen Setup bei mir der Akku nun schon knapp anderthalb Jahre hält!
Dennoch liebäugle ich auch bereits mit einem Update/Neubau, nämlich wie von dir auch angeregt mit einem Wassersensor!
Hallo und Danke für den tollen Beitrag.
Wie funktioniert das mit dem „Regen hat aufgehört“? Muss dazu der Sensor komplett trocknen oder reicht es aus den Sensor schräg zu positionieren und die Regentropfen laufen ab? Wie groß ist da die zeitliche Verzögerung?
Gruß H.
Hi!
Genau, der Wassensensor sollte leicht schräg angebracht sein, damit Tropfen leichter runterlaufen können! Ansonsten konnte ich bislang nicht feststellen, dass es zu lange gedauert hätte, bis es wieder „trocken“ war. Zumindest hat dies bei mir noch keine Probleme gemacht. Zu einer konkreten zeitlichen Verzögerung kann ich deswegen leider nichts sagen, da ich bislang keinen bedarf hatte, dies zu messen o. ä.!
Viele Grüße
Olli
Hallo und danke für das Teilen Deiner Lösung, @Olli.
Was hast du für Erfahrungen gemacht, wie sensibel der Sensor meldet? Z.b. bei Tau, Nebel oder auch Schee- oder Graupel?
Man kann ja weder zu sensibel noch zu spät auslösend brauchen.
Danke Dir! 😀
Hi Alexander,
ich habe den Regensensor nun ja seit etwas über einem Jahr in dieser Form im Einsatz. Verlässlich war er dahingehend bislang (gefühlt) immer, dass Regen/Schnee trotz der ja da doch relativ kleinen Fläche schnell erkannt wurde.
Fehlmeldungen aufgrund von Tau oder Nebel habe ich bewusst keine festgestellt.
Kurzum: Das Ding ist genau wie hier beschrieben weiterhin bei uns im Einsatz und schützt unsere Markise insbesondere vor Regen! 🙂
Beste Grüße
Olli
Hallo Olli.
bin auf Deine klasse Beschreibung gestoßen und will das ganze nachbauen. Bin , was HA angeht, leider noch Neuling. Wo muss der Code hin ? Config ?
Gruß Matthias
Hi Matthias, du kannst dies direkt in deiner configuration.yaml einbauen, allerdings fehlt dann noch ein einleitendes
binary_sensor:
Da ich meine configuration.yaml in unzählige Unterdateien aufgeteilt habe und diese „automatisch“ einbinde, fehlt das „binary_sensor:“ in meinem Code-Schnipsel.
Hallo!
Cooles Projekt! 🙂
Frage dazu: Kann man statt dem ZigBee-Fenster-Tür-Sensor auch eine WiFi-Variante verwenden (bspw. diesen hier: https://www.amazon.de/dp/B07Q8F46J4/ref=cm_sw_em_r_mt_dp_U_GpSbFbQH0VZD9)?
LG
Thomas
Hallo Thomas!
Da auch dieser Sensor vermutlich rein mit Magneten arbeitet, sollte es absolut vergleichbar umsetzbar sein. Im Inneren des Sensors wird ein Reedschalter eingebaut sein und statt diesem, wirst du den Regensensor anschließen müssen.
Aber W-LAN wird zwangsläufig stromhungriger sein, bist du dir sicher, dass du es so umsetzen willst? Mein Regensensor mit ZigBee ist nun seit etwas mehr als 3 Monaten im Einsatz und die Batterie hat noch 91% Ladung, nur um die mal ein Gefühl zu geben!
Beste Grüße
Olli
Das Problem wird hier die Haltbarkeit sein: diese Leiterplatinen aus China als Regensensoren rosten halt schnell und lösen sich vom Träger ab und dann ist der Kontakt weg.
Hast du hier schon Erfahrungen über längere Zeit sammeln können? Habe gelesen, dass er als Pflanzensensor keine Wochen gehalten haben soll (auch wenn er dort noch den Dünger ausgesetzt ist)..
🙄
Hi!
Also bei mir arbeitet der Regensensor nun seit fast 3 Monaten ohne Probleme. Ich werde mir den Zustand der Kontakte mal bei Gelegenheit anschauen und berichten!
Viele Grüße
Olli
Teile sind bestellt und wird am Wochenende mal getestet. Handwerklich bin ich zwar nicht aller beste aber das traue ich mir noch zu. Leider gibt es Markt ja nichts out of the box was die selbe Funktion bietet.
Hallo Oliver,
mit Begeisterung lese ich deine Beiträge auf deiner Webseite zum Thema Homeassistant. Insbesondere der Beitrag „Zigbee Regensensor mit Xiaomi Türsensor“ hat es mir angetan und ich habe heute das Projekt in die Tat umgesetzt.
Soweit hat alles wunderbar funktioniert. Allerdings habe ich Problem damit, dass der Sensor die Werte Nass/Trocken richtig anzeigt. Die Werte erscheinen bei mir in HA vertauscht (also wenn der Sensor trocken ist, zeigt er NASS an und umgekehrt).
Vielleicht kannst du mir einen Tipp geben, wo du das value_template definierst? Ich habe es nun in der customize.yaml gepflegt.
Vielen Dank für einen kleinen Hinweis.
Viele Grüße,
Alex
Hallo Alex,
freut mich, wenn meine Beiträge gefallen! 🙂
Tatsächlich habe ist/war der YAML-Code im Beitrag nicht mehr aktuell, bei mir kommt aktuell folgender Code zum Einsatz:
– platform: template
sensors:
regensensor:
friendly_name: „Regensensor“
device_class: moisture
value_template: >-
{{ is_state(‚binary_sensor.fenster_turkontaktsensor_2‘, ‚off‘) }}
icon_template: >-
{% if is_state(‚binary_sensor.fenster_turkontaktsensor_2‘, ‚off‘) %}
mdi:weather-rainy
{% else %}
mdi:water-off
{% endif %}
Probier es doch damit einmal aus, und geb mir hier gerne ein Feedback, dann tausche ich den Code im Beitrag auch direkt aus!
Viele Grüße
Olli
Hey danke für die Idee und die Anleitung.
Ich bekomme es leider nicht zum Laufen. Bekomme die Meldung, dass die ID nicht eindeutig sei.
Hab ich hier einen Fehler eingebaut?
binary_sensor:
– platform: template
sensors:
regensensor:
friendly_name: „Rainsensor“
value_template: >-
{{is_state(‚binary_sensor.rain‘)}}
icon_template: >-
{% if is_state(‚binary_sensor.rain‘, ‚off‘) %}
mdi:weather-rainy
{% else %}
mdi:water-off
{% endif %}
Korrektur: das mit der ID habe ich gelöst.
Aber der Sensor ist immer „nicht verfügbar“.
hier steh ich an
Nochmal ich ^^
Mein Problem liegt wohl irgendwo bei dem value_template. Mit is_state bekomme ich immer nur „nicht Verfügbar“. states. zeigt mir aber die Werte verkehrt an. Hättest du einen Tipp?
value_template: >-
{{is_state(‚binary_sensor.rain‘)}}
Hi Phil und sorry für die späte Antwort!
Du schreibst
{{is_state(‚binary_sensor.rain‘)}}
Das Komma am Anfang ist verkehrt/falsch! Du kannst auch
{{is_state("binary_sensor.rain")}}
schreiben, wenn du mit den Hochkommata auf deiner Tastatur Probleme hast!
Ich hoffe das hilft dir schon!
Danke dir. Habs geschafft.
Andere Frage aber – es passiert bei dem Sensor immer wieder, dass der Status „hängen bleibt“.
Das ganze ist auch einfach mit dem Finger reproduzierbar (sprich antippen)
Hättest du eine Idee woran das liegt oder hat der Sensor was?
Du meinst der Sensor aktualisiert in Home Assistant nicht, obwohl es nass geworden ist bspw.? Sofern die Verdrahtung in Ordnung ist, dürfte dies an deinem ZigBee-Netzwerk liegen!
Zum Verstärken des ZigBee-Signals habe ich hier mal etwas geschrieben: https://smarterkram.de/757/
Vielleicht hilft dir das ja!