1 """Creates LOQED sensors."""
3 from typing
import Final
8 SensorEntityDescription,
14 SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
20 from .const
import DOMAIN
21 from .coordinator
import LoqedDataCoordinator, StatusMessage
22 from .entity
import LoqedEntity
24 SENSORS: Final[tuple[SensorEntityDescription, ...]] = (
27 translation_key=
"ble_strength",
28 device_class=SensorDeviceClass.SIGNAL_STRENGTH,
29 native_unit_of_measurement=SIGNAL_STRENGTH_DECIBELS_MILLIWATT,
30 state_class=SensorStateClass.MEASUREMENT,
31 entity_category=EntityCategory.DIAGNOSTIC,
32 entity_registry_enabled_default=
False,
35 key=
"battery_percentage",
36 device_class=SensorDeviceClass.BATTERY,
37 state_class=SensorStateClass.MEASUREMENT,
38 entity_category=EntityCategory.DIAGNOSTIC,
39 native_unit_of_measurement=PERCENTAGE,
45 hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
47 """Set up the Loqed lock platform."""
48 coordinator = hass.data[DOMAIN][entry.entry_id]
54 """Representation of Sensor state."""
57 self, coordinator: LoqedDataCoordinator, description: SensorEntityDescription
59 """Initialize the sensor."""
62 self.
_attr_unique_id_attr_unique_id = f
"{self.coordinator.lock.id}_{description.key}"
65 def data(self) -> StatusMessage:
66 """Return data object from DataUpdateCoordinator."""
67 return self.coordinator.lock
71 """Return state of sensor."""
None __init__(self, LoqedDataCoordinator coordinator, SensorEntityDescription description)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)