1 """The Airtouch 5 integration."""
3 from __future__
import annotations
5 from airtouch5py.airtouch5_simple_client
import Airtouch5SimpleClient
12 PLATFORMS: list[Platform] = [Platform.CLIMATE, Platform.COVER]
14 type Airtouch5ConfigEntry = ConfigEntry[Airtouch5SimpleClient]
18 """Set up Airtouch 5 from a config entry."""
21 host = entry.data[CONF_HOST]
22 client = Airtouch5SimpleClient(host)
26 await client.connect_and_stay_connected()
27 except TimeoutError
as t:
28 raise ConfigEntryNotReady
from t
31 entry.runtime_data = client
33 await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
39 """Unload a config entry."""
40 if unload_ok := await hass.config_entries.async_unload_platforms(entry, PLATFORMS):
41 client = entry.runtime_data
42 await client.disconnect()
43 client.ac_status_callbacks.clear()
44 client.connection_state_callbacks.clear()
45 client.data_packet_callbacks.clear()
46 client.zone_status_callbacks.clear()
bool async_unload_entry(HomeAssistant hass, Airtouch5ConfigEntry entry)
bool async_setup_entry(HomeAssistant hass, Airtouch5ConfigEntry entry)