Home Assistant Unofficial Reference 2024.12.1
button.py
Go to the documentation of this file.
1 """Button platform for CoolMasterNet integration."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.components.button import ButtonEntity, ButtonEntityDescription
6 from homeassistant.config_entries import ConfigEntry
7 from homeassistant.const import EntityCategory
8 from homeassistant.core import HomeAssistant
9 from homeassistant.helpers.entity_platform import AddEntitiesCallback
10 
11 from .const import DATA_COORDINATOR, DATA_INFO, DOMAIN
12 from .entity import CoolmasterEntity
13 
14 
16  hass: HomeAssistant,
17  config_entry: ConfigEntry,
18  async_add_entities: AddEntitiesCallback,
19 ) -> None:
20  """Set up the CoolMasterNet button platform."""
21  info = hass.data[DOMAIN][config_entry.entry_id][DATA_INFO]
22  coordinator = hass.data[DOMAIN][config_entry.entry_id][DATA_COORDINATOR]
24  CoolmasterResetFilter(coordinator, unit_id, info)
25  for unit_id in coordinator.data
26  )
27 
28 
30  """Reset the clean filter timer (once filter was cleaned)."""
31 
32  entity_description = ButtonEntityDescription(
33  key="reset_filter",
34  translation_key="reset_filter",
35  entity_category=EntityCategory.CONFIG,
36  )
37 
38  async def async_press(self) -> None:
39  """Press the button."""
40  await self._unit_unit.reset_filter()
41  await self.coordinator.async_refresh()
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
Definition: button.py:19