v2.0.0b10
Pre-release
Pre-release
·
339 commits
to v2-phase1-architecture
since this release
馃殌 Pre-Release: v2.0.0b10 (Phase 1 Architecture Beta)
This release addresses Dry Contact & Auxiliary Binary Sensor Duplicate Devices and Unique ID Collisions (#247), resolving issues where empty ghost devices were created on startup and unique IDs collided across reboots.
馃摝 Key Changes
-
Dry Contact Address Normalization & Suffix Stripping (#247, #286):
- Dynamic Suffix Stripping: Replaced hardcoded device class suffix parsing with dynamic
ALL_DEVICE_CLASS_SUFFIXEScovering allBinarySensorDeviceClassoptions in descending length order. Ensures that configured device classes (e.g.class: moving,class: garage_door,class: window) do not bleed into the bus address, preventing invalid bus query frames (*#25*331-moving##) and avoiding duplicate unique ID generation. - Single-WHO Device Identifiers: Normalized
clean_dev_idwhen registering device info inMyHOMEEntityto prevent duplicate WHO prefixes (mac-25-31instead ofmac-25-25-31), preventing duplicate empty device creation in Home Assistant's device registry. - Targeted CEN/CEN+ Scenario Control Pruning Exemption: Refined empty device pruner on integration startup. Instead of blanket exempting any identifier containing
"-25-", the cleanup specifically exempts genuine CEN/CEN+ scenario control models, cleanly pruning empty dry contact devices (0 entities) on reboot. - WHO 9 Auxiliary Sensor Restoration: Prioritized auxiliary sensor restoration before motion sensors so that auxiliary channels configured with
class: motionare properly restored without unique ID collisions.
- Dynamic Suffix Stripping: Replaced hardcoded device class suffix parsing with dynamic
-
Verified Stability & Standards:
- 1,140 automated unit and integration tests passing.
- Strict 100.0% statement test coverage verified across all 25 modules.
- Clean pass on Home Assistant architectural rules and Ruff static analysis.
馃摜 Quick Upgrade Instructions
In your Home Assistant terminal (or via SSH):
cd /config/custom_components
wget -O myhome_b10.zip https://github.com/OpenWebNet-HA/MyHOME/releases/download/2.0.0b10/myhome.zip
rm -rf myhome
unzip -q myhome_b10.zip -d myhome
rm myhome_b10.zip
grep '"version"' myhome/manifest.json
ha core restart(Verify output prints "version": "2.0.0b10" before restarting).
After restarting, perform a hard browser refresh (Ctrl + F5 / Cmd + Shift + R) to ensure frontend assets reload.
馃攧 Safe Rollback
If you need to revert to a previous release: