Skip to content

Commit 8a193a8

Browse files
authored
CHAD-15784 Zigbee: WindowShadePreset capability updates (#2282)
* CHAD-15784 Zigbee: WindowShadePreset capability updates * update init and added handlers, tests * fixup * remove preference * update drivers to work on older lua_libs versions * fixup
1 parent 240eb32 commit 8a193a8

27 files changed

+316
-75
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@ lua_libs-api_*
77
tools/test_output/*
88
tools/coverage_output/*
99
.DS_Store
10+
.venv/

drivers/SmartThings/zigbee-window-treatment/profiles/window-treatment-battery.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,3 @@ components:
1616
version: 1
1717
categories:
1818
- name: Blind
19-
preferences:
20-
- preferenceId: presetPosition
21-
explicit: true

drivers/SmartThings/zigbee-window-treatment/profiles/window-treatment-powerSource.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,4 @@ components:
1717
- id: firmwareUpdate
1818
version: 1
1919
categories:
20-
- name: Blind
21-
preferences:
22-
- preferenceId: presetPosition
23-
explicit: true
20+
- name: Blind

drivers/SmartThings/zigbee-window-treatment/profiles/window-treatment-profile-no-firmware-update.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,4 @@ components:
1111
- id: refresh
1212
version: 1
1313
categories:
14-
- name: Blind
15-
preferences:
16-
- preferenceId: presetPosition
17-
explicit: true
14+
- name: Blind

drivers/SmartThings/zigbee-window-treatment/profiles/window-treatment-profile.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,3 @@ components:
1414
version: 1
1515
categories:
1616
- name: Blind
17-
preferences:
18-
- preferenceId: presetPosition
19-
explicit: true
20-

drivers/SmartThings/zigbee-window-treatment/profiles/window-treatment-reverse.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,3 @@ components:
1818
preferences:
1919
- preferenceId: reverse
2020
explicit: true
21-
- preferenceId: presetPosition
22-
explicit: true

drivers/SmartThings/zigbee-window-treatment/src/axis/axis_version/init.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
-- limitations under the License.
1414

1515
local capabilities = require "st.capabilities"
16-
local window_preset_defaults = require "st.zigbee.defaults.windowShadePreset_defaults"
16+
local window_shade_utils = require "window_shade_utils"
1717
local zcl_clusters = require "st.zigbee.zcl.clusters"
1818
local utils = require "st.utils"
1919

@@ -52,7 +52,7 @@ local function window_shade_level_cmd_handler(driver, device, command)
5252
end
5353

5454
local function window_shade_preset_cmd(driver, device, command)
55-
local level = device.preferences and device.preferences.presetPosition or window_preset_defaults.PRESET_LEVEL
55+
local level = window_shade_utils.get_preset_level(device, command.component)
5656
window_shade_set_level(device, command, level)
5757
end
5858

drivers/SmartThings/zigbee-window-treatment/src/axis/init.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
local capabilities = require "st.capabilities"
1616
local device_management = require "st.zigbee.device_management"
17-
local window_preset_defaults = require "st.zigbee.defaults.windowShadePreset_defaults"
17+
local window_shade_utils = require "window_shade_utils"
1818
local zcl_clusters = require "st.zigbee.zcl.clusters"
1919
local utils = require "st.utils"
2020

@@ -50,7 +50,7 @@ local function window_shade_level_cmd_handler(driver, device, command)
5050
end
5151

5252
local function window_shade_preset_cmd(driver, device, command)
53-
local level = device.preferences and device.preferences.presetPosition or window_preset_defaults.PRESET_LEVEL
53+
local level = window_shade_utils.get_preset_level(device, command.component)
5454
window_shade_set_level(device, command, level)
5555
end
5656

drivers/SmartThings/zigbee-window-treatment/src/feibit/init.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
local capabilities = require "st.capabilities"
1616
local zcl_clusters = require "st.zigbee.zcl.clusters"
17-
local window_preset_defaults = require "st.zigbee.defaults.windowShadePreset_defaults"
17+
local window_shade_utils = require "window_shade_utils"
1818
local window_shade_defaults = require "st.zigbee.defaults.windowShade_defaults"
1919
local device_management = require "st.zigbee.device_management"
2020
local Level = zcl_clusters.Level
@@ -50,7 +50,7 @@ local function level_attr_handler(driver, device, value, zb_rx)
5050
end
5151

5252
local function window_shade_preset_cmd(driver, device, command)
53-
local level = device.preferences.presetPosition or device:get_field(window_preset_defaults.PRESET_LEVEL_KEY) or window_preset_defaults.PRESET_LEVEL
53+
local level = window_shade_utils.get_preset_level(device, command.component)
5454
set_shade_level(device, level, command.component)
5555
end
5656

drivers/SmartThings/zigbee-window-treatment/src/hanssem/init.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ local Messages = require "st.zigbee.messages"
1616
local data_types = require "st.zigbee.data_types"
1717
local ZigbeeConstants = require "st.zigbee.constants"
1818
local generic_body = require "st.zigbee.generic_body"
19-
local window_preset_defaults = require "st.zigbee.defaults.windowShadePreset_defaults"
19+
local window_shade_utils = require "window_shade_utils"
2020

2121
local TUYA_CLUSTER = 0xEF00
2222
local DP_TYPE_VALUE = "\x02"
@@ -148,7 +148,7 @@ local function SetShadeLevelHandler(driver, device, capability_command)
148148
end
149149

150150
local function PresetPositionHandler(driver, device, capability_command)
151-
local level = device.preferences.presetPosition or device:get_field(window_preset_defaults.PRESET_LEVEL_KEY) or window_preset_defaults.PRESET_LEVEL
151+
local level = window_shade_utils.get_preset_level(device, capability_command.component)
152152
SetShadeLevelHandler(driver, device, {args = { shadeLevel = level }})
153153
end
154154

0 commit comments

Comments
 (0)