61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
"""Constants for the Xiaomi Bluetooth integration."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import Final, TypedDict
|
|
|
|
DOMAIN = "xiaomi_ble"
|
|
|
|
|
|
CONF_DISCOVERED_EVENT_CLASSES: Final = "known_events"
|
|
CONF_EVENT_PROPERTIES: Final = "event_properties"
|
|
CONF_EVENT_CLASS: Final = "event_class"
|
|
CONF_SLEEPY_DEVICE: Final = "sleepy_device"
|
|
CONF_SUBTYPE: Final = "subtype"
|
|
|
|
EVENT_CLASS: Final = "event_class"
|
|
EVENT_TYPE: Final = "event_type"
|
|
EVENT_SUBTYPE: Final = "event_subtype"
|
|
EVENT_PROPERTIES: Final = "event_properties"
|
|
XIAOMI_BLE_EVENT: Final = "xiaomi_ble_event"
|
|
|
|
EVENT_CLASS_BUTTON: Final = "button"
|
|
EVENT_CLASS_CUBE: Final = "cube"
|
|
EVENT_CLASS_DIMMER: Final = "dimmer"
|
|
EVENT_CLASS_ERROR: Final = "error"
|
|
EVENT_CLASS_FINGERPRINT: Final = "fingerprint"
|
|
EVENT_CLASS_LOCK: Final = "lock"
|
|
EVENT_CLASS_MOTION: Final = "motion"
|
|
|
|
BUTTON: Final = "button"
|
|
CUBE: Final = "cube"
|
|
DIMMER: Final = "dimmer"
|
|
ERROR: Final = "error"
|
|
FINGERPRINT: Final = "fingerprint"
|
|
LOCK: Final = "lock"
|
|
LOCK_FINGERPRINT = "lock_fingerprint"
|
|
MOTION_DEVICE: Final = "motion_device"
|
|
DOUBLE_BUTTON: Final = "double_button"
|
|
TRIPPLE_BUTTON: Final = "tripple_button"
|
|
REMOTE: Final = "remote"
|
|
REMOTE_FAN: Final = "remote_fan"
|
|
REMOTE_VENFAN: Final = "remote_ventilator_fan"
|
|
REMOTE_BATHROOM: Final = "remote_bathroom"
|
|
MOTION: Final = "motion"
|
|
|
|
BUTTON_PRESS: Final = "button_press"
|
|
BUTTON_PRESS_LONG: Final = "button_press_long"
|
|
BUTTON_PRESS_DOUBLE_LONG: Final = "button_press_double_long"
|
|
DOUBLE_BUTTON_PRESS_DOUBLE_LONG: Final = "double_button_press_double_long"
|
|
TRIPPLE_BUTTON_PRESS_DOUBLE_LONG: Final = "tripple_button_press_double_long"
|
|
|
|
|
|
class XiaomiBleEvent(TypedDict):
|
|
"""Xiaomi BLE event data."""
|
|
|
|
device_id: str
|
|
address: str
|
|
event_class: str # ie 'button'
|
|
event_type: str # ie 'press'
|
|
event_properties: dict[str, str | int | float | None] | None
|