Update voluptuous for nest (#3109)

* Update configuration check
* Extend platform
This commit is contained in:
Fabian Affolter 2016-09-01 22:08:03 +02:00 committed by Johann Kellerman
parent 24d412938e
commit d2dfe04ec9
3 changed files with 21 additions and 21 deletions

View File

@ -6,12 +6,12 @@ https://home-assistant.io/components/binary_sensor.nest/
""" """
import voluptuous as vol import voluptuous as vol
import homeassistant.components.nest as nest from homeassistant.components.binary_sensor import (
from homeassistant.components.binary_sensor import BinarySensorDevice BinarySensorDevice, PLATFORM_SCHEMA)
from homeassistant.components.sensor.nest import NestSensor from homeassistant.components.sensor.nest import NestSensor
from homeassistant.const import ( from homeassistant.const import (CONF_SCAN_INTERVAL, CONF_MONITORED_CONDITIONS)
CONF_PLATFORM, CONF_SCAN_INTERVAL, CONF_MONITORED_CONDITIONS import homeassistant.components.nest as nest
) import homeassistant.helpers.config_validation as cv
DEPENDENCIES = ['nest'] DEPENDENCIES = ['nest']
BINARY_TYPES = ['fan', BINARY_TYPES = ['fan',
@ -25,11 +25,11 @@ BINARY_TYPES = ['fan',
'hvac_emer_heat_state', 'hvac_emer_heat_state',
'online'] 'online']
PLATFORM_SCHEMA = vol.Schema({ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Required(CONF_PLATFORM): nest.DOMAIN,
vol.Optional(CONF_SCAN_INTERVAL): vol.Optional(CONF_SCAN_INTERVAL):
vol.All(vol.Coerce(int), vol.Range(min=1)), vol.All(vol.Coerce(int), vol.Range(min=1)),
vol.Required(CONF_MONITORED_CONDITIONS): [vol.In(BINARY_TYPES)], vol.Required(CONF_MONITORED_CONDITIONS):
vol.All(cv.ensure_list, [vol.In(BINARY_TYPES)]),
}) })

View File

@ -8,13 +8,12 @@ import voluptuous as vol
import homeassistant.components.nest as nest import homeassistant.components.nest as nest
from homeassistant.components.climate import ( from homeassistant.components.climate import (
STATE_COOL, STATE_HEAT, STATE_IDLE, ClimateDevice) STATE_COOL, STATE_HEAT, STATE_IDLE, ClimateDevice, PLATFORM_SCHEMA)
from homeassistant.const import TEMP_CELSIUS, CONF_PLATFORM, CONF_SCAN_INTERVAL from homeassistant.const import TEMP_CELSIUS, CONF_SCAN_INTERVAL
DEPENDENCIES = ['nest'] DEPENDENCIES = ['nest']
PLATFORM_SCHEMA = vol.Schema({ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Required(CONF_PLATFORM): nest.DOMAIN,
vol.Optional(CONF_SCAN_INTERVAL): vol.Optional(CONF_SCAN_INTERVAL):
vol.All(vol.Coerce(int), vol.Range(min=1)), vol.All(vol.Coerce(int), vol.Range(min=1)),
}) })

View File

@ -1,18 +1,21 @@
""" """
Support for Nest thermostats and protect smoke alarms. Support for Nest devices.
For more details about this platform, please refer to the documentation at For more details about this component, please refer to the documentation at
https://home-assistant.io/components/climate.nest/ https://home-assistant.io/components/nest/
""" """
import logging import logging
import socket import socket
import voluptuous as vol import voluptuous as vol
import homeassistant.helpers.config_validation as cv
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME, CONF_STRUCTURE import homeassistant.helpers.config_validation as cv
from homeassistant.const import (CONF_PASSWORD, CONF_USERNAME, CONF_STRUCTURE)
_LOGGER = logging.getLogger(__name__)
REQUIREMENTS = ['python-nest==2.9.2'] REQUIREMENTS = ['python-nest==2.9.2']
DOMAIN = 'nest' DOMAIN = 'nest'
NEST = None NEST = None
@ -21,14 +24,12 @@ STRUCTURES_TO_INCLUDE = None
CONFIG_SCHEMA = vol.Schema({ CONFIG_SCHEMA = vol.Schema({
DOMAIN: vol.Schema({ DOMAIN: vol.Schema({
vol.Required(CONF_USERNAME): str, vol.Required(CONF_USERNAME): cv.string,
vol.Required(CONF_PASSWORD): str, vol.Required(CONF_PASSWORD): cv.string,
vol.Optional(CONF_STRUCTURE): vol.All(cv.ensure_list, cv.string) vol.Optional(CONF_STRUCTURE): vol.All(cv.ensure_list, cv.string)
}) })
}, extra=vol.ALLOW_EXTRA) }, extra=vol.ALLOW_EXTRA)
_LOGGER = logging.getLogger(__name__)
def devices(): def devices():
"""Generator returning list of devices and their location.""" """Generator returning list of devices and their location."""