1 """Integration to integrate Keymitt BLE devices with Home Assistant."""
3 from __future__
import annotations
7 from microbot
import MicroBotApiClient
15 from .const
import DOMAIN
16 from .coordinator
import MicroBotDataUpdateCoordinator
18 _LOGGER: logging.Logger = logging.getLogger(__package__)
19 PLATFORMS: list[str] = [Platform.SWITCH]
23 """Set up this integration using UI."""
24 hass.data.setdefault(DOMAIN, {})
25 token: str = entry.data[CONF_ACCESS_TOKEN]
26 bdaddr: str = entry.data[CONF_ADDRESS]
27 ble_device = bluetooth.async_ble_device_from_address(hass, bdaddr)
30 client = MicroBotApiClient(
35 hass, client=client, ble_device=ble_device
38 hass.data[DOMAIN][entry.entry_id] = coordinator
40 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
41 entry.async_on_unload(coordinator.async_start())
47 """Handle removal of an entry."""
48 if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
49 hass.data[DOMAIN].pop(entry.entry_id)
bool async_setup_entry(HomeAssistant hass, ConfigEntry entry)
bool async_unload_entry(HomeAssistant hass, ConfigEntry entry)