From c5428bb42513960e449a26f456297953df19d7d6 Mon Sep 17 00:00:00 2001 From: maxmib <30944505+maxmib@users.noreply.github.com> Date: Wed, 5 Feb 2025 00:33:07 +0800 Subject: [PATCH 1/3] Add giot.switch.v62ksm and lemesh.remote.ts00 --- .../xiaomi_gateway3/core/devices.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/custom_components/xiaomi_gateway3/core/devices.py b/custom_components/xiaomi_gateway3/core/devices.py index f766dc5e..8354c8e6 100644 --- a/custom_components/xiaomi_gateway3/core/devices.py +++ b/custom_components/xiaomi_gateway3/core/devices.py @@ -3510,6 +3510,37 @@ BaseConv("backlight", "switch", mi="6.p.3"), ] }, { + 16400: ["SmartFrog", "V6 Double Wall Switch", "giot.switch.v62ksm"], + "spec": [ + BaseConv("left_switch", "switch", mi="2.p.1"), + BaseConv("right_switch", "switch", mi="3.p.1"), + BaseConv("left_switch_action", "sensor"), + ConstConv("left_switch_action", mi="12.e.1", value=BUTTON_SINGLE), + ConstConv("left_switch_action", mi="12.e.2", value=BUTTON_DOUBLE), + ConstConv("left_switch_action", mi="12.e.3", value=BUTTON_HOLD), + BaseConv("right_switch_action", "sensor"), + ConstConv("right_switch_action", mi="13.e.1", value=BUTTON_SINGLE), + ConstConv("right_switch_action", mi="13.e.2", value=BUTTON_DOUBLE), + ConstConv("right_switch_action", mi="13.e.3", value=BUTTON_HOLD), + MapConv("left_switch_mode", "select", mi="2.p.2", map={0: "Normal", 1: "Wireless", 2: "Flex", 3: "Toggle", 4: "Normal+Wireless"}), + MapConv("right_switch_mode", "select", mi="3.p.2", map={ 0: "Normal", 1: "Wireless", 2: "Flex", 3: "Toggle", 4: "Normal+Wireless"}), + MapConv("power_on_state_left_switch", "select", mi="2.p.3", map={0: "Off", 1: "On", 2: "Default"}), + MapConv("power_on_state_right_switch", "select", mi="3.p.3", map={0: "Off", 1: "On", 2: "Default"}), + MapConv("left_switch_indicator_light_mode", "select", mi="16.p.1", map={0: "Follow", 1: "Opposite", 2: "Off", 3: "On"}), + MapConv("right_switch_indicator_light_mode", "select", mi="16.p.2", map={0: "Follow", 1: "Opposite", 2: "Off", 3: "On"}), + BaseConv("ambient_light", "switch", mi="17.p.1"), + ] +}, { + 20809: ["LeMesh", "Scene Wireless Button S", "lemesh.remote.ts00"], + "spec": [ + BaseConv("action", "sensor"), + MapConv("action", mi="5.e.1012.p.1", map={1: BUTTON_1_SINGLE}), + MapConv("action", mi="5.e.1013.p.1", map={1: BUTTON_1_DOUBLE}), + MapConv("action", mi="5.e.1014.p.1", map={1: BUTTON_1_HOLD}), + BaseConv("battery", "sensor", mi="4.p.1003"), + MapConv("button_mode", "select", mi="5.p.1020", map={0: "Quick Single Click", 1: "Multiple Click"}), + ] +}, { 9609: ["Bean", "Mesh Single Wall Switch (L)", "bean.switch.bl01"], "spec": [ BaseConv("switch", "switch", mi="2.p.1"), From 9b2c588b54281f3db1188573cbcdfb4a89693808 Mon Sep 17 00:00:00 2001 From: maxmib <30944505+maxmib@users.noreply.github.com> Date: Wed, 5 Feb 2025 19:55:47 +0800 Subject: [PATCH 2/3] Update devices.py --- .../xiaomi_gateway3/core/devices.py | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/custom_components/xiaomi_gateway3/core/devices.py b/custom_components/xiaomi_gateway3/core/devices.py index 8354c8e6..e48aade1 100644 --- a/custom_components/xiaomi_gateway3/core/devices.py +++ b/custom_components/xiaomi_gateway3/core/devices.py @@ -3514,14 +3514,13 @@ "spec": [ BaseConv("left_switch", "switch", mi="2.p.1"), BaseConv("right_switch", "switch", mi="3.p.1"), - BaseConv("left_switch_action", "sensor"), - ConstConv("left_switch_action", mi="12.e.1", value=BUTTON_SINGLE), - ConstConv("left_switch_action", mi="12.e.2", value=BUTTON_DOUBLE), - ConstConv("left_switch_action", mi="12.e.3", value=BUTTON_HOLD), - BaseConv("right_switch_action", "sensor"), - ConstConv("right_switch_action", mi="13.e.1", value=BUTTON_SINGLE), - ConstConv("right_switch_action", mi="13.e.2", value=BUTTON_DOUBLE), - ConstConv("right_switch_action", mi="13.e.3", value=BUTTON_HOLD), + BaseConv("switch_action", "sensor"), + ConstConv("switch_action", mi="12.e.1", value=BUTTON_1_SINGLE), + ConstConv("switch_action", mi="12.e.2", value=BUTTON_1_DOUBLE), + ConstConv("switch_action", mi="12.e.3", value=BUTTON_1_HOLD), + ConstConv("switch_action", mi="13.e.1", value=BUTTON_2_SINGLE), + ConstConv("switch_action", mi="13.e.2", value=BUTTON_2_DOUBLE), + ConstConv("switch_action", mi="13.e.3", value=BUTTON_2_HOLD), MapConv("left_switch_mode", "select", mi="2.p.2", map={0: "Normal", 1: "Wireless", 2: "Flex", 3: "Toggle", 4: "Normal+Wireless"}), MapConv("right_switch_mode", "select", mi="3.p.2", map={ 0: "Normal", 1: "Wireless", 2: "Flex", 3: "Toggle", 4: "Normal+Wireless"}), MapConv("power_on_state_left_switch", "select", mi="2.p.3", map={0: "Off", 1: "On", 2: "Default"}), @@ -3534,9 +3533,9 @@ 20809: ["LeMesh", "Scene Wireless Button S", "lemesh.remote.ts00"], "spec": [ BaseConv("action", "sensor"), - MapConv("action", mi="5.e.1012.p.1", map={1: BUTTON_1_SINGLE}), - MapConv("action", mi="5.e.1013.p.1", map={1: BUTTON_1_DOUBLE}), - MapConv("action", mi="5.e.1014.p.1", map={1: BUTTON_1_HOLD}), + MapConv("action", mi="5.e.1012.p.1", map={1: BUTTON_SINGLE}), + MapConv("action", mi="5.e.1013.p.1", map={1: BUTTON_DOUBLE}), + MapConv("action", mi="5.e.1014.p.1", map={1: BUTTON_HOLD}), BaseConv("battery", "sensor", mi="4.p.1003"), MapConv("button_mode", "select", mi="5.p.1020", map={0: "Quick Single Click", 1: "Multiple Click"}), ] From 29a1abf86f9aaf103a24dc55abb9b3f1612e78d3 Mon Sep 17 00:00:00 2001 From: maxmib <30944505+maxmib@users.noreply.github.com> Date: Thu, 6 Feb 2025 15:49:41 +0800 Subject: [PATCH 3/3] Update devices.py --- custom_components/xiaomi_gateway3/core/devices.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/custom_components/xiaomi_gateway3/core/devices.py b/custom_components/xiaomi_gateway3/core/devices.py index e48aade1..853f7801 100644 --- a/custom_components/xiaomi_gateway3/core/devices.py +++ b/custom_components/xiaomi_gateway3/core/devices.py @@ -3514,13 +3514,13 @@ "spec": [ BaseConv("left_switch", "switch", mi="2.p.1"), BaseConv("right_switch", "switch", mi="3.p.1"), - BaseConv("switch_action", "sensor"), - ConstConv("switch_action", mi="12.e.1", value=BUTTON_1_SINGLE), - ConstConv("switch_action", mi="12.e.2", value=BUTTON_1_DOUBLE), - ConstConv("switch_action", mi="12.e.3", value=BUTTON_1_HOLD), - ConstConv("switch_action", mi="13.e.1", value=BUTTON_2_SINGLE), - ConstConv("switch_action", mi="13.e.2", value=BUTTON_2_DOUBLE), - ConstConv("switch_action", mi="13.e.3", value=BUTTON_2_HOLD), + BaseConv("action", "sensor"), + ConstConv("action", mi="12.e.1", value=BUTTON_1_SINGLE), + ConstConv("action", mi="12.e.2", value=BUTTON_1_DOUBLE), + ConstConv("action", mi="12.e.3", value=BUTTON_1_HOLD), + ConstConv("action", mi="13.e.1", value=BUTTON_2_SINGLE), + ConstConv("action", mi="13.e.2", value=BUTTON_2_DOUBLE), + ConstConv("action", mi="13.e.3", value=BUTTON_2_HOLD), MapConv("left_switch_mode", "select", mi="2.p.2", map={0: "Normal", 1: "Wireless", 2: "Flex", 3: "Toggle", 4: "Normal+Wireless"}), MapConv("right_switch_mode", "select", mi="3.p.2", map={ 0: "Normal", 1: "Wireless", 2: "Flex", 3: "Toggle", 4: "Normal+Wireless"}), MapConv("power_on_state_left_switch", "select", mi="2.p.3", map={0: "Off", 1: "On", 2: "Default"}),