From 7a1907e540a88b741191bc0030a7a1a09e2a7e94 Mon Sep 17 00:00:00 2001 From: epenet <6771947+epenet@users.noreply.github.com> Date: Mon, 28 Nov 2022 10:25:20 +0100 Subject: [PATCH] Enforce MediaPlayerState in denonavr media player (#82847) --- homeassistant/components/denonavr/media_player.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/denonavr/media_player.py b/homeassistant/components/denonavr/media_player.py index 32f233d5413..aa1fb7361e2 100644 --- a/homeassistant/components/denonavr/media_player.py +++ b/homeassistant/components/denonavr/media_player.py @@ -8,7 +8,7 @@ import logging from typing import Any, TypeVar from denonavr import DenonAVR -from denonavr.const import POWER_ON +from denonavr.const import POWER_ON, STATE_OFF, STATE_ON, STATE_PAUSED, STATE_PLAYING from denonavr.exceptions import ( AvrCommandError, AvrForbiddenError, @@ -78,6 +78,14 @@ _R = TypeVar("_R") _P = ParamSpec("_P") +DENON_STATE_MAPPING = { + STATE_ON: MediaPlayerState.ON, + STATE_OFF: MediaPlayerState.OFF, + STATE_PLAYING: MediaPlayerState.PLAYING, + STATE_PAUSED: MediaPlayerState.PAUSED, +} + + async def async_setup_entry( hass: HomeAssistant, config_entry: ConfigEntry, @@ -243,9 +251,9 @@ class DenonDevice(MediaPlayerEntity): await self._receiver.async_update_audyssey() @property - def state(self): + def state(self) -> MediaPlayerState | None: """Return the state of the device.""" - return self._receiver.state + return DENON_STATE_MAPPING.get(self._receiver.state) @property def source_list(self):