Home Assistant Unofficial Reference 2024.12.1
entity.py
Go to the documentation of this file.
1 """Entity representing a Jewish Calendar sensor."""
2 
3 from dataclasses import dataclass
4 
5 from hdate import Location
6 
7 from homeassistant.config_entries import ConfigEntry
8 from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
9 from homeassistant.helpers.entity import Entity, EntityDescription
10 
11 from .const import DOMAIN
12 
13 type JewishCalendarConfigEntry = ConfigEntry[JewishCalendarData]
14 
15 
16 @dataclass
18  """Jewish Calendar runtime dataclass."""
19 
20  language: str
21  diaspora: bool
22  location: Location
23  candle_lighting_offset: int
24  havdalah_offset: int
25 
26 
28  """An HA implementation for Jewish Calendar entity."""
29 
30  _attr_has_entity_name = True
31 
32  def __init__(
33  self,
34  config_entry: JewishCalendarConfigEntry,
35  description: EntityDescription,
36  ) -> None:
37  """Initialize a Jewish Calendar entity."""
38  self.entity_descriptionentity_description = description
39  self._attr_unique_id_attr_unique_id = f"{config_entry.entry_id}-{description.key}"
40  self._attr_device_info_attr_device_info = DeviceInfo(
41  entry_type=DeviceEntryType.SERVICE,
42  identifiers={(DOMAIN, config_entry.entry_id)},
43  )
44  data = config_entry.runtime_data
45  self._location_location = data.location
46  self._hebrew_hebrew = data.language == "hebrew"
47  self._language_language = data.language
48  self._candle_lighting_offset_candle_lighting_offset = data.candle_lighting_offset
49  self._havdalah_offset_havdalah_offset = data.havdalah_offset
50  self._diaspora_diaspora = data.diaspora
None __init__(self, JewishCalendarConfigEntry config_entry, EntityDescription description)
Definition: entity.py:36