Skip to content

Commit 1f0a05a

Browse files
authored
Update matter-rvc driver (#2400)
- Replace Embedded device configuration with Device presentation to support translation - If selected_area is empty, selecting all areas Signed-off-by: HunsupJung <[email protected]>
1 parent 689cedb commit 1f0a05a

File tree

3 files changed

+17
-127
lines changed

3 files changed

+17
-127
lines changed

drivers/SmartThings/matter-rvc/profiles/rvc-clean-mode-service-area.yml

Lines changed: 3 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -15,68 +15,6 @@ components:
1515
version: 1
1616
categories:
1717
- name: RobotCleaner
18-
deviceConfig:
19-
dashboard:
20-
states:
21-
- component: main
22-
capability: robotCleanerOperatingState
23-
version: 1
24-
detailView:
25-
- component: main
26-
capability: robotCleanerOperatingState
27-
version: 1
28-
- component: main
29-
capability: mode
30-
version: 1
31-
patch:
32-
- op: replace
33-
path: /0/list/command/supportedValues
34-
value: supportedArguments.value
35-
- component: main
36-
capability: serviceArea
37-
version: 1
38-
- component: main
39-
capability: refresh
40-
version: 1
41-
- component: main
42-
capability: firmwareUpdate
43-
version: 1
44-
automation:
45-
conditions:
46-
- component: main
47-
capability: robotCleanerOperatingState
48-
version: 1
49-
- component: main
50-
capability: mode
51-
version: 1
52-
patch:
53-
- op: replace
54-
path: /0/displayType
55-
value: dynamicList
56-
- op: add
57-
path: /0/dynamicList
58-
value:
59-
value: mode.value
60-
supportedValues:
61-
value: supportedModes.value
62-
- op: remove
63-
path: /0/list
64-
actions:
65-
- component: main
66-
capability: robotCleanerOperatingState
67-
version: 1
68-
- component: main
69-
capability: mode
70-
version: 1
71-
patch:
72-
- op: replace
73-
path: /0/displayType
74-
value: dynamicList
75-
- op: add
76-
path: /0/dynamicList
77-
value:
78-
command: setMode
79-
supportedValues:
80-
value: supportedModes.value
81-
- op: remove
82-
path: /0/list
18+
metadata:
19+
mnmn: SmartThingsEdge
20+
vid: generic-rvc

drivers/SmartThings/matter-rvc/profiles/rvc-clean-mode.yml

Lines changed: 3 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -13,65 +13,6 @@ components:
1313
version: 1
1414
categories:
1515
- name: RobotCleaner
16-
deviceConfig:
17-
dashboard:
18-
states:
19-
- component: main
20-
capability: robotCleanerOperatingState
21-
version: 1
22-
detailView:
23-
- component: main
24-
capability: robotCleanerOperatingState
25-
version: 1
26-
- component: main
27-
capability: mode
28-
version: 1
29-
patch:
30-
- op: replace
31-
path: /0/list/command/supportedValues
32-
value: supportedArguments.value
33-
- component: main
34-
capability: refresh
35-
version: 1
36-
- component: main
37-
capability: firmwareUpdate
38-
version: 1
39-
automation:
40-
conditions:
41-
- component: main
42-
capability: robotCleanerOperatingState
43-
version: 1
44-
- component: main
45-
capability: mode
46-
version: 1
47-
patch:
48-
- op: replace
49-
path: /0/displayType
50-
value: dynamicList
51-
- op: add
52-
path: /0/dynamicList
53-
value:
54-
value: mode.value
55-
supportedValues:
56-
value: supportedModes.value
57-
- op: remove
58-
path: /0/list
59-
actions:
60-
- component: main
61-
capability: robotCleanerOperatingState
62-
version: 1
63-
- component: main
64-
capability: mode
65-
version: 1
66-
patch:
67-
- op: replace
68-
path: /0/displayType
69-
value: dynamicList
70-
- op: add
71-
path: /0/dynamicList
72-
value:
73-
command: setMode
74-
supportedValues:
75-
value: supportedModes.value
76-
- op: remove
77-
path: /0/list
16+
metadata:
17+
mnmn: SmartThingsEdge
18+
vid: generic-rvc

drivers/SmartThings/matter-rvc/src/init.lua

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,17 @@ local function rvc_service_area_selected_areas_handler(driver, device, ib, respo
476476
table.insert(selected_areas, areaId.value)
477477
end
478478

479+
if next(selected_areas) == nil then
480+
local supported_areas = device:get_latest_state(
481+
"main",
482+
capabilities.serviceArea.ID,
483+
capabilities.serviceArea.supportedAreas.NAME
484+
)
485+
for i, area in ipairs(supported_areas) do
486+
table.insert(selected_areas, area.areaId)
487+
end
488+
end
489+
479490
local event = capabilities.serviceArea.selectedAreas(selected_areas, {visibility = {displayed = false}})
480491
device:emit_event_for_endpoint(ib.endpoint_id, event)
481492
end

0 commit comments

Comments
 (0)