diff --git a/homeassistant/components/notify/aws_lambda.py b/homeassistant/components/notify/aws_lambda.py index 68f0de7a934..3e3003763ea 100644 --- a/homeassistant/components/notify/aws_lambda.py +++ b/homeassistant/components/notify/aws_lambda.py @@ -7,29 +7,30 @@ https://home-assistant.io/components/notify.aws_lambda/ import logging import json import base64 + import voluptuous as vol from homeassistant.const import ( CONF_PLATFORM, CONF_NAME) from homeassistant.components.notify import ( - ATTR_TARGET, BaseNotificationService) + ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService) +import homeassistant.helpers.config_validation as cv _LOGGER = logging.getLogger(__name__) REQUIREMENTS = ["boto3==1.3.1"] -CONF_REGION = "region_name" -CONF_ACCESS_KEY_ID = "aws_access_key_id" -CONF_SECRET_ACCESS_KEY = "aws_secret_access_key" -CONF_PROFILE_NAME = "profile_name" -CONF_CONTEXT = "context" +CONF_REGION = 'region_name' +CONF_ACCESS_KEY_ID = 'aws_access_key_id' +CONF_SECRET_ACCESS_KEY = 'aws_secret_access_key' +CONF_PROFILE_NAME = 'profile_name' +CONF_CONTEXT = 'context' +ATTR_CREDENTIALS = 'credentials' -PLATFORM_SCHEMA = vol.Schema({ - vol.Required(CONF_PLATFORM): "aws_lambda", - vol.Optional(CONF_NAME): vol.Coerce(str), - vol.Optional(CONF_REGION, default="us-east-1"): vol.Coerce(str), - vol.Inclusive(CONF_ACCESS_KEY_ID, "credentials"): vol.Coerce(str), - vol.Inclusive(CONF_SECRET_ACCESS_KEY, "credentials"): vol.Coerce(str), - vol.Exclusive(CONF_PROFILE_NAME, "credentials"): vol.Coerce(str), +PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ + vol.Optional(CONF_REGION, default="us-east-1"): cv.string, + vol.Inclusive(CONF_ACCESS_KEY_ID, ATTR_CREDENTIALS): cv.string, + vol.Inclusive(CONF_SECRET_ACCESS_KEY, ATTR_CREDENTIALS): cv.string, + vol.Exclusive(CONF_PROFILE_NAME, ATTR_CREDENTIALS): cv.string, vol.Optional(CONF_CONTEXT, default=dict()): vol.Coerce(dict) }) diff --git a/homeassistant/components/notify/aws_sns.py b/homeassistant/components/notify/aws_sns.py index 31cac90105c..88233234eca 100644 --- a/homeassistant/components/notify/aws_sns.py +++ b/homeassistant/components/notify/aws_sns.py @@ -6,28 +6,30 @@ https://home-assistant.io/components/notify.aws_sns/ """ import logging import json + import voluptuous as vol from homeassistant.const import ( CONF_PLATFORM, CONF_NAME) from homeassistant.components.notify import ( - ATTR_TITLE, ATTR_TITLE_DEFAULT, ATTR_TARGET, BaseNotificationService) + ATTR_TITLE, ATTR_TITLE_DEFAULT, ATTR_TARGET, PLATFORM_SCHEMA, + BaseNotificationService) +import homeassistant.helpers.config_validation as cv _LOGGER = logging.getLogger(__name__) REQUIREMENTS = ["boto3==1.3.1"] -CONF_REGION = "region_name" -CONF_ACCESS_KEY_ID = "aws_access_key_id" -CONF_SECRET_ACCESS_KEY = "aws_secret_access_key" -CONF_PROFILE_NAME = "profile_name" +CONF_REGION = 'region_name' +CONF_ACCESS_KEY_ID = 'aws_access_key_id' +CONF_SECRET_ACCESS_KEY = 'aws_secret_access_key' +CONF_PROFILE_NAME = 'profile_name' +ATTR_CREDENTIALS = 'credentials' -PLATFORM_SCHEMA = vol.Schema({ - vol.Required(CONF_PLATFORM): "aws_sns", - vol.Optional(CONF_NAME): vol.Coerce(str), - vol.Optional(CONF_REGION, default="us-east-1"): vol.Coerce(str), - vol.Inclusive(CONF_ACCESS_KEY_ID, "credentials"): vol.Coerce(str), - vol.Inclusive(CONF_SECRET_ACCESS_KEY, "credentials"): vol.Coerce(str), - vol.Exclusive(CONF_PROFILE_NAME, "credentials"): vol.Coerce(str) +PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ + vol.Optional(CONF_REGION, default="us-east-1"): cv.string, + vol.Inclusive(CONF_ACCESS_KEY_ID, ATTR_CREDENTIALS): cv.string, + vol.Inclusive(CONF_SECRET_ACCESS_KEY, ATTR_CREDENTIALS): cv.string, + vol.Exclusive(CONF_PROFILE_NAME, ATTR_CREDENTIALS): cv.string, }) diff --git a/homeassistant/components/notify/aws_sqs.py b/homeassistant/components/notify/aws_sqs.py index a600878cda7..a1ddbcea3dd 100644 --- a/homeassistant/components/notify/aws_sqs.py +++ b/homeassistant/components/notify/aws_sqs.py @@ -6,28 +6,29 @@ https://home-assistant.io/components/notify.aws_sqs/ """ import logging import json + import voluptuous as vol from homeassistant.const import ( CONF_PLATFORM, CONF_NAME) from homeassistant.components.notify import ( - ATTR_TARGET, BaseNotificationService) + ATTR_TARGET, PLATFORM_SCHEMA, BaseNotificationService) +import homeassistant.helpers.config_validation as cv _LOGGER = logging.getLogger(__name__) REQUIREMENTS = ["boto3==1.3.1"] -CONF_REGION = "region_name" -CONF_ACCESS_KEY_ID = "aws_access_key_id" -CONF_SECRET_ACCESS_KEY = "aws_secret_access_key" -CONF_PROFILE_NAME = "profile_name" +CONF_REGION = 'region_name' +CONF_ACCESS_KEY_ID = 'aws_access_key_id' +CONF_SECRET_ACCESS_KEY = 'aws_secret_access_key' +CONF_PROFILE_NAME = 'profile_name' +ATTR_CREDENTIALS = 'credentials' -PLATFORM_SCHEMA = vol.Schema({ - vol.Required(CONF_PLATFORM): "aws_sqs", - vol.Optional(CONF_NAME): vol.Coerce(str), - vol.Optional(CONF_REGION, default="us-east-1"): vol.Coerce(str), - vol.Inclusive(CONF_ACCESS_KEY_ID, "credentials"): vol.Coerce(str), - vol.Inclusive(CONF_SECRET_ACCESS_KEY, "credentials"): vol.Coerce(str), - vol.Exclusive(CONF_PROFILE_NAME, "credentials"): vol.Coerce(str) +PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ + vol.Optional(CONF_REGION, default="us-east-1"): cv.string, + vol.Inclusive(CONF_ACCESS_KEY_ID, ATTR_CREDENTIALS): cv.string, + vol.Inclusive(CONF_SECRET_ACCESS_KEY, ATTR_CREDENTIALS): cv.string, + vol.Exclusive(CONF_PROFILE_NAME, ATTR_CREDENTIALS): cv.string, }) diff --git a/homeassistant/components/notify/group.py b/homeassistant/components/notify/group.py index 522b231d8cf..0d480a9ddac 100644 --- a/homeassistant/components/notify/group.py +++ b/homeassistant/components/notify/group.py @@ -8,8 +8,9 @@ import collections import logging import voluptuous as vol -from homeassistant.const import (CONF_PLATFORM, CONF_NAME, ATTR_SERVICE) +from homeassistant.const import ATTR_SERVICE from homeassistant.components.notify import (DOMAIN, ATTR_MESSAGE, ATTR_DATA, + PLATFORM_SCHEMA, BaseNotificationService) import homeassistant.helpers.config_validation as cv @@ -17,9 +18,7 @@ _LOGGER = logging.getLogger(__name__) CONF_SERVICES = "services" -PLATFORM_SCHEMA = vol.Schema({ - vol.Required(CONF_PLATFORM): "group", - vol.Required(CONF_NAME): vol.Coerce(str), +PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Required(CONF_SERVICES): vol.All(cv.ensure_list, [{ vol.Required(ATTR_SERVICE): cv.slug, vol.Optional(ATTR_DATA): dict, diff --git a/homeassistant/components/notify/joaoapps_join.py b/homeassistant/components/notify/joaoapps_join.py index ca82b6bb934..1478c2330ed 100644 --- a/homeassistant/components/notify/joaoapps_join.py +++ b/homeassistant/components/notify/joaoapps_join.py @@ -7,8 +7,9 @@ https://home-assistant.io/components/notify.join/ import logging import voluptuous as vol from homeassistant.components.notify import ( - ATTR_DATA, ATTR_TITLE, ATTR_TITLE_DEFAULT, BaseNotificationService) -from homeassistant.const import CONF_PLATFORM, CONF_NAME, CONF_API_KEY + ATTR_DATA, ATTR_TITLE, ATTR_TITLE_DEFAULT, PLATFORM_SCHEMA, + BaseNotificationService) +from homeassistant.const import CONF_API_KEY import homeassistant.helpers.config_validation as cv REQUIREMENTS = [ @@ -19,10 +20,8 @@ _LOGGER = logging.getLogger(__name__) CONF_DEVICE_ID = 'device_id' -PLATFORM_SCHEMA = vol.Schema({ - vol.Required(CONF_PLATFORM): 'joaoapps_join', +PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Required(CONF_DEVICE_ID): cv.string, - vol.Optional(CONF_NAME): cv.string, vol.Optional(CONF_API_KEY): cv.string }) diff --git a/homeassistant/components/notify/telegram.py b/homeassistant/components/notify/telegram.py index 35d6a5a6977..6d609555829 100644 --- a/homeassistant/components/notify/telegram.py +++ b/homeassistant/components/notify/telegram.py @@ -7,14 +7,15 @@ https://home-assistant.io/components/notify.telegram/ import io import logging import urllib + import requests import voluptuous as vol import homeassistant.helpers.config_validation as cv from homeassistant.components.notify import ( - ATTR_TITLE, ATTR_DATA, BaseNotificationService) -from homeassistant.const import (CONF_API_KEY, CONF_NAME, ATTR_LOCATION, - ATTR_LATITUDE, ATTR_LONGITUDE, CONF_PLATFORM) + ATTR_TITLE, ATTR_DATA, PLATFORM_SCHEMA, BaseNotificationService) +from homeassistant.const import (CONF_API_KEY, ATTR_LOCATION, ATTR_LATITUDE, + ATTR_LONGITUDE) _LOGGER = logging.getLogger(__name__) @@ -26,9 +27,7 @@ ATTR_CAPTION = "caption" CONF_CHAT_ID = 'chat_id' -PLATFORM_SCHEMA = vol.Schema({ - vol.Required(CONF_PLATFORM): "telegram", - vol.Optional(CONF_NAME): cv.string, +PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ vol.Required(CONF_API_KEY): cv.string, vol.Required(CONF_CHAT_ID): cv.string, })