def setup(hass: HomeAssistant, base_config: ConfigType) -> bool: """Start Homeworks controller.""" def hw_callback(msg_type, values): """Dispatch state changes.""" _LOGGER.debug("callback: %s, %s", msg_type, values) addr = values[0] signal = f"homeworks_entity_{addr}" dispatcher_send(hass, signal, msg_type, values) config = base_config[DOMAIN] controller = Homeworks(config[CONF_HOST], config[CONF_PORT], hw_callback) hass.data[HOMEWORKS_CONTROLLER] = controller def cleanup(event): controller.close() hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, cleanup) dimmers = config[CONF_DIMMERS] load_platform(hass, "light", DOMAIN, {CONF_DIMMERS: dimmers}, base_config) for key_config in config[CONF_KEYPADS]: addr = key_config[CONF_ADDR] name = key_config[CONF_NAME] HomeworksKeypadEvent(hass, addr, name) return True
def setup(hass, base_config): """Start Homeworks controller.""" from pyhomeworks.pyhomeworks import Homeworks def hw_callback(msg_type, values): """Dispatch state changes.""" _LOGGER.debug('callback: %s, %s', msg_type, values) addr = values[0] signal = ENTITY_SIGNAL.format(addr) dispatcher_send(hass, signal, msg_type, values) config = base_config.get(DOMAIN) controller = Homeworks(config[CONF_HOST], config[CONF_PORT], hw_callback) hass.data[HOMEWORKS_CONTROLLER] = controller def cleanup(event): controller.close() hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, cleanup) dimmers = config[CONF_DIMMERS] load_platform(hass, 'light', DOMAIN, {CONF_DIMMERS: dimmers}, base_config) for key_config in config[CONF_KEYPADS]: addr = key_config[CONF_ADDR] name = key_config[CONF_NAME] HomeworksKeypadEvent(hass, addr, name) return True
def setup(opp, base_config): """Start Homeworks controller.""" def hw_callback(msg_type, values): """Dispatch state changes.""" _LOGGER.debug("callback: %s, %s", msg_type, values) addr = values[0] signal = f"homeworks_entity_{addr}" dispatcher_send(opp, signal, msg_type, values) config = base_config.get(DOMAIN) controller = Homeworks(config[CONF_HOST], config[CONF_PORT], hw_callback) opp.data[HOMEWORKS_CONTROLLER] = controller def cleanup(event): controller.close() opp.bus.listen_once(EVENT_OPENPEERPOWER_STOP, cleanup) dimmers = config[CONF_DIMMERS] load_platform(opp, "light", DOMAIN, {CONF_DIMMERS: dimmers}, base_config) for key_config in config[CONF_KEYPADS]: addr = key_config[CONF_ADDR] name = key_config[CONF_NAME] HomeworksKeypadEvent(opp, addr, name) return True
def __init__(self, host, port): """Host and port of Lutron Homeworks controller.""" Homeworks.__init__(self, host, port, self.callback) self._subscribers = {}