Skip to content

Commit

Permalink
Deprecate conf_update_interval (home-assistant#20924)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
rohankapoorcom authored and balloob committed Feb 17, 2019
1 parent bc17add commit 8405310
Show file tree
Hide file tree
Showing 15 changed files with 249 additions and 120 deletions.
27 changes: 18 additions & 9 deletions homeassistant/components/fastdotcom/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@
import voluptuous as vol

import homeassistant.helpers.config_validation as cv
from homeassistant.const import CONF_UPDATE_INTERVAL
from homeassistant.const import CONF_UPDATE_INTERVAL, CONF_SCAN_INTERVAL, \
CONF_UPDATE_INTERVAL_INVALIDATION_VERSION
from homeassistant.helpers.discovery import async_load_platform
from homeassistant.helpers.dispatcher import dispatcher_send
from homeassistant.helpers.event import async_track_time_interval
Expand All @@ -22,13 +23,21 @@
DEFAULT_INTERVAL = timedelta(hours=1)

CONFIG_SCHEMA = vol.Schema({
DOMAIN: vol.Schema({
vol.Optional(CONF_UPDATE_INTERVAL, default=DEFAULT_INTERVAL):
vol.All(
cv.time_period, cv.positive_timedelta
),
vol.Optional(CONF_MANUAL, default=False): cv.boolean,
})
DOMAIN: vol.All(
vol.Schema({
vol.Optional(CONF_UPDATE_INTERVAL):
vol.All(cv.time_period, cv.positive_timedelta),
vol.Optional(CONF_SCAN_INTERVAL, default=DEFAULT_INTERVAL):
vol.All(cv.time_period, cv.positive_timedelta),
vol.Optional(CONF_MANUAL, default=False): cv.boolean,
}),
cv.deprecated(
CONF_UPDATE_INTERVAL,
replacement_key=CONF_SCAN_INTERVAL,
invalidation_version=CONF_UPDATE_INTERVAL_INVALIDATION_VERSION,
default=DEFAULT_INTERVAL
)
)
}, extra=vol.ALLOW_EXTRA)


Expand All @@ -39,7 +48,7 @@ async def async_setup(hass, config):

if not conf[CONF_MANUAL]:
async_track_time_interval(
hass, data.update, conf[CONF_UPDATE_INTERVAL]
hass, data.update, conf[CONF_SCAN_INTERVAL]
)

def update(call=None):
Expand Down
7 changes: 4 additions & 3 deletions homeassistant/components/freedns/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@
import voluptuous as vol

from homeassistant.const import (CONF_URL, CONF_ACCESS_TOKEN,
CONF_UPDATE_INTERVAL, CONF_SCAN_INTERVAL)
CONF_UPDATE_INTERVAL, CONF_SCAN_INTERVAL,
CONF_UPDATE_INTERVAL_INVALIDATION_VERSION)
import homeassistant.helpers.config_validation as cv

_LOGGER = logging.getLogger(__name__)
Expand All @@ -32,13 +33,13 @@
vol.Exclusive(CONF_ACCESS_TOKEN, DOMAIN): cv.string,
vol.Optional(CONF_UPDATE_INTERVAL):
vol.All(cv.time_period, cv.positive_timedelta),
vol.Optional(CONF_SCAN_INTERVAL):
vol.Optional(CONF_SCAN_INTERVAL, default=DEFAULT_INTERVAL):
vol.All(cv.time_period, cv.positive_timedelta),
}),
cv.deprecated(
CONF_UPDATE_INTERVAL,
replacement_key=CONF_SCAN_INTERVAL,
invalidation_version='1.0.0',
invalidation_version=CONF_UPDATE_INTERVAL_INVALIDATION_VERSION,
default=DEFAULT_INTERVAL
)
)
Expand Down
30 changes: 21 additions & 9 deletions homeassistant/components/mythicbeastsdns/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
import voluptuous as vol

from homeassistant.const import (
CONF_DOMAIN, CONF_HOST, CONF_PASSWORD, CONF_UPDATE_INTERVAL)
CONF_HOST, CONF_DOMAIN, CONF_PASSWORD, CONF_UPDATE_INTERVAL,
CONF_SCAN_INTERVAL, CONF_UPDATE_INTERVAL_INVALIDATION_VERSION
)
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.event import async_track_time_interval
Expand All @@ -19,13 +21,23 @@
DEFAULT_INTERVAL = timedelta(minutes=10)

CONFIG_SCHEMA = vol.Schema({
DOMAIN: vol.Schema({
vol.Required(CONF_DOMAIN): cv.string,
vol.Required(CONF_HOST): cv.string,
vol.Required(CONF_PASSWORD): cv.string,
vol.Optional(CONF_UPDATE_INTERVAL, default=DEFAULT_INTERVAL): vol.All(
cv.time_period, cv.positive_timedelta),
})
DOMAIN: vol.All(
vol.Schema({
vol.Required(CONF_DOMAIN): cv.string,
vol.Required(CONF_HOST): cv.string,
vol.Required(CONF_PASSWORD): cv.string,
vol.Optional(CONF_UPDATE_INTERVAL):
vol.All(cv.time_period, cv.positive_timedelta),
vol.Optional(CONF_SCAN_INTERVAL, default=DEFAULT_INTERVAL):
vol.All(cv.time_period, cv.positive_timedelta),
}),
cv.deprecated(
CONF_UPDATE_INTERVAL,
replacement_key=CONF_SCAN_INTERVAL,
invalidation_version=CONF_UPDATE_INTERVAL_INVALIDATION_VERSION,
default=DEFAULT_INTERVAL
)
)
}, extra=vol.ALLOW_EXTRA)


Expand All @@ -36,7 +48,7 @@ async def async_setup(hass, config):
domain = config[DOMAIN][CONF_DOMAIN]
password = config[DOMAIN][CONF_PASSWORD]
host = config[DOMAIN][CONF_HOST]
update_interval = config[DOMAIN][CONF_UPDATE_INTERVAL]
update_interval = config[DOMAIN][CONF_SCAN_INTERVAL]

session = async_get_clientsession(hass)

Expand Down
34 changes: 22 additions & 12 deletions homeassistant/components/sensor/broadlink.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import (
CONF_HOST, CONF_MAC, CONF_MONITORED_CONDITIONS, CONF_NAME, TEMP_CELSIUS,
CONF_TIMEOUT, CONF_UPDATE_INTERVAL)
CONF_TIMEOUT, CONF_UPDATE_INTERVAL, CONF_SCAN_INTERVAL,
CONF_UPDATE_INTERVAL_INVALIDATION_VERSION)
from homeassistant.helpers.entity import Entity
from homeassistant.util import Throttle
import homeassistant.helpers.config_validation as cv
Expand All @@ -25,6 +26,7 @@

DEVICE_DEFAULT_NAME = 'Broadlink sensor'
DEFAULT_TIMEOUT = 10
SCAN_INTERVAL = timedelta(seconds=300)

SENSOR_TYPES = {
'temperature': ['Temperature', TEMP_CELSIUS],
Expand All @@ -34,16 +36,24 @@
'noise': ['Noise', ' '],
}

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Optional(CONF_NAME, default=DEVICE_DEFAULT_NAME): vol.Coerce(str),
vol.Optional(CONF_MONITORED_CONDITIONS, default=[]):
vol.All(cv.ensure_list, [vol.In(SENSOR_TYPES)]),
vol.Optional(CONF_UPDATE_INTERVAL, default=timedelta(seconds=300)): (
vol.All(cv.time_period, cv.positive_timedelta)),
vol.Required(CONF_HOST): cv.string,
vol.Required(CONF_MAC): cv.string,
vol.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.positive_int
})
PLATFORM_SCHEMA = vol.All(
PLATFORM_SCHEMA.extend({
vol.Optional(CONF_NAME, default=DEVICE_DEFAULT_NAME): vol.Coerce(str),
vol.Optional(CONF_MONITORED_CONDITIONS, default=[]):
vol.All(cv.ensure_list, [vol.In(SENSOR_TYPES)]),
vol.Optional(CONF_UPDATE_INTERVAL):
vol.All(cv.time_period, cv.positive_timedelta),
vol.Required(CONF_HOST): cv.string,
vol.Required(CONF_MAC): cv.string,
vol.Optional(CONF_TIMEOUT, default=DEFAULT_TIMEOUT): cv.positive_int
}),
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):
Expand All @@ -53,7 +63,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
mac_addr = binascii.unhexlify(mac)
name = config.get(CONF_NAME)
timeout = config.get(CONF_TIMEOUT)
update_interval = config.get(CONF_UPDATE_INTERVAL)
update_interval = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL)
broadlink_data = BroadlinkData(update_interval, host, mac_addr, timeout)
dev = []
for variable in config[CONF_MONITORED_CONDITIONS]:
Expand Down
57 changes: 37 additions & 20 deletions homeassistant/components/sensor/darksky.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@
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
Expand All @@ -30,8 +31,8 @@
CONF_UNITS = 'units'

DEFAULT_LANGUAGE = 'en'

DEFAULT_NAME = 'Dark Sky'
SCAN_INTERVAL = timedelta(seconds=300)

DEPRECATED_SENSOR_TYPES = {
'apparent_temperature_max',
Expand Down Expand Up @@ -167,31 +168,47 @@
'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):
"""Set up the Dark Sky sensor."""
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]
Expand Down
30 changes: 21 additions & 9 deletions homeassistant/components/sensor/fedex.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@

from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import (CONF_NAME, CONF_USERNAME, CONF_PASSWORD,
ATTR_ATTRIBUTION, CONF_UPDATE_INTERVAL)
ATTR_ATTRIBUTION, CONF_UPDATE_INTERVAL,
CONF_SCAN_INTERVAL,
CONF_UPDATE_INTERVAL_INVALIDATION_VERSION)
from homeassistant.helpers.entity import Entity
from homeassistant.util import slugify
from homeassistant.util import Throttle
Expand All @@ -31,21 +33,31 @@

STATUS_DELIVERED = 'delivered'

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Required(CONF_USERNAME): cv.string,
vol.Required(CONF_PASSWORD): cv.string,
vol.Optional(CONF_NAME): cv.string,
vol.Optional(CONF_UPDATE_INTERVAL, default=timedelta(seconds=1800)):
vol.All(cv.time_period, cv.positive_timedelta),
})
SCAN_INTERVAL = timedelta(seconds=1800)

PLATFORM_SCHEMA = vol.All(
PLATFORM_SCHEMA.extend({
vol.Required(CONF_USERNAME): cv.string,
vol.Required(CONF_PASSWORD): cv.string,
vol.Optional(CONF_NAME): cv.string,
vol.Optional(CONF_UPDATE_INTERVAL):
vol.All(cv.time_period, cv.positive_timedelta),
}),
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):
"""Set up the Fedex platform."""
import fedexdeliverymanager

name = config.get(CONF_NAME)
update_interval = config.get(CONF_UPDATE_INTERVAL)
update_interval = config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL)

try:
cookie = hass.config.path(COOKIE)
Expand Down
35 changes: 25 additions & 10 deletions homeassistant/components/sensor/ups.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,9 @@

from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import (CONF_NAME, CONF_USERNAME, CONF_PASSWORD,
ATTR_ATTRIBUTION, CONF_UPDATE_INTERVAL)
ATTR_ATTRIBUTION, CONF_UPDATE_INTERVAL,
CONF_SCAN_INTERVAL,
CONF_UPDATE_INTERVAL_INVALIDATION_VERSION)
from homeassistant.helpers.entity import Entity
from homeassistant.util import slugify
from homeassistant.util import Throttle
Expand All @@ -28,13 +30,23 @@
ICON = 'mdi:package-variant-closed'
STATUS_DELIVERED = 'delivered'

PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Required(CONF_USERNAME): cv.string,
vol.Required(CONF_PASSWORD): cv.string,
vol.Optional(CONF_NAME): cv.string,
vol.Optional(CONF_UPDATE_INTERVAL, default=timedelta(seconds=1800)): (
vol.All(cv.time_period, cv.positive_timedelta)),
})
SCAN_INTERVAL = timedelta(seconds=1800)

PLATFORM_SCHEMA = vol.All(
PLATFORM_SCHEMA.extend({
vol.Required(CONF_USERNAME): cv.string,
vol.Required(CONF_PASSWORD): cv.string,
vol.Optional(CONF_NAME): cv.string,
vol.Optional(CONF_UPDATE_INTERVAL): (
vol.All(cv.time_period, cv.positive_timedelta)),
}),
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):
Expand All @@ -49,8 +61,11 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
_LOGGER.exception("Could not connect to UPS My Choice")
return False

add_entities([UPSSensor(session, config.get(CONF_NAME),
config.get(CONF_UPDATE_INTERVAL))], True)
add_entities([UPSSensor(
session,
config.get(CONF_NAME),
config.get(CONF_SCAN_INTERVAL, SCAN_INTERVAL)
)], True)


class UPSSensor(Entity):
Expand Down
Loading

0 comments on commit 8405310

Please sign in to comment.