Skip to content

ECHONETLite Home Assistant Custom Component v4.0.3

Choose a tag to compare

@scottyphillips scottyphillips released this 21 Jun 05:02

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 DataUpdateCoordinator that batches ECHONETLite property requests efficiently
  • Split connector architecture β€” Extracted the ECHONETConnector logic from __init__.py into 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 CoordinatorEntity and access data via self.coordinator.data instead 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.

Buy Me A Coffee