Home Assistant Unofficial Reference 2024.12.1
date.py
Go to the documentation of this file.
1 """Support for esphome dates."""
2 
3 from __future__ import annotations
4 
5 from datetime import date
6 from functools import partial
7 
8 from aioesphomeapi import DateInfo, DateState
9 
10 from homeassistant.components.date import DateEntity
11 
12 from .entity import EsphomeEntity, esphome_state_property, platform_async_setup_entry
13 
14 
15 class EsphomeDate(EsphomeEntity[DateInfo, DateState], DateEntity):
16  """A date implementation for esphome."""
17 
18  @property
19  @esphome_state_property
20  def native_value(self) -> date | None:
21  """Return the state of the entity."""
22  state = self._state_state
23  if state.missing_state:
24  return None
25  return date(state.year, state.month, state.day)
26 
27  async def async_set_value(self, value: date) -> None:
28  """Update the current date."""
29  self._client_client.date_command(self._key_key, value.year, value.month, value.day)
30 
31 
32 async_setup_entry = partial(
33  platform_async_setup_entry,
34  info_type=DateInfo,
35  entity_type=EsphomeDate,
36  state_type=DateState,
37 )
None async_set_value(self, date value)
Definition: date.py:27