From 21ace5b11550e295be70ee641f658f2f25d48f58 Mon Sep 17 00:00:00 2001 From: Nikolaj Christensen Date: Tue, 20 Oct 2026 18:03:34 +0200 Subject: [PATCH] Don't query the input right after switching it The MRX 310 rejects an input change (answers !I) when another command arrives while it is still switching, so INP; followed at once by INP?; never changes the input. The receiver echoes the new input by itself, which already updates the state. --- anthemav/protocol.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/anthemav/protocol.py b/anthemav/protocol.py index ca5097f..1a39405 100755 --- a/anthemav/protocol.py +++ b/anthemav/protocol.py @@ -1401,9 +1401,10 @@ def input_number(self) -> int: def input_number(self, number: int): if 1 <= number <= 99: self._avr.log.debug(f"Switching input to {number} for zone {self._zone}") + # Don't query the input right after the command: the MRX 310 rejects + # an input change if another command arrives while it is switching. + # The receiver echoes the new input by itself, which updates the state. self.command(f"INP{number}") - # Query to make sure it actually changes - self.query("INP") @property def input_name(self) -> str: