Home Assistant Unofficial Reference 2024.12.1
button.py
Go to the documentation of this file.
1 """Support for HomeWizard buttons."""
2 
3 from homeassistant.components.button import ButtonDeviceClass, ButtonEntity
4 from homeassistant.const import EntityCategory
5 from homeassistant.core import HomeAssistant
6 from homeassistant.helpers.entity_platform import AddEntitiesCallback
7 
8 from . import HomeWizardConfigEntry
9 from .coordinator import HWEnergyDeviceUpdateCoordinator
10 from .entity import HomeWizardEntity
11 from .helpers import homewizard_exception_handler
12 
13 PARALLEL_UPDATES = 1
14 
15 
17  hass: HomeAssistant,
18  entry: HomeWizardConfigEntry,
19  async_add_entities: AddEntitiesCallback,
20 ) -> None:
21  """Set up the Identify button."""
22  if entry.runtime_data.supports_identify():
23  async_add_entities([HomeWizardIdentifyButton(entry.runtime_data)])
24 
25 
27  """Representation of a identify button."""
28 
29  _attr_entity_category = EntityCategory.CONFIG
30  _attr_device_class = ButtonDeviceClass.IDENTIFY
31 
32  def __init__(self, coordinator: HWEnergyDeviceUpdateCoordinator) -> None:
33  """Initialize button."""
34  super().__init__(coordinator)
35  self._attr_unique_id_attr_unique_id = f"{coordinator.config_entry.unique_id}_identify"
36 
37  @homewizard_exception_handler
38  async def async_press(self) -> None:
39  """Identify the device."""
40  await self.coordinator.api.identify()
None __init__(self, HWEnergyDeviceUpdateCoordinator coordinator)
Definition: button.py:32
None async_setup_entry(HomeAssistant hass, HomeWizardConfigEntry entry, AddEntitiesCallback async_add_entities)
Definition: button.py:20