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