1 """Support for Lutron Homeworks buttons."""
3 from __future__
import annotations
7 from pyhomeworks.pyhomeworks
import Homeworks
16 from .
import HomeworksData
26 from .entity
import HomeworksEntity
30 hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
32 """Set up Homeworks buttons."""
33 data: HomeworksData = hass.data[DOMAIN][entry.entry_id]
34 controller = data.controller
35 controller_id = entry.options[CONF_CONTROLLER_ID]
37 for keypad
in entry.options.get(CONF_KEYPADS, []):
38 for button
in keypad[CONF_BUTTONS]:
46 button[CONF_RELEASE_DELAY],
48 entities.append(entity)
53 """Homeworks Button."""
57 controller: Homeworks,
65 """Create device with Addr, name, and rate."""
66 super().
__init__(controller, controller_id, addr, button_number, button_name)
68 identifiers={(DOMAIN, f
"{controller_id}.{addr}")}, name=keypad_name
73 """Press the button."""
74 await self.
hasshass.async_add_executor_job(
76 f
"KBP, {self._addr}, {self._idx}",
81 await self.
hasshass.async_add_executor_job(
83 f
"KBR, {self._addr}, {self._idx}",