v3.0 - Modernization Release
Modernize frontend and restructure backend
Summary
Full modernization of the Pi-Somfy project — updated web interface, restructured backend, and numerous bug fixes.
Web Interface
- Modernized design with a mobile-friendly, responsive layout that works well on phones, tablets, and desktops
- Replaced all bitmap button icons with crisp vector (SVG) graphics
- Consolidated 20+ favicon formats into a single SVG favicon
- Fixed schedule page visual glitches: toggle labels, clock picker positioning, and dropdown menus clipping
- Fixed a bug where deleting a schedule and then adding a new one could fail
- Removed dependency on external icon font files (Bootstrap Icons webfont)
- Fixed 27 spelling mistakes
Alexa Integration
- No restart required: Adding or removing shutters via the web UI is now automatically picked up by Alexa — no service restart needed
- More reliable device discovery (responses sent multiple times to guard against network packet loss)
MQTT / Home Assistant
- Updated to the modern Home Assistant MQTT discovery format
- Now compatible with both paho-mqtt 1.x and 2.x
Backend
- Consolidated 9 Python files into 6 (cleaner structure, less duplication)
- Configuration file writes are now safer — protected against corruption from power loss or crashes
- Fixed several bugs in the scheduler, configuration reader, and shutter control (demo mode)
- Updated deprecated Python API calls for compatibility with current Python versions
- Can now run on Windows for development/testing (web server and Alexa work; GPIO requires a Pi)
Housekeeping
- Added
.gitignoreentries for user config and log files (contain personal data) - Removed unused
fauxmo_config.json - Removed unused CSS/JS library files (functionality replaced with inline code)
- Net reduction of ~2,100 lines of code
Testing
- Tested on Windows (web interface + Alexa discovery)
- Tested on Raspberry Pi (full stack including Alexa voice control)