Skip to content

v2.0.0b8

Pre-release
Pre-release

Choose a tag to compare

@GreenGrassBlueOcean GreenGrassBlueOcean released this 10 Sep 20:44
· 372 commits to v2-phase1-architecture since this release

馃殌 Hotfix Pre-Release: v2.0.0b8

This release resolves the custom element registration collision with scoped registries / polyfills (#277) and eliminates startup blocking warnings.


馃専 Key Changes

  1. Self-Healing Custom Element Registration (#277):

    • Root Cause Resolution: When cards utilizing @webcomponents/scoped-custom-element-registry (such as scheduler-card) load after earlier frontend resources, they overwrite the global window.customElements registry with their own scoped registry. Elements registered beforehand are lost in the replacement registry, causing Home Assistant's card picker to throw Custom element not found: myhome-openwebnet-bus-monitor and stall indefinitely on a loading spinner (<ha-spinner>).
    • Active Dynamic Getter: Implemented a dynamic property getter on cardDefinition.type within window.customCards. Whenever Home Assistant's Lovelace card picker iterates over or inspects the card definition, registerCardElements() is invoked synchronously to ensure the custom elements are registered in the currently active registry.
    • Watchdog Interval: Added an active 45-second self-healing interval watcher on window to detect mid-flight registry replacements and re-register myhome-openwebnet-bus-monitor and myhome-bus-card automatically.
    • Global Class Reference: Exposed window.MyHomeBusCard globally to facilitate immediate re-instantiation across dynamic contexts.
  2. Asynchronous Engine Synchronization:

    • Offloaded pkg_util.is_installed(required_pkg) in async_ensure_ownd_engine() to hass.async_add_executor_job(), resolving event loop blocking warnings during Home Assistant startup.

馃摝 Quick Upgrade Instructions

In your Home Assistant terminal (or via SSH):

cd /config/custom_components
wget -O myhome_b8.zip https://github.com/OpenWebNet-HA/MyHOME/releases/download/2.0.0b8/myhome.zip
rm -rf myhome
unzip -q myhome_b8.zip -d myhome
rm myhome_b8.zip
grep '"version"' myhome/manifest.json
ha core restart

(Verify output prints "version": "2.0.0b8" before restarting).

After restarting, perform a hard browser refresh (Ctrl + F5 / Cmd + Shift + R) to load the updated frontend bundle.