def setup(hass: HomeAssistant, config: ConfigType) -> bool: """Set up the ComfoConnect bridge.""" conf = config[DOMAIN] host = conf[CONF_HOST] name = conf[CONF_NAME] token = conf[CONF_TOKEN] user_agent = conf[CONF_USER_AGENT] pin = conf[CONF_PIN] # Run discovery on the configured ip bridges = Bridge.discover(host) if not bridges: _LOGGER.error("Could not connect to ComfoConnect bridge on %s", host) return False bridge = bridges[0] _LOGGER.info("Bridge found: %s (%s)", bridge.uuid.hex(), bridge.host) # Setup ComfoConnect Bridge ccb = ComfoConnectBridge(hass, bridge, name, token, user_agent, pin) hass.data[DOMAIN] = ccb # Start connection with bridge ccb.connect() # Schedule disconnect on shutdown def _shutdown(_event): ccb.disconnect() hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, _shutdown) # Load platforms discovery.load_platform(hass, Platform.FAN, DOMAIN, {}, config) return True
def bridge_discovery(ip): ## Bridge discovery ################################################################################################ # Method 1: Use discovery to initialise Bridge # bridges = Bridge.discover(timeout=1) # if bridges: # bridge = bridges[0] # else: # bridge = None # Method 2: Use direct discovery to initialise Bridge bridges = Bridge.discover(ip) if bridges: bridge = bridges[0] else: bridge = None # Method 3: Setup bridge manually # bridge = Bridge(args.ip, bytes.fromhex('0000000000251010800170b3d54264b4')) if bridge is None: print("No bridges found!") exit(1) print("Bridge found: %s (%s)" % (bridge.uuid.hex(), bridge.host)) bridge.debug = True return bridge
def setup(hass, config): """Set up the ComfoConnect bridge.""" from pycomfoconnect import (Bridge) conf = config[DOMAIN] host = conf.get(CONF_HOST) name = conf.get(CONF_NAME) token = conf.get(CONF_TOKEN) user_agent = conf.get(CONF_USER_AGENT) pin = conf.get(CONF_PIN) # Run discovery on the configured ip bridges = Bridge.discover(host) if not bridges: _LOGGER.error("Could not connect to ComfoConnect bridge on %s", host) return False bridge = bridges[0] _LOGGER.info("Bridge found: %s (%s)", bridge.uuid.hex(), bridge.host) # Setup ComfoConnect Bridge ccb = ComfoConnectBridge(hass, bridge, name, token, user_agent, pin) hass.data[DOMAIN] = ccb # Start connection with bridge ccb.connect() # Schedule disconnect on shutdown def _shutdown(_event): ccb.disconnect() hass.bus.listen_once(EVENT_HOMEASSISTANT_STOP, _shutdown) # Load platforms discovery.load_platform(hass, 'fan', DOMAIN, {}, config) return True