Home Assistant Unofficial Reference 2024.12.1
sensor.py
Go to the documentation of this file.
1 """Support for SimpliSafe freeze sensor."""
2 
3 from __future__ import annotations
4 
5 from simplipy.device import DeviceTypes
6 from simplipy.device.sensor.v3 import SensorV3
7 from simplipy.system.v3 import SystemV3
8 
10  SensorDeviceClass,
11  SensorEntity,
12  SensorStateClass,
13 )
14 from homeassistant.config_entries import ConfigEntry
15 from homeassistant.const import UnitOfTemperature
16 from homeassistant.core import HomeAssistant, callback
17 from homeassistant.helpers.entity_platform import AddEntitiesCallback
18 
19 from . import SimpliSafe
20 from .const import DOMAIN, LOGGER
21 from .entity import SimpliSafeEntity
22 
23 
25  hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
26 ) -> None:
27  """Set up SimpliSafe freeze sensors based on a config entry."""
28  simplisafe = hass.data[DOMAIN][entry.entry_id]
29  sensors: list[SimplisafeFreezeSensor] = []
30 
31  for system in simplisafe.systems.values():
32  if system.version == 2:
33  LOGGER.warning("Skipping sensor setup for V2 system: %s", system.system_id)
34  continue
35 
36  sensors.extend(
37  SimplisafeFreezeSensor(simplisafe, system, sensor)
38  for sensor in system.sensors.values()
39  if sensor.type == DeviceTypes.TEMPERATURE
40  )
41 
42  async_add_entities(sensors)
43 
44 
46  """Define a SimpliSafe freeze sensor entity."""
47 
48  _attr_device_class = SensorDeviceClass.TEMPERATURE
49  _attr_native_unit_of_measurement = UnitOfTemperature.FAHRENHEIT
50  _attr_state_class = SensorStateClass.MEASUREMENT
51 
52  def __init__(
53  self, simplisafe: SimpliSafe, system: SystemV3, sensor: SensorV3
54  ) -> None:
55  """Initialize."""
56  super().__init__(simplisafe, system, device=sensor)
57 
58  self._device_device: SensorV3
59 
60  @callback
61  def async_update_from_rest_api(self) -> None:
62  """Update the entity with the provided REST API data."""
63  self._attr_native_value_attr_native_value = self._device_device.temperature
None __init__(self, SimpliSafe simplisafe, SystemV3 system, SensorV3 sensor)
Definition: sensor.py:54
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)
Definition: sensor.py:26