Skip to content

v2.0 Beta Documentation

Laurens edited this page Sep 17, 2026 · 5 revisions

🧪 MyHOME v2.0 Beta Documentation Hub

Welcome to the v2.0 Beta Documentation Hub for the Home Assistant MyHOME integration.

Note

Active Development & Beta Testing: The features, architecture, and guides documented below apply to the next-generation v2.0 architecture currently under development and beta testing on the v2-phase1-architecture and v2-phase2-architecture branches.

If you are running the current stable release (v0.9.x), please consult the standard Configuration Guide in the sidebar.


📖 Subsystem Guides Directory (Branch-Versioned)

To ensure technical documentation evolves directly alongside code changes and pull requests, canonical guides are maintained directly within the repository under docs/configuration/:

Subsystem / Feature OpenWebNet WHO Documentation Link
Sound System / Media Player WHO = 16 📖 Read Guide on GitHub ↗
F441/F441M hardware analog audio matrix, Dynamic Proxy for Music Assistant / Spotify, decoder pool management, gain staging (anti-hiss), and physical wall-panel routing.
CEN & CEN+ Device Triggers WHO = 15, WHO = 25 📖 Read Guide on GitHub ↗
Native Home Assistant UI Device Triggers, physical button numbers 0–31, short press, long press, release, rotary dials, and automation blueprints.
Gateways & Connection Setup WHO = 13 📖 Read Guide on GitHub ↗
IP gateways (F454, MyHomeServer1, MH200N/201/202), serial interfaces (3578), OpenWebNet password & HMAC authentication, connection resilience, keep-alive, and worker pool sizing.
Lovelace Bus Monitor Card All WHOs 📖 Read Guide on GitHub ↗
Native Lovelace card (custom:myhome-bus-card), 500-frame circular ring buffer, real-time live streaming, WHO filtering, 1-click Sweep Bus, and 1-click Export Trace.
Integration Services Reference All WHOs 📖 Read Guide on GitHub ↗
Reference for myhome.send_message, myhome.turn_on_timed (hardware SCS timers), myhome.sync_time, myhome.start_sending_instant_power, and myhome.sweep_bus.
Gateway Identification WHO = 13 📖 Wiki page
How the model label is established (SSDP > manual > WHO=13), the complete 2006 device-type table, field-observed codes with provenance, the precedence rule, repair issues, and the identification block in every trace.
Gateway Timezone Setup WHO = 13 📖 Wiki page
Resolving the unconfigured timezone (999 sentinel) repair issue, WHO=13 dimensions 0 and 22 RTC clock setup, NTP sync, and automatic repair resolution.
Runtime Behaviour Notes WHO = 1, 2, 4, 13 📖 Read Guide on GitHub ↗
What the integration polls and what it trusts from the bus: profile-gated startup discovery, silent reconnects, reauth, push-driven temperature probes, timed-cover echo model, additive light colour modes.

🌟 What's New in v2.0?

  1. 100% UI-First Configuration:

    • Zero YAML required for setup. All gateways and subsystems are discovered or added via Home Assistant's native Config Flow.
    • Comprehensive Options Flow for runtime tuning (worker count, dimmer transition mode, audio decoders).
  2. Native UI Automation Device Triggers:

    • Automate physical CEN (WHO = 15) and CEN+ (WHO = 25) buttons directly in Home Assistant's automation builder.
    • Distinct events for short_press, long_press, long_release, and rotary encoder rotation.
  3. Built-in Diagnostic Bus Monitor:

    • Real-time in-band bus monitor Lovelace card (custom:myhome-bus-card) requiring zero additional gateway sockets.
    • Interactive filtering and 1-click trace export for troubleshooting.
  4. Diffusione Sonora Dynamic Proxy:

    • Seamlessly connect streaming players (Music Assistant, Squeezelite) to BTicino analog amplifier zones with automatic power control and anti-hiss gain staging.

🛠️ Changes after 2.0.0b12 (pending release)

Fixes from the September 2026 issue batch, verified on Home Assistant OS 18.2 / Core 2026.9.2 with an MH200N. Two pull requests: the review/issue batch and the timed-cover model.

Bugs fixed

Issue Symptom Fix
#304 MH201: Data received is not a message: None OWNd yields no frame for the cycle in which it reconnects; that cycle is now skipped silently.
#305 Bus-monitor time stamps 2 h behind Card renders frames in the browser's local zone (backend keeps UTC). Surfaces unconfigured timezone (999) sentinel as a Repair issue with auto-resolution (see Gateway Timezone Setup).
#307 DALI DT8: colour picker and tunable white toggling Colour modes are learned additively (hs + color_temp coexist). Capability lock: follow-up.
#308 F454 + 3455/L4577: *#4*100*15## NACKs every 5 min Probes (WHERE ≥ 100) are receive-only; polled only if the push stream goes silent.
#309 Blocking importlib.metadata in the event loop OWNd version resolved once in the executor and cached.
#310 Deprecated via_device (removed in HA 2027.8) via_device_id on cores that support it, via_device fallback; identifiers unchanged.
#302 Timed covers stop short / set_position runs to the end stop Clock anchored on the real frame write and motor-start echo; relayed stop status no longer cancels the run. See Covers.
Gateways mislabelled from WHO=13 (MH200 → "MH200N", MyHOMEServer1 ↔ F454) Model comes from SSDP or your choice; WHO=13 only corroborates. See Gateway Identification.
MH200N: Could not send message *#16*0## on every boot Startup discovery only queries subsystems the gateway profile advertises.

Home Assistant quality-scale alignment

  • Rejected password → ConfigEntryAuthFailed: the entry shows Reauthentication required and HA opens the reauth flow (was Failed to set up). Other connection failures retry with backoff.
  • Services are registered once in async_setup and never unregistered; entry.runtime_data is set before platforms load and is the source of truth for the WebSocket API.
  • Bus-monitor Send frame and Clear require an administrator user.
  • Platforms unload via async_unload_platforms; state is kept intact if a platform refuses to unload.
  • The runtime OWNd self-installer and the copy of the card into /config/www were removed. manifest.json is the single source of the OWNd pin.
  • quality_scale.yaml now reflects the code (runtime-data: in_progress, entity-translations / repair-issues: todo).

Installation caution (seen in the field)

Extract myhome.zip into custom_components/myhome/, never into custom_components/ itself, and keep backups outside custom_components/. A stray __init__.py in the root of custom_components makes HA 2026.9+ load no custom integration at all; an in-tree backup folder registers a second myhome domain. Details in the Gateways guide ↗.

Still open

#311 (F454 alarm zones / arming), #303 (fan mode on discovered climate zones), #306 (duplicate entities), #307 part 2 — all waiting on bus traces from the reporters.

Clone this wiki locally