1 """Support for AVM FRITZ!SmartHome switch devices."""
3 from __future__
import annotations
12 from .const
import DOMAIN
13 from .coordinator
import FritzboxConfigEntry
14 from .entity
import FritzBoxDeviceEntity
19 entry: FritzboxConfigEntry,
20 async_add_entities: AddEntitiesCallback,
22 """Set up the FRITZ!SmartHome switch from ConfigEntry."""
23 coordinator = entry.runtime_data
26 def _add_entities(devices: set[str] |
None =
None) ->
None:
29 devices = coordinator.new_devices
35 if coordinator.data.devices[ain].has_switch
38 entry.async_on_unload(coordinator.async_add_listener(_add_entities))
40 _add_entities(set(coordinator.data.devices))
44 """The switch class for FRITZ!SmartHome switches."""
48 """Return true if the switch is on."""
52 """Turn the switch on."""
58 """Turn the switch off."""
64 """Raise an Error if manual switching via FRITZ!Box user interface is disabled."""
67 translation_domain=DOMAIN,
68 translation_key=
"manual_switching_disabled",
FritzhomeDevice data(self)
FritzhomeEntityBase data(self)
None check_lock_state(self)
None async_turn_off(self, **Any kwargs)
None async_turn_on(self, **Any kwargs)
None async_setup_entry(HomeAssistant hass, FritzboxConfigEntry entry, AddEntitiesCallback async_add_entities)