ESPHome firmware for Rituals Perfume Genie devices, supporting both Genie 2 (ESP8266) and Genie 3 (ESP32-C6) versions.
- ๐ PWM-controlled fan speed with auto-off timer
- ๐ก RGB status LED (WS2812 on Genie 2, Common-Anode on Genie 3)
- ๐ Physical button control
- ๐ Native Home Assistant integration
- ๐ก OTA updates (wireless firmware updates)
- ๐ Automatic firmware updates from GitHub releases
- ๐ถ WiFi provisioning via captive portal (Genie 2) or Bluetooth (Genie 3)
Visit https://pvizeli.github.io/esphome-genie/ for:
- ๐ Web-based firmware installer - Flash your device directly from the browser
- ๐ Hardware flashing guide - First-time setup instructions
- โ๏ธ Configuration guide - WiFi setup and Home Assistant integration
| Device | Chip | LED Type | Features |
|---|---|---|---|
| Genie 2 | ESP8266 (ESP-WROOM-02) | WS2812 Addressable RGB | WiFi, Captive Portal |
| Genie 3 | ESP32-C6 | Common-Anode RGB LED | WiFi, Bluetooth Improv, BLE Proxy |
genie-2.yml- ESP8266 (Genie 2) configurationgenie-3.yml- ESP32-C6 (Genie 3) configurationcommon.yml- Shared configuration for both devices
# Validate configuration
esphome config genie-2.yml
esphome config genie-3.yml
# Compile firmware
esphome compile genie-2.yml
esphome compile genie-3.yml- Create a new release on GitHub with a version tag (e.g.,
v1.0.0) - GitHub Actions will automatically:
- Build firmware for both devices
- Create a combined manifest file
- Upload binaries to the release
- Deploy to GitHub Pages
.
โโโ genie-2.yml # ESP8266 device config
โโโ genie-3.yml # ESP32-C6 device config
โโโ common.yml # Shared configuration
โโโ static/
โ โโโ index.md # Main documentation page
โ โโโ flashing.md # Hardware flashing guide
โ โโโ _config.yml # Jekyll configuration
โโโ .github/workflows/
โโโ ci.yml # CI testing (stable/beta/dev)
โโโ publish-firmware.yml # Release builds
โโโ publish-pages.yml # GitHub Pages deployment
- GPIO3: Power button
- GPIO4: Fan PWM control
- GPIO15: WS2812 LED
- GPIO0: Flash mode (boot mode)
- GPIO17: Power button
- GPIO4: Fan PWM control
- GPIO23: RGB LED (Red)
- GPIO22: RGB LED (Green)
- GPIO3: RGB LED (Blue)
- GPIO9: Flash mode (boot mode)
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
See LICENSE file for details.
Based on community efforts to reverse-engineer and provide open-source firmware for Rituals Perfume Genie devices.
Special thanks to:
- KarolKozlowski/esp-geine for hardware documentation
- Home Assistant community for testing and feedback