Links zu den Produkten und Dienstleistern ganz unten!

Ein Näherungsschalter dient dazu, z.B. Lichter einzuschalten, wenn man sich in einem Raum bewegt. Technisch gibt es dafür eigentlich zwei Möglichkeiten: Per PIR, also Infrarot, oder per Radarsensor. Ich beschreibe im Folgenden den Radarsensor.

Radarsensoren beruhen auf dem sog. Dopplereffekt. Dopplereffekt bedeutet, wenn z.B. ein Krankenwagen an einem vorbeifährt, dann hört sich die Sirene heller an, wenn der Krankenwagen auf einen zukommt und tiefer, wenn er sich entfernt. Beim Krankenwagen ist das eine hörbare Frequenz, beim Radarsensor nicht, aber es funktioniert nach dem gleichen Prinzip: Der Sensor sendet Radarstrahlen aus und empfängt deren Echo. Sobald der Sensor Frequenzen höherer oder niedrigerer Frequenz als der ausgesendeten hört, muss sich etwas in seinem Sendebereich bewegen. Der Vorteil ist, dass im Gegensatz zum PIR-Sensor, auch Dinge erkannt werden, die keine eigene Wärme abstrahlen.

 

Kommen wir zum Sensor. Der Sensor RCWL-1516 hat einen Ausgang OUT, der anzeigt, ob sich etwas nähert oder entfernt. Dazu wird der Sensor an 5V (VIN) angeschlossen. An OUT ist dann die Information, ob sich etwas nähert oder entfernt. 3V3 ist ein Spannungsausgang für 3,3V: 

 

Die Lötpunkte C-TM (C steht für Condensator und TM für time) dienen dazu, einen Kondensator mit ca. 250s/µF anzubauen, welcher die Impulsdauer beeinflusst, also, wie lange der Sensor sein OUT-Signal anstehen lässt, wenn er eine Bewegung registriert hat.

R-GN (R für Resistor und GN für Verstärkung) stellt die Verstärkung des Moduls ein, beeinflusst somit die Empfindlichkeit oder Reichweite. Ein Trimmpoti mit 1 MOhm ist zu verwenden. Im Layout sind beide Lötstellen berücksichtigt, allerdings wird nur R-GN gebraucht, da die Anschaltzeit auf andere Weise realisiert wurde (siehe weiter unten).

Nun muss man das Signal des Sensors auswerten. Dafür habe ich eine Wemos D1 mini verwendet, der das Signal aufnimmt und per MQTT an Homeassistant weitergibt. Dazu später mehr.

 

 

Den Wemos - D1 habe ich mit Tasmota geflashed, denn Tasmota wir durch Homeassistant super unterstützt: Wemos D1 Mini - Tasmota. Tasmota installieren kann man einfach hier: Install Tasmota

Nach dem Flashen erscheint der D1 als Tasmota-Gerät in Homeassistant. Bei mir mit der IP 192.168.178.176 und dem Namen "TasmotaNaeherung1" sowie dem Sensorausgangsnamen bzw. Steuerelement "Tasmota176". So sieht das Gerät dann in Homeassistant unter Geräte - Tasmota aus:

 

 

 Über den "Besuchen"-Link kann man direkt in die Tasmota-Konfiguration des Näherungsschalters wechseln:

 Unter Einstellungen kann man dem Gerät einen Namen geben ("Naeherung1"), den MQTT-Server von Homeassistant eintragen, die Pins des Wemos verwalten und vieles mehr. Drücken wir mal auf Einstellungen. Es erscheint ein weiteres Menü:

Drückst du hier auf "Erweitert", kannst du dem Gerät einen Namen geben, der in Homeassistant erscheint und einen Friendly Name, welche den Sensor in Homeassistant referenzieren. Das siehst du weiter unten genauer:

 

Jetzt müssen noch den Pins des Wemos die Funktionen zugewiesen werden. Unter Einstellungen - Gerät erscheint dieses Menü:

Hier definiert man D6 als Schalter - an D6 wird der Ausgang des Radarsensors angeschlossen. D6 ist als Eingang definiert - und D7 als Relais (Ausgang) für eine LED, die angeht, wenn D6 aktiv ist, bzw. Tasmota das Sensorsignal erkannt hat (darum hinten bei beiden Kanal 1. Wenn das Signal erkannt wurde, wird die LED an D7 automatisch mit angeschaltet).

Das Layout dazu sieht so aus:

D6 ist mit dem Signalausgang des Sensors und mit einer LED verbunden.

Nun muss nur noch der Wemos D1 per MQTT an Homeassistant die Sensorereignisse weitergeben können. Dazu verwendet Tasmota MQTT. MQTT stellst du wieder im Tasmota ein:

Selbstredend muss zuvor in Homeassistant der MQTT-Server (Broker) "Mosquitto" installiert sein und laufen. Die Host-IP ist die des Homeassistant.

 

Unter Homeassistant wird nun jede Annäherung an den Sensor registriert. Man kann damit z.B. automatisch Lampen anschalten. Ich habe das in meiner Werkstatt gemacht. Die Automatisierungen findest du in Homeassistant unter dem Menü Einstellungen - Automationen und Szenen. Ich habe eine Automation angelegt, die auf den Eingang des Sensors reagiert und eine Lampe für 10 Minuten anschält. Wird während dieser Zeit eine weitere Bewegung erkannt, wird die Automatisierung neu getriggert und die 10 Minuten starten erneut. Dadurch wird das Licht angeschaltet bleiben, solange sich jemand im Raum bewegt. Standardmäßig ist dies nicht der Fall. Es wird einzeln getriggert. D.h. die 10 Minuten werden getriggert und ein Neutriggern ist erst danach möglich. Dadurch geht die Lampe nach 10 Minuten aus und wird erst beim Erkennen der nächsten Bewegung wieder für 10 Minuten angeschaltet. Nicht so toll. Doch es gibt eine Lösung. "Modus andern" unter den drei Punkten rechts oben:

Der Modus bestimmt, wie Homeassistant auf Ereignisse reagiert. "Einzeln" bedeutet, es wird nicht neu getriggert, wenn ein Ereignis stattfindet, "Neu starten" löst das Problem. Immer wenn ein neuer Impuls vom Sensor kommt, wird der alte Automatisierungslauf gestoppt und ein neuer gestartet. Dadurch kommt es nicht zu einer Abschaltung der Lampe:

 

Ergänzungen

Ich ätze Platinen seit Kurzem nicht mehr selbst, sondern lasse dies durch eine Firma machen. Ich nehme dazu die Firma JLCPCB (PCB Prototype & PCB Fabrication Manufacturer - JLCPCB). Unbezahlte Werbung übrigens ;-). Meine Platinen habe ich so konstruiert, dass Sie in dieses Gehäuse des Versandhändlers Aliexpress passen (https://de.aliexpress.com/). Dies ist das Gehäuse, welches ich für sehr viele DIY-Projekte nutze und sehr zufrieden damit bin:

 

Eingebaut und aktiviert sieht das dann so aus:

 

Links:

Wemos D1 Mini: https://amzn.eu/d/3UYKTgd

Radar Sensor: https://amzn.eu/d/5UWHoVH

Sprint-Layout-6.0 Platineneditor: https://abacom-online.de

Layout-Datei: Bewegungsmelder RCWL-0516_3.lay6

Datei zur Fertigung bei JLCPCB: Gerber.zip