Repository navigation
Home
☕ Steun het project op BuyMeACoffee
Welkom bij het IO-Homecontrol ESP32 project!
Dit project maakt het mogelijk om Somfy IO screens, rolluiken en jaloezieën te bedienen via een ESP32 in combinatie met een SX1276 LoRa-module. Integratie met Home Assistant is mogelijk via MQTT.
Deze pagina bundelt ervaringen en tips vanuit de community (Discord/GitHub), zodat je snel kunt starten.
- Hardware: gebruik een ESP32 met SX1276 (868 MHz), bijv. Heltec WiFi LoRa V2, LilyGo T3 V1.6.1 of Heltec Wireless Bridge.
-
Firmware flashen: clone de repo en upload via PlatformIO.
In PlatformIO: Build → Upload. In PlatformIO: Build file system & upload
git clone https://github.com/rspaargaren/iohomecontrol
- WiFi & Web: verbind met je WiFi en open het IP van de ESP32 in je browser.
- Koppelen: voeg een device toe, zet je screen in pair mode en voeg deze bij device settings toe.
Het project werkt alleen met ESP32 boards met SX1276 LoRa chip.
❌ Niet ondersteund: SX1262 (zoals Heltec V3), RFXcom 433 MHz modules.
- Heltec WiFi LoRa V2 (SX1276, 868 MHz)
- LilyGo LoRa32 T3 V1.6.1 (SX1276)
- Heltec Wireless Bridge (SX1276, WiFi/Bluetooth/LoRa)
- Alternatief: ESP32 + losse SX1276 module
⚠️ Let op: kies altijd de 868 MHz variant (in Europa gangbaar).
- ESP32 board met SX1276
- USB-kabel (USB-C of micro-USB, afhankelijk van board)
- Computer met:
- VS Code
- PlatformIO plugin
- Stabiele WiFi
- Optioneel: 3D-geprinte behuizing (voorbeeld case)
-
Download de repository
git clone https://github.com/rspaargaren/iohomecontrol
- Open het project in VS Code (PlatformIO)
-
Controleer
platformio.ini(juiste boardselectie) -
Flash de firmware naar het board
- PlatformIO: Build → Upload
-
Flash de filesystem naar het board
- PlatformIO: Build filesystem -> upload filesystem
- Voer WiFi-configuratie in via de webinterface (na eerste opstart)
Na het verbinden met je WiFi kun je via het IP-adres van de ESP32 de webinterface openen.
- Devices (screens/rolluiken) toevoegen, bewerken, verwijderen
- Screens koppelen/ontkoppelen (LINK/UNLINK)
- Remotes (afstandsbedieningen) toevoegen en aan devices linken (WIP)
- MQTT-instellingen configureren
- Backup/Restore van configuratie (JSON)
- HTTPS niet ondersteund (te zwaar voor ESP32)
- Geen login (ontworpen voor LAN-gebruik)
Tip: Plaats het device in een gesloten IoT-VLAN en beperk toegang via je router/firewall.
- Voeg een nieuw device toe in de webinterface.
- Zet je screen in pair mode met de fysieke afstandsbediening (klein knopje achterop; screen beweegt kort op/neer).
- Voer in de terminal of webinterface het commando uit:
waarbij
add XXXX
XXXXhet ID is dat de ESP32 detecteert. - Klaar – de screen is gekoppeld.
Het koppelen van remotes zorgt ervoor dat statuswijzigingen door handbediening ook in Home Assistant zichtbaar worden.
Stappen
- Druk op knoppen van de fysieke remote zodat het ID wordt gedetecteerd.
- Voeg de remote toe in de webinterface.
- Open het tandwiel bij de remote, kies een device en klik LINK.
⚠️ De remotes-UI is WIP. Er kunnen (tijdelijk) bugs zijn bij opslaan/verwijderen of bij het tonen van de device select-lijst.
- Vul Broker IP, Username en Password in via de webinterface.
- Standaardpoort: 1883.
- Controleer in je broker-logs (bijv. Mosquitto in Home Assistant) of authenticatie slaagt.
- Power cycle-persist: sinds de WIP (aug/sept 2025) blijft de MQTT-username/password bewaard na herstart.
- WiFi-connect bij eerste boot: in sommige gevallen verbindt de ESP32 pas na een reset; recente WIP-builds verbeteren dit.
- Status/position reporting: Bij bediening via fysieke remote kan HA de nieuwe positie niet altijd direct zien; koppelen van de remote helpt.
- Stel per device de bewegingstijd in (open/close in seconden) via het tandwiel in de webinterface.
- Zo kan HA correcte tussen-statussen tonen i.p.v. direct “open/closed”.
- MQTT reconnect: grotendeels verbeterd in WIP (aug/sept 2025).
- Remote beheer: toevoegen/verwijderen en device select soms buggy.
- State weergave: HA kan te snel “open” tonen; gebruik handmatige timing per device.
- Security: geen HTTPS/login (bewuste keuze voor lokaal beheer).
- Bootloop na flash → herflash (re-image) en voer WiFi-instellingen opnieuw in.
- Display / pinout issues → controleren of je board-variant (Heltec/LilyGo) overeenkomt met de geconfigureerde pinnen.
- MQTT flapping (connect/disconnect) → user/password opnieuw opslaan; controleer broker-ACL’s en netwerk/VLAN.
- Backup config voordat je firmware wijzigt: download JSON via de webinterface.
- Solar screens: deze fork werkt ook met solar-powered screens (betere timing dan originele repo).
- Discord: actief voor feedback, hulp en beta-tests.
- GitHub Issues: meld bugs of feature requests via: https://github.com/rspaargaren/iohomecontrol/issues
- Beta testers: maak een ticket op Discord om toegang te krijgen tot WIP builds.
Q: Werkt Heltec V3?
A: Nee, V3 gebruikt vaak SX1262 → niet ondersteund.
Q: Kan ik HTTPS of login toevoegen?
A: Nee, ESP32 is daar niet krachtig genoeg voor. Gebruik netwerkbeveiliging (bijv. IoT VLAN).
Q: Kan ik meerdere screens tegelijk aansturen?
A: Ja, via Home Assistant automatiseringen en MQTT. Zorg wel dat de timing per screen correct is ingesteld.
Q: Moet ik altijd fysiek bij de screens kunnen?
A: Nee, je kunt ze ook koppelen via de afstandsbediening.
👉 Deze pagina is een levende handleiding – heb je aanvullingen of verbeteringen? Voeg ze toe via een PR of issue!