1 """Support for Verisure Smartplugs."""
3 from __future__
import annotations
5 from time
import monotonic
15 from .const
import CONF_GIID, DOMAIN
16 from .coordinator
import VerisureDataUpdateCoordinator
22 async_add_entities: AddEntitiesCallback,
24 """Set up Verisure alarm control panel from a config entry."""
25 coordinator: VerisureDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
28 for serial_number
in coordinator.data[
"smart_plugs"]
33 """Representation of a Verisure smartplug."""
35 _attr_has_entity_name =
True
39 self, coordinator: VerisureDataUpdateCoordinator, serial_number: str
41 """Initialize the Verisure device."""
51 """Return device information about this entity."""
52 area = self.coordinator.data[
"smart_plugs"][self.
serial_numberserial_number][
"device"][
57 manufacturer=
"Verisure",
60 via_device=(DOMAIN, self.coordinator.entry.data[CONF_GIID]),
61 configuration_url=
"https://mypages.verisure.com",
66 """Return true if on."""
70 self.coordinator.data[
"smart_plugs"][self.
serial_numberserial_number][
"currentState"]
77 """Return True if entity is available."""
80 and self.
serial_numberserial_number
in self.coordinator.data[
"smart_plugs"]
84 """Turn the smartplug on."""
88 """Turn the smartplug off."""
92 """Set smartplug state."""
93 command: dict[str, str | dict[str, str]] = (
94 self.coordinator.verisure.set_smartplug(self.
serial_numberserial_number, state)
96 await self.
hasshasshass.async_add_executor_job(
97 self.coordinator.verisure.request,
None async_turn_on(self, **Any kwargs)
DeviceInfo device_info(self)
None async_set_plug_state(self, bool state)
None __init__(self, VerisureDataUpdateCoordinator coordinator, str serial_number)
None async_turn_off(self, **Any kwargs)
None async_request_refresh(self)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)