コード例 #1
0
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
コード例 #2
0
ファイル: __init__.py プロジェクト: yottatsa/home-assistant
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
コード例 #3
0
ファイル: __init__.py プロジェクト: OpenPeerPower/core
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
コード例 #4
0
 def __init__(self, host, port):
     """Host and port of Lutron Homeworks controller."""
     Homeworks.__init__(self, host, port, self.callback)
     self._subscribers = {}