mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Merged service calling method in universal media player
This commit is contained in:
parent
d829497c3d
commit
270a998e3c
@ -174,17 +174,17 @@ class UniversalMediaPlayer(MediaPlayerDevice):
|
||||
active_child = self.active_child_state
|
||||
return active_child.attributes.get(attr_name) if active_child else None
|
||||
|
||||
def _override_or_child_service(self, service_name, service_data):
|
||||
def _call_service(self, service_name, service_data=None,
|
||||
allow_override=False):
|
||||
""" calls either a specified or active child's service """
|
||||
if service_name in self._cmds:
|
||||
if allow_override and service_name in self._cmds:
|
||||
call_from_config(
|
||||
self.hass, self._cmds[service_name], blocking=True)
|
||||
return
|
||||
|
||||
self._child_service(service_name, service_data)
|
||||
if service_data is None:
|
||||
service_data = {}
|
||||
|
||||
def _child_service(self, service_name, service_data):
|
||||
""" calls the active child's specified service """
|
||||
active_child = self.active_child_state
|
||||
service_data[ATTR_ENTITY_ID] = active_child.entity_id
|
||||
|
||||
@ -367,64 +367,64 @@ class UniversalMediaPlayer(MediaPlayerDevice):
|
||||
|
||||
def turn_on(self):
|
||||
""" turn the media player on. """
|
||||
self._override_or_child_service(SERVICE_TURN_ON)
|
||||
self._call_service(SERVICE_TURN_ON, allow_override=True)
|
||||
|
||||
def turn_off(self):
|
||||
""" turn the media player off. """
|
||||
self._override_or_child_service(SERVICE_TURN_OFF)
|
||||
self._call_service(SERVICE_TURN_OFF, allow_override=True)
|
||||
|
||||
def mute_volume(self, is_volume_muted):
|
||||
""" mute the volume. """
|
||||
data = {ATTR_MEDIA_VOLUME_MUTED: is_volume_muted}
|
||||
self._override_or_child_service(SERVICE_VOLUME_MUTE, data)
|
||||
self._call_service(SERVICE_VOLUME_MUTE, data, allow_override=True)
|
||||
|
||||
def set_volume_level(self, volume_level):
|
||||
""" set volume level, range 0..1. """
|
||||
data = {ATTR_MEDIA_VOLUME_LEVEL: volume_level}
|
||||
self._child_service(SERVICE_VOLUME_SET, data)
|
||||
self._call_service(SERVICE_VOLUME_SET, data)
|
||||
|
||||
def media_play(self):
|
||||
""" Send play commmand. """
|
||||
self._child_service(SERVICE_MEDIA_PLAY)
|
||||
self._call_service(SERVICE_MEDIA_PLAY)
|
||||
|
||||
def media_pause(self):
|
||||
""" Send pause command. """
|
||||
self._child_service(SERVICE_MEDIA_PAUSE)
|
||||
self._call_service(SERVICE_MEDIA_PAUSE)
|
||||
|
||||
def media_previous_track(self):
|
||||
""" Send previous track command. """
|
||||
self._child_service(SERVICE_MEDIA_PREVIOUS_TRACK)
|
||||
self._call_service(SERVICE_MEDIA_PREVIOUS_TRACK)
|
||||
|
||||
def media_next_track(self):
|
||||
""" Send next track command. """
|
||||
self._child_service(SERVICE_MEDIA_NEXT_TRACK)
|
||||
self._call_service(SERVICE_MEDIA_NEXT_TRACK)
|
||||
|
||||
def media_seek(self, position):
|
||||
""" Send seek command. """
|
||||
data = {ATTR_MEDIA_SEEK_POSITION: position}
|
||||
self._child_service(SERVICE_MEDIA_SEEK, data)
|
||||
self._call_service(SERVICE_MEDIA_SEEK, data)
|
||||
|
||||
def play_youtube(self, media_id):
|
||||
""" Plays a YouTube media. """
|
||||
data = {'media_id': media_id}
|
||||
self._child_service(SERVICE_YOUTUBE_VIDEO, data)
|
||||
self._call_service(SERVICE_YOUTUBE_VIDEO, data)
|
||||
|
||||
def play_media(self, media_type, media_id):
|
||||
""" Plays a piece of media. """
|
||||
data = {'media_type': media_type, 'media_id': media_id}
|
||||
self._child_service(SERVICE_PLAY_MEDIA, data)
|
||||
self._call_service(SERVICE_PLAY_MEDIA, data)
|
||||
|
||||
def volume_up(self):
|
||||
""" volume_up media player. """
|
||||
self._override_or_child_service(SERVICE_VOLUME_UP)
|
||||
self._call_service(SERVICE_VOLUME_UP, allow_override=True)
|
||||
|
||||
def volume_down(self):
|
||||
""" volume_down media player. """
|
||||
self._override_or_child_service(SERVICE_VOLUME_DOWN)
|
||||
self._call_service(SERVICE_VOLUME_DOWN, allow_override=True)
|
||||
|
||||
def media_play_pause(self):
|
||||
""" media_play_pause media player. """
|
||||
self._child_service(SERVICE_MEDIA_PLAY_PAUSE)
|
||||
self._call_service(SERVICE_MEDIA_PLAY_PAUSE)
|
||||
|
||||
def update_state(self, *_):
|
||||
""" event to trigger a state update in HA """
|
||||
|
Loading…
x
Reference in New Issue
Block a user