1 """Support for switches."""
3 from __future__
import annotations
7 from aiocomelit
import ComelitSerialBridgeObject
8 from aiocomelit.const
import IRRIGATION, OTHER, STATE_OFF, STATE_ON
16 from .const
import DOMAIN
17 from .coordinator
import ComelitSerialBridge
22 config_entry: ConfigEntry,
23 async_add_entities: AddEntitiesCallback,
25 """Set up Comelit switches."""
27 coordinator: ComelitSerialBridge = hass.data[DOMAIN][config_entry.entry_id]
29 entities: list[ComelitSwitchEntity] = []
32 for device
in coordinator.data[IRRIGATION].values()
36 for device
in coordinator.data[OTHER].values()
44 _attr_has_entity_name =
True
49 coordinator: ComelitSerialBridge,
50 device: ComelitSerialBridgeObject,
51 config_entry_entry_id: str,
53 """Init switch entity."""
54 self.
_api_api = coordinator.api
59 self.
_attr_unique_id_attr_unique_id = f
"{config_entry_entry_id}-{device.type}-{device.index}"
60 self.
_attr_device_info_attr_device_info = coordinator.platform_device_info(device, device.type)
61 if device.type == OTHER:
65 """Set desired switch state."""
66 await self.coordinator.api.set_device_status(
72 """Turn the switch on."""
76 """Turn the switch off."""
81 """Return True if switch is on."""
None async_turn_off(self, **Any kwargs)
None __init__(self, ComelitSerialBridge coordinator, ComelitSerialBridgeObject device, str config_entry_entry_id)
None _switch_set_state(self, int state)
None async_turn_on(self, **Any kwargs)
None async_request_refresh(self)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)