Allow configuration of update interval for ness_alarm (#21415)
* ness_alarm: Allow configuration of update_interval * requirements * update_interval -> scan_interval * Consistent config validation * requirements * don't touch dependency version
This commit is contained in:
parent
c03116291e
commit
10e334cbf0
1 changed files with 11 additions and 3 deletions
|
@ -1,11 +1,14 @@
|
|||
"""Support for Ness D8X/D16X devices."""
|
||||
from collections import namedtuple
|
||||
import datetime
|
||||
import logging
|
||||
from collections import namedtuple
|
||||
|
||||
import voluptuous as vol
|
||||
|
||||
from homeassistant.components.binary_sensor import DEVICE_CLASSES
|
||||
from homeassistant.const import ATTR_CODE, ATTR_STATE, EVENT_HOMEASSISTANT_STOP
|
||||
from homeassistant.const import (ATTR_CODE, ATTR_STATE,
|
||||
EVENT_HOMEASSISTANT_STOP,
|
||||
CONF_SCAN_INTERVAL)
|
||||
from homeassistant.helpers import config_validation as cv
|
||||
from homeassistant.helpers.discovery import async_load_platform
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_send
|
||||
|
@ -25,6 +28,7 @@ CONF_ZONE_TYPE = 'type'
|
|||
CONF_ZONE_ID = 'id'
|
||||
ATTR_OUTPUT_ID = 'output_id'
|
||||
DEFAULT_ZONES = []
|
||||
DEFAULT_SCAN_INTERVAL = datetime.timedelta(minutes=1)
|
||||
|
||||
SIGNAL_ZONE_CHANGED = 'ness_alarm.zone_changed'
|
||||
SIGNAL_ARMING_STATE_CHANGED = 'ness_alarm.arming_state_changed'
|
||||
|
@ -42,6 +46,8 @@ CONFIG_SCHEMA = vol.Schema({
|
|||
DOMAIN: vol.Schema({
|
||||
vol.Required(CONF_DEVICE_HOST): cv.string,
|
||||
vol.Required(CONF_DEVICE_PORT): cv.port,
|
||||
vol.Optional(CONF_SCAN_INTERVAL, default=DEFAULT_SCAN_INTERVAL):
|
||||
vol.All(cv.time_period, cv.positive_timedelta),
|
||||
vol.Optional(CONF_ZONES, default=DEFAULT_ZONES):
|
||||
vol.All(cv.ensure_list, [ZONE_SCHEMA]),
|
||||
}),
|
||||
|
@ -67,8 +73,10 @@ async def async_setup(hass, config):
|
|||
zones = conf[CONF_ZONES]
|
||||
host = conf[CONF_DEVICE_HOST]
|
||||
port = conf[CONF_DEVICE_PORT]
|
||||
scan_interval = conf[CONF_SCAN_INTERVAL]
|
||||
|
||||
client = Client(host=host, port=port, loop=hass.loop)
|
||||
client = Client(host=host, port=port, loop=hass.loop,
|
||||
update_interval=scan_interval.total_seconds())
|
||||
hass.data[DATA_NESS] = client
|
||||
|
||||
async def _close(event):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue