Skip to content

Commit ac1c841

Browse files
committed
Update new-matter-lock driver
- Add Visible Condition to some profiles that have unlatched - Add some profiles for unlatch feature Signed-off-by: Hunsup Jung <[email protected]>
1 parent 4bfaf18 commit ac1c841

7 files changed

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

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

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

0 commit comments

Comments
 (0)