Skip to content

Commit 781ad32

Browse files
committed
fix tests
1 parent 446630d commit 781ad32

File tree

3 files changed

+16
-13
lines changed

3 files changed

+16
-13
lines changed

drivers/SmartThings/matter-switch/src/sub_drivers/ikea_scroll/init.lua

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
-- Licensed under the Apache License, Version 2.0
33

44
local switch_utils = require "switch_utils.utils"
5-
local button_cfg = require "switch_utils.device_configuration".ButtonCfg
65
local scroll_utils = require "sub_drivers.ikea_scroll.scroll_utils.utils"
76
local scroll_cfg = require "sub_drivers.ikea_scroll.scroll_utils.device_configuration"
87

@@ -28,7 +27,7 @@ end
2827

2928
function IkeaScrollLifecycleHandlers.info_changed(driver, device, event, args)
3029
if device.profile.id ~= args.old_st_store.profile.id then
31-
button_cfg.configure_buttons(device)
30+
scroll_cfg.configure_buttons(device)
3231
device:subscribe()
3332
end
3433
end
Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,35 @@
11
-- Copyright © 2025 SmartThings, Inc.
22
-- Licensed under the Apache License, Version 2.0
33

4-
local button_cfg = require "switch_utils.device_configuration".ButtonCfg
4+
local clusters = require "st.matter.clusters"
5+
local capabilities = require "st.capabilities"
6+
local switch_utils = require "switch_utils.utils"
57
local switch_fields = require "switch_utils.fields"
68
local scroll_fields = require "sub_drivers.ikea_scroll.scroll_utils.fields"
79

810
local IkeaScrollConfiguration = {}
911

1012
function IkeaScrollConfiguration.build_button_component_map(device)
1113
local component_map = {
12-
group1 = scroll_fields.ENDPOINTS_PRESS[1],
14+
main = scroll_fields.ENDPOINTS_PRESS[1],
1315
group2 = scroll_fields.ENDPOINTS_PRESS[2],
1416
group3 = scroll_fields.ENDPOINTS_PRESS[3],
1517
}
1618
device:set_field(switch_fields.COMPONENT_TO_ENDPOINT_MAP, component_map, {persist = true})
1719
end
1820

21+
function IkeaScrollConfiguration.configure_buttons(device)
22+
for _, ep in ipairs(scroll_fields.ENDPOINTS_PRESS) do
23+
device:send(clusters.Switch.attributes.MultiPressMax:read(device, ep))
24+
switch_utils.set_field_for_endpoint(device, switch_fields.SUPPORTS_MULTI_PRESS, ep, true, {persist = true})
25+
device:emit_event_for_endpoint(ep, capabilities.button.button.pushed({state_change = false}))
26+
end
27+
end
28+
1929
function IkeaScrollConfiguration.match_profile(driver, device)
2030
device:try_update_metadata({profile = "ikea-scroll"})
2131
IkeaScrollConfiguration.build_button_component_map(device)
22-
button_cfg.configure_buttons(device)
32+
IkeaScrollConfiguration.configure_buttons(device)
2333
end
2434

2535
return IkeaScrollConfiguration

drivers/SmartThings/matter-switch/src/test/test_ikea_scroll.lua

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -142,16 +142,10 @@ end
142142

143143
local function expect_configure_buttons()
144144
local button_attr = capabilities.button.button
145-
test.socket.matter:__expect_send({mock_ikea_scroll.id, clusters.Switch.attributes.MultiPressMax:read(mock_ikea_scroll, 1)})
146-
test.socket.matter:__expect_send({mock_ikea_scroll.id, clusters.Switch.attributes.MultiPressMax:read(mock_ikea_scroll, 2)})
147145
test.socket.matter:__expect_send({mock_ikea_scroll.id, clusters.Switch.attributes.MultiPressMax:read(mock_ikea_scroll, 3)})
148-
test.socket.capability:__expect_send(mock_ikea_scroll:generate_test_message("group1", button_attr.pushed({state_change = false})))
149-
test.socket.matter:__expect_send({mock_ikea_scroll.id, clusters.Switch.attributes.MultiPressMax:read(mock_ikea_scroll, 4)})
150-
test.socket.matter:__expect_send({mock_ikea_scroll.id, clusters.Switch.attributes.MultiPressMax:read(mock_ikea_scroll, 5)})
146+
test.socket.capability:__expect_send(mock_ikea_scroll:generate_test_message("main", button_attr.pushed({state_change = false})))
151147
test.socket.matter:__expect_send({mock_ikea_scroll.id, clusters.Switch.attributes.MultiPressMax:read(mock_ikea_scroll, 6)})
152148
test.socket.capability:__expect_send(mock_ikea_scroll:generate_test_message("group2", button_attr.pushed({state_change = false})))
153-
test.socket.matter:__expect_send({mock_ikea_scroll.id, clusters.Switch.attributes.MultiPressMax:read(mock_ikea_scroll, 7)})
154-
test.socket.matter:__expect_send({mock_ikea_scroll.id, clusters.Switch.attributes.MultiPressMax:read(mock_ikea_scroll, 8)})
155149
test.socket.matter:__expect_send({mock_ikea_scroll.id, clusters.Switch.attributes.MultiPressMax:read(mock_ikea_scroll, 9)})
156150
test.socket.capability:__expect_send(mock_ikea_scroll:generate_test_message("group3", button_attr.pushed({state_change = false})))
157151
end
@@ -188,7 +182,7 @@ test.register_message_test(
188182
{
189183
channel = "capability",
190184
direction = "send",
191-
message = mock_ikea_scroll:generate_test_message("group1",
185+
message = mock_ikea_scroll:generate_test_message("main",
192186
capabilities.button.supportedButtonValues({"pushed", "double", "held", "pushed_3x"}, {visibility = {displayed = false}}))
193187
},
194188
{

0 commit comments

Comments
 (0)