diff --git a/homeassistant/components/mochad/__init__.py b/homeassistant/components/mochad/__init__.py index 50156b2b4b3..6f560aa9ed6 100644 --- a/homeassistant/components/mochad/__init__.py +++ b/homeassistant/components/mochad/__init__.py @@ -15,8 +15,6 @@ import homeassistant.helpers.config_validation as cv _LOGGER = logging.getLogger(__name__) -CONTROLLER = None - CONF_COMM_TYPE = "comm_type" DOMAIN = "mochad" @@ -42,22 +40,22 @@ def setup(hass, config): host = conf.get(CONF_HOST) port = conf.get(CONF_PORT) - global CONTROLLER # pylint: disable=global-statement try: - CONTROLLER = MochadCtrl(host, port) + mochad_controller = MochadCtrl(host, port) except exceptions.ConfigurationError: _LOGGER.exception() return False def stop_mochad(event): """Stop the Mochad service.""" - CONTROLLER.disconnect() + mochad_controller.disconnect() def start_mochad(event): """Start the Mochad service.""" hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, stop_mochad) hass.bus.listen_once(EVENT_HOMEASSISTANT_START, start_mochad) + hass.data[DOMAIN] = mochad_controller return True diff --git a/homeassistant/components/mochad/light.py b/homeassistant/components/mochad/light.py index 871caadd95c..1f5cbc6bb95 100644 --- a/homeassistant/components/mochad/light.py +++ b/homeassistant/components/mochad/light.py @@ -13,7 +13,7 @@ from homeassistant.components.light import ( from homeassistant.const import CONF_ADDRESS, CONF_DEVICES, CONF_NAME, CONF_PLATFORM from homeassistant.helpers import config_validation as cv -from . import CONF_COMM_TYPE, CONTROLLER, DOMAIN, REQ_LOCK +from . import CONF_COMM_TYPE, DOMAIN, REQ_LOCK _LOGGER = logging.getLogger(__name__) @@ -38,8 +38,9 @@ PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend( def setup_platform(hass, config, add_entities, discovery_info=None): """Set up X10 dimmers over a mochad controller.""" + mochad_controller = hass.data[DOMAIN] devs = config.get(CONF_DEVICES) - add_entities([MochadLight(hass, CONTROLLER.ctrl, dev) for dev in devs]) + add_entities([MochadLight(hass, mochad_controller.ctrl, dev) for dev in devs]) return True diff --git a/homeassistant/components/mochad/switch.py b/homeassistant/components/mochad/switch.py index 14fb601f919..4ce8f676659 100644 --- a/homeassistant/components/mochad/switch.py +++ b/homeassistant/components/mochad/switch.py @@ -9,7 +9,7 @@ from homeassistant.components.switch import SwitchDevice from homeassistant.const import CONF_ADDRESS, CONF_DEVICES, CONF_NAME, CONF_PLATFORM from homeassistant.helpers import config_validation as cv -from . import CONF_COMM_TYPE, CONTROLLER, DOMAIN, REQ_LOCK +from . import CONF_COMM_TYPE, DOMAIN, REQ_LOCK _LOGGER = logging.getLogger(__name__) @@ -30,8 +30,9 @@ PLATFORM_SCHEMA = vol.Schema( def setup_platform(hass, config, add_entities, discovery_info=None): """Set up X10 switches over a mochad controller.""" + mochad_controller = hass.data[DOMAIN] devs = config.get(CONF_DEVICES) - add_entities([MochadSwitch(hass, CONTROLLER.ctrl, dev) for dev in devs]) + add_entities([MochadSwitch(hass, mochad_controller.ctrl, dev) for dev in devs]) return True