mirror of
https://github.com/home-assistant/core.git
synced 2025-07-09 14:27:07 +00:00
Use new media player enums in bluesound (#78096)
This commit is contained in:
parent
0a13fe99d2
commit
2cc45cd302
@ -19,12 +19,11 @@ import xmltodict
|
|||||||
from homeassistant.components import media_source
|
from homeassistant.components import media_source
|
||||||
from homeassistant.components.media_player import (
|
from homeassistant.components.media_player import (
|
||||||
PLATFORM_SCHEMA,
|
PLATFORM_SCHEMA,
|
||||||
|
BrowseMedia,
|
||||||
MediaPlayerEntity,
|
MediaPlayerEntity,
|
||||||
MediaPlayerEntityFeature,
|
MediaPlayerEntityFeature,
|
||||||
|
MediaPlayerState,
|
||||||
MediaType,
|
MediaType,
|
||||||
)
|
|
||||||
from homeassistant.components.media_player.browse_media import (
|
|
||||||
BrowseMedia,
|
|
||||||
async_process_play_media_url,
|
async_process_play_media_url,
|
||||||
)
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
@ -35,10 +34,6 @@ from homeassistant.const import (
|
|||||||
CONF_PORT,
|
CONF_PORT,
|
||||||
EVENT_HOMEASSISTANT_START,
|
EVENT_HOMEASSISTANT_START,
|
||||||
EVENT_HOMEASSISTANT_STOP,
|
EVENT_HOMEASSISTANT_STOP,
|
||||||
STATE_IDLE,
|
|
||||||
STATE_OFF,
|
|
||||||
STATE_PAUSED,
|
|
||||||
STATE_PLAYING,
|
|
||||||
)
|
)
|
||||||
from homeassistant.core import HomeAssistant, ServiceCall, callback
|
from homeassistant.core import HomeAssistant, ServiceCall, callback
|
||||||
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
from homeassistant.helpers.aiohttp_client import async_get_clientsession
|
||||||
@ -68,7 +63,6 @@ DEFAULT_PORT = 11000
|
|||||||
NODE_OFFLINE_CHECK_TIMEOUT = 180
|
NODE_OFFLINE_CHECK_TIMEOUT = 180
|
||||||
NODE_RETRY_INITIATION = timedelta(minutes=3)
|
NODE_RETRY_INITIATION = timedelta(minutes=3)
|
||||||
|
|
||||||
STATE_GROUPED = "grouped"
|
|
||||||
SYNC_STATUS_INTERVAL = timedelta(minutes=5)
|
SYNC_STATUS_INTERVAL = timedelta(minutes=5)
|
||||||
|
|
||||||
UPDATE_CAPTURE_INTERVAL = timedelta(minutes=30)
|
UPDATE_CAPTURE_INTERVAL = timedelta(minutes=30)
|
||||||
@ -554,20 +548,20 @@ class BluesoundPlayer(MediaPlayerEntity):
|
|||||||
return self._services_items
|
return self._services_items
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def state(self):
|
def state(self) -> MediaPlayerState:
|
||||||
"""Return the state of the device."""
|
"""Return the state of the device."""
|
||||||
if self._status is None:
|
if self._status is None:
|
||||||
return STATE_OFF
|
return MediaPlayerState.OFF
|
||||||
|
|
||||||
if self.is_grouped and not self.is_master:
|
if self.is_grouped and not self.is_master:
|
||||||
return STATE_GROUPED
|
return MediaPlayerState.IDLE
|
||||||
|
|
||||||
status = self._status.get("state")
|
status = self._status.get("state")
|
||||||
if status in ("pause", "stop"):
|
if status in ("pause", "stop"):
|
||||||
return STATE_PAUSED
|
return MediaPlayerState.PAUSED
|
||||||
if status in ("stream", "play"):
|
if status in ("stream", "play"):
|
||||||
return STATE_PLAYING
|
return MediaPlayerState.PLAYING
|
||||||
return STATE_IDLE
|
return MediaPlayerState.IDLE
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def media_title(self):
|
def media_title(self):
|
||||||
@ -620,14 +614,14 @@ class BluesoundPlayer(MediaPlayerEntity):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
mediastate = self.state
|
mediastate = self.state
|
||||||
if self._last_status_update is None or mediastate == STATE_IDLE:
|
if self._last_status_update is None or mediastate == MediaPlayerState.IDLE:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
if (position := self._status.get("secs")) is None:
|
if (position := self._status.get("secs")) is None:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
position = float(position)
|
position = float(position)
|
||||||
if mediastate == STATE_PLAYING:
|
if mediastate == MediaPlayerState.PLAYING:
|
||||||
position += (dt_util.utcnow() - self._last_status_update).total_seconds()
|
position += (dt_util.utcnow() - self._last_status_update).total_seconds()
|
||||||
|
|
||||||
return position
|
return position
|
||||||
|
Loading…
x
Reference in New Issue
Block a user