diff --git a/homeassistant/components/onkyo/media_player.py b/homeassistant/components/onkyo/media_player.py
index ac8cfa5e4b6956fec2775c488d0b099f6dc4762d..7ac9b5fdfc6f2504f4b98016ca0a9f79e6cfd033 100644
--- a/homeassistant/components/onkyo/media_player.py
+++ b/homeassistant/components/onkyo/media_player.py
@@ -118,15 +118,20 @@ ONKYO_SELECT_OUTPUT_SCHEMA = vol.Schema(
 SERVICE_SELECT_HDMI_OUTPUT = "onkyo_select_hdmi_output"
 
 
-def _parse_onkyo_tuple(tup):
-    """Parse a tuple returned from the eiscp library."""
-    if len(tup) < 2:
+def _parse_onkyo_payload(payload):
+    """Parse a payload returned from the eiscp library."""
+    if isinstance(payload, bool):
+        # command not supported by the device
+        return False
+
+    if len(payload) < 2:
+        # no value
         return None
 
-    if isinstance(tup[1], str):
-        return tup[1].split(",")
+    if isinstance(payload[1], str):
+        return payload[1].split(",")
 
-    return tup[1]
+    return payload[1]
 
 
 def _tuple_get(tup, index, default=None):
@@ -267,6 +272,8 @@ class OnkyoDevice(MediaPlayerEntity):
         self._reverse_mapping = {value: key for key, value in sources.items()}
         self._attributes = {}
         self._hdmi_out_supported = True
+        self._audio_info_supported = True
+        self._video_info_supported = True
 
     def command(self, command):
         """Run an eiscp command and catch connection errors."""
@@ -309,12 +316,14 @@ class OnkyoDevice(MediaPlayerEntity):
         else:
             hdmi_out_raw = []
         preset_raw = self.command("preset query")
-        audio_information_raw = self.command("audio-information query")
-        video_information_raw = self.command("video-information query")
+        if self._audio_info_supported:
+            audio_information_raw = self.command("audio-information query")
+        if self._video_info_supported:
+            video_information_raw = self.command("video-information query")
         if not (volume_raw and mute_raw and current_source_raw):
             return
 
-        sources = _parse_onkyo_tuple(current_source_raw)
+        sources = _parse_onkyo_payload(current_source_raw)
 
         for source in sources:
             if source in self._source_mapping:
@@ -441,7 +450,11 @@ class OnkyoDevice(MediaPlayerEntity):
         self.command(f"hdmi-output-selector={output}")
 
     def _parse_audio_information(self, audio_information_raw):
-        values = _parse_onkyo_tuple(audio_information_raw)
+        values = _parse_onkyo_payload(audio_information_raw)
+        if values is False:
+            self._audio_info_supported = False
+            return
+
         if values:
             info = {
                 "format": _tuple_get(values, 1),
@@ -456,7 +469,11 @@ class OnkyoDevice(MediaPlayerEntity):
             self._attributes.pop(ATTR_AUDIO_INFORMATION, None)
 
     def _parse_video_information(self, video_information_raw):
-        values = _parse_onkyo_tuple(video_information_raw)
+        values = _parse_onkyo_payload(video_information_raw)
+        if values is False:
+            self._video_info_supported = False
+            return
+
         if values:
             info = {
                 "input_resolution": _tuple_get(values, 1),