1 """Support for tracking the zodiac sign."""
3 from __future__
import annotations
44 ATTR_ELEMENT: ELEMENT_FIRE,
45 ATTR_MODALITY: MODALITY_CARDINAL,
53 ATTR_ELEMENT: ELEMENT_EARTH,
54 ATTR_MODALITY: MODALITY_FIXED,
62 ATTR_ELEMENT: ELEMENT_AIR,
63 ATTR_MODALITY: MODALITY_MUTABLE,
71 ATTR_ELEMENT: ELEMENT_WATER,
72 ATTR_MODALITY: MODALITY_CARDINAL,
80 ATTR_ELEMENT: ELEMENT_FIRE,
81 ATTR_MODALITY: MODALITY_FIXED,
89 ATTR_ELEMENT: ELEMENT_EARTH,
90 ATTR_MODALITY: MODALITY_MUTABLE,
98 ATTR_ELEMENT: ELEMENT_AIR,
99 ATTR_MODALITY: MODALITY_CARDINAL,
107 ATTR_ELEMENT: ELEMENT_WATER,
108 ATTR_MODALITY: MODALITY_FIXED,
116 ATTR_ELEMENT: ELEMENT_FIRE,
117 ATTR_MODALITY: MODALITY_MUTABLE,
125 ATTR_ELEMENT: ELEMENT_EARTH,
126 ATTR_MODALITY: MODALITY_CARDINAL,
134 ATTR_ELEMENT: ELEMENT_AIR,
135 ATTR_MODALITY: MODALITY_FIXED,
143 ATTR_ELEMENT: ELEMENT_WATER,
144 ATTR_MODALITY: MODALITY_MUTABLE,
153 async_add_entities: AddEntitiesCallback,
155 """Initialize the entries."""
161 """Representation of a Zodiac sensor."""
164 _attr_has_entity_name =
True
165 _attr_device_class = SensorDeviceClass.ENUM
180 _attr_translation_key =
"sign"
181 _attr_unique_id = DOMAIN
184 """Initialize Zodiac sensor."""
187 identifiers={(DOMAIN, entry_id)},
188 entry_type=DeviceEntryType.SERVICE,
192 """Get the time and updates the state."""
195 for sign
in ZODIAC_BY_DATE:
196 if (today.month == sign[0][1]
and today.day >= sign[0][0])
or (
197 today.month == sign[1][1]
and today.day <= sign[1][0]
None __init__(self, str entry_id)
_attr_extra_state_attributes
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)
dt.datetime as_local(dt.datetime dattim)