From 3b49d1e876bcefb9f0729affe40f4b94036f8641 Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Mon, 5 Oct 2015 22:31:21 -0700 Subject: [PATCH 01/19] Update version to 0.7.5dev0 --- homeassistant/const.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/homeassistant/const.py b/homeassistant/const.py index 2d272ca3a0b..35e3e2c93ae 100644 --- a/homeassistant/const.py +++ b/homeassistant/const.py @@ -1,7 +1,7 @@ # coding: utf-8 """ Constants used by Home Assistant components. """ -__version__ = "0.7.4" +__version__ = "0.7.5dev0" # Can be used to specify a catch all when registering state or event listeners. MATCH_ALL = '*' From 87599df41b9889e536482fcd72936033692bfecd Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Tue, 6 Oct 2015 23:00:29 -0400 Subject: [PATCH 02/19] add some new media types --- homeassistant/components/media_player/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/homeassistant/components/media_player/__init__.py b/homeassistant/components/media_player/__init__.py index 143473e2fde..af5dddb8651 100644 --- a/homeassistant/components/media_player/__init__.py +++ b/homeassistant/components/media_player/__init__.py @@ -53,6 +53,9 @@ ATTR_SUPPORTED_MEDIA_COMMANDS = 'supported_media_commands' MEDIA_TYPE_MUSIC = 'music' MEDIA_TYPE_TVSHOW = 'tvshow' MEDIA_TYPE_VIDEO = 'movie' +MEDIA_TYPE_EPISODE = 'episode' +MEDIA_TYPE_CHANNEL = 'channel' +MEDIA_TYPE_PLAYLIST = 'playlist' SUPPORT_PAUSE = 1 SUPPORT_SEEK = 2 From dcf52332ca18c1d3bb2f12589943d9346378a047 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Tue, 6 Oct 2015 23:09:53 -0400 Subject: [PATCH 03/19] add new properties for Channel or Playlist --- homeassistant/components/media_player/__init__.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/homeassistant/components/media_player/__init__.py b/homeassistant/components/media_player/__init__.py index af5dddb8651..cd6d367f1f7 100644 --- a/homeassistant/components/media_player/__init__.py +++ b/homeassistant/components/media_player/__init__.py @@ -46,6 +46,8 @@ ATTR_MEDIA_TRACK = 'media_track' ATTR_MEDIA_SERIES_TITLE = 'media_series_title' ATTR_MEDIA_SEASON = 'media_season' ATTR_MEDIA_EPISODE = 'media_episode' +ATTR_MEDIA_CHANNEL = 'media_channel' +ATTR_MEDIA_PLAYLIST = 'media_playlist' ATTR_APP_ID = 'app_id' ATTR_APP_NAME = 'app_name' ATTR_SUPPORTED_MEDIA_COMMANDS = 'supported_media_commands' @@ -95,6 +97,8 @@ ATTR_TO_PROPERTY = [ ATTR_MEDIA_SERIES_TITLE, ATTR_MEDIA_SEASON, ATTR_MEDIA_EPISODE, + ATTR_MEDIA_CHANNEL, + ATTR_MEDIA_PLAYLIST, ATTR_APP_ID, ATTR_APP_NAME, ATTR_SUPPORTED_MEDIA_COMMANDS, @@ -376,6 +380,16 @@ class MediaPlayerDevice(Entity): """ Episode of current playing media. (TV Show only) """ return None + @property + def media_channel(self): + """ Channel currently playing. """ + return None + + @property + def media_playlist(self): + """ Title of Playlist currently playing. """ + return None + @property def app_id(self): """ ID of the current running app. """ From d454cad5a6a90c02f4b14b4b84eb0ac5dfe7e029 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Tue, 6 Oct 2015 23:10:39 -0400 Subject: [PATCH 04/19] add a play_media function --- homeassistant/components/media_player/__init__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/homeassistant/components/media_player/__init__.py b/homeassistant/components/media_player/__init__.py index cd6d367f1f7..3bc542c04c4 100644 --- a/homeassistant/components/media_player/__init__.py +++ b/homeassistant/components/media_player/__init__.py @@ -450,6 +450,10 @@ class MediaPlayerDevice(Entity): """ Plays a YouTube media. """ raise NotImplementedError() + def play_media(self, media_type, media_id): + """ Plays a piece of media. """ + raise NotImplementedError() + # No need to overwrite these. @property def support_pause(self): From e64846e2fdc9bd32f377e104a61cb72aad3d1aaa Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Tue, 6 Oct 2015 23:11:09 -0400 Subject: [PATCH 05/19] add ability to support play_media --- homeassistant/components/media_player/__init__.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/homeassistant/components/media_player/__init__.py b/homeassistant/components/media_player/__init__.py index 3bc542c04c4..7ad38d68c87 100644 --- a/homeassistant/components/media_player/__init__.py +++ b/homeassistant/components/media_player/__init__.py @@ -31,6 +31,7 @@ DISCOVERY_PLATFORMS = { } SERVICE_YOUTUBE_VIDEO = 'play_youtube_video' +SERVICE_PLAY_MEDIA = 'play_media' ATTR_MEDIA_VOLUME_LEVEL = 'volume_level' ATTR_MEDIA_VOLUME_MUTED = 'is_volume_muted' @@ -68,6 +69,7 @@ SUPPORT_NEXT_TRACK = 32 SUPPORT_YOUTUBE = 64 SUPPORT_TURN_ON = 128 SUPPORT_TURN_OFF = 256 +SUPPORT_PLAY_MEDIA = 512 YOUTUBE_COVER_URL_FORMAT = 'https://img.youtube.com/vi/{}/1.jpg' @@ -490,6 +492,11 @@ class MediaPlayerDevice(Entity): """ Boolean if YouTube is supported. """ return bool(self.supported_media_commands & SUPPORT_YOUTUBE) + @property + def support_play_media(self): + """ Boolean if play media command supported. """ + return bool(self.supported_media_commands & SUPPORT_PLAY_MEDIA) + def volume_up(self): """ volume_up media player. """ if self.volume_level < 1: From d17174d43db2fcf6a025626d39b039d060dcba00 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Tue, 6 Oct 2015 23:11:21 -0400 Subject: [PATCH 06/19] play_media as a service --- .../components/media_player/__init__.py | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/homeassistant/components/media_player/__init__.py b/homeassistant/components/media_player/__init__.py index 7ad38d68c87..fec4515756c 100644 --- a/homeassistant/components/media_player/__init__.py +++ b/homeassistant/components/media_player/__init__.py @@ -83,6 +83,7 @@ SERVICE_TO_METHOD = { SERVICE_MEDIA_PAUSE: 'media_pause', SERVICE_MEDIA_NEXT_TRACK: 'media_next_track', SERVICE_MEDIA_PREVIOUS_TRACK: 'media_previous_track', + SERVICE_PLAY_MEDIA: 'play_media', } ATTR_TO_PROPERTY = [ @@ -284,6 +285,23 @@ def setup(hass, config): if player.should_poll: player.update_ha_state(True) + def play_media_service(service): + """ Plays specified media_id on the media player. """ + media_type = service.data['media_type'] + media_id = service.data['media_id'] + + if media_type is None: + return + + if media_id is None: + return + + for player in component.extract_from_service(service): + player.play_media(media_type, media_id) + + if player.should_poll: + player.update_ha_state(True) + hass.services.register( DOMAIN, "start_fireplace", lambda service: play_youtube_video_service(service, "eyU3bRy2x44"), @@ -298,6 +316,10 @@ def setup(hass, config): DOMAIN, SERVICE_YOUTUBE_VIDEO, play_youtube_video_service, descriptions.get(SERVICE_YOUTUBE_VIDEO)) + hass.services.register( + DOMAIN, SERVICE_PLAY_MEDIA, play_media_service, + descriptions.get(SERVICE_PLAY_MEDIA)) + return True From 9012ba53fdc3ac129db9a48a4a2b0bca02471387 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Tue, 6 Oct 2015 23:18:24 -0400 Subject: [PATCH 07/19] add play_media service to tests --- tests/components/test_media_player.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/components/test_media_player.py b/tests/components/test_media_player.py index 28d39206c47..7c8dc60fff2 100644 --- a/tests/components/test_media_player.py +++ b/tests/components/test_media_player.py @@ -12,7 +12,8 @@ from homeassistant.const import ( STATE_OFF, 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_PREVIOUS_TRACK, ATTR_ENTITY_ID) + SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PREVIOUS_TRACK, SERVICE_PLAY_MEDIA, + ATTR_ENTITY_ID) import homeassistant.components.media_player as media_player from tests.common import mock_service @@ -52,6 +53,7 @@ class TestMediaPlayer(unittest.TestCase): SERVICE_MEDIA_PAUSE: media_player.media_pause, SERVICE_MEDIA_NEXT_TRACK: media_player.media_next_track, SERVICE_MEDIA_PREVIOUS_TRACK: media_player.media_previous_track + SERVICE_PLAY_MEDIA: media_player.play_media } for service_name, service_method in services.items(): From ad549be353f43809a2d01be7eff69c1ba9c9c8f0 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Wed, 7 Oct 2015 00:39:38 -0400 Subject: [PATCH 08/19] support play_media for state restoration (for scenes) --- homeassistant/helpers/state.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/homeassistant/helpers/state.py b/homeassistant/helpers/state.py index 909b86a67ed..db33eda960d 100644 --- a/homeassistant/helpers/state.py +++ b/homeassistant/helpers/state.py @@ -13,6 +13,8 @@ from homeassistant.const import ( SERVICE_MEDIA_PLAY, SERVICE_MEDIA_PAUSE, STATE_PLAYING, STATE_PAUSED, ATTR_ENTITY_ID) +from homeassistant.components.media_player import (SERVICE_PLAY_MEDIA) + _LOGGER = logging.getLogger(__name__) @@ -61,6 +63,8 @@ def reproduce_state(hass, states, blocking=False): service = SERVICE_MEDIA_PAUSE elif state.domain == 'media_player' and state.state == STATE_PLAYING: service = SERVICE_MEDIA_PLAY + elif state.domain == 'media_player' and state.attributes and state.attributes['media_type'] and state.attributes['media_id']: + service = SERVICE_PLAY_MEDIA elif state.state == STATE_ON: service = SERVICE_TURN_ON elif state.state == STATE_OFF: From 6afb846d04f8d7a43d495d8415ed4f8dc8ba3bbe Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Wed, 7 Oct 2015 00:56:14 -0400 Subject: [PATCH 09/19] avoid key errors --- homeassistant/components/media_player/__init__.py | 4 ++-- homeassistant/helpers/state.py | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/media_player/__init__.py b/homeassistant/components/media_player/__init__.py index fec4515756c..1b65ce57912 100644 --- a/homeassistant/components/media_player/__init__.py +++ b/homeassistant/components/media_player/__init__.py @@ -287,8 +287,8 @@ def setup(hass, config): def play_media_service(service): """ Plays specified media_id on the media player. """ - media_type = service.data['media_type'] - media_id = service.data['media_id'] + media_type = service.data.get('media_type') + media_id = service.data.get('media_id') if media_type is None: return diff --git a/homeassistant/helpers/state.py b/homeassistant/helpers/state.py index db33eda960d..bf3c5f05d7a 100644 --- a/homeassistant/helpers/state.py +++ b/homeassistant/helpers/state.py @@ -63,7 +63,8 @@ def reproduce_state(hass, states, blocking=False): service = SERVICE_MEDIA_PAUSE elif state.domain == 'media_player' and state.state == STATE_PLAYING: service = SERVICE_MEDIA_PLAY - elif state.domain == 'media_player' and state.attributes and state.attributes['media_type'] and state.attributes['media_id']: + elif state.domain == 'media_player' and state.attributes and + 'media_type' in state.attributes and 'media_id' in state.attributes service = SERVICE_PLAY_MEDIA elif state.state == STATE_ON: service = SERVICE_TURN_ON From c4f8017a3fefac7999117947d5b5cb0d29249846 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Wed, 7 Oct 2015 00:56:36 -0400 Subject: [PATCH 10/19] silence warning --- homeassistant/components/media_player/cast.py | 1 + 1 file changed, 1 insertion(+) diff --git a/homeassistant/components/media_player/cast.py b/homeassistant/components/media_player/cast.py index 61223446e5f..6f622c9e0cc 100644 --- a/homeassistant/components/media_player/cast.py +++ b/homeassistant/components/media_player/cast.py @@ -90,6 +90,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): class CastDevice(MediaPlayerDevice): """ Represents a Cast device on the network. """ + # pylint: disable=abstract-method # pylint: disable=too-many-public-methods def __init__(self, host): From 6c4b2fd63854fa88a307aa24628b4fa54890951c Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Wed, 7 Oct 2015 01:01:25 -0400 Subject: [PATCH 11/19] derp --- homeassistant/helpers/state.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/homeassistant/helpers/state.py b/homeassistant/helpers/state.py index bf3c5f05d7a..ac80da98555 100644 --- a/homeassistant/helpers/state.py +++ b/homeassistant/helpers/state.py @@ -63,8 +63,8 @@ def reproduce_state(hass, states, blocking=False): service = SERVICE_MEDIA_PAUSE elif state.domain == 'media_player' and state.state == STATE_PLAYING: service = SERVICE_MEDIA_PLAY - elif state.domain == 'media_player' and state.attributes and - 'media_type' in state.attributes and 'media_id' in state.attributes + elif state.domain == 'media_player' and state.attributes and \ + 'media_type' in state.attributes and 'media_id' in state.attributes: service = SERVICE_PLAY_MEDIA elif state.state == STATE_ON: service = SERVICE_TURN_ON From bb997deb85d5261fb07f46d2bf975db44a9d8499 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Wed, 7 Oct 2015 01:06:27 -0400 Subject: [PATCH 12/19] COMMMMAAAAAAAAAAAA --- tests/components/test_media_player.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/components/test_media_player.py b/tests/components/test_media_player.py index 7c8dc60fff2..5d7da542eee 100644 --- a/tests/components/test_media_player.py +++ b/tests/components/test_media_player.py @@ -52,7 +52,7 @@ class TestMediaPlayer(unittest.TestCase): SERVICE_MEDIA_PLAY: media_player.media_play, SERVICE_MEDIA_PAUSE: media_player.media_pause, SERVICE_MEDIA_NEXT_TRACK: media_player.media_next_track, - SERVICE_MEDIA_PREVIOUS_TRACK: media_player.media_previous_track + SERVICE_MEDIA_PREVIOUS_TRACK: media_player.media_previous_track, SERVICE_PLAY_MEDIA: media_player.play_media } From 25a690691bdd8c143eb80e232ca50482b4081420 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Wed, 7 Oct 2015 01:11:19 -0400 Subject: [PATCH 13/19] import it from the right place --- tests/components/test_media_player.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/components/test_media_player.py b/tests/components/test_media_player.py index 5d7da542eee..f1c56e5a0b0 100644 --- a/tests/components/test_media_player.py +++ b/tests/components/test_media_player.py @@ -12,8 +12,8 @@ from homeassistant.const import ( STATE_OFF, 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_PREVIOUS_TRACK, SERVICE_PLAY_MEDIA, - ATTR_ENTITY_ID) + SERVICE_MEDIA_NEXT_TRACK, SERVICE_MEDIA_PREVIOUS_TRACK, ATTR_ENTITY_ID) +from homeassistant.components.media_player import (SERVICE_PLAY_MEDIA) import homeassistant.components.media_player as media_player from tests.common import mock_service From 1c4ac6017dd06ee4194ce521f51c9ba35a64f1a9 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Wed, 7 Oct 2015 01:21:41 -0400 Subject: [PATCH 14/19] fix typo while were in here --- tests/components/test_media_player.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/components/test_media_player.py b/tests/components/test_media_player.py index f1c56e5a0b0..7d7ddb33ac0 100644 --- a/tests/components/test_media_player.py +++ b/tests/components/test_media_player.py @@ -41,7 +41,7 @@ class TestMediaPlayer(unittest.TestCase): def test_services(self): """ - Test if the call service methods conver to correct service calls. + Test if the call service methods convert to correct service calls. """ services = { SERVICE_TURN_ON: media_player.turn_on, From faa3e98921f6b2f1a04d3ffd83f128c4594bf3b3 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Wed, 7 Oct 2015 01:28:58 -0400 Subject: [PATCH 15/19] module level play_media --- homeassistant/components/media_player/__init__.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/homeassistant/components/media_player/__init__.py b/homeassistant/components/media_player/__init__.py index 1b65ce57912..9fcb3d5523d 100644 --- a/homeassistant/components/media_player/__init__.py +++ b/homeassistant/components/media_player/__init__.py @@ -189,6 +189,15 @@ def media_previous_track(hass, entity_id=None): data = {ATTR_ENTITY_ID: entity_id} if entity_id else {} hass.services.call(DOMAIN, SERVICE_MEDIA_PREVIOUS_TRACK, data) +def play_media(hass, media_type, media_id, entity_id=None): + """ Send the media player the command for playing media. """ + data = {"media_type": media_type, "media_id": media_id} + + if entity_id: + data[ATTR_ENTITY_ID] = entity_id + + hass.services.call(DOMAIN, SERVICE_PLAY_MEDIA, data) + def setup(hass, config): """ Track states and offer events for media_players. """ From dbcc3a76ea58e345e896c9707d5a72db1a9cd9bb Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Wed, 7 Oct 2015 01:29:55 -0400 Subject: [PATCH 16/19] style --- homeassistant/helpers/state.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/homeassistant/helpers/state.py b/homeassistant/helpers/state.py index ac80da98555..2f688647a5a 100644 --- a/homeassistant/helpers/state.py +++ b/homeassistant/helpers/state.py @@ -64,7 +64,8 @@ def reproduce_state(hass, states, blocking=False): elif state.domain == 'media_player' and state.state == STATE_PLAYING: service = SERVICE_MEDIA_PLAY elif state.domain == 'media_player' and state.attributes and \ - 'media_type' in state.attributes and 'media_id' in state.attributes: + 'media_type' in state.attributes and \ + 'media_id' in state.attributes: service = SERVICE_PLAY_MEDIA elif state.state == STATE_ON: service = SERVICE_TURN_ON From c83324d4cfa806fbe721c1fcb915702fe2fe3130 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Wed, 7 Oct 2015 01:34:37 -0400 Subject: [PATCH 17/19] nope --- tests/components/test_media_player.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tests/components/test_media_player.py b/tests/components/test_media_player.py index 7d7ddb33ac0..211626ea3fb 100644 --- a/tests/components/test_media_player.py +++ b/tests/components/test_media_player.py @@ -13,7 +13,6 @@ from homeassistant.const import ( 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_PREVIOUS_TRACK, ATTR_ENTITY_ID) -from homeassistant.components.media_player import (SERVICE_PLAY_MEDIA) import homeassistant.components.media_player as media_player from tests.common import mock_service @@ -52,8 +51,7 @@ class TestMediaPlayer(unittest.TestCase): SERVICE_MEDIA_PLAY: media_player.media_play, SERVICE_MEDIA_PAUSE: media_player.media_pause, SERVICE_MEDIA_NEXT_TRACK: media_player.media_next_track, - SERVICE_MEDIA_PREVIOUS_TRACK: media_player.media_previous_track, - SERVICE_PLAY_MEDIA: media_player.play_media + SERVICE_MEDIA_PREVIOUS_TRACK: media_player.media_previous_track } for service_name, service_method in services.items(): From 26939ce554a270ddd4d15c630b67a60634f2e5b2 Mon Sep 17 00:00:00 2001 From: Jon Maddox Date: Wed, 7 Oct 2015 01:37:40 -0400 Subject: [PATCH 18/19] style --- homeassistant/components/media_player/__init__.py | 1 + homeassistant/helpers/state.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/homeassistant/components/media_player/__init__.py b/homeassistant/components/media_player/__init__.py index 9fcb3d5523d..294fccbb1f5 100644 --- a/homeassistant/components/media_player/__init__.py +++ b/homeassistant/components/media_player/__init__.py @@ -189,6 +189,7 @@ def media_previous_track(hass, entity_id=None): data = {ATTR_ENTITY_ID: entity_id} if entity_id else {} hass.services.call(DOMAIN, SERVICE_MEDIA_PREVIOUS_TRACK, data) + def play_media(hass, media_type, media_id, entity_id=None): """ Send the media player the command for playing media. """ data = {"media_type": media_type, "media_id": media_id} diff --git a/homeassistant/helpers/state.py b/homeassistant/helpers/state.py index 2f688647a5a..6526fe2d90b 100644 --- a/homeassistant/helpers/state.py +++ b/homeassistant/helpers/state.py @@ -65,7 +65,7 @@ def reproduce_state(hass, states, blocking=False): service = SERVICE_MEDIA_PLAY elif state.domain == 'media_player' and state.attributes and \ 'media_type' in state.attributes and \ - 'media_id' in state.attributes: + 'media_id' in state.attributes: service = SERVICE_PLAY_MEDIA elif state.state == STATE_ON: service = SERVICE_TURN_ON From d149f9d64c55ea38c7be20a1c759dc802a16a793 Mon Sep 17 00:00:00 2001 From: Fabian Affolter Date: Wed, 7 Oct 2015 23:28:04 +0200 Subject: [PATCH 19/19] Update doc string (Fix #491) --- homeassistant/components/notify/smtp.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/notify/smtp.py b/homeassistant/components/notify/smtp.py index ee2413eda30..fbddd8d1d26 100644 --- a/homeassistant/components/notify/smtp.py +++ b/homeassistant/components/notify/smtp.py @@ -1,15 +1,15 @@ """ -homeassistant.components.notify.mail +homeassistant.components.notify.smtp ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Mail (SMTP) notification service. Configuration: -To use the Mail notifier you will need to add something like the following +To use the smtp notifier you will need to add something like the following to your configuration.yaml file. notify: - platform: mail + platform: smtp server: MAIL_SERVER port: YOUR_SMTP_PORT sender: SENDER_EMAIL_ADDRESS