Deprecate conf_update_interval (#20924)
* Deprecate update_interval and replace with scan_interval * Update tests * Fix Darksky tests * Fix Darksky tests correctly This reverts commit a73384a223ba8a93c682042d9351cd5a7a399183. * Provide the default for the non deprecated option * Don't override default schema for sensors
This commit is contained in:
parent
ad9ec2190c
commit
481439d387
15 changed files with 249 additions and 120 deletions
|
@ -14,7 +14,8 @@ import voluptuous as vol
|
|||
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
||||
from homeassistant.const import (
|
||||
ATTR_ATTRIBUTION, CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE,
|
||||
CONF_MONITORED_CONDITIONS, CONF_NAME, UNIT_UV_INDEX, CONF_UPDATE_INTERVAL)
|
||||
CONF_MONITORED_CONDITIONS, CONF_NAME, UNIT_UV_INDEX, CONF_UPDATE_INTERVAL,
|
||||
CONF_SCAN_INTERVAL, CONF_UPDATE_INTERVAL_INVALIDATION_VERSION)
|
||||
import homeassistant.helpers.config_validation as cv
|
||||
from homeassistant.helpers.entity import Entity
|
||||
from homeassistant.util import Throttle
|
||||
|
@ -30,8 +31,8 @@ CONF_LANGUAGE = 'language'
|
|||
CONF_UNITS = 'units'
|
||||
|
||||
DEFAULT_LANGUAGE = 'en'
|
||||
|
||||
DEFAULT_NAME = 'Dark Sky'
|
||||
SCAN_INTERVAL = timedelta(seconds=300)
|
||||
|
||||
DEPRECATED_SENSOR_TYPES = {
|
||||
'apparent_temperature_max',
|
||||
|
@ -167,23 +168,39 @@ LANGUAGE_CODES = [
|
|||
'tet', 'tr', 'uk', 'x-pig-latin', 'zh', 'zh-tw',
|
||||
]
|
||||
|
||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||
vol.Required(CONF_MONITORED_CONDITIONS):
|
||||
vol.All(cv.ensure_list, [vol.In(SENSOR_TYPES)]),
|
||||
vol.Required(CONF_API_KEY): cv.string,
|
||||
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
||||
vol.Optional(CONF_UNITS): vol.In(['auto', 'si', 'us', 'ca', 'uk', 'uk2']),
|
||||
vol.Optional(CONF_LANGUAGE,
|
||||
default=DEFAULT_LANGUAGE): vol.In(LANGUAGE_CODES),
|
||||
vol.Inclusive(CONF_LATITUDE, 'coordinates',
|
||||
'Latitude and longitude must exist together'): cv.latitude,
|
||||
vol.Inclusive(CONF_LONGITUDE, 'coordinates',
|
||||
'Latitude and longitude must exist together'): cv.longitude,
|
||||
vol.Optional(CONF_UPDATE_INTERVAL, default=timedelta(seconds=300)): (
|
||||
vol.All(cv.time_period, cv.positive_timedelta)),
|
||||
vol.Optional(CONF_FORECAST):
|
||||
vol.All(cv.ensure_list, [vol.Range(min=0, max=7)]),
|
||||
})
|
||||
ALLOWED_UNITS = ['auto', 'si', 'us', 'ca', 'uk', 'uk2']
|
||||
|
||||
PLATFORM_SCHEMA = vol.All(
|
||||
PLATFORM_SCHEMA.extend({
|
||||
vol.Required(CONF_MONITORED_CONDITIONS):
|
||||
vol.All(cv.ensure_list, [vol.In(SENSOR_TYPES)]),
|
||||
vol.Required(CONF_API_KEY): cv.string,
|
||||
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
||||
vol.Optional(CONF_UNITS): vol.In(ALLOWED_UNITS),
|
||||
vol.Optional(CONF_LANGUAGE,
|
||||
default=DEFAULT_LANGUAGE): vol.In(LANGUAGE_CODES),
|
||||
vol.Inclusive(
|
||||
CONF_LATITUDE,
|
||||
'coordinates',
|
||||
'Latitude and longitude must exist together'
|
||||
): cv.latitude,
|
||||
vol.Inclusive(
|
||||
CONF_LONGITUDE,
|
||||
'coordinates',
|
||||
'Latitude and longitude must exist together'
|
||||
): cv.longitude,
|
||||
vol.Optional(CONF_UPDATE_INTERVAL):
|
||||
vol.All(cv.time_period, cv.positive_timedelta),
|
||||
vol.Optional(CONF_FORECAST):
|
||||
vol.All(cv.ensure_list, [vol.Range(min=0, max=7)]),
|
||||
}),
|
||||
cv.deprecated(
|
||||
CONF_UPDATE_INTERVAL,
|
||||
replacement_key=CONF_SCAN_INTERVAL,
|
||||
invalidation_version=CONF_UPDATE_INTERVAL_INVALIDATION_VERSION,
|
||||
default=SCAN_INTERVAL
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def setup_platform(hass, config, add_entities, discovery_info=None):
|
||||
|
@ -191,7 +208,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
|
|||
latitude = config.get(CONF_LATITUDE, hass.config.latitude)
|
||||
longitude = config.get(CONF_LONGITUDE, hass.config.longitude)
|
||||
language = config.get(CONF_LANGUAGE)
|
||||
interval = config.get(CONF_UPDATE_INTERVAL)
|
||||
interval = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL)
|
||||
|
||||
if CONF_UNITS in config:
|
||||
units = config[CONF_UNITS]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue