Skip to content

Commit 3e79b08

Browse files
authored
Update new-matter-lock driver (#1911)
Signed-off-by: Hunsup Jung <[email protected]>
1 parent c73b411 commit 3e79b08

13 files changed

+1150
-30
lines changed
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: lock-battery
2+
components:
3+
- id: main
4+
capabilities:
5+
- id: lock
6+
version: 1
7+
config:
8+
values:
9+
- key: "lock.value"
10+
enabledValues:
11+
- locked
12+
- unlocked
13+
- not fully locked
14+
- id: lockAlarm
15+
version: 1
16+
- id: remoteControlStatus
17+
version: 1
18+
- id: battery
19+
version: 1
20+
- id: firmwareUpdate
21+
version: 1
22+
- id: refresh
23+
version: 1
24+
categories:
25+
- name: SmartLock
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: lock-batteryLevel
2+
components:
3+
- id: main
4+
capabilities:
5+
- id: lock
6+
version: 1
7+
config:
8+
values:
9+
- key: "lock.value"
10+
enabledValues:
11+
- locked
12+
- unlocked
13+
- not fully locked
14+
- id: lockAlarm
15+
version: 1
16+
- id: remoteControlStatus
17+
version: 1
18+
- id: batteryLevel
19+
version: 1
20+
- id: firmwareUpdate
21+
version: 1
22+
- id: refresh
23+
version: 1
24+
categories:
25+
- name: SmartLock
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
name: lock-unlatch-battery
2+
components:
3+
- id: main
4+
capabilities:
5+
- id: lock
6+
version: 1
7+
config:
8+
values:
9+
- key: "lock.value"
10+
enabledValues:
11+
- locked
12+
- unlocked
13+
- unlatched
14+
- not fully locked
15+
- id: lockAlarm
16+
version: 1
17+
- id: remoteControlStatus
18+
version: 1
19+
- id: battery
20+
version: 1
21+
- id: firmwareUpdate
22+
version: 1
23+
- id: refresh
24+
version: 1
25+
categories:
26+
- name: SmartLock
27+
deviceConfig:
28+
dashboard:
29+
states:
30+
- component: main
31+
capability: lock
32+
version: 1
33+
actions:
34+
- component: main
35+
capability: lock
36+
version: 1
37+
visibleCondition: {
38+
"capability": "lock",
39+
"version": "1",
40+
"component": "main",
41+
"value": "lock.value",
42+
"operator": "DOES_NOT_EQUAL",
43+
"operand": "unlatched"
44+
}
45+
detailView:
46+
- component: main
47+
capability: lock
48+
version: 1
49+
values:
50+
- key: lock.value
51+
alternatives:
52+
- key: locked
53+
type: inactive
54+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
55+
- key: unlocked
56+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
57+
- key: unlatched
58+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
59+
- key: not fully locked
60+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
61+
patch:
62+
- op: add
63+
path: /1
64+
value:
65+
capability: lock
66+
version: 1
67+
component: main
68+
label: '{{i18n.commands.unlatch.label}}'
69+
displayType: pushButton
70+
pushButton:
71+
command: unlatch
72+
- component: main
73+
capability: lockAlarm
74+
version: 1
75+
- component: main
76+
capability: remoteControlStatus
77+
version: 1
78+
- component: main
79+
capability: battery
80+
version: 1
81+
automation:
82+
conditions:
83+
- component: main
84+
capability: lock
85+
version: 1
86+
values:
87+
- key: lock.value
88+
alternatives:
89+
- key: locked
90+
type: inactive
91+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
92+
- key: unlocked
93+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
94+
- key: unlatched
95+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
96+
- key: not fully locked
97+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
98+
- component: main
99+
capability: lockAlarm
100+
version: 1
101+
- component: main
102+
capability: remoteControlStatus
103+
version: 1
104+
- component: main
105+
capability: battery
106+
version: 1
107+
actions:
108+
- component: main
109+
capability: lock
110+
version: 1
111+
values:
112+
- key: '{{enumCommands}}'
113+
alternatives:
114+
- key: lock
115+
type: inactive
116+
value: '{{i18n.commands.lock.label}}'
117+
- key: unlock
118+
value: '{{i18n.commands.unlock.label}}'
119+
- key: unlatch
120+
value: '{{i18n.commands.unlatch.label}}'
Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
name: lock-unlatch-batteryLevel
2+
components:
3+
- id: main
4+
capabilities:
5+
- id: lock
6+
version: 1
7+
config:
8+
values:
9+
- key: "lock.value"
10+
enabledValues:
11+
- locked
12+
- unlocked
13+
- unlatched
14+
- not fully locked
15+
- id: lockAlarm
16+
version: 1
17+
- id: remoteControlStatus
18+
version: 1
19+
- id: batteryLevel
20+
version: 1
21+
- id: firmwareUpdate
22+
version: 1
23+
- id: refresh
24+
version: 1
25+
categories:
26+
- name: SmartLock
27+
deviceConfig:
28+
dashboard:
29+
states:
30+
- component: main
31+
capability: lock
32+
version: 1
33+
actions:
34+
- component: main
35+
capability: lock
36+
version: 1
37+
visibleCondition: {
38+
"capability": "lock",
39+
"version": "1",
40+
"component": "main",
41+
"value": "lock.value",
42+
"operator": "DOES_NOT_EQUAL",
43+
"operand": "unlatched"
44+
}
45+
detailView:
46+
- component: main
47+
capability: lock
48+
version: 1
49+
values:
50+
- key: lock.value
51+
alternatives:
52+
- key: locked
53+
type: inactive
54+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
55+
- key: unlocked
56+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
57+
- key: unlatched
58+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
59+
- key: not fully locked
60+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
61+
patch:
62+
- op: add
63+
path: /1
64+
value:
65+
capability: lock
66+
version: 1
67+
component: main
68+
label: '{{i18n.commands.unlatch.label}}'
69+
displayType: pushButton
70+
pushButton:
71+
command: unlatch
72+
- component: main
73+
capability: lockAlarm
74+
version: 1
75+
- component: main
76+
capability: remoteControlStatus
77+
version: 1
78+
- component: main
79+
capability: batteryLevel
80+
version: 1
81+
automation:
82+
conditions:
83+
- component: main
84+
capability: lock
85+
version: 1
86+
values:
87+
- key: lock.value
88+
alternatives:
89+
- key: locked
90+
type: inactive
91+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
92+
- key: unlocked
93+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
94+
- key: unlatched
95+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
96+
- key: not fully locked
97+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
98+
- component: main
99+
capability: lockAlarm
100+
version: 1
101+
- component: main
102+
capability: remoteControlStatus
103+
version: 1
104+
- component: main
105+
capability: batteryLevel
106+
version: 1
107+
actions:
108+
- component: main
109+
capability: lock
110+
version: 1
111+
values:
112+
- key: '{{enumCommands}}'
113+
alternatives:
114+
- key: lock
115+
type: inactive
116+
value: '{{i18n.commands.lock.label}}'
117+
- key: unlock
118+
value: '{{i18n.commands.unlock.label}}'
119+
- key: unlatch
120+
value: '{{i18n.commands.unlatch.label}}'

drivers/SmartThings/matter-lock/profiles/lock-unlatch.yml

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
name: lock-unlatch
22
components:
3-
- label: Main
4-
id: main
3+
- id: main
54
capabilities:
65
- id: lock
76
version: 1
@@ -33,6 +32,14 @@ deviceConfig:
3332
- component: main
3433
capability: lock
3534
version: 1
35+
visibleCondition: {
36+
"capability": "lock",
37+
"version": "1",
38+
"component": "main",
39+
"value": "lock.value",
40+
"operator": "DOES_NOT_EQUAL",
41+
"operand": "unlatched"
42+
}
3643
detailView:
3744
- component: main
3845
capability: lock
@@ -60,6 +67,12 @@ deviceConfig:
6067
displayType: pushButton
6168
pushButton:
6269
command: unlatch
70+
- component: main
71+
capability: lockAlarm
72+
version: 1
73+
- component: main
74+
capability: remoteControlStatus
75+
version: 1
6376
automation:
6477
conditions:
6578
- component: main
@@ -77,6 +90,12 @@ deviceConfig:
7790
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
7891
- key: not fully locked
7992
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
93+
- component: main
94+
capability: lockAlarm
95+
version: 1
96+
- component: main
97+
capability: remoteControlStatus
98+
version: 1
8099
actions:
81100
- component: main
82101
capability: lock
@@ -90,4 +109,4 @@ deviceConfig:
90109
- key: unlock
91110
value: '{{i18n.commands.unlock.label}}'
92111
- key: unlatch
93-
value: '{{i18n.commands.unlatch.label}}'
112+
value: '{{i18n.commands.unlatch.label}}'

0 commit comments

Comments
 (0)