Home Assistant Unofficial Reference 2024.12.1
sensor.py
Go to the documentation of this file.
1 """UptimeRobot sensor platform."""
2 
3 from __future__ import annotations
4 
6  SensorDeviceClass,
7  SensorEntity,
8  SensorEntityDescription,
9 )
10 from homeassistant.config_entries import ConfigEntry
11 from homeassistant.const import EntityCategory
12 from homeassistant.core import HomeAssistant
13 from homeassistant.helpers.entity_platform import AddEntitiesCallback
14 
15 from .const import DOMAIN
16 from .coordinator import UptimeRobotDataUpdateCoordinator
17 from .entity import UptimeRobotEntity
18 
19 SENSORS_INFO = {
20  0: "pause",
21  1: "not_checked_yet",
22  2: "up",
23  8: "seems_down",
24  9: "down",
25 }
26 
27 
29  hass: HomeAssistant,
30  entry: ConfigEntry,
31  async_add_entities: AddEntitiesCallback,
32 ) -> None:
33  """Set up the UptimeRobot sensors."""
34  coordinator: UptimeRobotDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
37  coordinator,
39  key=str(monitor.id),
40  entity_category=EntityCategory.DIAGNOSTIC,
41  device_class=SensorDeviceClass.ENUM,
42  options=["down", "not_checked_yet", "pause", "seems_down", "up"],
43  translation_key="monitor_status",
44  ),
45  monitor=monitor,
46  )
47  for monitor in coordinator.data
48  )
49 
50 
52  """Representation of a UptimeRobot sensor."""
53 
54  @property
55  def native_value(self) -> str:
56  """Return the status of the monitor."""
57  return SENSORS_INFO[self.monitormonitor.status]
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)
Definition: sensor.py:32