From 13b001cd9b47e69518b942a8ad543ae48c824378 Mon Sep 17 00:00:00 2001 From: Feliksas The Lion <3208508+Feliksas@users.noreply.github.com> Date: Tue, 31 Aug 2021 06:33:52 +0300 Subject: [PATCH] Fix Zone 2 and Zone 3 detection in onkyo (#55471) --- homeassistant/components/onkyo/media_player.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/onkyo/media_player.py b/homeassistant/components/onkyo/media_player.py index ef20c1054f3..614612ecc27 100644 --- a/homeassistant/components/onkyo/media_player.py +++ b/homeassistant/components/onkyo/media_player.py @@ -145,16 +145,22 @@ def determine_zones(receiver): out = {"zone2": False, "zone3": False} try: _LOGGER.debug("Checking for zone 2 capability") - receiver.raw("ZPWQSTN") - out["zone2"] = True + response = receiver.raw("ZPWQSTN") + if response != "ZPWN/A": # Zone 2 Available + out["zone2"] = True + else: + _LOGGER.debug("Zone 2 not available") except ValueError as error: if str(error) != TIMEOUT_MESSAGE: raise error _LOGGER.debug("Zone 2 timed out, assuming no functionality") try: _LOGGER.debug("Checking for zone 3 capability") - receiver.raw("PW3QSTN") - out["zone3"] = True + response = receiver.raw("PW3QSTN") + if response != "PW3N/A": + out["zone3"] = True + else: + _LOGGER.debug("Zone 3 not available") except ValueError as error: if str(error) != TIMEOUT_MESSAGE: raise error