Merge pull request #3603 from home-assistant/hotfix-0-29-4

Hotfix 0 29 4
This commit is contained in:
Paulus Schoutsen 2016-09-29 18:59:09 -07:00 committed by GitHub
commit 4031f70665
5 changed files with 19 additions and 6 deletions

View File

@ -63,7 +63,7 @@ CONFIG_SCHEMA = vol.Schema({
} }
} }
} }
}) }, extra=vol.ALLOW_EXTRA)
def setup(hass, config): def setup(hass, config):

View File

@ -184,13 +184,13 @@ def setup(hass, base_config):
load_platform(hass, 'alarm_control_panel', 'envisalink', load_platform(hass, 'alarm_control_panel', 'envisalink',
{CONF_PARTITIONS: _partitions, {CONF_PARTITIONS: _partitions,
CONF_CODE: _code, CONF_CODE: _code,
CONF_PANIC: _panic_type}, config) CONF_PANIC: _panic_type}, base_config)
load_platform(hass, 'sensor', 'envisalink', load_platform(hass, 'sensor', 'envisalink',
{CONF_PARTITIONS: _partitions, {CONF_PARTITIONS: _partitions,
CONF_CODE: _code}, config) CONF_CODE: _code}, base_config)
if _zones: if _zones:
load_platform(hass, 'binary_sensor', 'envisalink', load_platform(hass, 'binary_sensor', 'envisalink',
{CONF_ZONES: _zones}, config) {CONF_ZONES: _zones}, base_config)
return True return True

View File

@ -4,6 +4,7 @@ Use serial protocol of Acer projector to obtain state of the projector.
For more details about this component, please refer to the documentation For more details about this component, please refer to the documentation
at https://home-assistant.io/components/switch.acer_projector/ at https://home-assistant.io/components/switch.acer_projector/
""" """
import os
import logging import logging
import re import re
@ -45,8 +46,18 @@ CMD_DICT = {LAMP: '* 0 Lamp ?\r',
STATE_ON: '* 0 IR 001\r', STATE_ON: '* 0 IR 001\r',
STATE_OFF: '* 0 IR 002\r'} STATE_OFF: '* 0 IR 002\r'}
def isdevice(dev):
"""Check if dev a real device."""
try:
os.stat(dev)
return str(dev)
except OSError:
raise vol.Invalid("No device found!")
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Required(CONF_FILENAME): cv.isfile, vol.Required(CONF_FILENAME): isdevice,
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
vol.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.positive_int, vol.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.positive_int,
vol.Optional(CONF_WRITE_TIMEOUT, default=DEFAULT_WRITE_TIMEOUT): vol.Optional(CONF_WRITE_TIMEOUT, default=DEFAULT_WRITE_TIMEOUT):

View File

@ -2,7 +2,7 @@
"""Constants used by Home Assistant components.""" """Constants used by Home Assistant components."""
MAJOR_VERSION = 0 MAJOR_VERSION = 0
MINOR_VERSION = 29 MINOR_VERSION = 29
PATCH_VERSION = '3' PATCH_VERSION = '4'
__short_version__ = '{}.{}'.format(MAJOR_VERSION, MINOR_VERSION) __short_version__ = '{}.{}'.format(MAJOR_VERSION, MINOR_VERSION)
__version__ = '{}.{}'.format(__short_version__, PATCH_VERSION) __version__ = '{}.{}'.format(__short_version__, PATCH_VERSION)
REQUIRED_PYTHON_VER = (3, 4, 2) REQUIRED_PYTHON_VER = (3, 4, 2)

View File

@ -41,6 +41,8 @@ def setUpModule(): # pylint: disable=invalid-name
hass.services.register('test', 'alexa', lambda call: calls.append(call)) hass.services.register('test', 'alexa', lambda call: calls.append(call))
bootstrap.setup_component(hass, alexa.DOMAIN, { bootstrap.setup_component(hass, alexa.DOMAIN, {
# Key is here to verify we allow other keys in config too
'homeassistant': {},
'alexa': { 'alexa': {
'intents': { 'intents': {
'WhereAreWeIntent': { 'WhereAreWeIntent': {