1 """Support for Freedompro sensor."""
17 from .const
import DOMAIN
18 from .coordinator
import FreedomproDataUpdateCoordinator
21 "temperatureSensor": SensorDeviceClass.TEMPERATURE,
22 "humiditySensor": SensorDeviceClass.HUMIDITY,
23 "lightSensor": SensorDeviceClass.ILLUMINANCE,
26 "temperatureSensor": SensorStateClass.MEASUREMENT,
27 "humiditySensor": SensorStateClass.MEASUREMENT,
31 "temperatureSensor": UnitOfTemperature.CELSIUS,
32 "humiditySensor": PERCENTAGE,
33 "lightSensor": LIGHT_LUX,
36 "temperatureSensor":
"currentTemperature",
37 "humiditySensor":
"currentRelativeHumidity",
38 "lightSensor":
"currentAmbientLightLevel",
40 SUPPORTED_SENSORS = {
"temperatureSensor",
"humiditySensor",
"lightSensor"}
44 hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
46 """Set up Freedompro sensor."""
47 coordinator: FreedomproDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
49 Device(device, coordinator)
50 for device
in coordinator.data
51 if device[
"type"]
in SUPPORTED_SENSORS
56 """Representation of a Freedompro sensor."""
58 _attr_has_entity_name =
True
62 self, device: dict[str, Any], coordinator: FreedomproDataUpdateCoordinator
64 """Initialize the Freedompro sensor."""
67 self.
_type_type = device[
"type"]
70 (DOMAIN, device[
"uid"]),
72 manufacturer=
"Freedompro",
83 """Handle updated data from the coordinator."""
87 for device
in self.coordinator.data
88 if device[
"uid"] == self.
unique_idunique_id
92 if device
is not None and "state" in device:
93 state = device[
"state"]
98 """When entity is added to hass."""
None _handle_coordinator_update(self)
None async_added_to_hass(self)
None __init__(self, dict[str, Any] device, FreedomproDataUpdateCoordinator coordinator)
_attr_native_unit_of_measurement
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)