IoT Rolladensteuerung
IoT-Rolladen Steuerung
Ein seit langem schwelendes Problem im Büro wurde jetzt mal angegangen. Die „nervige“ Rolladensteuerung: Warum an den Schalter stellen und eine ganze Minute lang den Knopf drücken? Da kann man doch auch nen Servomotor hinmachen und dann vom Rechner ansteuern! Gesagt getan, oder besser gesagt überlegt, gezeichnet und gekauft.
Folgende Schritte waren notwendig:
- Hardware bestellen
- Software-Code schreiben
- In Homeautomation einbinden
Hardware
TLTR: Am Ende des Abschnitts gibt es die Teileliste der Rolladensteuerung.
Nach ein paar empirischen Erfahrungen hatte ich einen passenden Servo bestellt, welcher auch genug Kraft besitzt um die Schalter zu betätigen. Für einen Schalter genügt hier ein Servo, da dieser wechselseitig entweder nach oben oder unten drückt. Die entsprechenden Winkel werden später in der Software festgelegt.
Um diesen anzusteuern habe ich mich für den `ESP8266` Chip mit NodeMCU entschieden. Dieser ist sehr kostengünstig zu erwerben (um die 2€) und enthält bereits einen integrierten WLAN Chip für die spätere MQTT Kommunikation. Zudem kann er mittels USB mit Strom versorgt werden und wird eines der vielen rumliegenden Micro-USB Netzteile als Stromquelle bekommen.
Nach einigen ersten Gehversuchen in Fusion 360 und ein paar Testdrucken am 3D Drucker ist der finale Entwurf für einen neuen Schalterrahmen entstanden. Als Muster stand mir hierfür ein Exemplar von Busch & Jaeger aus dem Schlaterprogramm Reflex Si. Dieser ersetzt den vorhandenen Rahmen und besitzt zudem eine Halterung für den Servo und die Platine. (Model auf Thingiverse) Mit diesem eingesetzten Rahmen ist weiterhin auch eine manuelle Betätigung möglich.
Beim Zusammenbau der Komponenten ist lediglich auf die richtige Verbindung des Servo mit den Pins zu achten. Die braune und rote Leitung des Servos sind immer der Ground und der +5V Anschluss. Der gelbe Draht erwartet somit das Steuersignal, welches in der Standardkonfiguration auf dem Pin D1 ausgegeben wird. Ich habe aus dem Stecker vorsichtig mit einem Schraubenzieher den Steuerdraht herausgezogen und kann diesen nun flexibel verbinden. Wo sich die Pins genau befinden steht auf der Platine und ihr seht im linken Bild die verbundene Rückseite.
Für die Befestigung am Rahmen habe ich die beim Servo mitgelieferten Schrauben verwendet (Den Servo selbst auch nur 2x angeschraubt.)
Einkaufsliste
- 1x
MG996R
Servo (AliExpress oder Amazon) - 1x NodeMCU v3 ESP8266 (AliExpress oder Amazon)
- ggf. ein USB-Micro Netzteil
Software
Da ich immer noch bei der Embeddedentwicklung auf eher ungewohnten Pfade wandele benutze ich aktuell auch immer noch die Arduino Plattform zum compilieren. Für das eigentliche Schreiben verwende ich allerdings Sublime, da ich hier meine gewohnte Umgebung mit Syntax-highlighting (farbliche Hervorhebung von Befehlen und Paramatern, …) habe.
Am Anfang der Datei ist der Konfigurationsabschnitt um einige Einstellungen wie die WLAN oder MQTT Einstellungen festzulegen. Auch lässt sich hier der Pin für den Servomotor und die jeweiligen Auslenkungen justieren. Der Code sowie eine genauere Beschreibung lässt sich auf Github unter Poeschl/Window-shutter-control finden.
Einbindung der Rolladensteuerung in die Homeautomation
Ich verwende für die Automatisierung privat als auch im Büro den Home Assistant und davon das auf den Raspberry Pi ausgelegte Linux Distribution Hass.io. Diese erlaubt auf dem Raspi sehr schnell eine voll funktionsfähige und erweiterbare Plattform aufzuziehen. Um zwischen dem System auf dem Raspberry und dem NodeMCU eine Verbindung herzustellen, müssen sich beide Geräte in einem gemeinsamen Netzwerk befinden.
Nach diesem Schritt muss ein MQTT Broker zur Verfügung stehen. Dieser ist als zentraler Server zu verstehen, welcher zwischen IoT-Geräten und dem Home Assistant vermittelt. Hass.io bietet dafür ein Addon „Mosquitto broker“ an, welches sich mit einem Klick installieren lässt. Wenn ihr noch mehr über MQTT lesen wollt: MQTT for Dummies
Um den „Shutter-Controller“ einzubinden ist noch ein kleiner Eintrag in der Konfiguration von Home Assistant nötig. Damit wird die richtige Topic für den Home Assistant festgelegt, auf welchen die Steuerbefehle hinterlegt werden müssen. In die Konfiguration schreibt man folgende Zeilen:
cover:
- platform: mqtt
command_topic: window-shutter-control/1234/command
optimistic: true
device_class: shutter
retain: true
Nach einem Reboot steht die Rolladensteuerung auf der Oberfläche zur Verfügung und sollte ihren Dienst tun.
Ich hoffe euch hat der Artikel wieder gefallen und falls nicht, bitte gerne Feedback hinterlassen. Natürlich auch bei Anregungen und Fragen.
PS: Was mich interessieren würde, hättet ihr solche Artikel gern mit einem technischerem Aspekt?
Neueste Artikel von Mr. P (alle ansehen)
- Wallpanel für Home Assistant - August 24, 2021
- Home Assistant – Ein modernes Smart Home System - Januar 18, 2021
- Circadian Lighting - August 2, 2020
Auf diese Idee wäre ich nie gekommen.
Meine Lösung ist ein SHELLY 2.5 und daran ist eine 2-Fach Jalusien Wippen angeschlossen.
Das Shelly wird per MQTT ins Smarthome eingebunden.
Hinweis: Das tolle an allen Produkten von Shelly ist das man sie umstellen kann, Shelly-Cloud ODER Local.
Das wäre auch meine bevorzugte Variante gewesen. Shelly’s sind dafür absolut perfekt, vor allem die einzigen Geräte die meines Wissens den Cloudzugang als Opt-in haben.
Leider dürfen wir im Büro die technischen Anlagen zwecks der Versicherung nicht verändern. Daher der „mechanische“ Ansatz.
Super coole Idee!!
Als nächstes steuern wir das ganze mit Alexa an 🙂
Grüße
Sehr cool! Ich hab mal dasgleiche versucht. Damals allerdings noch analog, als Jugendlicher. Problem: Mein Lichtschalter war am anderen Ende des Zimmers, Folge: ich werde nicht wach… Lösung: Ich habe eine Blechkugel vor dem Schalter von der Decke hängen lassen und mit einem dünnen Seil vom Bett aus ausgelenkt und auf den Schalter fallen lassen. Ergebnis Licht an, aufstehen…
Feedback von meinen Freunden: Fauler Sack.
Im Büro hatten wir auch schon mal eine ähnliche Idee mit einer Kugelbahn für die Lichtschalter. ^^
Durch Faulheit entstehen viele gute Ideen.
lol… das is eine sehr kreative Idee… Erfinderisch… das muss einem erst einfallen. Denk“sport“. ^^
Nice. Vielen Dank 🙂