Home Assistant Unofficial Reference 2024.12.1
time.py
Go to the documentation of this file.
1 """Support for esphome times."""
2 
3 from __future__ import annotations
4 
5 from datetime import time
6 from functools import partial
7 
8 from aioesphomeapi import TimeInfo, TimeState
9 
10 from homeassistant.components.time import TimeEntity
11 
12 from .entity import EsphomeEntity, esphome_state_property, platform_async_setup_entry
13 
14 
15 class EsphomeTime(EsphomeEntity[TimeInfo, TimeState], TimeEntity):
16  """A time implementation for esphome."""
17 
18  @property
19  @esphome_state_property
20  def native_value(self) -> time | None:
21  """Return the state of the entity."""
22  state = self._state_state
23  if state.missing_state:
24  return None
25  return time(state.hour, state.minute, state.second)
26 
27  async def async_set_value(self, value: time) -> None:
28  """Update the current time."""
29  self._client_client.time_command(self._key_key, value.hour, value.minute, value.second)
30 
31 
32 async_setup_entry = partial(
33  platform_async_setup_entry,
34  info_type=TimeInfo,
35  entity_type=EsphomeTime,
36  state_type=TimeState,
37 )
None async_set_value(self, time value)
Definition: time.py:27
bool time(HomeAssistant hass, dt_time|str|None before=None, dt_time|str|None after=None, str|Container[str]|None weekday=None)
Definition: condition.py:802