diff --git a/src/vaillant/26.vr_71.tsp b/src/vaillant/26.vr_71.tsp index 3c6513d7..764552fe 100644 --- a/src/vaillant/26.vr_71.tsp +++ b/src/vaillant/26.vr_71.tsp @@ -67,7 +67,9 @@ namespace Vr_71 { @inherit(w_1) @ext(0x2, 0) model Mc1Operation { - status: onoff; + @values(Values_McStatus) + status: UCH; + flowtempdesired: temp1; @in @@ -80,7 +82,9 @@ namespace Vr_71 { @inherit(w_1) @ext(0x2, 1) model Mc2Operation { - status: onoff; + @values(Values_McStatus) + status: UCH; + flowtempdesired: temp1; @in @@ -93,7 +97,9 @@ namespace Vr_71 { @inherit(w_1) @ext(0x2, 0x2) model Mc3Operation { - status: onoff; + @values(Values_McStatus) + status: UCH; + flowtempdesired: temp1; @in @@ -137,6 +143,27 @@ namespace Vr_71 { on: 20, } + /** + * Mixer-circuit operation status. See issue #620. + * + * Value 4 is written by the controller in a short daily burst (~5 min) on + * otherwise-off circuits — a "keep valve operable" maintenance run + * (anti-seize). + * + * Value 2 occurs on cooling-capable systems while the circuit is cooling + * (reported for a VR 71 + VRC 700 driving aroVAIR convectors: flow target + * 10 °C at 2 versus 42.5-44 °C at 1). On those systems 1 therefore means + * "heating" rather than a generic "on"; the label is kept as `on` because + * this field used the shared `onoff` type before, and renaming it would + * change the reported state for every existing installation. + */ + enum Values_McStatus { + off: 0, + on: 1, + cooling: 2, + keepValveOperable: 4, + } + /** included parts */ union _includes { Errors_inc,