mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 04:07:08 +00:00
add support for quadruple button events for xiaomi-ble (#142760)
* bump xiaomi-ble to 0.36.0 * fix ruff * fix ruff * revert dependency bump
This commit is contained in:
parent
f13bdd0da4
commit
06d6155862
@ -37,6 +37,7 @@ LOCK_FINGERPRINT = "lock_fingerprint"
|
||||
MOTION_DEVICE: Final = "motion_device"
|
||||
DOUBLE_BUTTON: Final = "double_button"
|
||||
TRIPPLE_BUTTON: Final = "tripple_button"
|
||||
QUADRUPLE_BUTTON: Final = "quadruple_button"
|
||||
REMOTE: Final = "remote"
|
||||
REMOTE_FAN: Final = "remote_fan"
|
||||
REMOTE_VENFAN: Final = "remote_ventilator_fan"
|
||||
@ -48,6 +49,7 @@ 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"
|
||||
QUADRUPLE_BUTTON_PRESS_DOUBLE_LONG: Final = "quadruple_button_press_double_long"
|
||||
|
||||
|
||||
class XiaomiBleEvent(TypedDict):
|
||||
|
@ -47,6 +47,8 @@ from .const import (
|
||||
LOCK_FINGERPRINT,
|
||||
MOTION,
|
||||
MOTION_DEVICE,
|
||||
QUADRUPLE_BUTTON,
|
||||
QUADRUPLE_BUTTON_PRESS_DOUBLE_LONG,
|
||||
REMOTE,
|
||||
REMOTE_BATHROOM,
|
||||
REMOTE_FAN,
|
||||
@ -123,6 +125,12 @@ EVENT_TYPES = {
|
||||
DIMMER: ["dimmer"],
|
||||
DOUBLE_BUTTON: ["button_left", "button_right"],
|
||||
TRIPPLE_BUTTON: ["button_left", "button_middle", "button_right"],
|
||||
QUADRUPLE_BUTTON: [
|
||||
"button_left",
|
||||
"button_mid_left",
|
||||
"button_mid_right",
|
||||
"button_right",
|
||||
],
|
||||
ERROR: ["error"],
|
||||
FINGERPRINT: ["fingerprint"],
|
||||
LOCK: ["lock"],
|
||||
@ -205,6 +213,11 @@ TRIGGER_MODEL_DATA = {
|
||||
event_types=EVENT_TYPES[TRIPPLE_BUTTON],
|
||||
triggers=TRIGGERS_BY_TYPE[BUTTON_PRESS_DOUBLE_LONG],
|
||||
),
|
||||
QUADRUPLE_BUTTON_PRESS_DOUBLE_LONG: TriggerModelData(
|
||||
event_class=EVENT_CLASS_BUTTON,
|
||||
event_types=EVENT_TYPES[QUADRUPLE_BUTTON],
|
||||
triggers=TRIGGERS_BY_TYPE[BUTTON_PRESS_DOUBLE_LONG],
|
||||
),
|
||||
ERROR: TriggerModelData(
|
||||
event_class=EVENT_CLASS_ERROR,
|
||||
event_types=EVENT_TYPES[ERROR],
|
||||
@ -261,6 +274,8 @@ MODEL_DATA = {
|
||||
"XMWXKG01YL": TRIGGER_MODEL_DATA[DOUBLE_BUTTON_PRESS_DOUBLE_LONG],
|
||||
"K9B-2BTN": TRIGGER_MODEL_DATA[DOUBLE_BUTTON_PRESS_DOUBLE_LONG],
|
||||
"K9B-3BTN": TRIGGER_MODEL_DATA[TRIPPLE_BUTTON_PRESS_DOUBLE_LONG],
|
||||
"KS1": TRIGGER_MODEL_DATA[QUADRUPLE_BUTTON_PRESS_DOUBLE_LONG],
|
||||
"KS1BP": TRIGGER_MODEL_DATA[QUADRUPLE_BUTTON_PRESS_DOUBLE_LONG],
|
||||
"YLYK01YL": TRIGGER_MODEL_DATA[REMOTE],
|
||||
"YLYK01YL-FANRC": TRIGGER_MODEL_DATA[REMOTE_FAN],
|
||||
"YLYK01YL-VENFAN": TRIGGER_MODEL_DATA[REMOTE_VENFAN],
|
||||
|
@ -86,6 +86,8 @@
|
||||
"trigger_type": {
|
||||
"button": "Button \"{subtype}\"",
|
||||
"button_left": "Button Left \"{subtype}\"",
|
||||
"button_mid_left": "Button Mid Left \"{subtype}\"",
|
||||
"button_mid_right": "Button Mid Right \"{subtype}\"",
|
||||
"button_middle": "Button Middle \"{subtype}\"",
|
||||
"button_right": "Button Right \"{subtype}\"",
|
||||
"button_on": "Button On \"{subtype}\"",
|
||||
|
Loading…
x
Reference in New Issue
Block a user