Skip to content

v0.3.2

Latest

Choose a tag to compare

@rsnodgrass rsnodgrass released this 23 Feb 08:09

Fix: MRAUDIO8x8 source selection and command failures

Problem

All commands (source selection, volume, power, etc.) failed silently on Xantech MRAUDIO8x8 amplifiers. The root cause was a zone ID mismatch between two layers:

  1. Config flow defaults suggested zone IDs 11-18 for all xantech8 models
  2. pyxantech only validated against primary zones 1-8 for xantech8, rejecting 11-18 with ValueError

Because the integration uses optimistic state updates, the errors were swallowed — the UI appeared to work but no RS232 commands were actually sent to the amplifier.

Other xantech8 models (MRC88, MX88) were less affected because users with those models often entered zones matching pyxantech's expected format.

flowchart LR
    A[Config flow defaults<br/>zones 11-18] --> B[pyxantech validates<br/>zones 1-8 only]
    B --> C[ValueError: Invalid zone 11]
    C --> D[Commands fail silently<br/>optimistic state masks it]

Fix

pyxantech v0.10.7 (upstream dependency):

  • New _get_valid_zones() merges primary zones with alternative_zones from device config
  • All 8 command functions now accept both zone ID formats
  • xantech8 now validates against the full set: 1-8, 11-18, 21-28, 31-38

hass-xantech v0.3.2 (this release):

  • Config flow and options flow now validate entered zone IDs against pyxantech's device config
  • Invalid zone IDs show a clear error instead of silently failing later
  • Updated zone step descriptions to explain both formats:
    • Two-digit (11-18): Most Xantech models (MRC88, MX88) — first digit is controller unit, second is zone
    • Single-digit (1-8): Standalone MRAUDIO8x8 units
  • Defaults remain 11-18 since most users have newer multi-unit models

Dependencies