Home Assistant Unofficial Reference 2024.12.1
time.py
Go to the documentation of this file.
1 """Demo platform that offers a fake time entity."""
2 
3 from __future__ import annotations
4 
5 from datetime import time
6 
7 from homeassistant.components.time import TimeEntity
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 time platform."""
22  async_add_entities([DemoTime("time", "Time", time(12, 0, 0), False)])
23 
24 
26  """Representation of a Demo time entity."""
27 
28  _attr_has_entity_name = True
29  _attr_name = None
30  _attr_should_poll = False
31 
32  def __init__(
33  self,
34  unique_id: str,
35  device_name: str,
36  state: time,
37  assumed_state: bool,
38  ) -> None:
39  """Initialize the Demo time entity."""
40  self._attr_assumed_state_attr_assumed_state = assumed_state
41  self._attr_native_value_attr_native_value = state
42  self._attr_unique_id_attr_unique_id = unique_id
43 
44  self._attr_device_info_attr_device_info = DeviceInfo(
45  identifiers={(DOMAIN, unique_id)}, name=device_name
46  )
47 
48  async def async_set_value(self, value: time) -> None:
49  """Update the time."""
50  self._attr_native_value_attr_native_value = value
51  self.async_write_ha_stateasync_write_ha_state()
None __init__(self, str unique_id, str device_name, time state, bool assumed_state)
Definition: time.py:38
None async_set_value(self, time value)
Definition: time.py:48
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
Definition: time.py:20
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