Skip to content

Vaillant VR_71: add keepValveOperable (4) to Mc{1,2,3}Operation status enum - #621

Open
buliwyf42 wants to merge 2 commits into
john30:masterfrom
buliwyf42:vaillant-vr71-mc-status-keepvalveoperable
Open

Vaillant VR_71: add keepValveOperable (4) to Mc{1,2,3}Operation status enum#621
buliwyf42 wants to merge 2 commits into
john30:masterfrom
buliwyf42:vaillant-vr71-mc-status-keepvalveoperable

Conversation

@buliwyf42

@buliwyf42 buliwyf42 commented Jun 24, 2026

Copy link
Copy Markdown

What

Mc{1,2,3}Operation.status (b523 0200/0201/0202) is currently typed onoff (0=off;1=on). On real installs the controller also writes status = 4, which the shared onoff type doesn't cover, so ebusd passes the raw value through and Home Assistant's enum sensor rejects every such update:

Ignoring invalid option received on topic 'ebusd/vr_71/Mc1Operation', got '4', allowed: off, on

This adds a dedicated Values_McStatus enum (off=0, on=1, keepValveOperable=4) for the three status fields and leaves pump on onoff.

Why 4 = keepValveOperable

Per the discussion in #620 across three independent VR_71 installs: status=4 appears in a short daily burst (~5 min) on otherwise-off circuits — a valve anti-seize / "keep valve operable" maintenance run. Observed status values are only 0 and 4; 1 (on) was not seen. Name suggested by @Hoppur.

Verification

  • tsp compile --warn-as-error passes.
  • Emitted CSV (Mc1/2/3): status,,UCH,0=off;1=on;4=keepValveOperable.
  • tsp format clean; pump unchanged (onoff).

Closes #620

The room controller writes status=4 in a short daily burst (~5 min) on
otherwise-off mixer circuits — a valve anti-seize / keep-valve-operable
maintenance run. The shared onoff type (0=off;1=on) doesn't cover it, so
HA's enum sensor rejected the value. Add a dedicated Values_McStatus enum
(off=0, on=1, keepValveOperable=4) for the three Mc status fields; pump
stays onoff. Verified: tsp compile --warn-as-error passes, emitted CSV =
0=off;1=on;4=keepValveOperable, tsp format clean.

Refs john30#620
@buliwyf42
buliwyf42 force-pushed the vaillant-vr71-mc-status-keepvalveoperable branch from 0936764 to 4afa0fe Compare June 24, 2026 06:07
Reported in john30#620 for a cooling-capable VR 71 (VRC 700, aroVAIR convectors):
status 2 is sent while the circuit is cooling (flow target 10 C), versus 1
while heating (flow target 42.5-44 C). Without it, cooling installations keep
hitting the original problem of this issue - a value outside the enum.

Value 1 keeps the label 'on' on purpose: the field used the shared 'onoff'
type before this branch, so renaming it to 'heating' would change the reported
state on every existing installation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Vaillant VR_71: Mc{1,2,3}Operation status receives value 4 (not in onoff enum) -> HA 'invalid option'

1 participant