What's New in v2.3.0
🔥 Harvia Fenix Controller Support
The integration now supports both Harvia controller generations:
- Xenio WiFi (CX110 / CX001WIFI) — via myHarvia cloud (existing)
- Fenix (FX001XW / FX002XW) — via harvia.io REST/GraphQL API (new)
During setup, select your controller type:
myHarvia (Xenio controller)for existing Xenio panelsmyHarvia 2 - harvia.io (Fenix controller)for the new Fenix panels
Both can be configured simultaneously on the same HA instance.
🐛 Bug Fix: Counter Sensors
sensor.heater_cycles,sensor.relay_counters,sensor.steam_cyclesnow show Unknown instead of a misleading0when the API doesn't provide counter data- Falls back from lifetime counter to session counter if available
🏗️ Architecture
- API Abstraction Layer — clean
HarviaApiClientBaseinterface with provider-specific implementations - Factory Pattern —
api_factory.pyroutes to correct API client based on config - Shared Errors —
errors.pymodule used by both providers - Fenix WebSocket —
websocket_harviaio.pyfor real-time Fenix updates viadevicesMeasurementsUpdateFeed/devicesStatesUpdateFeedsubscriptions
✅ Backward Compatibility
- Existing Xenio setups work unchanged — no migration needed
- All legacy API methods retained
- Config entries auto-default to myHarvia provider
📊 Stats
- 21 files changed, 1,105 insertions, 85 deletions
- 5 new files:
api_base.py,api_factory.py,api_harviaio.py,errors.py,websocket_harviaio.py - 18 Python files, 9 translations (57 keys each)
Requires Home Assistant 2024.1+. Fenix support is experimental — feedback from Fenix owners welcome!