1 """Support for Sesame, by CANDY HOUSE."""
3 from __future__
import annotations
8 import voluptuous
as vol
11 PLATFORM_SCHEMA
as LOCK_PLATFORM_SCHEMA,
20 ATTR_SERIAL_NO =
"serial"
22 PLATFORM_SCHEMA = LOCK_PLATFORM_SCHEMA.extend({vol.Required(CONF_API_KEY): cv.string})
28 add_entities: AddEntitiesCallback,
29 discovery_info: DiscoveryInfoType |
None =
None,
31 """Set up the Sesame platform."""
32 api_key = config.get(CONF_API_KEY)
35 [
SesameDevice(sesame)
for sesame
in pysesame2.get_sesames(api_key)],
36 update_before_add=
True,
41 """Representation of a Sesame device."""
43 def __init__(self, sesame: pysesame2.Sesame) ->
None:
44 """Initialize the Sesame device."""
45 self._sesame: pysesame2.Sesame = sesame
50 self.
_nickname_nickname: str |
None =
None
56 def name(self) -> str | None:
57 """Return the name of the device."""
62 """Return True if entity is available."""
67 """Return True if the device is currently locked, else False."""
70 def lock(self, **kwargs: Any) ->
None:
71 """Lock the device."""
74 def unlock(self, **kwargs: Any) ->
None:
75 """Unlock the device."""
79 """Update the internal state of the device."""
83 self.
_serial_serial = self._sesame.serial
84 self.
_battery_battery = status[
"battery"]
90 """Return the state attributes."""
93 ATTR_SERIAL_NO: self.
_serial_serial,
94 ATTR_BATTERY_LEVEL: self.
_battery_battery,
None lock(self, **Any kwargs)
dict[str, Any] extra_state_attributes(self)
None __init__(self, pysesame2.Sesame sesame)
None unlock(self, **Any kwargs)
None add_entities(AsusWrtRouter router, AddEntitiesCallback async_add_entities, set[str] tracked)
def get_status(hass, host, port)
None setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback add_entities, DiscoveryInfoType|None discovery_info=None)