mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 03:07:37 +00:00
Use voluptuous for dweet and arduino (#2926)
* Migrate to voluptuous * Migrate to voluptuous * One import is enough
This commit is contained in:
parent
32318c6f19
commit
b6da4a53d5
@ -6,27 +6,34 @@ https://home-assistant.io/components/arduino/
|
|||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP)
|
EVENT_HOMEASSISTANT_START, EVENT_HOMEASSISTANT_STOP)
|
||||||
from homeassistant.helpers import validate_config
|
from homeassistant.const import CONF_PORT
|
||||||
|
import homeassistant.helpers.config_validation as cv
|
||||||
|
|
||||||
DOMAIN = "arduino"
|
|
||||||
REQUIREMENTS = ['PyMata==2.12']
|
REQUIREMENTS = ['PyMata==2.12']
|
||||||
BOARD = None
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
BOARD = None
|
||||||
|
|
||||||
|
DOMAIN = 'arduino'
|
||||||
|
|
||||||
|
CONFIG_SCHEMA = vol.Schema({
|
||||||
|
DOMAIN: vol.Schema({
|
||||||
|
vol.Required(CONF_PORT): cv.string,
|
||||||
|
}),
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
def setup(hass, config):
|
def setup(hass, config):
|
||||||
"""Setup the Arduino component."""
|
"""Setup the Arduino component."""
|
||||||
if not validate_config(config,
|
|
||||||
{DOMAIN: ['port']},
|
|
||||||
_LOGGER):
|
|
||||||
return False
|
|
||||||
|
|
||||||
import serial
|
import serial
|
||||||
global BOARD
|
global BOARD
|
||||||
try:
|
try:
|
||||||
BOARD = ArduinoBoard(config[DOMAIN]['port'])
|
BOARD = ArduinoBoard(config[DOMAIN][CONF_PORT])
|
||||||
except (serial.serialutil.SerialException, FileNotFoundError):
|
except (serial.serialutil.SerialException, FileNotFoundError):
|
||||||
_LOGGER.exception("Your port is not accessible.")
|
_LOGGER.exception("Your port is not accessible.")
|
||||||
return False
|
return False
|
||||||
|
@ -6,40 +6,38 @@ https://home-assistant.io/components/dweet/
|
|||||||
"""
|
"""
|
||||||
import logging
|
import logging
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.const import EVENT_STATE_CHANGED, STATE_UNKNOWN
|
from homeassistant.const import (
|
||||||
|
CONF_NAME, CONF_WHITELIST, EVENT_STATE_CHANGED, STATE_UNKNOWN)
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.helpers import state as state_helper
|
from homeassistant.helpers import state as state_helper
|
||||||
from homeassistant.util import Throttle
|
from homeassistant.util import Throttle
|
||||||
|
|
||||||
|
REQUIREMENTS = ['dweepy==0.2.0']
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
DOMAIN = "dweet"
|
DOMAIN = 'dweet'
|
||||||
DEPENDENCIES = []
|
|
||||||
|
|
||||||
REQUIREMENTS = ['dweepy==0.2.0']
|
|
||||||
|
|
||||||
CONF_NAME = 'name'
|
|
||||||
CONF_WHITELIST = 'whitelist'
|
|
||||||
|
|
||||||
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=1)
|
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=1)
|
||||||
|
|
||||||
CONFIG_SCHEMA = vol.Schema({
|
CONFIG_SCHEMA = vol.Schema({
|
||||||
DOMAIN: vol.Schema({
|
DOMAIN: vol.Schema({
|
||||||
vol.Required(CONF_NAME): cv.string,
|
vol.Required(CONF_NAME): cv.string,
|
||||||
vol.Required(CONF_WHITELIST): cv.string,
|
vol.Required(CONF_WHITELIST, default=[]):
|
||||||
|
vol.All(cv.ensure_list, [cv.entity_id]),
|
||||||
}),
|
}),
|
||||||
}, extra=vol.ALLOW_EXTRA)
|
})
|
||||||
|
|
||||||
|
|
||||||
# pylint: disable=too-many-locals
|
# pylint: disable=too-many-locals
|
||||||
def setup(hass, config):
|
def setup(hass, config):
|
||||||
"""Setup the Dweet.io component."""
|
"""Setup the Dweet.io component."""
|
||||||
conf = config[DOMAIN]
|
conf = config[DOMAIN]
|
||||||
name = conf[CONF_NAME]
|
name = conf.get(CONF_NAME)
|
||||||
whitelist = conf.get(CONF_WHITELIST, [])
|
whitelist = conf.get(CONF_WHITELIST)
|
||||||
json_body = {}
|
json_body = {}
|
||||||
|
|
||||||
def dweet_event_listener(event):
|
def dweet_event_listener(event):
|
||||||
|
@ -25,6 +25,7 @@ CONF_ALIAS = 'alias'
|
|||||||
CONF_API_KEY = 'api_key'
|
CONF_API_KEY = 'api_key'
|
||||||
CONF_BEFORE = 'before'
|
CONF_BEFORE = 'before'
|
||||||
CONF_BELOW = 'below'
|
CONF_BELOW = 'below'
|
||||||
|
CONF_BLACKLIST = 'blacklist'
|
||||||
CONF_CODE = 'code'
|
CONF_CODE = 'code'
|
||||||
CONF_CONDITION = 'condition'
|
CONF_CONDITION = 'condition'
|
||||||
CONF_CUSTOMIZE = 'customize'
|
CONF_CUSTOMIZE = 'customize'
|
||||||
@ -51,19 +52,25 @@ CONF_PAYLOAD = 'payload'
|
|||||||
CONF_PENDING_TIME = 'pending_time'
|
CONF_PENDING_TIME = 'pending_time'
|
||||||
CONF_PLATFORM = 'platform'
|
CONF_PLATFORM = 'platform'
|
||||||
CONF_PORT = 'port'
|
CONF_PORT = 'port'
|
||||||
|
CONF_PREFIX = 'prefix'
|
||||||
CONF_RESOURCE = 'resource'
|
CONF_RESOURCE = 'resource'
|
||||||
CONF_RESOURCES = 'resources'
|
CONF_RESOURCES = 'resources'
|
||||||
CONF_SCAN_INTERVAL = 'scan_interval'
|
CONF_SCAN_INTERVAL = 'scan_interval'
|
||||||
CONF_SENSOR_CLASS = 'sensor_class'
|
CONF_SENSOR_CLASS = 'sensor_class'
|
||||||
|
CONF_SSL = 'ssl'
|
||||||
CONF_STATE = 'state'
|
CONF_STATE = 'state'
|
||||||
CONF_TEMPERATURE_UNIT = 'temperature_unit'
|
CONF_TEMPERATURE_UNIT = 'temperature_unit'
|
||||||
CONF_TIME_ZONE = 'time_zone'
|
CONF_TIME_ZONE = 'time_zone'
|
||||||
|
CONF_TOKEN = 'token'
|
||||||
CONF_TRIGGER_TIME = 'trigger_time'
|
CONF_TRIGGER_TIME = 'trigger_time'
|
||||||
CONF_UNIT_OF_MEASUREMENT = 'unit_of_measurement'
|
CONF_UNIT_OF_MEASUREMENT = 'unit_of_measurement'
|
||||||
CONF_UNIT_SYSTEM = 'unit_system'
|
CONF_UNIT_SYSTEM = 'unit_system'
|
||||||
|
CONF_URL = 'url'
|
||||||
CONF_USERNAME = 'username'
|
CONF_USERNAME = 'username'
|
||||||
CONF_VALUE_TEMPLATE = 'value_template'
|
CONF_VALUE_TEMPLATE = 'value_template'
|
||||||
|
CONF_VERIFY_SSL = 'verify_ssl'
|
||||||
CONF_WEEKDAY = 'weekday'
|
CONF_WEEKDAY = 'weekday'
|
||||||
|
CONF_WHITELIST = 'whitelist'
|
||||||
CONF_ZONE = 'zone'
|
CONF_ZONE = 'zone'
|
||||||
|
|
||||||
# #### EVENTS ####
|
# #### EVENTS ####
|
||||||
|
Loading…
x
Reference in New Issue
Block a user