mirror of
https://github.com/home-assistant/core.git
synced 2025-05-03 13:39:16 +00:00
Do not call update() in constructor (#7912)
* Do not call update() in constructor * Do not call update() in constructor * Remove unused import
This commit is contained in:
parent
2b850f417e
commit
13df925795
@ -8,9 +8,9 @@ import logging
|
|||||||
|
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
||||||
from homeassistant.const import CONF_NAME
|
from homeassistant.const import CONF_NAME
|
||||||
import homeassistant.helpers.config_validation as cv
|
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
|
|
||||||
REQUIREMENTS = ['py-cpuinfo==3.2.0']
|
REQUIREMENTS = ['py-cpuinfo==3.2.0']
|
||||||
@ -22,6 +22,7 @@ ATTR_HZ = 'GHz Advertised'
|
|||||||
ATTR_ARCH = 'arch'
|
ATTR_ARCH = 'arch'
|
||||||
|
|
||||||
DEFAULT_NAME = 'CPU speed'
|
DEFAULT_NAME = 'CPU speed'
|
||||||
|
|
||||||
ICON = 'mdi:pulse'
|
ICON = 'mdi:pulse'
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||||
@ -34,7 +35,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
"""Set up the CPU speed sensor."""
|
"""Set up the CPU speed sensor."""
|
||||||
name = config.get(CONF_NAME)
|
name = config.get(CONF_NAME)
|
||||||
|
|
||||||
add_devices([CpuSpeedSensor(name)])
|
add_devices([CpuSpeedSensor(name)], True)
|
||||||
|
|
||||||
|
|
||||||
class CpuSpeedSensor(Entity):
|
class CpuSpeedSensor(Entity):
|
||||||
@ -44,8 +45,8 @@ class CpuSpeedSensor(Entity):
|
|||||||
"""Initialize the sensor."""
|
"""Initialize the sensor."""
|
||||||
self._name = name
|
self._name = name
|
||||||
self._state = None
|
self._state = None
|
||||||
|
self.info = None
|
||||||
self._unit_of_measurement = 'GHz'
|
self._unit_of_measurement = 'GHz'
|
||||||
self.update()
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
|
@ -13,7 +13,6 @@ import homeassistant.helpers.config_validation as cv
|
|||||||
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
||||||
from homeassistant.const import CONF_HOST, CONF_PORT
|
from homeassistant.const import CONF_HOST, CONF_PORT
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
from homeassistant.util import Throttle
|
|
||||||
|
|
||||||
REQUIREMENTS = ['pycups==1.9.73']
|
REQUIREMENTS = ['pycups==1.9.73']
|
||||||
|
|
||||||
@ -36,7 +35,7 @@ DEFAULT_PORT = 631
|
|||||||
|
|
||||||
ICON = 'mdi:printer'
|
ICON = 'mdi:printer'
|
||||||
|
|
||||||
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
|
SCAN_INTERVAL = timedelta(minutes=1)
|
||||||
|
|
||||||
PRINTER_STATES = {
|
PRINTER_STATES = {
|
||||||
3: 'idle',
|
3: 'idle',
|
||||||
@ -72,7 +71,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
_LOGGER.error("Printer is not present: %s", printer)
|
_LOGGER.error("Printer is not present: %s", printer)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
add_devices(dev)
|
add_devices(dev, True)
|
||||||
|
|
||||||
|
|
||||||
class CupsSensor(Entity):
|
class CupsSensor(Entity):
|
||||||
@ -83,7 +82,6 @@ class CupsSensor(Entity):
|
|||||||
self.data = data
|
self.data = data
|
||||||
self._name = printer
|
self._name = printer
|
||||||
self._printer = None
|
self._printer = None
|
||||||
self.update()
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
@ -140,7 +138,6 @@ class CupsData(object):
|
|||||||
self._port = port
|
self._port = port
|
||||||
self.printers = None
|
self.printers = None
|
||||||
|
|
||||||
@Throttle(MIN_TIME_BETWEEN_UPDATES)
|
|
||||||
def update(self):
|
def update(self):
|
||||||
"""Get the latest data from CUPS."""
|
"""Get the latest data from CUPS."""
|
||||||
from cups import Connection
|
from cups import Connection
|
||||||
|
@ -10,12 +10,11 @@ import logging
|
|||||||
import requests
|
import requests
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONF_API_KEY, CONF_NAME, CONF_BASE, CONF_QUOTE, ATTR_ATTRIBUTION)
|
CONF_API_KEY, CONF_NAME, CONF_BASE, CONF_QUOTE, ATTR_ATTRIBUTION)
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
from homeassistant.util import Throttle
|
|
||||||
import homeassistant.helpers.config_validation as cv
|
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
_RESOURCE = 'http://apilayer.net/api/live'
|
_RESOURCE = 'http://apilayer.net/api/live'
|
||||||
@ -27,7 +26,7 @@ DEFAULT_NAME = 'CurrencyLayer Sensor'
|
|||||||
|
|
||||||
ICON = 'mdi:currency'
|
ICON = 'mdi:currency'
|
||||||
|
|
||||||
MIN_TIME_BETWEEN_UPDATES = timedelta(hours=2)
|
SCAN_INTERVAL = timedelta(hours=2)
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||||
vol.Required(CONF_API_KEY): cv.string,
|
vol.Required(CONF_API_KEY): cv.string,
|
||||||
@ -56,8 +55,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
if 'error' in response.json():
|
if 'error' in response.json():
|
||||||
return False
|
return False
|
||||||
else:
|
else:
|
||||||
add_devices(sensors)
|
add_devices(sensors, True)
|
||||||
rest.update()
|
|
||||||
|
|
||||||
|
|
||||||
class CurrencylayerSensor(Entity):
|
class CurrencylayerSensor(Entity):
|
||||||
@ -68,7 +66,7 @@ class CurrencylayerSensor(Entity):
|
|||||||
self.rest = rest
|
self.rest = rest
|
||||||
self._quote = quote
|
self._quote = quote
|
||||||
self._base = base
|
self._base = base
|
||||||
self.update()
|
self._state = None
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
@ -110,7 +108,6 @@ class CurrencylayerData(object):
|
|||||||
self._parameters = parameters
|
self._parameters = parameters
|
||||||
self.data = None
|
self.data = None
|
||||||
|
|
||||||
@Throttle(MIN_TIME_BETWEEN_UPDATES)
|
|
||||||
def update(self):
|
def update(self):
|
||||||
"""Get the latest data from Currencylayer."""
|
"""Get the latest data from Currencylayer."""
|
||||||
try:
|
try:
|
||||||
|
@ -9,11 +9,10 @@ from datetime import timedelta
|
|||||||
|
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
|
||||||
import homeassistant.helpers.config_validation as cv
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.util import Throttle
|
|
||||||
from homeassistant.helpers.entity import Entity
|
|
||||||
import homeassistant.util.dt as dt_util
|
import homeassistant.util.dt as dt_util
|
||||||
|
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
||||||
|
from homeassistant.helpers.entity import Entity
|
||||||
|
|
||||||
REQUIREMENTS = ['schiene==0.18']
|
REQUIREMENTS = ['schiene==0.18']
|
||||||
|
|
||||||
@ -24,7 +23,7 @@ CONF_START = 'from'
|
|||||||
|
|
||||||
ICON = 'mdi:train'
|
ICON = 'mdi:train'
|
||||||
|
|
||||||
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=120)
|
SCAN_INTERVAL = timedelta(minutes=2)
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||||
vol.Required(CONF_DESTINATION): cv.string,
|
vol.Required(CONF_DESTINATION): cv.string,
|
||||||
@ -37,7 +36,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
start = config.get(CONF_START)
|
start = config.get(CONF_START)
|
||||||
destination = config.get(CONF_DESTINATION)
|
destination = config.get(CONF_DESTINATION)
|
||||||
|
|
||||||
add_devices([DeutscheBahnSensor(start, destination)])
|
add_devices([DeutscheBahnSensor(start, destination)], True)
|
||||||
|
|
||||||
|
|
||||||
class DeutscheBahnSensor(Entity):
|
class DeutscheBahnSensor(Entity):
|
||||||
@ -47,7 +46,7 @@ class DeutscheBahnSensor(Entity):
|
|||||||
"""Initialize the sensor."""
|
"""Initialize the sensor."""
|
||||||
self._name = '{} to {}'.format(start, goal)
|
self._name = '{} to {}'.format(start, goal)
|
||||||
self.data = SchieneData(start, goal)
|
self.data = SchieneData(start, goal)
|
||||||
self.update()
|
self._state = None
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
@ -92,7 +91,6 @@ class SchieneData(object):
|
|||||||
self.schiene = schiene.Schiene()
|
self.schiene = schiene.Schiene()
|
||||||
self.connections = [{}]
|
self.connections = [{}]
|
||||||
|
|
||||||
@Throttle(MIN_TIME_BETWEEN_UPDATES)
|
|
||||||
def update(self):
|
def update(self):
|
||||||
"""Update the connection data."""
|
"""Update the connection data."""
|
||||||
self.connections = self.schiene.connections(
|
self.connections = self.schiene.connections(
|
||||||
|
@ -9,11 +9,10 @@ from datetime import timedelta
|
|||||||
|
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
|
import homeassistant.helpers.config_validation as cv
|
||||||
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
||||||
from homeassistant.const import (CONF_NAME, ATTR_ATTRIBUTION, CONF_BASE)
|
from homeassistant.const import (CONF_NAME, ATTR_ATTRIBUTION, CONF_BASE)
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
from homeassistant.util import Throttle
|
|
||||||
import homeassistant.helpers.config_validation as cv
|
|
||||||
|
|
||||||
REQUIREMENTS = ['fixerio==0.1.1']
|
REQUIREMENTS = ['fixerio==0.1.1']
|
||||||
|
|
||||||
@ -31,7 +30,7 @@ DEFAULT_NAME = 'Exchange rate'
|
|||||||
|
|
||||||
ICON = 'mdi:currency'
|
ICON = 'mdi:currency'
|
||||||
|
|
||||||
MIN_TIME_BETWEEN_UPDATES = timedelta(days=1)
|
SCAN_INTERVAL = timedelta(days=1)
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||||
vol.Required(CONF_TARGET): cv.string,
|
vol.Required(CONF_TARGET): cv.string,
|
||||||
@ -55,7 +54,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
data = ExchangeData(base, target)
|
data = ExchangeData(base, target)
|
||||||
add_devices([ExchangeRateSensor(data, name, target)])
|
add_devices([ExchangeRateSensor(data, name, target)], True)
|
||||||
|
|
||||||
|
|
||||||
class ExchangeRateSensor(Entity):
|
class ExchangeRateSensor(Entity):
|
||||||
@ -67,7 +66,6 @@ class ExchangeRateSensor(Entity):
|
|||||||
self._target = target
|
self._target = target
|
||||||
self._name = name
|
self._name = name
|
||||||
self._state = None
|
self._state = None
|
||||||
self.update()
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
@ -120,7 +118,6 @@ class ExchangeData(object):
|
|||||||
base=self.base_currency, symbols=[self.target_currency],
|
base=self.base_currency, symbols=[self.target_currency],
|
||||||
secure=True)
|
secure=True)
|
||||||
|
|
||||||
@Throttle(MIN_TIME_BETWEEN_UPDATES)
|
|
||||||
def update(self):
|
def update(self):
|
||||||
"""Get the latest data from Fixer.io."""
|
"""Get the latest data from Fixer.io."""
|
||||||
self.rate = self.exchange.latest()
|
self.rate = self.exchange.latest()
|
||||||
|
@ -60,7 +60,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
_LOGGER.error("No battery found")
|
_LOGGER.error("No battery found")
|
||||||
return False
|
return False
|
||||||
|
|
||||||
add_devices([LinuxBatterySensor(name, battery_id)])
|
add_devices([LinuxBatterySensor(name, battery_id)], True)
|
||||||
|
|
||||||
|
|
||||||
class LinuxBatterySensor(Entity):
|
class LinuxBatterySensor(Entity):
|
||||||
@ -75,7 +75,6 @@ class LinuxBatterySensor(Entity):
|
|||||||
self._battery_stat = None
|
self._battery_stat = None
|
||||||
self._battery_id = battery_id - 1
|
self._battery_id = battery_id - 1
|
||||||
self._unit_of_measurement = '%'
|
self._unit_of_measurement = '%'
|
||||||
self.update()
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
|
@ -32,7 +32,6 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None):
|
|||||||
name = config.get(CONF_NAME)
|
name = config.get(CONF_NAME)
|
||||||
|
|
||||||
async_add_devices([MoonSensor(name)], True)
|
async_add_devices([MoonSensor(name)], True)
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class MoonSensor(Entity):
|
class MoonSensor(Entity):
|
||||||
|
@ -57,7 +57,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
|
|
||||||
add_devices([
|
add_devices([
|
||||||
ScrapeSensor(hass, rest, name, select, value_template, unit)
|
ScrapeSensor(hass, rest, name, select, value_template, unit)
|
||||||
])
|
], True)
|
||||||
|
|
||||||
|
|
||||||
class ScrapeSensor(Entity):
|
class ScrapeSensor(Entity):
|
||||||
@ -71,7 +71,6 @@ class ScrapeSensor(Entity):
|
|||||||
self._select = select
|
self._select = select
|
||||||
self._value_template = value_template
|
self._value_template = value_template
|
||||||
self._unit_of_measurement = unit
|
self._unit_of_measurement = unit
|
||||||
self.update()
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
|
@ -10,12 +10,11 @@ from datetime import timedelta
|
|||||||
import requests
|
import requests
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
|
|
||||||
|
import homeassistant.helpers.config_validation as cv
|
||||||
|
import homeassistant.util.dt as dt_util
|
||||||
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
from homeassistant.components.sensor import PLATFORM_SCHEMA
|
||||||
from homeassistant.const import CONF_NAME, ATTR_ATTRIBUTION
|
from homeassistant.const import CONF_NAME, ATTR_ATTRIBUTION
|
||||||
import homeassistant.util.dt as dt_util
|
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
from homeassistant.util import Throttle
|
|
||||||
import homeassistant.helpers.config_validation as cv
|
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
_RESOURCE = 'http://transport.opendata.ch/v1/'
|
_RESOURCE = 'http://transport.opendata.ch/v1/'
|
||||||
@ -31,9 +30,11 @@ CONF_DESTINATION = 'to'
|
|||||||
CONF_START = 'from'
|
CONF_START = 'from'
|
||||||
|
|
||||||
DEFAULT_NAME = 'Next Departure'
|
DEFAULT_NAME = 'Next Departure'
|
||||||
|
|
||||||
ICON = 'mdi:bus'
|
ICON = 'mdi:bus'
|
||||||
|
|
||||||
MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
|
SCAN_INTERVAL = timedelta(minutes=1)
|
||||||
|
|
||||||
TIME_STR_FORMAT = "%H:%M"
|
TIME_STR_FORMAT = "%H:%M"
|
||||||
|
|
||||||
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({
|
||||||
@ -62,7 +63,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
return False
|
return False
|
||||||
|
|
||||||
data = PublicTransportData(journey)
|
data = PublicTransportData(journey)
|
||||||
add_devices([SwissPublicTransportSensor(data, journey, name)])
|
add_devices([SwissPublicTransportSensor(data, journey, name)], True)
|
||||||
|
|
||||||
|
|
||||||
class SwissPublicTransportSensor(Entity):
|
class SwissPublicTransportSensor(Entity):
|
||||||
@ -72,9 +73,10 @@ class SwissPublicTransportSensor(Entity):
|
|||||||
"""Initialize the sensor."""
|
"""Initialize the sensor."""
|
||||||
self.data = data
|
self.data = data
|
||||||
self._name = name
|
self._name = name
|
||||||
|
self._state = None
|
||||||
|
self._times = None
|
||||||
self._from = journey[2]
|
self._from = journey[2]
|
||||||
self._to = journey[3]
|
self._to = journey[3]
|
||||||
self.update()
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
@ -124,7 +126,6 @@ class PublicTransportData(object):
|
|||||||
self.destination = journey[1]
|
self.destination = journey[1]
|
||||||
self.times = {}
|
self.times = {}
|
||||||
|
|
||||||
@Throttle(MIN_TIME_BETWEEN_UPDATES)
|
|
||||||
def update(self):
|
def update(self):
|
||||||
"""Get the latest data from opendata.ch."""
|
"""Get the latest data from opendata.ch."""
|
||||||
response = requests.get(
|
response = requests.get(
|
||||||
|
@ -52,7 +52,6 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None):
|
|||||||
devices.append(device)
|
devices.append(device)
|
||||||
|
|
||||||
async_add_devices(devices, True)
|
async_add_devices(devices, True)
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class TimeDateSensor(Entity):
|
class TimeDateSensor(Entity):
|
||||||
|
@ -36,7 +36,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
"""Set up the Twitch platform."""
|
"""Set up the Twitch platform."""
|
||||||
channels = config.get(CONF_CHANNELS, [])
|
channels = config.get(CONF_CHANNELS, [])
|
||||||
|
|
||||||
add_devices([TwitchSensor(channel) for channel in channels])
|
add_devices([TwitchSensor(channel) for channel in channels], True)
|
||||||
|
|
||||||
|
|
||||||
class TwitchSensor(Entity):
|
class TwitchSensor(Entity):
|
||||||
@ -49,7 +49,6 @@ class TwitchSensor(Entity):
|
|||||||
self._preview = None
|
self._preview = None
|
||||||
self._game = None
|
self._game = None
|
||||||
self._title = None
|
self._title = None
|
||||||
self.update()
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def should_poll(self):
|
def should_poll(self):
|
||||||
|
@ -36,7 +36,6 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None):
|
|||||||
time_zone = dt_util.get_time_zone(config.get(CONF_TIME_ZONE))
|
time_zone = dt_util.get_time_zone(config.get(CONF_TIME_ZONE))
|
||||||
|
|
||||||
async_add_devices([WorldClockSensor(time_zone, name)], True)
|
async_add_devices([WorldClockSensor(time_zone, name)], True)
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
class WorldClockSensor(Entity):
|
class WorldClockSensor(Entity):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user