Home Assistant Unofficial Reference 2024.12.1
date.py
Go to the documentation of this file.
1 """Demo platform that offers a fake Date entity."""
2 
3 from __future__ import annotations
4 
5 from datetime import date
6 
7 from homeassistant.components.date import DateEntity
8 from homeassistant.config_entries import ConfigEntry
9 from homeassistant.core import HomeAssistant
10 from homeassistant.helpers.device_registry import DeviceInfo
11 from homeassistant.helpers.entity_platform import AddEntitiesCallback
12 
13 from . import DOMAIN
14 
15 
17  hass: HomeAssistant,
18  config_entry: ConfigEntry,
19  async_add_entities: AddEntitiesCallback,
20 ) -> None:
21  """Set up the demo date platform."""
23  [
24  DemoDate(
25  "date",
26  "Date",
27  date(2020, 1, 1),
28  "mdi:calendar",
29  False,
30  ),
31  ]
32  )
33 
34 
36  """Representation of a Demo date entity."""
37 
38  _attr_has_entity_name = True
39  _attr_name = None
40  _attr_should_poll = False
41 
42  def __init__(
43  self,
44  unique_id: str,
45  device_name: str,
46  state: date,
47  icon: str,
48  assumed_state: bool,
49  ) -> None:
50  """Initialize the Demo date entity."""
51  self._attr_assumed_state_attr_assumed_state = assumed_state
52  self._attr_icon_attr_icon = icon
53  self._attr_native_value_attr_native_value = state
54  self._attr_unique_id_attr_unique_id = unique_id
55 
56  self._attr_device_info_attr_device_info = DeviceInfo(
57  identifiers={(DOMAIN, unique_id)}, name=device_name
58  )
59 
60  async def async_set_value(self, value: date) -> None:
61  """Update the date."""
62  self._attr_native_value_attr_native_value = value
63  self.async_write_ha_stateasync_write_ha_state()
None async_set_value(self, date value)
Definition: date.py:60
None __init__(self, str unique_id, str device_name, date state, str icon, bool assumed_state)
Definition: date.py:49
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
Definition: date.py:20