Use new media player enums in esphome (#78099)

This commit is contained in:
epenet 2022-09-10 22:12:37 +02:00 committed by GitHub
parent 27e8e40968
commit a1aac4a2e9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,21 +7,19 @@ from aioesphomeapi import (
MediaPlayerCommand, MediaPlayerCommand,
MediaPlayerEntityState, MediaPlayerEntityState,
MediaPlayerInfo, MediaPlayerInfo,
MediaPlayerState, MediaPlayerState as EspMediaPlayerState,
) )
from homeassistant.components import media_source from homeassistant.components import media_source
from homeassistant.components.media_player import ( from homeassistant.components.media_player import (
BrowseMedia,
MediaPlayerDeviceClass, MediaPlayerDeviceClass,
MediaPlayerEntity, MediaPlayerEntity,
) MediaPlayerEntityFeature,
from homeassistant.components.media_player.browse_media import ( MediaPlayerState,
BrowseMedia,
async_process_play_media_url, async_process_play_media_url,
) )
from homeassistant.components.media_player.const import MediaPlayerEntityFeature
from homeassistant.config_entries import ConfigEntry from homeassistant.config_entries import ConfigEntry
from homeassistant.const import STATE_IDLE, STATE_PAUSED, STATE_PLAYING
from homeassistant.core import HomeAssistant from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
@ -50,11 +48,11 @@ async def async_setup_entry(
) )
_STATES: EsphomeEnumMapper[MediaPlayerState, str] = EsphomeEnumMapper( _STATES: EsphomeEnumMapper[EspMediaPlayerState, MediaPlayerState] = EsphomeEnumMapper(
{ {
MediaPlayerState.IDLE: STATE_IDLE, EspMediaPlayerState.IDLE: MediaPlayerState.IDLE,
MediaPlayerState.PLAYING: STATE_PLAYING, EspMediaPlayerState.PLAYING: MediaPlayerState.PLAYING,
MediaPlayerState.PAUSED: STATE_PAUSED, EspMediaPlayerState.PAUSED: MediaPlayerState.PAUSED,
} }
) )
@ -68,7 +66,7 @@ class EsphomeMediaPlayer(
@property # type: ignore[misc] @property # type: ignore[misc]
@esphome_state_property @esphome_state_property
def state(self) -> str | None: def state(self) -> MediaPlayerState | None:
"""Return current state.""" """Return current state."""
return _STATES.from_esphome(self._state.state) return _STATES.from_esphome(self._state.state)