From 10d74bb37e432e36a5b14041c586776ac79822e6 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen <paulus@paulusschoutsen.nl> Date: Sat, 30 May 2015 11:29:49 -0700 Subject: [PATCH] Add turn_on method to media_player --- .../components/media_player/__init__.py | 16 ++++++++++++++-- tests/test_component_media_player.py | 3 ++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/media_player/__init__.py b/homeassistant/components/media_player/__init__.py index ddfc2f49153..537a5f16f39 100644 --- a/homeassistant/components/media_player/__init__.py +++ b/homeassistant/components/media_player/__init__.py @@ -10,7 +10,7 @@ from homeassistant.components import discovery from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity_component import EntityComponent from homeassistant.const import ( - ATTR_ENTITY_ID, SERVICE_TURN_OFF, SERVICE_VOLUME_UP, + ATTR_ENTITY_ID, SERVICE_TURN_OFF, SERVICE_TURN_ON, SERVICE_VOLUME_UP, SERVICE_VOLUME_DOWN, SERVICE_MEDIA_PLAY_PAUSE, SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PREV_TRACK) @@ -58,6 +58,13 @@ def is_on(hass, entity_id=None): for entity_id in entity_ids) +def turn_on(hass, entity_id=None): + """ Will turn on specified media player or all. """ + data = {ATTR_ENTITY_ID: entity_id} if entity_id else {} + + hass.services.call(DOMAIN, SERVICE_TURN_ON, data) + + def turn_off(hass, entity_id=None): """ Will turn off specified media player or all. """ data = {ATTR_ENTITY_ID: entity_id} if entity_id else {} @@ -115,6 +122,7 @@ def media_prev_track(hass, entity_id=None): SERVICE_TO_METHOD = { + SERVICE_TURN_ON: 'turn_on', SERVICE_TURN_OFF: 'turn_off', SERVICE_VOLUME_UP: 'volume_up', SERVICE_VOLUME_DOWN: 'volume_down', @@ -175,8 +183,12 @@ def setup(hass, config): class MediaPlayerDevice(Entity): """ ABC for media player devices. """ + def turn_on(self): + """ turn media player on. """ + pass + def turn_off(self): - """ turn_off media player. """ + """ turn media player off. """ pass def volume_up(self): diff --git a/tests/test_component_media_player.py b/tests/test_component_media_player.py index 3e6ea347f28..fdde02e5594 100644 --- a/tests/test_component_media_player.py +++ b/tests/test_component_media_player.py @@ -10,7 +10,7 @@ import unittest import homeassistant as ha from homeassistant.const import ( - SERVICE_TURN_OFF, SERVICE_VOLUME_UP, SERVICE_VOLUME_DOWN, + SERVICE_TURN_ON, SERVICE_TURN_OFF, SERVICE_VOLUME_UP, SERVICE_VOLUME_DOWN, SERVICE_MEDIA_PLAY_PAUSE, SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PAUSE, SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PREV_TRACK, ATTR_ENTITY_ID) import homeassistant.components.media_player as media_player @@ -48,6 +48,7 @@ class TestMediaPlayer(unittest.TestCase): Test if the call service methods conver to correct service calls. """ services = { + SERVICE_TURN_ON: media_player.turn_on, SERVICE_TURN_OFF: media_player.turn_off, SERVICE_VOLUME_UP: media_player.volume_up, SERVICE_VOLUME_DOWN: media_player.volume_down, -- GitLab