Make sensor.ring to handle scan_interval option as expected. (#6886)

* Make sensor.ring to handle scan_interval option as expected.

* Fix lint

* Fixed lint timedelta
This commit is contained in:
Marcelo Moreira de Mello 2017-04-03 02:46:54 -04:00 committed by Paulus Schoutsen
parent 5b8f1850fa
commit f4d2ece2fe
2 changed files with 7 additions and 6 deletions

View file

@ -4,7 +4,6 @@ Support for Ring Doorbell/Chimes.
For more details about this platform, please refer to the documentation at For more details about this platform, please refer to the documentation at
https://home-assistant.io/components/ring/ https://home-assistant.io/components/ring/
""" """
from datetime import timedelta
import logging import logging
import voluptuous as vol import voluptuous as vol
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
@ -26,7 +25,6 @@ NOTIFICATION_TITLE = 'Ring Sensor Setup'
DOMAIN = 'ring' DOMAIN = 'ring'
DEFAULT_CACHEDB = '.ring_cache.pickle' DEFAULT_CACHEDB = '.ring_cache.pickle'
DEFAULT_ENTITY_NAMESPACE = 'ring' DEFAULT_ENTITY_NAMESPACE = 'ring'
DEFAULT_SCAN_INTERVAL = timedelta(seconds=30)
CONFIG_SCHEMA = vol.Schema({ CONFIG_SCHEMA = vol.Schema({
DOMAIN: vol.Schema({ DOMAIN: vol.Schema({

View file

@ -4,16 +4,17 @@ This component provides HA sensor support for Ring Door Bell/Chimes.
For more details about this platform, please refer to the documentation at For more details about this platform, please refer to the documentation at
https://home-assistant.io/components/sensor.ring/ https://home-assistant.io/components/sensor.ring/
""" """
from datetime import timedelta
import logging import logging
import voluptuous as vol import voluptuous as vol
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.components.ring import ( from homeassistant.components.ring import (
CONF_ATTRIBUTION, DEFAULT_ENTITY_NAMESPACE, DEFAULT_SCAN_INTERVAL) CONF_ATTRIBUTION, DEFAULT_ENTITY_NAMESPACE)
from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.components.sensor import PLATFORM_SCHEMA
from homeassistant.const import ( from homeassistant.const import (
CONF_ENTITY_NAMESPACE, CONF_MONITORED_CONDITIONS, CONF_SCAN_INTERVAL, CONF_ENTITY_NAMESPACE, CONF_MONITORED_CONDITIONS,
STATE_UNKNOWN, ATTR_ATTRIBUTION) STATE_UNKNOWN, ATTR_ATTRIBUTION)
from homeassistant.helpers.entity import Entity from homeassistant.helpers.entity import Entity
@ -21,6 +22,8 @@ DEPENDENCIES = ['ring']
_LOGGER = logging.getLogger(__name__) _LOGGER = logging.getLogger(__name__)
SCAN_INTERVAL = timedelta(seconds=30)
# Sensor types: Name, category, units, icon, kind # Sensor types: Name, category, units, icon, kind
SENSOR_TYPES = { SENSOR_TYPES = {
'battery': ['Battery', ['doorbell'], '%', 'battery-50', None], 'battery': ['Battery', ['doorbell'], '%', 'battery-50', None],
@ -33,8 +36,6 @@ SENSOR_TYPES = {
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
vol.Optional(CONF_ENTITY_NAMESPACE, default=DEFAULT_ENTITY_NAMESPACE): vol.Optional(CONF_ENTITY_NAMESPACE, default=DEFAULT_ENTITY_NAMESPACE):
cv.string, cv.string,
vol.Optional(CONF_SCAN_INTERVAL, default=DEFAULT_SCAN_INTERVAL):
vol.All(vol.Coerce(int), vol.Range(min=1)),
vol.Required(CONF_MONITORED_CONDITIONS, default=[]): vol.Required(CONF_MONITORED_CONDITIONS, default=[]):
vol.All(cv.ensure_list, [vol.In(SENSOR_TYPES)]), vol.All(cv.ensure_list, [vol.In(SENSOR_TYPES)]),
}) })
@ -120,6 +121,8 @@ class RingSensor(Entity):
def update(self): def update(self):
"""Get the latest data and updates the state.""" """Get the latest data and updates the state."""
_LOGGER.debug("Pulling data from %s sensor.", self._name)
self._data.update() self._data.update()
if self._sensor_type == 'volume': if self._sensor_type == 'volume':