@switchbot/homebridge-switchbot 4.0.0-beta.5 → 4.0.1-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -4
- package/config.schema.json +708 -462
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/device.js +27 -4
- package/dist/device/device.js.map +1 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +1 -0
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +8 -5
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +1 -0
- package/dist/settings.js.map +1 -1
- package/docs/assets/icons.js +1 -1
- package/docs/assets/icons.svg +1 -1
- package/docs/assets/main.js +1 -1
- package/docs/assets/style.css +66 -21
- package/docs/functions/default.html +1 -1
- package/docs/index.html +1 -1
- package/docs/modules.html +1 -1
- package/package.json +4 -4
- package/src/device/device.ts +28 -5
- package/src/platform.ts +1 -0
- package/src/settings.ts +9 -5
package/docs/assets/style.css
CHANGED
|
@@ -4,11 +4,17 @@
|
|
|
4
4
|
--light-color-background-secondary: #eff0f1;
|
|
5
5
|
--light-color-warning-text: #222;
|
|
6
6
|
--light-color-background-warning: #e6e600;
|
|
7
|
-
--light-color-icon-background: var(--light-color-background);
|
|
8
7
|
--light-color-accent: #c5c7c9;
|
|
9
8
|
--light-color-active-menu-item: var(--light-color-accent);
|
|
10
9
|
--light-color-text: #222;
|
|
11
10
|
--light-color-text-aside: #6e6e6e;
|
|
11
|
+
|
|
12
|
+
--light-color-icon-background: var(--light-color-background);
|
|
13
|
+
--light-color-icon-text: var(--light-color-text);
|
|
14
|
+
|
|
15
|
+
--light-color-comment-tag-text: var(--light-color-text);
|
|
16
|
+
--light-color-comment-tag: var(--light-color-background);
|
|
17
|
+
|
|
12
18
|
--light-color-link: #1f70c2;
|
|
13
19
|
--light-color-focus-outline: #3584e4;
|
|
14
20
|
|
|
@@ -22,16 +28,17 @@
|
|
|
22
28
|
--light-color-ts-function: #572be7;
|
|
23
29
|
--light-color-ts-class: #1f70c2;
|
|
24
30
|
--light-color-ts-interface: #108024;
|
|
25
|
-
--light-color-ts-constructor:
|
|
26
|
-
--light-color-ts-property:
|
|
27
|
-
--light-color-ts-method:
|
|
31
|
+
--light-color-ts-constructor: #4d7fff;
|
|
32
|
+
--light-color-ts-property: #ff984d;
|
|
33
|
+
--light-color-ts-method: #ff4db8;
|
|
34
|
+
--light-color-ts-reference: #ff4d82;
|
|
28
35
|
--light-color-ts-call-signature: var(--light-color-ts-method);
|
|
29
36
|
--light-color-ts-index-signature: var(--light-color-ts-property);
|
|
30
37
|
--light-color-ts-constructor-signature: var(--light-color-ts-constructor);
|
|
31
38
|
--light-color-ts-parameter: var(--light-color-ts-variable);
|
|
32
39
|
/* type literal not included as links will never be generated to it */
|
|
33
40
|
--light-color-ts-type-parameter: #a55c0e;
|
|
34
|
-
--light-color-ts-accessor:
|
|
41
|
+
--light-color-ts-accessor: #ff4d4d;
|
|
35
42
|
--light-color-ts-get-signature: var(--light-color-ts-accessor);
|
|
36
43
|
--light-color-ts-set-signature: var(--light-color-ts-accessor);
|
|
37
44
|
--light-color-ts-type-alias: #d51270;
|
|
@@ -46,11 +53,17 @@
|
|
|
46
53
|
--dark-color-background-secondary: #1e2024;
|
|
47
54
|
--dark-color-background-warning: #bebe00;
|
|
48
55
|
--dark-color-warning-text: #222;
|
|
49
|
-
--dark-color-icon-background: var(--dark-color-background-secondary);
|
|
50
56
|
--dark-color-accent: #9096a2;
|
|
51
57
|
--dark-color-active-menu-item: #5d5d6a;
|
|
52
58
|
--dark-color-text: #f5f5f5;
|
|
53
59
|
--dark-color-text-aside: #dddddd;
|
|
60
|
+
|
|
61
|
+
--dark-color-icon-background: var(--dark-color-background-secondary);
|
|
62
|
+
--dark-color-icon-text: var(--dark-color-text);
|
|
63
|
+
|
|
64
|
+
--dark-color-comment-tag-text: var(--dark-color-text);
|
|
65
|
+
--dark-color-comment-tag: var(--dark-color-background);
|
|
66
|
+
|
|
54
67
|
--dark-color-link: #00aff4;
|
|
55
68
|
--dark-color-focus-outline: #4c97f2;
|
|
56
69
|
|
|
@@ -64,16 +77,17 @@
|
|
|
64
77
|
--dark-color-ts-function: #a280ff;
|
|
65
78
|
--dark-color-ts-class: #8ac4ff;
|
|
66
79
|
--dark-color-ts-interface: #6cff87;
|
|
67
|
-
--dark-color-ts-constructor:
|
|
68
|
-
--dark-color-ts-property:
|
|
69
|
-
--dark-color-ts-method:
|
|
80
|
+
--dark-color-ts-constructor: #4d7fff;
|
|
81
|
+
--dark-color-ts-property: #ff984d;
|
|
82
|
+
--dark-color-ts-method: #ff4db8;
|
|
83
|
+
--dark-color-ts-reference: #ff4d82;
|
|
70
84
|
--dark-color-ts-call-signature: var(--dark-color-ts-method);
|
|
71
85
|
--dark-color-ts-index-signature: var(--dark-color-ts-property);
|
|
72
86
|
--dark-color-ts-constructor-signature: var(--dark-color-ts-constructor);
|
|
73
87
|
--dark-color-ts-parameter: var(--dark-color-ts-variable);
|
|
74
88
|
/* type literal not included as links will never be generated to it */
|
|
75
89
|
--dark-color-ts-type-parameter: #e07d13;
|
|
76
|
-
--dark-color-ts-accessor:
|
|
90
|
+
--dark-color-ts-accessor: #ff4d4d;
|
|
77
91
|
--dark-color-ts-get-signature: var(--dark-color-ts-accessor);
|
|
78
92
|
--dark-color-ts-set-signature: var(--dark-color-ts-accessor);
|
|
79
93
|
--dark-color-ts-type-alias: #ff6492;
|
|
@@ -90,15 +104,22 @@
|
|
|
90
104
|
--color-background-secondary: var(--light-color-background-secondary);
|
|
91
105
|
--color-background-warning: var(--light-color-background-warning);
|
|
92
106
|
--color-warning-text: var(--light-color-warning-text);
|
|
93
|
-
--color-icon-background: var(--light-color-icon-background);
|
|
94
107
|
--color-accent: var(--light-color-accent);
|
|
95
108
|
--color-active-menu-item: var(--light-color-active-menu-item);
|
|
96
109
|
--color-text: var(--light-color-text);
|
|
97
110
|
--color-text-aside: var(--light-color-text-aside);
|
|
111
|
+
|
|
112
|
+
--color-icon-background: var(--light-color-icon-background);
|
|
113
|
+
--color-icon-text: var(--light-color-icon-text);
|
|
114
|
+
|
|
115
|
+
--color-comment-tag-text: var(--light-color-text);
|
|
116
|
+
--color-comment-tag: var(--light-color-background);
|
|
117
|
+
|
|
98
118
|
--color-link: var(--light-color-link);
|
|
99
119
|
--color-focus-outline: var(--light-color-focus-outline);
|
|
100
120
|
|
|
101
121
|
--color-ts-keyword: var(--light-color-ts-keyword);
|
|
122
|
+
--color-ts-project: var(--light-color-ts-project);
|
|
102
123
|
--color-ts-module: var(--light-color-ts-module);
|
|
103
124
|
--color-ts-namespace: var(--light-color-ts-namespace);
|
|
104
125
|
--color-ts-enum: var(--light-color-ts-enum);
|
|
@@ -110,6 +131,7 @@
|
|
|
110
131
|
--color-ts-constructor: var(--light-color-ts-constructor);
|
|
111
132
|
--color-ts-property: var(--light-color-ts-property);
|
|
112
133
|
--color-ts-method: var(--light-color-ts-method);
|
|
134
|
+
--color-ts-reference: var(--light-color-ts-reference);
|
|
113
135
|
--color-ts-call-signature: var(--light-color-ts-call-signature);
|
|
114
136
|
--color-ts-index-signature: var(--light-color-ts-index-signature);
|
|
115
137
|
--color-ts-constructor-signature: var(
|
|
@@ -134,15 +156,22 @@
|
|
|
134
156
|
--color-background-secondary: var(--dark-color-background-secondary);
|
|
135
157
|
--color-background-warning: var(--dark-color-background-warning);
|
|
136
158
|
--color-warning-text: var(--dark-color-warning-text);
|
|
137
|
-
--color-icon-background: var(--dark-color-icon-background);
|
|
138
159
|
--color-accent: var(--dark-color-accent);
|
|
139
160
|
--color-active-menu-item: var(--dark-color-active-menu-item);
|
|
140
161
|
--color-text: var(--dark-color-text);
|
|
141
162
|
--color-text-aside: var(--dark-color-text-aside);
|
|
163
|
+
|
|
164
|
+
--color-icon-background: var(--dark-color-icon-background);
|
|
165
|
+
--color-icon-text: var(--dark-color-icon-text);
|
|
166
|
+
|
|
167
|
+
--color-comment-tag-text: var(--dark-color-text);
|
|
168
|
+
--color-comment-tag: var(--dark-color-background);
|
|
169
|
+
|
|
142
170
|
--color-link: var(--dark-color-link);
|
|
143
171
|
--color-focus-outline: var(--dark-color-focus-outline);
|
|
144
172
|
|
|
145
173
|
--color-ts-keyword: var(--dark-color-ts-keyword);
|
|
174
|
+
--color-ts-project: var(--dark-color-ts-project);
|
|
146
175
|
--color-ts-module: var(--dark-color-ts-module);
|
|
147
176
|
--color-ts-namespace: var(--dark-color-ts-namespace);
|
|
148
177
|
--color-ts-enum: var(--dark-color-ts-enum);
|
|
@@ -154,6 +183,7 @@
|
|
|
154
183
|
--color-ts-constructor: var(--dark-color-ts-constructor);
|
|
155
184
|
--color-ts-property: var(--dark-color-ts-property);
|
|
156
185
|
--color-ts-method: var(--dark-color-ts-method);
|
|
186
|
+
--color-ts-reference: var(--dark-color-ts-reference);
|
|
157
187
|
--color-ts-call-signature: var(--dark-color-ts-call-signature);
|
|
158
188
|
--color-ts-index-signature: var(--dark-color-ts-index-signature);
|
|
159
189
|
--color-ts-constructor-signature: var(
|
|
@@ -190,10 +220,16 @@ body {
|
|
|
190
220
|
--color-active-menu-item: var(--light-color-active-menu-item);
|
|
191
221
|
--color-text: var(--light-color-text);
|
|
192
222
|
--color-text-aside: var(--light-color-text-aside);
|
|
223
|
+
--color-icon-text: var(--light-color-icon-text);
|
|
224
|
+
|
|
225
|
+
--color-comment-tag-text: var(--light-color-text);
|
|
226
|
+
--color-comment-tag: var(--light-color-background);
|
|
227
|
+
|
|
193
228
|
--color-link: var(--light-color-link);
|
|
194
229
|
--color-focus-outline: var(--light-color-focus-outline);
|
|
195
230
|
|
|
196
231
|
--color-ts-keyword: var(--light-color-ts-keyword);
|
|
232
|
+
--color-ts-project: var(--light-color-ts-project);
|
|
197
233
|
--color-ts-module: var(--light-color-ts-module);
|
|
198
234
|
--color-ts-namespace: var(--light-color-ts-namespace);
|
|
199
235
|
--color-ts-enum: var(--light-color-ts-enum);
|
|
@@ -205,6 +241,7 @@ body {
|
|
|
205
241
|
--color-ts-constructor: var(--light-color-ts-constructor);
|
|
206
242
|
--color-ts-property: var(--light-color-ts-property);
|
|
207
243
|
--color-ts-method: var(--light-color-ts-method);
|
|
244
|
+
--color-ts-reference: var(--light-color-ts-reference);
|
|
208
245
|
--color-ts-call-signature: var(--light-color-ts-call-signature);
|
|
209
246
|
--color-ts-index-signature: var(--light-color-ts-index-signature);
|
|
210
247
|
--color-ts-constructor-signature: var(
|
|
@@ -232,10 +269,16 @@ body {
|
|
|
232
269
|
--color-active-menu-item: var(--dark-color-active-menu-item);
|
|
233
270
|
--color-text: var(--dark-color-text);
|
|
234
271
|
--color-text-aside: var(--dark-color-text-aside);
|
|
272
|
+
--color-icon-text: var(--dark-color-icon-text);
|
|
273
|
+
|
|
274
|
+
--color-comment-tag-text: var(--dark-color-text);
|
|
275
|
+
--color-comment-tag: var(--dark-color-background);
|
|
276
|
+
|
|
235
277
|
--color-link: var(--dark-color-link);
|
|
236
278
|
--color-focus-outline: var(--dark-color-focus-outline);
|
|
237
279
|
|
|
238
280
|
--color-ts-keyword: var(--dark-color-ts-keyword);
|
|
281
|
+
--color-ts-project: var(--dark-color-ts-project);
|
|
239
282
|
--color-ts-module: var(--dark-color-ts-module);
|
|
240
283
|
--color-ts-namespace: var(--dark-color-ts-namespace);
|
|
241
284
|
--color-ts-enum: var(--dark-color-ts-enum);
|
|
@@ -247,6 +290,7 @@ body {
|
|
|
247
290
|
--color-ts-constructor: var(--dark-color-ts-constructor);
|
|
248
291
|
--color-ts-property: var(--dark-color-ts-property);
|
|
249
292
|
--color-ts-method: var(--dark-color-ts-method);
|
|
293
|
+
--color-ts-reference: var(--dark-color-ts-reference);
|
|
250
294
|
--color-ts-call-signature: var(--dark-color-ts-call-signature);
|
|
251
295
|
--color-ts-index-signature: var(--dark-color-ts-index-signature);
|
|
252
296
|
--color-ts-constructor-signature: var(
|
|
@@ -439,7 +483,6 @@ pre {
|
|
|
439
483
|
|
|
440
484
|
pre {
|
|
441
485
|
position: relative;
|
|
442
|
-
white-space: pre;
|
|
443
486
|
white-space: pre-wrap;
|
|
444
487
|
word-wrap: break-word;
|
|
445
488
|
padding: 10px;
|
|
@@ -860,6 +903,12 @@ a.tsd-index-link {
|
|
|
860
903
|
margin-bottom: 0.75rem;
|
|
861
904
|
}
|
|
862
905
|
|
|
906
|
+
.tsd-no-select {
|
|
907
|
+
-webkit-user-select: none;
|
|
908
|
+
-moz-user-select: none;
|
|
909
|
+
-ms-user-select: none;
|
|
910
|
+
user-select: none;
|
|
911
|
+
}
|
|
863
912
|
.tsd-kind-icon {
|
|
864
913
|
margin-right: 0.5rem;
|
|
865
914
|
width: 1.25rem;
|
|
@@ -867,10 +916,6 @@ a.tsd-index-link {
|
|
|
867
916
|
min-width: 1.25rem;
|
|
868
917
|
min-height: 1.25rem;
|
|
869
918
|
}
|
|
870
|
-
.tsd-kind-icon path {
|
|
871
|
-
transform-origin: center;
|
|
872
|
-
transform: scale(1.1);
|
|
873
|
-
}
|
|
874
919
|
.tsd-signature > .tsd-kind-icon {
|
|
875
920
|
margin-right: 0.8rem;
|
|
876
921
|
}
|
|
@@ -1242,6 +1287,9 @@ img {
|
|
|
1242
1287
|
.tsd-kind-method {
|
|
1243
1288
|
color: var(--color-ts-method);
|
|
1244
1289
|
}
|
|
1290
|
+
.tsd-kind-reference {
|
|
1291
|
+
color: var(--color-ts-reference);
|
|
1292
|
+
}
|
|
1245
1293
|
.tsd-kind-call-signature {
|
|
1246
1294
|
color: var(--color-ts-call-signature);
|
|
1247
1295
|
}
|
|
@@ -1254,9 +1302,6 @@ img {
|
|
|
1254
1302
|
.tsd-kind-parameter {
|
|
1255
1303
|
color: var(--color-ts-parameter);
|
|
1256
1304
|
}
|
|
1257
|
-
.tsd-kind-type-literal {
|
|
1258
|
-
color: var(--color-ts-type-literal);
|
|
1259
|
-
}
|
|
1260
1305
|
.tsd-kind-type-parameter {
|
|
1261
1306
|
color: var(--color-ts-type-parameter);
|
|
1262
1307
|
}
|
|
@@ -1435,7 +1480,7 @@ img {
|
|
|
1435
1480
|
}
|
|
1436
1481
|
|
|
1437
1482
|
.site-menu {
|
|
1438
|
-
margin-top: 1rem
|
|
1483
|
+
margin-top: 1rem;
|
|
1439
1484
|
}
|
|
1440
1485
|
|
|
1441
1486
|
.page-menu,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>default | @switchbot/homebridge-switchbot</title><meta name="description" content="Documentation for @switchbot/homebridge-switchbot"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@switchbot/homebridge-switchbot</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@switchbot/homebridge-switchbot</a></li><li><a href="default.html">default</a></li></ul><h1>
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>default | @switchbot/homebridge-switchbot</title><meta name="description" content="Documentation for @switchbot/homebridge-switchbot"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base=".."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="../index.html" class="title">@switchbot/homebridge-switchbot</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="../modules.html">@switchbot/homebridge-switchbot</a></li><li><a href="default.html">default</a></li></ul><h1> Functiondefault</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class="tsd-signature tsd-anchor-link"><a id="default" class="tsd-anchor"></a><span class="tsd-kind-call-signature">default</span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">api</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span><a href="#default" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-anchor"></use></svg></a></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">api</span>: <span class="tsd-signature-type">API</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/OpenWonderLabs/homebridge-switchbot/blob/301ecf66db23d5aeb5e36dbac03fda6d5fa53cce/src/index.ts#L11">index.ts:11</a></li></ul></aside></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="../assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="../assets/icons.svg#icon-1"></use></svg><span>@switchbot/homebridge-switchbot</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base=".."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
|
package/docs/index.html
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@switchbot/homebridge-switchbot</title><meta name="description" content="Documentation for @switchbot/homebridge-switchbot"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">@switchbot/homebridge-switchbot</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@switchbot/homebridge-switchbot</title><meta name="description" content="Documentation for @switchbot/homebridge-switchbot"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">@switchbot/homebridge-switchbot</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><h1>@switchbot/homebridge-switchbot</h1></div><div class="tsd-panel tsd-typography"><span align="center">
|
|
2
2
|
<p><a href="https://github.com/homebridge/verified/blob/master/verified-plugins.json"><img alt="homebridge-verified" src="https://raw.githubusercontent.com/OpenWonderLabs/homebridge-switchbot/latest/branding/Homebridge_x_SwitchBot.svg?sanitize=true" width="350px"></a></p>
|
|
3
3
|
<a id="md:switchbothomebridge-switchbot" class="tsd-anchor"></a><h1 class="tsd-anchor-link">@switchbot/homebridge-switchbot<a href="#md:switchbothomebridge-switchbot" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24"><use href="assets/icons.svg#icon-anchor"></use></svg></a></h1><p><a href="https://www.npmjs.com/package/@switchbot/homebridge-switchbot" target="_blank" class="external"><img src="https://badgen.net/npm/v/@switchbot/homebridge-switchbot" alt="npm version"></a>
|
|
4
4
|
<a href="https://www.npmjs.com/package/@switchbot/homebridge-switchbot" target="_blank" class="external"><img src="https://badgen.net/npm/dt/@switchbot/homebridge-switchbot" alt="npm downloads"></a>
|
package/docs/modules.html
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@switchbot/homebridge-switchbot</title><meta name="description" content="Documentation for @switchbot/homebridge-switchbot"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">@switchbot/homebridge-switchbot</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>@switchbot/homebridge-switchbot</title><meta name="description" content="Documentation for @switchbot/homebridge-switchbot"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="assets/style.css"/><link rel="stylesheet" href="assets/highlight.css"/><script defer src="assets/main.js"></script><script async src="assets/icons.js" id="tsd-icons-script"></script><script async src="assets/search.js" id="tsd-search-script"></script><script async src="assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><div class="table-cell" id="tsd-search" data-base="."><div class="field"><label for="tsd-search-field" class="tsd-widget tsd-toolbar-icon search no-caption"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-search"></use></svg></label><input type="text" id="tsd-search-field" aria-label="Search"/></div><div class="field"><div id="tsd-toolbar-links"></div></div><ul class="results"><li class="state loading">Preparing search index...</li><li class="state failure">The search index is not available</li></ul><a href="index.html" class="title">@switchbot/homebridge-switchbot</a></div><div class="table-cell" id="tsd-widgets"><a href="#" class="tsd-widget tsd-toolbar-icon menu no-caption" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none"><use href="assets/icons.svg#icon-menu"></use></svg></a></div></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb"><li><a href="modules.html">@switchbot/homebridge-switchbot</a></li></ul><h1>@switchbot/homebridge-switchbot</h1></div><section class="tsd-panel-group tsd-index-group"><section class="tsd-panel tsd-index-panel"><h3 class="tsd-index-heading uppercase">Index</h3><section class="tsd-index-section"><h3 class="tsd-index-heading">Functions</h3><div class="tsd-index-list"><a href="functions/default.html" class="tsd-index-link"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-64"></use></svg><span>default</span></a>
|
|
2
2
|
</div></section></section></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><h3><svg width="20" height="20" viewBox="0 0 24 24" fill="none"><use href="assets/icons.svg#icon-chevronDown"></use></svg>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="modules.html" class="current"><svg class="tsd-kind-icon" viewBox="0 0 24 24"><use href="assets/icons.svg#icon-1"></use></svg><span>@switchbot/homebridge-switchbot</span></a><ul class="tsd-small-nested-navigation" id="tsd-nav-container" data-base="."><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@switchbot/homebridge-switchbot",
|
|
3
3
|
"displayName": "SwitchBot",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "4.0.
|
|
5
|
+
"version": "4.0.1-beta.0",
|
|
6
6
|
"description": "The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.",
|
|
7
7
|
"author": "SwitchBot <support@wondertechlabs.com> (https://github.com/SwitchBot)",
|
|
8
8
|
"contributors": [
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"async-mqtt": "^2.6.3",
|
|
82
82
|
"fakegato-history": "^0.6.5",
|
|
83
83
|
"homebridge-lib": "^7.0.9",
|
|
84
|
-
"node-switchbot": "^3.
|
|
84
|
+
"node-switchbot": "^3.1.2-beta.0",
|
|
85
85
|
"rxjs": "^7.8.1"
|
|
86
86
|
},
|
|
87
87
|
"devDependencies": {
|
|
@@ -97,12 +97,12 @@
|
|
|
97
97
|
"eslint": "^9.12.0",
|
|
98
98
|
"eslint-plugin-format": "^0.1.2",
|
|
99
99
|
"homebridge": "^1.8.4",
|
|
100
|
-
"homebridge-config-ui-x": "4.
|
|
100
|
+
"homebridge-config-ui-x": "4.61.0",
|
|
101
101
|
"nodemon": "^3.1.7",
|
|
102
102
|
"npm-check-updates": "^17.1.3",
|
|
103
103
|
"shx": "^0.3.4",
|
|
104
104
|
"ts-node": "^10.9.2",
|
|
105
|
-
"typedoc": "^0.26.
|
|
105
|
+
"typedoc": "^0.26.9",
|
|
106
106
|
"typescript": "^5.6.3",
|
|
107
107
|
"vitest": "^2.1.2"
|
|
108
108
|
},
|
package/src/device/device.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type { MqttClient } from 'mqtt'
|
|
|
8
8
|
import type { ad, bodyChange, device, deviceStatus, deviceStatusRequest, pushResponse } from 'node-switchbot'
|
|
9
9
|
|
|
10
10
|
import type { SwitchBotPlatform } from '../platform.js'
|
|
11
|
-
import type { blindTiltConfig, botConfig, ceilingLightConfig, colorBulbConfig, contactConfig, curtainConfig, devicesConfig, hubConfig, humidifierConfig, indoorOutdoorSensorConfig, lockConfig, meterConfig, motionConfig, stripLightConfig, SwitchBotPlatformConfig, waterDetectorConfig } from '../settings.js'
|
|
11
|
+
import type { blindTiltConfig, botConfig, ceilingLightConfig, colorBulbConfig, contactConfig, curtainConfig, devicesConfig, hubConfig, humidifierConfig, indoorOutdoorSensorConfig, lockConfig, meterConfig, motionConfig, plugConfig, stripLightConfig, SwitchBotPlatformConfig, waterDetectorConfig } from '../settings.js'
|
|
12
12
|
|
|
13
13
|
import { hostname } from 'node:os'
|
|
14
14
|
|
|
@@ -188,7 +188,7 @@ export abstract class deviceBase {
|
|
|
188
188
|
case 'MeterPlus':
|
|
189
189
|
deviceSpecificConfig = device as meterConfig
|
|
190
190
|
break
|
|
191
|
-
case '
|
|
191
|
+
case 'WoIOSensor':
|
|
192
192
|
deviceSpecificConfig = device as indoorOutdoorSensorConfig
|
|
193
193
|
break
|
|
194
194
|
case 'Humidifier':
|
|
@@ -210,6 +210,11 @@ export abstract class deviceBase {
|
|
|
210
210
|
case 'Water Detector':
|
|
211
211
|
deviceSpecificConfig = device as waterDetectorConfig
|
|
212
212
|
break
|
|
213
|
+
case 'Plug':
|
|
214
|
+
case 'Plug Mini (US)':
|
|
215
|
+
case 'Plug Mini (JP)':
|
|
216
|
+
deviceSpecificConfig = device as plugConfig
|
|
217
|
+
break
|
|
213
218
|
case 'Color Bulb':
|
|
214
219
|
deviceSpecificConfig = device as colorBulbConfig
|
|
215
220
|
break
|
|
@@ -220,11 +225,11 @@ export abstract class deviceBase {
|
|
|
220
225
|
case 'Ceiling Light Pro':
|
|
221
226
|
deviceSpecificConfig = device as ceilingLightConfig
|
|
222
227
|
break
|
|
223
|
-
case 'Lock':
|
|
224
|
-
case 'Lock Pro':
|
|
228
|
+
case 'Smart Lock':
|
|
229
|
+
case 'Smart Lock Pro':
|
|
225
230
|
deviceSpecificConfig = device as lockConfig
|
|
226
231
|
break
|
|
227
|
-
case '
|
|
232
|
+
case 'Hub 2':
|
|
228
233
|
deviceSpecificConfig = device as hubConfig
|
|
229
234
|
break
|
|
230
235
|
default:
|
|
@@ -512,6 +517,18 @@ export abstract class deviceBase {
|
|
|
512
517
|
bleModelName: SwitchBotBLEModelName.Curtain3,
|
|
513
518
|
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain3,
|
|
514
519
|
},
|
|
520
|
+
'WoRollerShade': {
|
|
521
|
+
model: SwitchBotModel.Curtain3,
|
|
522
|
+
bleModel: SwitchBotBLEModel.Curtain3,
|
|
523
|
+
bleModelName: SwitchBotBLEModelName.Curtain3,
|
|
524
|
+
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain3,
|
|
525
|
+
},
|
|
526
|
+
'Roller Shade': {
|
|
527
|
+
model: SwitchBotModel.Curtain3,
|
|
528
|
+
bleModel: SwitchBotBLEModel.Curtain3,
|
|
529
|
+
bleModelName: SwitchBotBLEModelName.Curtain3,
|
|
530
|
+
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.Curtain3,
|
|
531
|
+
},
|
|
515
532
|
'Blind Tilt': {
|
|
516
533
|
model: SwitchBotModel.BlindTilt,
|
|
517
534
|
bleModel: SwitchBotBLEModel.BlindTilt,
|
|
@@ -560,6 +577,12 @@ export abstract class deviceBase {
|
|
|
560
577
|
bleModelName: SwitchBotBLEModelName.Unknown,
|
|
561
578
|
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown,
|
|
562
579
|
},
|
|
580
|
+
'K10+ Pro': {
|
|
581
|
+
model: SwitchBotModel.K10Pro,
|
|
582
|
+
bleModel: SwitchBotBLEModel.Unknown,
|
|
583
|
+
bleModelName: SwitchBotBLEModelName.Unknown,
|
|
584
|
+
bleModelFriendlyName: SwitchBotBLEModelFriendlyName.Unknown,
|
|
585
|
+
},
|
|
563
586
|
'WoSweeper': {
|
|
564
587
|
model: SwitchBotModel.WoSweeper,
|
|
565
588
|
bleModel: SwitchBotBLEModel.Unknown,
|
package/src/platform.ts
CHANGED
|
@@ -646,6 +646,7 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
646
646
|
'Smart Lock Pro': this.createLock.bind(this),
|
|
647
647
|
'Color Bulb': this.createColorBulb.bind(this),
|
|
648
648
|
'K10+': this.createRobotVacuumCleaner.bind(this),
|
|
649
|
+
'K10+ Pro': this.createRobotVacuumCleaner.bind(this),
|
|
649
650
|
'WoSweeper': this.createRobotVacuumCleaner.bind(this),
|
|
650
651
|
'WoSweeperMini': this.createRobotVacuumCleaner.bind(this),
|
|
651
652
|
'Robot Vacuum Cleaner S1': this.createRobotVacuumCleaner.bind(this),
|
package/src/settings.ts
CHANGED
|
@@ -53,7 +53,7 @@ export interface options {
|
|
|
53
53
|
logging?: string
|
|
54
54
|
};
|
|
55
55
|
|
|
56
|
-
export type devicesConfig = botConfig | meterConfig | indoorOutdoorSensorConfig | humidifierConfig | curtainConfig | blindTiltConfig | contactConfig | motionConfig | waterDetectorConfig | colorBulbConfig | stripLightConfig | ceilingLightConfig | lockConfig | hubConfig
|
|
56
|
+
export type devicesConfig = botConfig | meterConfig | indoorOutdoorSensorConfig | humidifierConfig | curtainConfig | blindTiltConfig | contactConfig | motionConfig | waterDetectorConfig | plugConfig | colorBulbConfig | stripLightConfig | ceilingLightConfig | lockConfig | hubConfig
|
|
57
57
|
|
|
58
58
|
export interface BaseDeviceConfig extends device {
|
|
59
59
|
bleMac?: string
|
|
@@ -104,7 +104,7 @@ export interface meterConfig extends BaseDeviceConfig {
|
|
|
104
104
|
};
|
|
105
105
|
|
|
106
106
|
export interface indoorOutdoorSensorConfig extends BaseDeviceConfig {
|
|
107
|
-
configDeviceType: '
|
|
107
|
+
configDeviceType: 'WoIOSensor'
|
|
108
108
|
hide_temperature?: boolean
|
|
109
109
|
convertUnitTo?: string
|
|
110
110
|
hide_humidity?: boolean
|
|
@@ -118,7 +118,7 @@ export interface humidifierConfig extends BaseDeviceConfig {
|
|
|
118
118
|
};
|
|
119
119
|
|
|
120
120
|
export interface curtainConfig extends BaseDeviceConfig {
|
|
121
|
-
configDeviceType: 'Curtain' | 'Curtain3'
|
|
121
|
+
configDeviceType: 'Curtain' | 'Curtain3' | 'WoRollerShade' | 'Roller Shade'
|
|
122
122
|
disable_group?: boolean
|
|
123
123
|
hide_lightsensor?: boolean
|
|
124
124
|
set_minLux?: number
|
|
@@ -167,6 +167,10 @@ export interface waterDetectorConfig extends BaseDeviceConfig {
|
|
|
167
167
|
dry?: boolean
|
|
168
168
|
};
|
|
169
169
|
|
|
170
|
+
export interface plugConfig extends BaseDeviceConfig {
|
|
171
|
+
configDeviceType: 'Plug' | 'Plug Mini (US)' | 'Plug Mini (JP)'
|
|
172
|
+
};
|
|
173
|
+
|
|
170
174
|
export interface colorBulbConfig extends BaseDeviceConfig {
|
|
171
175
|
configDeviceType: 'Color Bulb'
|
|
172
176
|
set_minStep?: number
|
|
@@ -186,13 +190,13 @@ export interface ceilingLightConfig extends BaseDeviceConfig {
|
|
|
186
190
|
};
|
|
187
191
|
|
|
188
192
|
export interface lockConfig extends BaseDeviceConfig {
|
|
189
|
-
configDeviceType: 'Lock' | 'Lock Pro'
|
|
193
|
+
configDeviceType: 'Smart Lock' | 'Smart Lock Pro'
|
|
190
194
|
hide_contactsensor?: boolean
|
|
191
195
|
activate_latchbutton?: boolean
|
|
192
196
|
};
|
|
193
197
|
|
|
194
198
|
export interface hubConfig extends BaseDeviceConfig {
|
|
195
|
-
configDeviceType: '
|
|
199
|
+
configDeviceType: 'Hub 2'
|
|
196
200
|
hide_temperature?: boolean
|
|
197
201
|
convertUnitTo?: string
|
|
198
202
|
hide_humidity?: boolean
|