How to Add Smart Control to your Awning with an ESP8266 and Home Assistant
By integrating an ESP8266 into an awning remote, we have successfully automated the awning and enabled control within Home Assistant.
Skill | Cost | Time |
---|---|---|
2 / 5 | ~5 Euro | ~60min |
Challenge / Annoyance
Awnings can help keep the interior of a home cool by providing shade on sunny days. However, adjusting the awning manually can be a hassle. It would be more convenient if it could automatically open and close based on specific weather conditions. To address this issue, we developed a hardware and software solution.
Solution - Hardware
To automate the awning, we installed a USB-powered ESP8266 into the existing awning remote. This allows the remote to be triggered by the ESP8266, which adjusts the awning's position. The microcontroller also powers the remote, eliminating the need for batteries and ensuring the system runs reliably and consistently. This not only saves you the hassle of constantly changing batteries, but it also reduces waste and helps to make your home more eco-friendly.
Solution - Software
We wrote an Arduino script that manages the GPIOs of the NodeMCU over MQTT and seamlessly integrates it within Home Assistant. This creates a digital twin of the remote control, allowing full automation.
The script posed the main challenge in this project, as we aim for complete automation and require Home Assistant to have precise knowledge of the awning's position. This will allow us to:
- Modify the position of the awning according to the sun's azimuth.
- Shut the awning if it's not (entirely) closed and the weather station registers wind or rain.
- Avoid the awning from being in a position that obstructs an open door.
- Gradually adjust the opening by increasing or decreasing it according to the previous position.
You can download the Arduino IDE code below:
Bill of materials
- ESP8266 NodeMCU (Wemos D1-mini)
- Awning remote: Becker Centronic EC541
- (Micro) USB charger and cable (from an old smartphone)
Off-the-shelf alternatives
Many awning brands provide 'smart' integrations. However, they can not always be integrated with home automation platforms or depend on the public cloud.
Considerations
We initially considered replicating the RF commands from the remote control using an NRF905 transceiver module. However, we discovered that the communication was encrypted and could not be reverse-engineered. Another alternative was to open the awning and insert a 2-gang smart relay onto the motor driver. However, since the awning is only controlled with the remote, there was no physical ability to insert the smart relay.
Conclusion
By integrating an ESP8266 into an awning remote, we have successfully automated the awning and enabled control within Home Assistant, removing another remote from the living room. In addition, home Assistant can utilize multiple sensors to enable intelligent automation, providing an enhanced level of convenience. We hope our work will inspire others to explore similar solutions and make homes more comfortable and energy-efficient.