diff --git a/homeassistant/components/sensor/bbox.py b/homeassistant/components/sensor/bbox.py index a5c01a48d0d..3689e94b05d 100644 --- a/homeassistant/components/sensor/bbox.py +++ b/homeassistant/components/sensor/bbox.py @@ -10,12 +10,12 @@ from datetime import timedelta import requests import voluptuous as vol +import homeassistant.helpers.config_validation as cv from homeassistant.components.sensor import PLATFORM_SCHEMA from homeassistant.const import ( CONF_NAME, CONF_MONITORED_VARIABLES, ATTR_ATTRIBUTION) from homeassistant.helpers.entity import Entity from homeassistant.util import Throttle -import homeassistant.helpers.config_validation as cv REQUIREMENTS = ['pybbox==0.0.5-alpha'] @@ -23,7 +23,7 @@ _LOGGER = logging.getLogger(__name__) BANDWIDTH_MEGABITS_SECONDS = 'Mb/s' # type: str -CONF_ATTRIBUTION = "Powered by Bouygues Telecom" +ATTRIBUTION = "Powered by Bouygues Telecom" DEFAULT_NAME = 'Bbox' @@ -65,7 +65,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): for variable in config[CONF_MONITORED_VARIABLES]: sensors.append(BboxSensor(bbox_data, variable, name)) - add_devices(sensors) + add_devices(sensors, True) class BboxSensor(Entity): @@ -81,8 +81,6 @@ class BboxSensor(Entity): self.bbox_data = bbox_data self._state = None - self.update() - @property def name(self): """Return the name of the sensor.""" @@ -107,7 +105,7 @@ class BboxSensor(Entity): def device_state_attributes(self): """Return the state attributes.""" return { - ATTR_ATTRIBUTION: CONF_ATTRIBUTION, + ATTR_ATTRIBUTION: ATTRIBUTION, } def update(self): diff --git a/homeassistant/components/sensor/bh1750.py b/homeassistant/components/sensor/bh1750.py index b98ba85f8c0..0c538a6cfcc 100644 --- a/homeassistant/components/sensor/bh1750.py +++ b/homeassistant/components/sensor/bh1750.py @@ -92,10 +92,10 @@ def async_setup_platform(hass, config, async_add_devices, discovery_info=None): dev = [BH1750Sensor(sensor, name, SENSOR_UNIT, config.get(CONF_MULTIPLIER))] - _LOGGER.info("Setup of BH1750 light sensor at %s in mode %s is complete.", + _LOGGER.info("Setup of BH1750 light sensor at %s in mode %s is complete", i2c_address, operation_mode) - async_add_devices(dev) + async_add_devices(dev, True) class BH1750Sensor(Entity): diff --git a/homeassistant/components/sensor/bloomsky.py b/homeassistant/components/sensor/bloomsky.py index 62769dc0494..660cb5ede6e 100644 --- a/homeassistant/components/sensor/bloomsky.py +++ b/homeassistant/components/sensor/bloomsky.py @@ -51,7 +51,8 @@ def setup_platform(hass, config, add_devices, discovery_info=None): for device in bloomsky.BLOOMSKY.devices.values(): for variable in sensors: - add_devices([BloomSkySensor(bloomsky.BLOOMSKY, device, variable)]) + add_devices( + [BloomSkySensor(bloomsky.BLOOMSKY, device, variable)], True) class BloomSkySensor(Entity): @@ -64,7 +65,7 @@ class BloomSkySensor(Entity): self._sensor_name = sensor_name self._name = '{} {}'.format(device['DeviceName'], sensor_name) self._unique_id = 'bloomsky_sensor {}'.format(self._name) - self.update() + self._state = None @property def name(self): diff --git a/homeassistant/components/sensor/broadlink.py b/homeassistant/components/sensor/broadlink.py index 97b34b0c881..d23236c2df8 100644 --- a/homeassistant/components/sensor/broadlink.py +++ b/homeassistant/components/sensor/broadlink.py @@ -50,20 +50,19 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ # pylint: disable=unused-argument def setup_platform(hass, config, add_devices, discovery_info=None): """Set up the Broadlink device sensors.""" + host = config.get(CONF_HOST) mac = config.get(CONF_MAC).encode().replace(b':', b'') mac_addr = binascii.unhexlify(mac) - broadlink_data = BroadlinkData( - config.get(CONF_UPDATE_INTERVAL), - config.get(CONF_HOST), - mac_addr, config.get(CONF_TIMEOUT)) + name = config.get(CONF_NAME) + timeout = config.get(CONF_TIMEOUT) + update_interval = config.get(CONF_UPDATE_INTERVAL) + + broadlink_data = BroadlinkData(update_interval, host, mac_addr, timeout) dev = [] for variable in config[CONF_MONITORED_CONDITIONS]: - dev.append(BroadlinkSensor( - config.get(CONF_NAME), - broadlink_data, - variable)) - add_devices(dev) + dev.append(BroadlinkSensor(name, broadlink_data, variable)) + add_devices(dev, True) class BroadlinkSensor(Entity): @@ -76,7 +75,6 @@ class BroadlinkSensor(Entity): self._type = sensor_type self._broadlink_data = broadlink_data self._unit_of_measurement = SENSOR_TYPES[sensor_type][1] - self.update() @property def name(self): diff --git a/homeassistant/components/sensor/comed_hourly_pricing.py b/homeassistant/components/sensor/comed_hourly_pricing.py index 4f6e0953e54..c6a4a38c3b2 100644 --- a/homeassistant/components/sensor/comed_hourly_pricing.py +++ b/homeassistant/components/sensor/comed_hourly_pricing.py @@ -54,7 +54,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): variable[CONF_SENSOR_TYPE], variable[CONF_OFFSET], variable.get(CONF_NAME))) - add_devices(dev) + add_devices(dev, True) class ComedHourlyPricingSensor(Entity): diff --git a/homeassistant/components/sensor/comfoconnect.py b/homeassistant/components/sensor/comfoconnect.py index c953ee53260..9df28d861ee 100644 --- a/homeassistant/components/sensor/comfoconnect.py +++ b/homeassistant/components/sensor/comfoconnect.py @@ -24,7 +24,7 @@ SENSOR_TYPES = {} def setup_platform(hass, config, add_devices, discovery_info=None): - """Setup the ComfoConnect fan platform.""" + """Set up the ComfoConnect fan platform.""" from pycomfoconnect import ( SENSOR_TEMPERATURE_EXTRACT, SENSOR_HUMIDITY_EXTRACT, SENSOR_TEMPERATURE_OUTDOOR, SENSOR_HUMIDITY_OUTDOOR, @@ -92,8 +92,6 @@ def setup_platform(hass, config, add_devices, discovery_info=None): add_devices(sensors, True) - return - class ComfoConnectSensor(Entity): """Representation of a ComfoConnect sensor.""" diff --git a/homeassistant/components/sensor/dht.py b/homeassistant/components/sensor/dht.py index 6056322cc24..8fa34d50137 100644 --- a/homeassistant/components/sensor/dht.py +++ b/homeassistant/components/sensor/dht.py @@ -86,7 +86,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): except KeyError: pass - add_devices(dev) + add_devices(dev, True) class DHTSensor(Entity): @@ -104,7 +104,6 @@ class DHTSensor(Entity): self.humidity_offset = humidity_offset self._state = None self._unit_of_measurement = SENSOR_TYPES[sensor_type][1] - self.update() @property def name(self): diff --git a/homeassistant/components/sensor/eliqonline.py b/homeassistant/components/sensor/eliqonline.py index b28a4f4ea0d..5da52272fb1 100644 --- a/homeassistant/components/sensor/eliqonline.py +++ b/homeassistant/components/sensor/eliqonline.py @@ -49,11 +49,10 @@ def setup_platform(hass, config, add_devices, discovery_info=None): _LOGGER.debug("Probing for access to ELIQ Online API") api.get_data_now(channelid=channel_id) except OSError as error: - _LOGGER.error("Could not access the ELIQ Online API. " - "Is the configuration valid? %s", error) + _LOGGER.error("Could not access the ELIQ Online API: %s", error) return False - add_devices([EliqSensor(api, channel_id, name)]) + add_devices([EliqSensor(api, channel_id, name)], True) class EliqSensor(Entity): @@ -65,7 +64,6 @@ class EliqSensor(Entity): self._state = STATE_UNKNOWN self._api = api self._channel_id = channel_id - self.update() @property def name(self): diff --git a/homeassistant/components/sensor/fedex.py b/homeassistant/components/sensor/fedex.py index 0e7d9dcad76..5874e8ce487 100644 --- a/homeassistant/components/sensor/fedex.py +++ b/homeassistant/components/sensor/fedex.py @@ -36,8 +36,8 @@ 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)), + vol.Optional(CONF_UPDATE_INTERVAL, default=timedelta(seconds=1800)): + vol.All(cv.time_period, cv.positive_timedelta), }) @@ -45,6 +45,10 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ def setup_platform(hass, config, add_devices, discovery_info=None): """Set up the Fedex platform.""" import fedexdeliverymanager + + name = config.get(CONF_NAME) + update_interval = config.get(CONF_UPDATE_INTERVAL) + try: cookie = hass.config.path(COOKIE) session = fedexdeliverymanager.get_session( @@ -54,8 +58,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): _LOGGER.exception("Could not connect to Fedex Delivery Manager") return False - add_devices([FedexSensor( - session, config.get(CONF_NAME), config.get(CONF_UPDATE_INTERVAL))]) + add_devices([FedexSensor(session, name, update_interval)], True) class FedexSensor(Entity): @@ -68,7 +71,6 @@ class FedexSensor(Entity): self._attributes = None self._state = None self.update = Throttle(interval)(self._update) - self.update() @property def name(self): diff --git a/homeassistant/components/sensor/hp_ilo.py b/homeassistant/components/sensor/hp_ilo.py index 2e578c64cd2..016d68b3b0e 100644 --- a/homeassistant/components/sensor/hp_ilo.py +++ b/homeassistant/components/sensor/hp_ilo.py @@ -89,7 +89,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): unit_of_measurement=monitored_variable[CONF_UNIT_OF_MEASUREMENT]) devices.append(new_device) - add_devices(devices) + add_devices(devices, True) class HpIloSensor(Entity): @@ -111,8 +111,6 @@ class HpIloSensor(Entity): self._state = None self._state_attributes = None - self.update() - _LOGGER.debug("Created HP ILO sensor %r", self) @property diff --git a/homeassistant/components/sensor/imap.py b/homeassistant/components/sensor/imap.py index dc772df48c0..849f3fd8100 100644 --- a/homeassistant/components/sensor/imap.py +++ b/homeassistant/components/sensor/imap.py @@ -38,7 +38,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): config.get(CONF_PORT)) if sensor.connection: - add_devices([sensor]) + add_devices([sensor], True) else: return False @@ -55,7 +55,6 @@ class ImapSensor(Entity): self._port = port self._unread_count = 0 self.connection = self._login() - self.update() def _login(self): """Login and return an IMAP connection.""" diff --git a/homeassistant/components/sensor/imap_email_content.py b/homeassistant/components/sensor/imap_email_content.py index 64f10ad64a7..f4d4db201e5 100644 --- a/homeassistant/components/sensor/imap_email_content.py +++ b/homeassistant/components/sensor/imap_email_content.py @@ -53,7 +53,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): config.get(CONF_SENDERS), value_template) if sensor.connected: - add_devices([sensor]) + add_devices([sensor], True) else: return False diff --git a/homeassistant/components/sensor/ios.py b/homeassistant/components/sensor/ios.py index 7bfe2dbd62a..c73e76ca752 100644 --- a/homeassistant/components/sensor/ios.py +++ b/homeassistant/components/sensor/ios.py @@ -27,7 +27,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): for sensor_type in ('level', 'state'): dev.append(IOSSensor(sensor_type, device_name, device)) - add_devices(dev) + add_devices(dev, True) class IOSSensor(Entity): @@ -41,7 +41,6 @@ class IOSSensor(Entity): self.type = sensor_type self._state = None self._unit_of_measurement = SENSOR_TYPES[sensor_type][1] - self.update() @property def name(self): diff --git a/homeassistant/components/sensor/netatmo.py b/homeassistant/components/sensor/netatmo.py index 44d0732921c..8ace931a8cc 100644 --- a/homeassistant/components/sensor/netatmo.py +++ b/homeassistant/components/sensor/netatmo.py @@ -95,7 +95,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): except lnetatmo.NoDevice: return None - add_devices(dev) + add_devices(dev, True) class NetAtmoSensor(Entity): @@ -115,7 +115,6 @@ class NetAtmoSensor(Entity): self.module_id = module_id[1] self._unique_id = "Netatmo Sensor {0} - {1} ({2})".format( self._name, module_id, self.type) - self.update() @property def name(self): diff --git a/homeassistant/components/sensor/nut.py b/homeassistant/components/sensor/nut.py index 2ebc83724ba..2228a8eab60 100644 --- a/homeassistant/components/sensor/nut.py +++ b/homeassistant/components/sensor/nut.py @@ -170,7 +170,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None): "Cannot continue setup: %s", err) return False - add_entities(entities) + add_entities(entities, True) class NUTSensor(Entity): @@ -182,7 +182,7 @@ class NUTSensor(Entity): self.type = sensor_type self._name = "{} {}".format(name, SENSOR_TYPES[sensor_type][0]) self._unit = SENSOR_TYPES[sensor_type][1] - self.update() + self._state = None @property def name(self): @@ -207,7 +207,7 @@ class NUTSensor(Entity): @property def device_state_attributes(self): """Return the sensor attributes.""" - attr = {} + attr = dict() attr[ATTR_STATE] = self.opp_state() return attr diff --git a/homeassistant/components/sensor/octoprint.py b/homeassistant/components/sensor/octoprint.py index 035799429f5..e3a06e58370 100644 --- a/homeassistant/components/sensor/octoprint.py +++ b/homeassistant/components/sensor/octoprint.py @@ -60,7 +60,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): name, SENSOR_TYPES[octo_type][3], SENSOR_TYPES[octo_type][0], SENSOR_TYPES[octo_type][1]) devices.append(new_sensor) - add_devices(devices) + add_devices(devices, True) class OctoPrintSensor(Entity): @@ -82,8 +82,6 @@ class OctoPrintSensor(Entity): self.api_endpoint = endpoint self.api_group = group self.api_tool = tool - # Set initial state - self.update() _LOGGER.debug("Created OctoPrint sensor %r", self) @property diff --git a/homeassistant/components/sensor/ohmconnect.py b/homeassistant/components/sensor/ohmconnect.py index cb1a1d3d260..ff465b3617c 100644 --- a/homeassistant/components/sensor/ohmconnect.py +++ b/homeassistant/components/sensor/ohmconnect.py @@ -37,7 +37,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): name = config.get(CONF_NAME) ohmid = config.get(CONF_ID) - add_devices([OhmconnectSensor(name, ohmid)]) + add_devices([OhmconnectSensor(name, ohmid)], True) class OhmconnectSensor(Entity): @@ -48,7 +48,6 @@ class OhmconnectSensor(Entity): self._name = name self._ohmid = ohmid self._data = {} - self.update() @property def name(self): @@ -80,4 +79,4 @@ class OhmconnectSensor(Entity): self._data[child.tag] = child.text except requests.exceptions.ConnectionError: _LOGGER.error("No route to host/endpoint: %s", url) - self.data = {} + self._data = {} diff --git a/homeassistant/components/sensor/openevse.py b/homeassistant/components/sensor/openevse.py index f3b12506c84..6ded982eea1 100644 --- a/homeassistant/components/sensor/openevse.py +++ b/homeassistant/components/sensor/openevse.py @@ -49,7 +49,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): for variable in monitored_variables: dev.append(OpenEVSESensor(variable, charger)) - add_devices(dev) + add_devices(dev, True) class OpenEVSESensor(Entity): diff --git a/homeassistant/components/sensor/openexchangerates.py b/homeassistant/components/sensor/openexchangerates.py index 63c57048b1d..741ffa2842d 100644 --- a/homeassistant/components/sensor/openexchangerates.py +++ b/homeassistant/components/sensor/openexchangerates.py @@ -55,7 +55,7 @@ def setup_platform(hass, config, add_devices, discovery_info=None): return False rest.update() - add_devices([OpenexchangeratesSensor(rest, name, quote)]) + add_devices([OpenexchangeratesSensor(rest, name, quote)], True) class OpenexchangeratesSensor(Entity): @@ -66,7 +66,7 @@ class OpenexchangeratesSensor(Entity): self.rest = rest self._name = name self._quote = quote - self.update() + self._state = None @property def name(self):