Wenn man wissen will, wo im oder ums Haus gerade Bewegung ist und man selbst nicht immer patroullieren gehen will bieten sich Bewegungsmelder an diese Aufgabe zu übernehmen. Bewegungsmelder sind meist in Lampen verbaut, die Grundstückseinfahrten oder Haustüren beleuchten.
Mit ein paar günstigen Teilen kann man Bewegungsmelder in sein eigenes Smart-Home integrieren und weit mehr damit machen, als nur „Licht an, wenn Person im Erfassungsbereich“.
Meine Smart-Home-Topologie sieht folgerndermaßen aus:
Als erstes kommt, wie bei vielen anderen auch, eine Fritzbox, die interne Netzwerkgeräte mit dem Internet verbindet, oder eben nicht. Auf einem gut ausgestattetem MacMini von 2014 (schneller i5, SSD+HDD und 16GB-RAM) läuft MacOS Monterey mit Docker. Als Docker-Container laufen darauf unter anderem ein Minecraftserver für mich und meinen Junior und sporadische Server-Gäste, Tasmota-Admin um hin und wieder die Updates auf die smarten steckdosen und Lampen zu spielen und natürlich der IO-Broker, mit dem ich die SmartHome-Geschichte realisiere.
Smarte Geräte sind entweder im WLAN oder per ZigBee angebunden. ZigBee hat den Vorteil, dass es ein recht schlankes Funkprotokoll ist und die einzelnen Teilnehmer keine IP-Adressen im WLAN/LAN belegen um die sich die FritzBox kümmern müsste. Damit die ZigBee-Geräte mit dem IO-Broker kommunizieren können braucht es einen ZigBee-Coordinator. Im IO-Broker läuft auch ein MQTT-Server, der über das Mosquitto-Protokoll mit den Teilnehmern kommuniziert, die direkt im WLAN eingebunden sind, so wie die Tasmota-Steckdosen und Lichter oder die WLED-Beleuchtungen wie im Dachklo. Diese Infrastruktur sammelt und verteilt die Befehle zum Schalten von Geräten, wie dem TV oder einzelnen Lampen, man kann die Lichtfarben anpassen oder Temperaturen und andere Umweltwerte in eine Datenbank oder ein Diagramm schreiben.
Nach dieser langen und vielleicht etwas nerdigen Einleitung nun zum eigentlichen Thema, Bewegungsmelder und Anzeige.
Als Anzeige hab ich aus einem Stück Dachlatte, einem Ping-Pong-Ball, einem Wemos D1 mini (fast jeder ESP8266 ist geeignet) und zwei WS1812b-RGB-LED eine kleine Lampe gebaut. An der Unterseite hab ich eine Aussparung gemacht, in die der D1 mini gut reinpasst.
Oben wurde ein ca. 5mm tiefes und 40mm großes Loch mit einem Forstnerbohrer gebohrt. Ein Loch durch das die Leitungen geführt werden hab ich auch noch gebohrt. Die LEDs sind mit Klebefolie auf der Fläche des großen Lochs befestigt. Die LEDs hab ich direkt verlötet. Wie diese LEDs funktionieren hab ich im Artikel zum Luftqualitätssensor im Extrakasten „Neopixel“ erklärt.
Den PingPong-Ball muss man mit einem Cuttermesser vorsichtig in zwei Hälften schneiden und dann in der Loch über den LEDs drücken. Das passt erstaunlich gut und hält ohne Kleber.
Als Bewegungsmelder verwende ich ZigBee3-fähige Geräte von Sonoff. Die SNZB-03 sind mit ungefähr 4 x 3,5 x 3,5cm klein genug um sie überall unterzubekommen und werden mit einer Batterie ausgeliefert. Sobald man die eingelegt hat kann man den Bewegungsmelder mit seinem ZigBee-Coordinator koppeln. Ohne das ganze SmartHome-Geraffel können auch einige Alexa-Geräte oder IKEA-Dratfri-Geräte mit den ZigBee-Sensoren kommunizieren.
Wie färbt der Bewegungsmelder jetzt aber den halben PingPong-Ball?
Dazu muss man etwas Zeit und Hirn investieren. Über IO-Broker können Sensoren gelesen werden und Geräte geschaltet oder manipuliert werden (stand ja auch im ersten Abschnitt). Um jetzt Gerätezustände automatisiert zu ändern nutze ich NodeRed, das ist ein Plugin für IO-Broker (ist auch als standalone lauffähig) mit dem in einer grafischen Oberfläche programmiert werden kann. Wenn die grafischen Elemente nicht ausreichen kann auch eigener Code geschrieben werden.
Meine Umfärbelogik sieht so aus:
Erst frage ich beim IO-Broker ab, wie lange es her ist, dass der Bewegungsmelder eine Bewegung registriert hat,
Diesen Wert in Sekunden nehme ich und vergleiche ihn ob er größer oder kleiner 30 Sekunden ist.
In den Funktionsblöcken steht einfachster Code,
der dann einen Eingang am Steuerblock für das WLED-Licht aktiv schaltet.
Komplett sieht das dann so aus:
Wenn die Luft rein ist zeigt das Licht grün,
wenn eine Bewegung registriert wurde schaltet die PingPong-Lampe sofort auf Rot: