async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: """Set up Smappee from a zeroconf or config entry.""" if CONF_IP_ADDRESS in entry.data: if helper.is_smappee_genius(entry.data[CONF_SERIALNUMBER]): # next generation: local mqtt broker smappee_mqtt = mqtt.SmappeeLocalMqtt( serial_number=entry.data[CONF_SERIALNUMBER]) await hass.async_add_executor_job( smappee_mqtt.start_and_wait_for_config) smappee = Smappee(api=smappee_mqtt, serialnumber=entry.data[CONF_SERIALNUMBER]) else: # legacy devices through local api smappee_api = api.api.SmappeeLocalApi( ip=entry.data[CONF_IP_ADDRESS]) smappee = Smappee(api=smappee_api, serialnumber=entry.data[CONF_SERIALNUMBER]) await hass.async_add_executor_job(smappee.load_local_service_location) else: implementation = ( await config_entry_oauth2_flow.async_get_config_entry_implementation( hass, entry)) smappee_api = api.ConfigEntrySmappeeApi(hass, entry, implementation) smappee = Smappee(api=smappee_api) await hass.async_add_executor_job(smappee.load_service_locations) hass.data[DOMAIN][entry.entry_id] = SmappeeBase(hass, smappee) hass.config_entries.async_setup_platforms(entry, PLATFORMS) return True
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry): """Set up Smappee from a zeroconf or config entry.""" if CONF_IP_ADDRESS in entry.data: smappee_api = api.api.SmappeeLocalApi(ip=entry.data[CONF_IP_ADDRESS]) smappee = Smappee(api=smappee_api, serialnumber=entry.data[CONF_SERIALNUMBER]) await hass.async_add_executor_job(smappee.load_local_service_location) else: implementation = ( await config_entry_oauth2_flow.async_get_config_entry_implementation( hass, entry ) ) smappee_api = api.ConfigEntrySmappeeApi(hass, entry, implementation) smappee = Smappee(api=smappee_api) await hass.async_add_executor_job(smappee.load_service_locations) hass.data[DOMAIN][entry.entry_id] = SmappeeBase(hass, smappee) for platform in PLATFORMS: hass.async_create_task( hass.config_entries.async_forward_entry_setup(entry, platform) ) return True
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry): """Set up Smappee from a config entry.""" implementation = await config_entry_oauth2_flow.async_get_config_entry_implementation( hass, entry) smappee_api = api.ConfigEntrySmappeeApi(hass, entry, implementation) smappee = Smappee(smappee_api) await hass.async_add_executor_job(smappee.load_service_locations) hass.data[DOMAIN][BASE] = SmappeeBase(hass, smappee) for component in SMAPPEE_PLATFORMS: hass.async_create_task( hass.config_entries.async_forward_entry_setup(entry, component)) return True