Enforce MediaPlayerState in denonavr media player (#82847)

This commit is contained in:
epenet 2022-11-28 10:25:20 +01:00 committed by GitHub
parent afe01c2434
commit 7a1907e540
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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):