Skip to content

Version 4.0.0-alpha-rc1 - Update to Data-Coordinator architecture

Pre-release
Pre-release

Choose a tag to compare

@scottyphillips scottyphillips released this 14 Apr 01:08

ECHONETLite Home Assistant Integration v4.0.0-alpha (Data-Coordinator Branch) ⚠️ ALPHA

Status: Alpha development branch — Use at your own risk in non-production environments

Tested on: Mitsubishi MAC-568IF-E, Sony MoekadenRoom Simulator

Major Changes in 4.0.0-alpha 🏗️

Change #1: DataCoordinator Architecture Migration (Primary) 🔧
The integration has been completely refactored to use Home Assistant's DataUpdateCoordinator pattern instead of the legacy polling model where each entity independently queried devices.

Benefits:

✅ Batched network requests reduce device load
❌ Eliminate bursty polling patterns that can crash HVAC controllers
🔧 Centralized error handling across all entities
📊 Single source of truth for consistent data
⚡ Lower network overhead with fewer API calls
Change #2: Modern @Property Getters for Entity Attributes 💻
All entity attributes now use Python's modern @Property decorators instead of direct attribute access or getter methods.

Benefits:

🧹 Cleaner code without scattered getter methods
⚙️ Computed values calculated on-demand
🛠️ Better IDE and linter support
📐 Clearer separation between data source and entity behavior

Bug Fixes 🐛

Fix 1: Deduplicated EPC Codes in Batch Property Requests
Symptom: Fujitsu Nocria devices rejected requests with duplicate EPC codes (0x80, 0x97) and stopped responding until power-cycled

Root Cause: ENL_SUPER_CODES dictionary already contained status/timer flags; duplicating them caused malformed batches

Solution: Coordinator now initializes flag lists correctly without duplicates

Fix 2: Home Assistant Global Setup Timeout (#242) ⏱️
Symptom: CancelledError: Global task timeout during device discovery and initial property updates

Root Cause: Slow ECHONET Lite devices exceeded HA's 30-second global setup limit

Solution: Coordinator-based SETUP_BUDGET allows graceful timeouts with retry capability via ConfigEntryNotReady

Fix 3: Code Cleanup 🧹
Removed stale commented-out code
Cleaner architecture separation between coordinator and entity logic
Modernized property access patterns throughout all entities
Tested Devices (Alpha Branch) ✅
Mitsubishi MAC-568IF-E WiFi Adaptor: Verified — Stable polling, no device crashes

Fix 4: Climate horizontal swing modes
As per PR #253

Tested Devices (Alpha Branch) ✅

Mitsubishi MAC-568IF-E WiFi Adaptor: Verified — Stable polling, no device crashes

Sony MoekadenRoom Simulator: Verified — Efficient data distribution to entities

Devices Not Yet Tested on Alpha (Master Compatible) ⚠️

Sharp: AY-J22H, AY-L40P, AY-XP12YHE, AY-XP24YHE — Compatible

Fujitsu: Nocria C/V Series — Previously had crash issues

Panasonic: CS-221DJ, CS-362DJ2 — Compatible

Daikin: ECHONET Lite models — Partially compatible

Other Mitsubishi adaptors: Various HVACs — Compatible

Migration Notes 🔄

Clear browser cache after installation (entity UI may change)
Review logs for coordinator initialization messages
No configuration changes required — backward compatible setup flow
Re-add integration if entities appear missing or unresponsive
Reporting Issues 🐛
Please report any problems encountered with this alpha branch:

Bug Reports:
https://github.com/scottyphillips/echonetlite_homeassistant/issues
Coordinator-Specific Issues: Label as data-coordinator or architecture
Property Access Issues: Label as entity-state or property-refactoring
Contributors 👥

Maintainer: Scott Phillips (@scottyphillips) — Architecture design, coordinator migration

EPC Deduplication Fix: Yukk1No — Critical batch request integrity fix

Setup Timeout Handling: Naoki Sawada (@nao-pon) — #242 setup budget implementation

Device Documentation: AX1111YT — Compatibility updates and testing feedback

Recent Commits 📅
2026-04-10 | 0995f28 | scottyphillips | Merge PR #246 — EPC deduplication fix

2026-04-10 | 2ac82f9 | scottyphillips | Merge master — Coordinator branch sync

2026-04-10 | 212fe5d | Yukk1No | Refactor to empty flags init (coordinator benefit)

2026-04-10 | 1a3b9c2 | scottyphillips | Modern @Property getters for all entities

2026-04-08 | 3cd64f0 | scottyphillips | Removed stale commented code

Known Limitations (Alpha Branch) ⚠️

Still in alpha — not suitable for production without thorough testing
Limited device testing — only MAC-568IF-E and MoekadenRoom verified on this branch
Breaking changes possible before stabilization
Other manufacturer devices untested — compatibility not confirmed for alpha
Coordinator initialization delays — first startup may take longer
Disclaimer 📜
This alpha branch is provided "as-is" without warranty. Users are responsible for testing in their environment before deploying to production systems and maintaining backups of working configurations. The maintainer accepts no liability for any data loss, system damage, or device malfunction resulting from use of this branch.

Thank you for testing the Data-Coordinator alpha branch! Your feedback helps make this integration more robust. 🙏

🔗 Repository: https://github.com/scottyphillips/echonetlite_homeassistant

🌲 Alpha Branch: https://github.com/scottyphillips/echonetlite_homeassistant/tree/Data-coordinator