Die Idee ist einen ESP8266 mit LUA an eine Somfy Situo 5 io Pure II Fernbedienung anzuschließen. Auf dem ESP8266 läuft dann eine RestAPI zur Steuerung der Fernbedienung. Die RestAPI wird am Ende via Node Red angesprochen zur Automation.
Ich habe hier 2 Markisen oben unter dem Terrassendach, 2 Sonnenschutz Rollos. Und die LED's können noch mit der Fernbedienung gesteuert werden.
ToDo Liste:
- Eine zweite Situo 5 io Pure II Fernbedienung besorgen und diese anlernen (eine bestehende kann wie in der Anleitung beschrieben einfach kopiert werden)
Die 5 Kanäle habe ich wie folgt belegt
- Markise rechts
- Markise links
- Sonnenschutz Rollo rechts
- Sonnenschutz Rollo links
- LED
- Eine passende Firmware auf den ESP8266 flashen mit folgenden Modulen: adc, crypto, encoder, file, gpio, http, net, node, sjson, sntp, struct, tmr, uart, websocket, wifi, wifi_monitor (Infos dazu gibt es hier: https://nodemcu.readthedocs.io/en/release)
- Dann die folgenden Dateien anpassen und übertragen (vielleicht hiermit: https://esp8266.ru/esplorer):
- credentials.lua : Hier die SSID und das WLAN Passwort anpassen damit der ESP8266 in euer WLAN kommt
- init.lua : Hier vielleicht den Teil wifi.sta.sethostname("SomfyRestAPI") anpassen, um einen eigenen Hostname für den ESP8266 zu setzen
- application.lua : Hier sind die Pins der Kabel anzupassen und die Dauer, die die Markisen und Sonnenschutz Rollos zum Ausfahren benötigen. Vielleicht auch den Teil mit der Basis Auth: auth = { user = 'somfyuser', pwd = 'somsec' }
- Aus dem Project https://github.com/abobija/api32 nutze ich die api32.lua Datei
- Nun die Fernbedienung öffnen und die Kabel anlöten, dazu sind ein paar Bilder im docs-Verzeichnis
Gehäuse für den ESP8266: https://www.thingiverse.com/thing:2786523
Bei der Anbindung mit Node Red ist mir aufgefallen, dass die Basis Auth direkt als Header verschlüsselt übergeben werden muss. Mein Node Red-Flow Export ist im docs-Verzeichnis zu finden. Zusätzlich nutze ich noch das suncron Plugin bei Node Red um bei Sonnenuntergang alle Markisen und Rollos einzufahren.
Fertig.