Skip to content

Commit aebfa31

Browse files
authored
Add Unlatch command and Unlatched status (Unbolt feature) (#1756)
1 parent 7fd2e7b commit aebfa31

File tree

8 files changed

+887
-83
lines changed

8 files changed

+887
-83
lines changed
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: lock-unlatch
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: firmwareUpdate
21+
version: 1
22+
- id: refresh
23+
version: 1
24+
categories:
25+
- name: SmartLock
26+
deviceConfig:
27+
dashboard:
28+
states:
29+
- component: main
30+
capability: lock
31+
version: 1
32+
actions:
33+
- component: main
34+
capability: lock
35+
version: 1
36+
detailView:
37+
- component: main
38+
capability: lock
39+
version: 1
40+
values:
41+
- key: lock.value
42+
alternatives:
43+
- key: locked
44+
type: inactive
45+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
46+
- key: unlocked
47+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
48+
- key: unlatched
49+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
50+
- key: not fully locked
51+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
52+
patch:
53+
- op: add
54+
path: /1
55+
value:
56+
capability: lock
57+
version: 1
58+
component: main
59+
label: '{{i18n.commands.unlatch.label}}'
60+
displayType: pushButton
61+
pushButton:
62+
command: unlatch
63+
automation:
64+
conditions:
65+
- component: main
66+
capability: lock
67+
version: 1
68+
values:
69+
- key: lock.value
70+
alternatives:
71+
- key: locked
72+
type: inactive
73+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
74+
- key: unlocked
75+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
76+
- key: unlatched
77+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
78+
- key: not fully locked
79+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
80+
actions:
81+
- component: main
82+
capability: lock
83+
version: 1
84+
values:
85+
- key: '{{enumCommands}}'
86+
alternatives:
87+
- key: lock
88+
type: inactive
89+
value: '{{i18n.commands.lock.label}}'
90+
- key: unlock
91+
value: '{{i18n.commands.unlock.label}}'
92+
- key: unlatch
93+
value: '{{i18n.commands.unlatch.label}}'
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
name: lock-user-pin-schedule-unlatch
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: firmwareUpdate
27+
version: 1
28+
- id: refresh
29+
version: 1
30+
categories:
31+
- name: SmartLock
32+
deviceConfig:
33+
dashboard:
34+
states:
35+
- component: main
36+
capability: lock
37+
version: 1
38+
actions:
39+
- component: main
40+
capability: lock
41+
version: 1
42+
detailView:
43+
- component: main
44+
capability: lock
45+
version: 1
46+
values:
47+
- key: lock.value
48+
alternatives:
49+
- key: locked
50+
type: inactive
51+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
52+
- key: unlocked
53+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
54+
- key: unlatched
55+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
56+
- key: not fully locked
57+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
58+
patch:
59+
- op: add
60+
path: /1
61+
value:
62+
capability: lock
63+
version: 1
64+
component: main
65+
label: '{{i18n.commands.unlatch.label}}'
66+
displayType: pushButton
67+
pushButton:
68+
command: unlatch
69+
automation:
70+
conditions:
71+
- component: main
72+
capability: lock
73+
version: 1
74+
values:
75+
- key: lock.value
76+
alternatives:
77+
- key: locked
78+
type: inactive
79+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
80+
- key: unlocked
81+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
82+
- key: unlatched
83+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
84+
- key: not fully locked
85+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
86+
actions:
87+
- component: main
88+
capability: lock
89+
version: 1
90+
values:
91+
- key: '{{enumCommands}}'
92+
alternatives:
93+
- key: lock
94+
type: inactive
95+
value: '{{i18n.commands.lock.label}}'
96+
- key: unlock
97+
value: '{{i18n.commands.unlock.label}}'
98+
- key: unlatch
99+
value: '{{i18n.commands.unlatch.label}}'
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: lock-user-pin-unlatch
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: firmwareUpdate
25+
version: 1
26+
- id: refresh
27+
version: 1
28+
categories:
29+
- name: SmartLock
30+
deviceConfig:
31+
dashboard:
32+
states:
33+
- component: main
34+
capability: lock
35+
version: 1
36+
actions:
37+
- component: main
38+
capability: lock
39+
version: 1
40+
detailView:
41+
- component: main
42+
capability: lock
43+
version: 1
44+
values:
45+
- key: lock.value
46+
alternatives:
47+
- key: locked
48+
type: inactive
49+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
50+
- key: unlocked
51+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
52+
- key: unlatched
53+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
54+
- key: not fully locked
55+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
56+
patch:
57+
- op: add
58+
path: /1
59+
value:
60+
capability: lock
61+
version: 1
62+
component: main
63+
label: '{{i18n.commands.unlatch.label}}'
64+
displayType: pushButton
65+
pushButton:
66+
command: unlatch
67+
automation:
68+
conditions:
69+
- component: main
70+
capability: lock
71+
version: 1
72+
values:
73+
- key: lock.value
74+
alternatives:
75+
- key: locked
76+
type: inactive
77+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
78+
- key: unlocked
79+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
80+
- key: unlatched
81+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
82+
- key: not fully locked
83+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
84+
actions:
85+
- component: main
86+
capability: lock
87+
version: 1
88+
values:
89+
- key: '{{enumCommands}}'
90+
alternatives:
91+
- key: lock
92+
type: inactive
93+
value: '{{i18n.commands.lock.label}}'
94+
- key: unlock
95+
value: '{{i18n.commands.unlock.label}}'
96+
- key: unlatch
97+
value: '{{i18n.commands.unlatch.label}}'
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
name: lock-user-schedule-unlatch
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: lockSchedules
23+
version: 1
24+
- id: firmwareUpdate
25+
version: 1
26+
- id: refresh
27+
version: 1
28+
categories:
29+
- name: SmartLock
30+
deviceConfig:
31+
dashboard:
32+
states:
33+
- component: main
34+
capability: lock
35+
version: 1
36+
actions:
37+
- component: main
38+
capability: lock
39+
version: 1
40+
detailView:
41+
- component: main
42+
capability: lock
43+
version: 1
44+
values:
45+
- key: lock.value
46+
alternatives:
47+
- key: locked
48+
type: inactive
49+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
50+
- key: unlocked
51+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
52+
- key: unlatched
53+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
54+
- key: not fully locked
55+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
56+
patch:
57+
- op: add
58+
path: /1
59+
value:
60+
capability: lock
61+
version: 1
62+
component: main
63+
label: '{{i18n.commands.unlatch.label}}'
64+
displayType: pushButton
65+
pushButton:
66+
command: unlatch
67+
automation:
68+
conditions:
69+
- component: main
70+
capability: lock
71+
version: 1
72+
values:
73+
- key: lock.value
74+
alternatives:
75+
- key: locked
76+
type: inactive
77+
value: '{{i18n.attributes.lock.i18n.value.locked.label}}'
78+
- key: unlocked
79+
value: '{{i18n.attributes.lock.i18n.value.unlocked.label}}'
80+
- key: unlatched
81+
value: '{{i18n.attributes.lock.i18n.value.unlatched.label}}'
82+
- key: not fully locked
83+
value: '{{i18n.attributes.lock.i18n.value.not fully locked.label}}'
84+
actions:
85+
- component: main
86+
capability: lock
87+
version: 1
88+
values:
89+
- key: '{{enumCommands}}'
90+
alternatives:
91+
- key: lock
92+
type: inactive
93+
value: '{{i18n.commands.lock.label}}'
94+
- key: unlock
95+
value: '{{i18n.commands.unlock.label}}'
96+
- key: unlatch
97+
value: '{{i18n.commands.unlatch.label}}'

0 commit comments

Comments
 (0)