1 """Support for switches through the SmartThings cloud API."""
3 from __future__
import annotations
5 from collections.abc
import Sequence
8 from pysmartthings
import Capability
15 from .const
import DATA_BROKERS, DOMAIN
16 from .entity
import SmartThingsEntity
21 config_entry: ConfigEntry,
22 async_add_entities: AddEntitiesCallback,
24 """Add switches for a config entry."""
25 broker = hass.data[DOMAIN][DATA_BROKERS][config_entry.entry_id]
28 for device
in broker.devices.values()
29 if broker.any_assigned(device.device_id,
"switch")
34 """Return all capabilities supported if minimum required are present."""
36 if Capability.switch
in capabilities:
37 return [Capability.switch, Capability.energy_meter, Capability.power_meter]
42 """Define a SmartThings switch."""
45 """Turn the switch off."""
46 await self.
_device_device.switch_off(set_status=
True)
52 """Turn the switch on."""
53 await self.
_device_device.switch_on(set_status=
True)
59 def is_on(self) -> bool:
60 """Return true if light is on."""
61 return self.
_device_device.status.switch
None async_turn_off(self, **Any kwargs)
None async_write_ha_state(self)
None async_turn_on(self, **Any kwargs)
Sequence[str]|None get_capabilities(Sequence[str] capabilities)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)