1 """Support for Freedompro switch."""
6 from pyfreedompro
import put_state
17 from .const
import DOMAIN
18 from .coordinator
import FreedomproDataUpdateCoordinator
22 hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
24 """Set up Freedompro switch."""
25 api_key: str = entry.data[CONF_API_KEY]
26 coordinator: FreedomproDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
28 Device(hass, api_key, device, coordinator)
29 for device
in coordinator.data
30 if device[
"type"]
in (
"switch",
"outlet")
35 """Representation of a Freedompro switch."""
37 _attr_has_entity_name =
True
44 device: dict[str, Any],
45 coordinator: FreedomproDataUpdateCoordinator,
47 """Initialize the Freedompro switch."""
49 self.
_session_session = aiohttp_client.async_get_clientsession(hass)
54 (DOMAIN, device[
"uid"]),
56 manufacturer=
"Freedompro",
64 """Handle updated data from the coordinator."""
68 for device
in self.coordinator.data
69 if device[
"uid"] == self.
unique_idunique_id
73 if device
is not None and "state" in device:
74 state = device[
"state"]
80 """When entity is added to hass."""
85 """Async function to set on to switch."""
86 payload = {
"on":
True}
96 """Async function to set off to switch."""
97 payload = {
"on":
False}
None async_turn_off(self, **Any kwargs)
None async_added_to_hass(self)
None async_turn_on(self, **Any kwargs)
None _handle_coordinator_update(self)
None __init__(self, HomeAssistant hass, str api_key, dict[str, Any] device, FreedomproDataUpdateCoordinator coordinator)
None async_request_refresh(self)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)