ECHONETLite Home Assistant Custom Component v4.0.3
What's Changed
π Bug Fixes
-
Fixed cover position fallback behavior β Added fallback logic for current_cover_position when ENL_OPENING_LEVEL is not available. Covers now properly report position (0%, 50%, 100%) using ENL_OPENCLOSE_STATUS for devices that don't support positional reporting (#252)
-
Fixed duplicate EPC codes in batch property requests β Resolved issue where duplicate EPC codes (0x80 and 0x97) in polling flags could cause some devices (confirmed on Fujitsu Nocria) to reject requests and stop responding. Requires power-cycle for recovery (#246, fixes related to #232)
-
This fixes issue #258 and #250 where EV Charger/Discharger and LAN Distribution board were both incorrectly defined in pychonet.
-
Pychonet has been bumped to version 2.7.8 to fix the above issues. Version 4.0.2 has been yanked.
ποΈ Architecture: DataUpdateCoordinator Migration (v4.0)
This release builds on the v4.0 foundation which introduced Home Assistant's native DataUpdateCoordinator pattern across all entity platforms. Key changes include:
- Centralized data polling β Replaced per-entity polling with a single shared
DataUpdateCoordinatorthat batches ECHONETLite property requests efficiently - Split connector architecture β Extracted the
ECHONETConnectorlogic from__init__.pyinto its own dedicated module for better separation of concerns - Entity refactoring β All entity platforms (climate, sensor, cover, switch, fan, select, light, binary_sensor) now extend
CoordinatorEntityand access data viaself.coordinator.datainstead of direct connector references - Push-to-polling decoupling β ECHONETLite push notifications are handled by the connector, while entities poll independently through the coordinator for state consistency
- Post-set verification polling β Added explicit polling after property set operations to verify values were applied correctly (replaced optimistic UI updates)
π§ Dependencies
Updated pychonet requirement from 2.7.0 to 2.7.4 β Includes upstream improvements for ECHONETLite protocol handling
π Improvements
Improved debug logging messages β Clarified and standardized log messages throughout config_flow.py and init.py for better troubleshooting:
"ECHONET" β "ECHONETLite" where appropriate for consistency
More descriptive context in IP change detection logs
Removed redundant debug statements in climate.py
Contributors
Thanks to all contributors who made this release possible:
@scottyphillips (Scott Phillips)
@Yukk1No (ColourfulSky233) β PR #246
Check out some of my new repos:
https://github.com/scottyphillips/echonet-lite-kaden-emulator - modernized ECHONET Lite emulator in NodeJS. This was used to verify additional functionality for device classes I don't have access to.
https://github.com/scottyphillips/echonetlite-mcp - Connect your agentic LLM to your ECHONET Lite device! This allows me to conduct advanced troubleshooting in VSC.
