Skip to content

v2.0.0b10

Pre-release
Pre-release

Choose a tag to compare

@GreenGrassBlueOcean GreenGrassBlueOcean released this 11 Sep 14:22
· 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

  1. Dry Contact Address Normalization & Suffix Stripping (#247, #286):

    • Dynamic Suffix Stripping: Replaced hardcoded device class suffix parsing with dynamic ALL_DEVICE_CLASS_SUFFIXES covering all BinarySensorDeviceClass options 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_id when registering device info in MyHOMEEntity to prevent duplicate WHO prefixes (mac-25-31 instead of mac-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: motion are properly restored without unique ID collisions.
  2. 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:

  • Download 2.0.0b9 or legacy 0.9.4 and extract into /config/custom_components/myhome/.
  • All configurations remain backward-compatible.