mirror of
https://github.com/home-assistant/core.git
synced 2025-07-27 15:17:35 +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
|
active_child = self.active_child_state
|
||||||
return active_child.attributes.get(attr_name) if active_child else None
|
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 """
|
""" 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(
|
call_from_config(
|
||||||
self.hass, self._cmds[service_name], blocking=True)
|
self.hass, self._cmds[service_name], blocking=True)
|
||||||
return
|
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
|
active_child = self.active_child_state
|
||||||
service_data[ATTR_ENTITY_ID] = active_child.entity_id
|
service_data[ATTR_ENTITY_ID] = active_child.entity_id
|
||||||
|
|
||||||
@ -367,64 +367,64 @@ class UniversalMediaPlayer(MediaPlayerDevice):
|
|||||||
|
|
||||||
def turn_on(self):
|
def turn_on(self):
|
||||||
""" turn the media player on. """
|
""" 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):
|
def turn_off(self):
|
||||||
""" turn the media player off. """
|
""" 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):
|
def mute_volume(self, is_volume_muted):
|
||||||
""" mute the volume. """
|
""" mute the volume. """
|
||||||
data = {ATTR_MEDIA_VOLUME_MUTED: is_volume_muted}
|
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):
|
def set_volume_level(self, volume_level):
|
||||||
""" set volume level, range 0..1. """
|
""" set volume level, range 0..1. """
|
||||||
data = {ATTR_MEDIA_VOLUME_LEVEL: volume_level}
|
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):
|
def media_play(self):
|
||||||
""" Send play commmand. """
|
""" Send play commmand. """
|
||||||
self._child_service(SERVICE_MEDIA_PLAY)
|
self._call_service(SERVICE_MEDIA_PLAY)
|
||||||
|
|
||||||
def media_pause(self):
|
def media_pause(self):
|
||||||
""" Send pause command. """
|
""" Send pause command. """
|
||||||
self._child_service(SERVICE_MEDIA_PAUSE)
|
self._call_service(SERVICE_MEDIA_PAUSE)
|
||||||
|
|
||||||
def media_previous_track(self):
|
def media_previous_track(self):
|
||||||
""" Send previous track command. """
|
""" Send previous track command. """
|
||||||
self._child_service(SERVICE_MEDIA_PREVIOUS_TRACK)
|
self._call_service(SERVICE_MEDIA_PREVIOUS_TRACK)
|
||||||
|
|
||||||
def media_next_track(self):
|
def media_next_track(self):
|
||||||
""" Send next track command. """
|
""" Send next track command. """
|
||||||
self._child_service(SERVICE_MEDIA_NEXT_TRACK)
|
self._call_service(SERVICE_MEDIA_NEXT_TRACK)
|
||||||
|
|
||||||
def media_seek(self, position):
|
def media_seek(self, position):
|
||||||
""" Send seek command. """
|
""" Send seek command. """
|
||||||
data = {ATTR_MEDIA_SEEK_POSITION: position}
|
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):
|
def play_youtube(self, media_id):
|
||||||
""" Plays a YouTube media. """
|
""" Plays a YouTube media. """
|
||||||
data = {'media_id': media_id}
|
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):
|
def play_media(self, media_type, media_id):
|
||||||
""" Plays a piece of media. """
|
""" Plays a piece of media. """
|
||||||
data = {'media_type': media_type, 'media_id': media_id}
|
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):
|
def volume_up(self):
|
||||||
""" volume_up media player. """
|
""" 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):
|
def volume_down(self):
|
||||||
""" volume_down media player. """
|
""" 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):
|
def media_play_pause(self):
|
||||||
""" media_play_pause media player. """
|
""" media_play_pause media player. """
|
||||||
self._child_service(SERVICE_MEDIA_PLAY_PAUSE)
|
self._call_service(SERVICE_MEDIA_PLAY_PAUSE)
|
||||||
|
|
||||||
def update_state(self, *_):
|
def update_state(self, *_):
|
||||||
""" event to trigger a state update in HA """
|
""" event to trigger a state update in HA """
|
||||||
|
Loading…
x
Reference in New Issue
Block a user