1 """The lutron_caseta integration models."""
3 from __future__
import annotations
5 from dataclasses
import dataclass
6 from typing
import Any, Final, TypedDict
8 from pylutron_caseta.smartbridge
import Smartbridge
9 import voluptuous
as vol
14 type LutronCasetaConfigEntry = ConfigEntry[LutronCasetaData]
19 """Data for the lutron_caseta integration."""
22 bridge_device: dict[str, Any]
23 keypad_data: LutronKeypadData
28 """Data for the lutron_caseta integration keypads."""
30 dr_device_id_to_keypad: dict[str, LutronKeypad]
31 keypads: dict[int, LutronKeypad]
32 buttons: dict[int, LutronButton]
33 button_names_to_leap: dict[int, dict[str, int]]
34 trigger_schemas: dict[int, vol.Schema]
38 """A lutron_caseta keypad device."""
46 device_info: DeviceInfo
52 LUTRON_KEYPAD_LUTRON_DEVICE_ID: Final =
"lutron_device_id"
53 LUTRON_KEYPAD_DEVICE_REGISTRY_DEVICE_ID: Final =
"dr_device_id"
54 LUTRON_KEYPAD_AREA_ID: Final =
"area_id"
55 LUTRON_KEYPAD_AREA_NAME: Final =
"area_name"
56 LUTRON_KEYPAD_NAME: Final =
"name"
57 LUTRON_KEYPAD_SERIAL: Final =
"serial"
58 LUTRON_KEYPAD_DEVICE_INFO: Final =
"device_info"
59 LUTRON_KEYPAD_MODEL: Final =
"model"
60 LUTRON_KEYPAD_TYPE: Final =
"type"
61 LUTRON_KEYPAD_BUTTONS: Final =
"buttons"
65 """A lutron_caseta button."""
68 leap_button_number: int
70 led_device_id: str |
None
74 LUTRON_BUTTON_LUTRON_DEVICE_ID: Final =
"lutron_device_id"
75 LUTRON_BUTTON_LEAP_BUTTON_NUMBER: Final =
"leap_button_number"
76 LUTRON_BUTTON_BUTTON_NAME: Final =
"button_name"
77 LUTRON_BUTTON_LED_DEVICE_ID: Final =
"led_device_id"
78 LUTRON_BUTTON_PARENT_KEYPAD: Final =
"parent_keypad"