From 62b09580c4b32812476ba90097c09b34d8bea410 Mon Sep 17 00:00:00 2001 From: Robert Svensson Date: Fri, 1 Nov 2019 22:29:34 +0100 Subject: [PATCH] deCONZ - Add Xiaomi Aqara Cube device trigger support (#27548) * Add Xiaomi Aqara Cube device trigger support --- .../components/deconz/.translations/en.json | 18 ++++- .../components/deconz/device_trigger.py | 67 +++++++++++++++++++ homeassistant/components/deconz/strings.json | 21 +++++- 3 files changed, 102 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/deconz/.translations/en.json b/homeassistant/components/deconz/.translations/en.json index e9c64ffe5fa..6d9f7236d31 100644 --- a/homeassistant/components/deconz/.translations/en.json +++ b/homeassistant/components/deconz/.translations/en.json @@ -55,6 +55,12 @@ "left": "Left", "open": "Open", "right": "Right", + "side_1": "Side 1", + "side_2": "Side 2", + "side_3": "Side 3", + "side_4": "Side 4", + "side_5": "Side 5", + "side_6": "Side 6", "turn_off": "Turn off", "turn_on": "Turn on" }, @@ -69,7 +75,17 @@ "remote_button_short_press": "\"{subtype}\" button pressed", "remote_button_short_release": "\"{subtype}\" button released", "remote_button_triple_press": "\"{subtype}\" button triple clicked", - "remote_gyro_activated": "Device shaken" + "remote_double_tap": "Device \"{subtype}\" double tapped", + "remote_awakened": "Device awakened", + "remote_falling": "Device in free fall", + "remote_gyro_activated": "Device shaken", + "remote_moved": "Device moved with \"{subtype}\" up", + "remote_rotate_from_side_1": "Device rotated from \"side 1\" to \"{subtype}\"", + "remote_rotate_from_side_2": "Device rotated from \"side 2\" to \"{subtype}\"", + "remote_rotate_from_side_3": "Device rotated from \"side 3\" to \"{subtype}\"", + "remote_rotate_from_side_4": "Device rotated from \"side 4\" to \"{subtype}\"", + "remote_rotate_from_side_5": "Device rotated from \"side 5\" to \"{subtype}\"", + "remote_rotate_from_side_6": "Device rotated from \"side 6\" to \"{subtype}\"" } }, "options": { diff --git a/homeassistant/components/deconz/device_trigger.py b/homeassistant/components/deconz/device_trigger.py index 2d097d30c0b..919061d9ad8 100644 --- a/homeassistant/components/deconz/device_trigger.py +++ b/homeassistant/components/deconz/device_trigger.py @@ -32,7 +32,17 @@ CONF_QUADRUPLE_PRESS = "remote_button_quadruple_press" CONF_QUINTUPLE_PRESS = "remote_button_quintuple_press" CONF_ROTATED = "remote_button_rotated" CONF_ROTATION_STOPPED = "remote_button_rotation_stopped" +CONF_AWAKE = "remote_awakened" +CONF_MOVE = "remote_moved" +CONF_DOUBLE_TAP = "remote_double_tap" CONF_SHAKE = "remote_gyro_activated" +CONF_FREE_FALL = "remote_falling" +CONF_ROTATE_FROM_SIDE_1 = "remote_rotate_from_side_1" +CONF_ROTATE_FROM_SIDE_2 = "remote_rotate_from_side_2" +CONF_ROTATE_FROM_SIDE_3 = "remote_rotate_from_side_3" +CONF_ROTATE_FROM_SIDE_4 = "remote_rotate_from_side_4" +CONF_ROTATE_FROM_SIDE_5 = "remote_rotate_from_side_5" +CONF_ROTATE_FROM_SIDE_6 = "remote_rotate_from_side_6" CONF_TURN_ON = "turn_on" CONF_TURN_OFF = "turn_off" @@ -47,6 +57,13 @@ CONF_BUTTON_1 = "button_1" CONF_BUTTON_2 = "button_2" CONF_BUTTON_3 = "button_3" CONF_BUTTON_4 = "button_4" +CONF_SIDE_1 = "side_1" +CONF_SIDE_2 = "side_2" +CONF_SIDE_3 = "side_3" +CONF_SIDE_4 = "side_4" +CONF_SIDE_5 = "side_5" +CONF_SIDE_6 = "side_6" + HUE_DIMMER_REMOTE_MODEL = "RWL021" HUE_DIMMER_REMOTE = { @@ -129,6 +146,55 @@ TRADFRI_WIRELESS_DIMMER = { (CONF_ROTATED, CONF_RIGHT): 2002, } +AQARA_CUBE_MODEL = "lumi.sensor_cube" +AQARA_CUBE = { + (CONF_ROTATE_FROM_SIDE_1, CONF_SIDE_2): 6002, + (CONF_ROTATE_FROM_SIDE_1, CONF_SIDE_3): 3002, + (CONF_ROTATE_FROM_SIDE_1, CONF_SIDE_4): 4002, + (CONF_ROTATE_FROM_SIDE_1, CONF_SIDE_5): 1002, + (CONF_ROTATE_FROM_SIDE_1, CONF_SIDE_6): 5002, + (CONF_ROTATE_FROM_SIDE_2, CONF_SIDE_1): 2006, + (CONF_ROTATE_FROM_SIDE_2, CONF_SIDE_3): 3006, + (CONF_ROTATE_FROM_SIDE_2, CONF_SIDE_4): 4006, + (CONF_ROTATE_FROM_SIDE_2, CONF_SIDE_5): 1006, + (CONF_ROTATE_FROM_SIDE_2, CONF_SIDE_6): 5006, + (CONF_ROTATE_FROM_SIDE_3, CONF_SIDE_1): 2003, + (CONF_ROTATE_FROM_SIDE_3, CONF_SIDE_2): 6003, + (CONF_ROTATE_FROM_SIDE_3, CONF_SIDE_4): 4003, + (CONF_ROTATE_FROM_SIDE_3, CONF_SIDE_5): 1003, + (CONF_ROTATE_FROM_SIDE_3, CONF_SIDE_6): 5003, + (CONF_ROTATE_FROM_SIDE_4, CONF_SIDE_1): 2004, + (CONF_ROTATE_FROM_SIDE_4, CONF_SIDE_2): 6004, + (CONF_ROTATE_FROM_SIDE_4, CONF_SIDE_3): 3004, + (CONF_ROTATE_FROM_SIDE_4, CONF_SIDE_5): 1004, + (CONF_ROTATE_FROM_SIDE_4, CONF_SIDE_6): 5004, + (CONF_ROTATE_FROM_SIDE_5, CONF_SIDE_1): 2001, + (CONF_ROTATE_FROM_SIDE_5, CONF_SIDE_2): 6001, + (CONF_ROTATE_FROM_SIDE_5, CONF_SIDE_3): 3001, + (CONF_ROTATE_FROM_SIDE_5, CONF_SIDE_4): 4001, + (CONF_ROTATE_FROM_SIDE_5, CONF_SIDE_6): 5001, + (CONF_ROTATE_FROM_SIDE_6, CONF_SIDE_1): 2005, + (CONF_ROTATE_FROM_SIDE_6, CONF_SIDE_2): 6005, + (CONF_ROTATE_FROM_SIDE_6, CONF_SIDE_3): 3005, + (CONF_ROTATE_FROM_SIDE_6, CONF_SIDE_4): 4005, + (CONF_ROTATE_FROM_SIDE_6, CONF_SIDE_5): 1005, + (CONF_MOVE, CONF_SIDE_1): 2000, + (CONF_MOVE, CONF_SIDE_2): 6000, + (CONF_MOVE, CONF_SIDE_3): 3000, + (CONF_MOVE, CONF_SIDE_4): 4000, + (CONF_MOVE, CONF_SIDE_5): 1000, + (CONF_MOVE, CONF_SIDE_6): 5000, + (CONF_DOUBLE_TAP, CONF_SIDE_1): 2002, + (CONF_DOUBLE_TAP, CONF_SIDE_2): 6002, + (CONF_DOUBLE_TAP, CONF_SIDE_3): 3003, + (CONF_DOUBLE_TAP, CONF_SIDE_4): 4004, + (CONF_DOUBLE_TAP, CONF_SIDE_5): 1001, + (CONF_DOUBLE_TAP, CONF_SIDE_6): 5005, + (CONF_AWAKE, ""): 7000, + (CONF_FREE_FALL, ""): 7008, + (CONF_SHAKE, ""): 7007, +} + AQARA_DOUBLE_WALL_SWITCH_MODEL = "lumi.remote.b286acn01" AQARA_DOUBLE_WALL_SWITCH = { (CONF_SHORT_PRESS, CONF_LEFT): 1002, @@ -179,6 +245,7 @@ REMOTES = { TRADFRI_OPEN_CLOSE_REMOTE_MODEL: TRADFRI_OPEN_CLOSE_REMOTE, TRADFRI_REMOTE_MODEL: TRADFRI_REMOTE, TRADFRI_WIRELESS_DIMMER_MODEL: TRADFRI_WIRELESS_DIMMER, + AQARA_CUBE_MODEL: AQARA_CUBE, AQARA_DOUBLE_WALL_SWITCH_MODEL: AQARA_DOUBLE_WALL_SWITCH, AQARA_MINI_SWITCH_MODEL: AQARA_MINI_SWITCH, AQARA_ROUND_SWITCH_MODEL: AQARA_ROUND_SWITCH, diff --git a/homeassistant/components/deconz/strings.json b/homeassistant/components/deconz/strings.json index 3571a9e1207..56186feb8b1 100644 --- a/homeassistant/components/deconz/strings.json +++ b/homeassistant/components/deconz/strings.json @@ -65,7 +65,17 @@ "remote_button_quintuple_press": "\"{subtype}\" button quintuple clicked", "remote_button_rotated": "Button rotated \"{subtype}\"", "remote_button_rotation_stopped": "Button rotation \"{subtype}\" stopped", - "remote_gyro_activated": "Device shaken" + "remote_falling": "Device in free fall", + "remote_awakened": "Device awakened", + "remote_moved": "Device moved with \"{subtype}\" up", + "remote_double_tap": "Device \"{subtype}\" double tapped", + "remote_gyro_activated": "Device shaken", + "remote_rotate_from_side_1": "Device rotated from \"side 1\" to \"{subtype}\"", + "remote_rotate_from_side_2": "Device rotated from \"side 2\" to \"{subtype}\"", + "remote_rotate_from_side_3": "Device rotated from \"side 3\" to \"{subtype}\"", + "remote_rotate_from_side_4": "Device rotated from \"side 4\" to \"{subtype}\"", + "remote_rotate_from_side_5": "Device rotated from \"side 5\" to \"{subtype}\"", + "remote_rotate_from_side_6": "Device rotated from \"side 6\" to \"{subtype}\"" }, "trigger_subtype": { "turn_on": "Turn on", @@ -80,7 +90,12 @@ "button_1": "First button", "button_2": "Second button", "button_3": "Third button", - "button_4": "Fourth button" - } + "button_4": "Fourth button", + "side_1": "Side 1", + "side_2": "Side 2", + "side_3": "Side 3", + "side_4": "Side 4", + "side_5": "Side 5", + "side_6": "Side 6" } }