Home Assistant Unofficial Reference 2024.12.1
binary_sensor.py
Go to the documentation of this file.
1 """Roomba binary sensor entities."""
2 
3 from homeassistant.components.binary_sensor import BinarySensorEntity
4 from homeassistant.config_entries import ConfigEntry
5 from homeassistant.core import HomeAssistant
6 from homeassistant.helpers.entity_platform import AddEntitiesCallback
7 
8 from . import roomba_reported_state
9 from .const import DOMAIN
10 from .entity import IRobotEntity
11 from .models import RoombaData
12 
13 
15  hass: HomeAssistant,
16  config_entry: ConfigEntry,
17  async_add_entities: AddEntitiesCallback,
18 ) -> None:
19  """Set up the iRobot Roomba vacuum cleaner."""
20  domain_data: RoombaData = hass.data[DOMAIN][config_entry.entry_id]
21  roomba = domain_data.roomba
22  blid = domain_data.blid
23  status = roomba_reported_state(roomba).get("bin", {})
24  if "full" in status:
25  roomba_vac = RoombaBinStatus(roomba, blid)
26  async_add_entities([roomba_vac])
27 
28 
30  """Class to hold Roomba Sensor basic info."""
31 
32  _attr_translation_key = "bin_full"
33 
34  @property
35  def unique_id(self):
36  """Return the ID of this sensor."""
37  return f"bin_{self._blid}"
38 
39  @property
40  def is_on(self):
41  """Return the state of the sensor."""
42  return roomba_reported_state(self.vacuumvacuum).get("bin", {}).get("full", False)
43 
44  def new_state_filter(self, new_state):
45  """Filter the new state."""
46  return "bin" in new_state
web.Response get(self, web.Request request, str config_key)
Definition: view.py:88
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
dict[str, Any] roomba_reported_state(Roomba roomba)
Definition: __init__.py:129