Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/breaching/velux-control-with-esphome
๐ก This project automates Velux windows using an ESP32 microcontroller connected to a KUX 100 remote.
https://github.com/breaching/velux-control-with-esphome
esp32 esphome homeassistant homeautomation iot smart-home smarthome velux
Last synced: about 1 month ago
JSON representation
๐ก This project automates Velux windows using an ESP32 microcontroller connected to a KUX 100 remote.
- Host: GitHub
- URL: https://github.com/breaching/velux-control-with-esphome
- Owner: breaching
- Created: 2024-11-27T13:05:13.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-11-27T14:18:42.000Z (about 1 month ago)
- Last Synced: 2024-11-27T14:37:24.470Z (about 1 month ago)
- Topics: esp32, esphome, homeassistant, homeautomation, iot, smart-home, smarthome, velux
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Velux Window Automation: ESP32 and KUX 100 Remote DIY Solution
## Overview
This guide provides a cost-effective method to automate Velux windows using an ESP32 microcontroller and KUX 100 remote, bypassing the expensive VELUX ACTIVE with NETATMO hub.
## ๐ Bill of Materials
| Component | Quantity | Estimated Cost | Specifications |
|-----------|----------|----------------|----------------|
| ESP32 Microcontroller | 1 | โฌ4-โฌ5 | ESP32-DevKitC or Wemos D1 Mini |
| NPN Transistors (2N3904/2N2222/BC547) | 3 | โฌ1-โฌ2 | For button press simulation |
| 1 kฮฉ Resistors | 3 | โฌ0.50 | Current limiting |
| Wires and Connectors | As needed | โฌ2 | Jumper wires or soldered connections |
| KUX 100 Remote Control | 1 | โฌ20-โฌ40 | Second-hand, platform-compatible |**Total Project Cost**: โฌ30โโฌ50
## ๐ Key Advantages
- **Cost Reduction**: 75% cheaper than official VELUX hub
- **Full Customization**: Complete control via ESPHome and Home Assistant
- **Scalable**: Easy integration with existing smart home systems## ๐ง Detailed Implementation Guide
---
### 1. **Prepare the Components**
#### Materials:
- ESP32 development board.
- 3 x NPN transistors (e.g., **2N3904**, **2N2222**, **BC547**).
- 3 x 1 kฮฉ resistors.
- Jumper wires or soldering equipment.
- A KUX 100 remote control.---
### 2. **Assemble the Circuit**
Wire the ESP32 to the transistors and prepare the connections to the KUX 100 remote:1. **Open the Remote:**
![](/photos/Untitled-2.jpg)
- Remove the batteries as the remote will be powered by the ESP32.
- Carefully push or pull the plastic clips holding the case together. Be gentle to avoid breaking the clips.
- Slowly lift the PCB out of the case, paying attention to the metallic battery contacts:
- Ensure you donโt break or tear these contacts, as they are still be needed for connections.
- Turn the PCB around and peel off the tape or adhesive covering the buttons to reveal the contact pads.
- The PCB is now ready for soldering and connecting to the ESP32.
![](/photos/Untitled-1.jpg)3. **Connect the ESP32 to the transistors:**
- **Base** of each transistor โ Connect to an ESP32 GPIO (via a 1 kฮฉ resistor).
- **Emitter** of each transistor โ Connect to **GND** (shared with the KUX 100 remote).
- **Collector** of each transistor โ Connect to the corresponding pad on the KUX 100 remote:
- Button UP โ GPIO 17 โ Transistor 1.
- Button DOWN โ GPIO 18 โ Transistor 2.
- Button STOP โ GPIO 27 โ Transistor 3.4. **Connect the pads:**
- Solder wires from the button pads (UP, DOWN, STOP) to the **collector** pins of their respective transistors.5. **Share the ground and VCC:**
- Connect the GND and 3.3V of the ESP32 to the GND and VCC of the KUX 100 remote.---
I came up with a PCB like this (very ugly, ngl), but it's working. The ESP32 is actually mounted under the PCB, and I wired the **VCC** and **GND** to a 2-pin terminal block to power the entire setup.
![](/photos/2833AC95-E9AB-4DBA-80E0-8B1037A12F69.jpg)
### 3. ESPHome Configuration
```yaml
esphome:
name: velux_remote
platform: ESP32
board: esp32devwifi:
ssid: "Your_SSID"
password: "Your_Password"output:
- platform: gpio
pin: 18
id: button_up
- platform: gpio
pin: 27
id: button_down
- platform: gpio
pin: 17
id: button_stop
switch:
- platform: template
name: "Velux UP"
turn_on_action:
- output.turn_on: button_up
- delay: 200ms
- output.turn_off: button_up
- platform: template
name: "Velux DOWN"
turn_on_action:
- output.turn_on: button_down
- delay: 200ms
- output.turn_off: button_down
- platform: template
name: "Velux STOP"
turn_on_action:
- output.turn_on: button_stop
- delay: 200ms
- output.turn_off: button_stop
```## ๐ Troubleshooting
### Common Issues
- **No Remote Response**:
- Confirm remote pairing with blinds
- Verify transistor connections
- Check ground connectivity- **ESP32 Communication Problems**:
- Validate ESPHome configuration
- Check network settings
- Review ESPHome dashboard logs## ๐ฎ Future Improvements
- [ ] Design custom 3D-printed enclosure
- [ ] Develop more compact PCB layout## ๐ค Contributing
Suggestions and improvements are welcome! Please open an issue or submit a pull request.