Home Assistant Unofficial Reference 2024.12.1
button.py
Go to the documentation of this file.
1 """Support for Neato buttons."""
2 
3 from __future__ import annotations
4 
5 from pybotvac import Robot
6 
7 from homeassistant.components.button import ButtonEntity
8 from homeassistant.config_entries import ConfigEntry
9 from homeassistant.const import EntityCategory
10 from homeassistant.core import HomeAssistant
11 from homeassistant.helpers.entity_platform import AddEntitiesCallback
12 
13 from .const import NEATO_ROBOTS
14 from .entity import NeatoEntity
15 
16 
18  hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
19 ) -> None:
20  """Set up Neato button from config entry."""
21  entities = [NeatoDismissAlertButton(robot) for robot in hass.data[NEATO_ROBOTS]]
22 
23  async_add_entities(entities, True)
24 
25 
27  """Representation of a dismiss_alert button entity."""
28 
29  _attr_translation_key = "dismiss_alert"
30  _attr_entity_category = EntityCategory.CONFIG
31 
32  def __init__(
33  self,
34  robot: Robot,
35  ) -> None:
36  """Initialize a dismiss_alert Neato button entity."""
37  super().__init__(robot)
38  self._attr_unique_id_attr_unique_id = f"{robot.serial}_dismiss_alert"
39 
40  async def async_press(self) -> None:
41  """Press the button."""
42  await self.hasshass.async_add_executor_job(self.robotrobot.dismiss_current_alert)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)
Definition: button.py:19