1 """The switch entities for musiccast."""
5 from aiomusiccast.capabilities
import BinarySetter
12 from .const
import DOMAIN
13 from .coordinator
import MusicCastDataUpdateCoordinator
14 from .entity
import MusicCastCapabilityEntity
20 async_add_entities: AddEntitiesCallback,
22 """Set up MusicCast sensor based on a config entry."""
23 coordinator: MusicCastDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
27 for capability
in coordinator.data.capabilities
28 if isinstance(capability, BinarySetter)
31 switch_entities.extend(
33 for zone, data
in coordinator.data.zones.items()
34 for capability
in data.capabilities
35 if isinstance(capability, BinarySetter)
42 """Representation of a MusicCast switch entity."""
44 capability: BinarySetter
48 """Return the current status."""
52 """Turn on the capability."""
56 """Turn off the capability."""
None async_turn_on(self, **Any kwargs)
None async_turn_off(self, **Any kwargs)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)