1 """Sensors for LIFX lights."""
3 from __future__
import annotations
5 from datetime
import timedelta
10 SensorEntityDescription,
18 from .const
import ATTR_RSSI, DOMAIN
19 from .coordinator
import LIFXUpdateCoordinator
20 from .entity
import LIFXEntity
26 translation_key=
"rssi",
27 device_class=SensorDeviceClass.SIGNAL_STRENGTH,
28 entity_category=EntityCategory.DIAGNOSTIC,
29 state_class=SensorStateClass.MEASUREMENT,
30 entity_registry_enabled_default=
False,
35 hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
37 """Set up LIFX sensor from config entry."""
38 coordinator: LIFXUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
43 """LIFX RSSI sensor."""
47 coordinator: LIFXUpdateCoordinator,
48 description: SensorEntityDescription,
50 """Initialise the RSSI sensor."""
54 self.
_attr_unique_id_attr_unique_id = f
"{coordinator.serial_number}_{description.key}"
59 """Handle updated data from the coordinator."""
65 """Handle coordinator updates."""
69 """Enable RSSI updates."""
Callable[[], None] async_enable_rssi_updates(self)
None async_on_remove(self, CALLBACK_TYPE func)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)