diff --git a/homeassistant/components/bloomsky/__init__.py b/homeassistant/components/bloomsky/__init__.py index 5b21a2a62f0..c9948aa2ff9 100644 --- a/homeassistant/components/bloomsky/__init__.py +++ b/homeassistant/components/bloomsky/__init__.py @@ -13,7 +13,6 @@ from homeassistant.util import Throttle _LOGGER = logging.getLogger(__name__) -BLOOMSKY = None BLOOMSKY_TYPE = ["camera", "binary_sensor", "sensor"] DOMAIN = "bloomsky" @@ -31,12 +30,14 @@ def setup(hass, config): """Set up the BloomSky component.""" api_key = config[DOMAIN][CONF_API_KEY] - global BLOOMSKY # pylint: disable=global-statement + bloomsky = None try: - BLOOMSKY = BloomSky(api_key, hass.config.units.is_metric) + bloomsky = BloomSky(api_key, hass.config.units.is_metric) except RuntimeError: return False + hass.data[DOMAIN] = bloomsky + for component in BLOOMSKY_TYPE: discovery.load_platform(hass, component, DOMAIN, {}, config) diff --git a/homeassistant/components/bloomsky/binary_sensor.py b/homeassistant/components/bloomsky/binary_sensor.py index 516fa42cb5c..0a410401b54 100644 --- a/homeassistant/components/bloomsky/binary_sensor.py +++ b/homeassistant/components/bloomsky/binary_sensor.py @@ -7,7 +7,7 @@ from homeassistant.components.binary_sensor import PLATFORM_SCHEMA, BinarySensor from homeassistant.const import CONF_MONITORED_CONDITIONS import homeassistant.helpers.config_validation as cv -from . import BLOOMSKY +from . import DOMAIN _LOGGER = logging.getLogger(__name__) @@ -26,10 +26,11 @@ def setup_platform(hass, config, add_entities, discovery_info=None): """Set up the available BloomSky weather binary sensors.""" # Default needed in case of discovery sensors = config.get(CONF_MONITORED_CONDITIONS, SENSOR_TYPES) + bloomsky = hass.data[DOMAIN] - for device in BLOOMSKY.devices.values(): + for device in bloomsky.devices.values(): for variable in sensors: - add_entities([BloomSkySensor(BLOOMSKY, device, variable)], True) + add_entities([BloomSkySensor(bloomsky, device, variable)], True) class BloomSkySensor(BinarySensorDevice): diff --git a/homeassistant/components/bloomsky/camera.py b/homeassistant/components/bloomsky/camera.py index d62dede5abd..43bae9dc3bf 100644 --- a/homeassistant/components/bloomsky/camera.py +++ b/homeassistant/components/bloomsky/camera.py @@ -5,13 +5,15 @@ import requests from homeassistant.components.camera import Camera -from . import BLOOMSKY +from . import DOMAIN def setup_platform(hass, config, add_entities, discovery_info=None): """Set up access to BloomSky cameras.""" - for device in BLOOMSKY.devices.values(): - add_entities([BloomSkyCamera(BLOOMSKY, device)]) + bloomsky = hass.data[DOMAIN] + + for device in bloomsky.devices.values(): + add_entities([BloomSkyCamera(bloomsky, device)]) class BloomSkyCamera(Camera): diff --git a/homeassistant/components/bloomsky/sensor.py b/homeassistant/components/bloomsky/sensor.py index b07bca948bd..812bbc91947 100644 --- a/homeassistant/components/bloomsky/sensor.py +++ b/homeassistant/components/bloomsky/sensor.py @@ -13,7 +13,7 @@ from homeassistant.const import ( import homeassistant.helpers.config_validation as cv from homeassistant.helpers.entity import Entity -from . import BLOOMSKY +from . import DOMAIN LOGGER = logging.getLogger(__name__) @@ -61,10 +61,11 @@ def setup_platform(hass, config, add_entities, discovery_info=None): """Set up the available BloomSky weather sensors.""" # Default needed in case of discovery sensors = config.get(CONF_MONITORED_CONDITIONS, SENSOR_TYPES) + bloomsky = hass.data[DOMAIN] - for device in BLOOMSKY.devices.values(): + for device in bloomsky.devices.values(): for variable in sensors: - add_entities([BloomSkySensor(BLOOMSKY, device, variable)], True) + add_entities([BloomSkySensor(bloomsky, device, variable)], True) class BloomSkySensor(Entity):