homebridge-cync-app 0.1.7 → 0.1.9
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 +13 -0
- package/dist/cync/config-client.d.ts +11 -0
- package/dist/cync/config-client.js +113 -6
- package/dist/cync/config-client.js.map +1 -1
- package/dist/cync/cync-accessory-helpers.d.ts +46 -0
- package/dist/cync/cync-accessory-helpers.js +140 -0
- package/dist/cync/cync-accessory-helpers.js.map +1 -0
- package/dist/cync/cync-client.d.ts +4 -0
- package/dist/cync/cync-client.js +150 -34
- package/dist/cync/cync-client.js.map +1 -1
- package/dist/cync/cync-light-accessory.d.ts +4 -0
- package/dist/cync/cync-light-accessory.js +190 -0
- package/dist/cync/cync-light-accessory.js.map +1 -0
- package/dist/cync/cync-switch-accessory.d.ts +4 -0
- package/dist/cync/cync-switch-accessory.js +64 -0
- package/dist/cync/cync-switch-accessory.js.map +1 -0
- package/dist/cync/device-catalog.js +9 -4
- package/dist/cync/device-catalog.js.map +1 -1
- package/dist/cync/tcp-client.d.ts +7 -0
- package/dist/cync/tcp-client.js +122 -30
- package/dist/cync/tcp-client.js.map +1 -1
- package/dist/cync/token-store.js +2 -2
- package/dist/cync/token-store.js.map +1 -1
- package/dist/platform.d.ts +1 -3
- package/dist/platform.js +18 -382
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
- package/src/cync/config-client.ts +175 -12
- package/src/cync/cync-accessory-helpers.ts +233 -0
- package/src/cync/cync-client.ts +231 -44
- package/src/cync/cync-light-accessory.ts +369 -0
- package/src/cync/cync-switch-accessory.ts +119 -0
- package/src/cync/device-catalog.ts +9 -4
- package/src/cync/tcp-client.ts +153 -53
- package/src/cync/token-store.ts +3 -2
- package/src/platform.ts +49 -661
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cync-switch-accessory.js","sourceRoot":"","sources":["../../src/cync/cync-switch-accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,22 +10,27 @@ export const DEVICE_CATALOG = {
|
|
|
10
10
|
marketingName: 'Cync reveal HD+',
|
|
11
11
|
// defaultCategory: Categories.LIGHTBULB,
|
|
12
12
|
},
|
|
13
|
+
// Legacy C by GE On/Off Smart Plug — original hardware
|
|
13
14
|
64: {
|
|
14
15
|
deviceType: 64,
|
|
15
|
-
modelName: 'Indoor Smart Plug',
|
|
16
|
-
marketingName: 'On/Off Smart Plug',
|
|
16
|
+
modelName: 'Indoor Smart Plug (CPLGSTDBLW1)',
|
|
17
|
+
marketingName: 'On/Off Smart Plug (CPLGSTDBLW1)',
|
|
18
|
+
notes: 'Legacy C by GE plug. FCC ID PUU-CPLGSTDBLW1. Original hardware revision. Final firmware 1.x.',
|
|
17
19
|
// defaultCategory: Categories.OUTLET,
|
|
18
20
|
},
|
|
21
|
+
// Legacy C by GE On/Off Smart Plug — revised hardware ("T" revision)
|
|
19
22
|
65: {
|
|
20
23
|
deviceType: 65,
|
|
21
|
-
modelName: 'Indoor Smart Plug',
|
|
22
|
-
marketingName: '
|
|
24
|
+
modelName: 'Indoor Smart Plug (CPLGSTDBLW1-T)',
|
|
25
|
+
marketingName: 'On/Off Smart Plug (CPLGSTDBLW1-T)',
|
|
26
|
+
notes: 'Legacy C by GE plug. FCC ID PUU-CPLGSTDBLW1T / HVIN CPLGSTDBLW1T. Revised hardware. Final firmware 2.x.',
|
|
23
27
|
// defaultCategory: Categories.OUTLET,
|
|
24
28
|
},
|
|
25
29
|
172: {
|
|
26
30
|
deviceType: 172,
|
|
27
31
|
modelName: 'Indoor Smart Plug (3in1)',
|
|
28
32
|
marketingName: 'Cync Indoor Smart Plug',
|
|
33
|
+
notes: 'Matter-capable hardware. Replaces legacy C by GE On/Off Smart Plug.',
|
|
29
34
|
// defaultCategory: Categories.OUTLET,
|
|
30
35
|
},
|
|
31
36
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-catalog.js","sourceRoot":"","sources":["../../src/cync/device-catalog.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAqB7B;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoC;IAC9D,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,2CAA2C;QACtD,aAAa,EAAE,iBAAiB;QAChC,yCAAyC;KACzC;IACD,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"device-catalog.js","sourceRoot":"","sources":["../../src/cync/device-catalog.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAqB7B;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoC;IAC9D,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,2CAA2C;QACtD,aAAa,EAAE,iBAAiB;QAChC,yCAAyC;KACzC;IACD,uDAAuD;IACvD,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,iCAAiC;QAC5C,aAAa,EAAE,iCAAiC;QAChD,KAAK,EAAE,8FAA8F;QACrG,sCAAsC;KACtC;IACD,qEAAqE;IACrE,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,mCAAmC;QAC9C,aAAa,EAAE,mCAAmC;QAClD,KAAK,EAAE,yGAAyG;QAChH,sCAAsC;KACtC;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,0BAA0B;QACrC,aAAa,EAAE,wBAAwB;QACvC,KAAK,EAAE,qEAAqE;QAC5E,sCAAsC;KACtC;CACD,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IACnD,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { CyncCloudConfig, CyncLogger } from './config-client.js';
|
|
|
2
2
|
export type DeviceUpdateCallback = (payload: unknown) => void;
|
|
3
3
|
export type RawFrameListener = (frame: Buffer) => void;
|
|
4
4
|
export declare class TcpClient {
|
|
5
|
+
private transportMode;
|
|
5
6
|
registerSwitchMapping(controllerId: number, deviceId: string): void;
|
|
6
7
|
private commandChain;
|
|
7
8
|
private homeDevices;
|
|
@@ -20,6 +21,10 @@ export declare class TcpClient {
|
|
|
20
21
|
private heartbeatTimer;
|
|
21
22
|
private rawFrameListeners;
|
|
22
23
|
private controllerToDevice;
|
|
24
|
+
private reconnectTimer;
|
|
25
|
+
private reconnectAttempt;
|
|
26
|
+
private connectInFlight;
|
|
27
|
+
private shuttingDown;
|
|
23
28
|
private enqueueCommand;
|
|
24
29
|
private parseSwitchStateFrame;
|
|
25
30
|
private parseLanSwitchUpdate;
|
|
@@ -37,7 +42,9 @@ export declare class TcpClient {
|
|
|
37
42
|
switchIdToHomeId: Record<number, string>;
|
|
38
43
|
}): void;
|
|
39
44
|
private ensureConnected;
|
|
45
|
+
private scheduleReconnect;
|
|
40
46
|
private establishSocket;
|
|
47
|
+
private cleanupSocket;
|
|
41
48
|
private openTlsSocket;
|
|
42
49
|
private openTcpSocket;
|
|
43
50
|
private startHeartbeat;
|
package/dist/cync/tcp-client.js
CHANGED
|
@@ -8,6 +8,7 @@ const defaultLogger = {
|
|
|
8
8
|
error: (...args) => console.error('[cync-tcp]', ...args),
|
|
9
9
|
};
|
|
10
10
|
export class TcpClient {
|
|
11
|
+
transportMode = null;
|
|
11
12
|
registerSwitchMapping(controllerId, deviceId) {
|
|
12
13
|
if (!Number.isFinite(controllerId)) {
|
|
13
14
|
return;
|
|
@@ -31,6 +32,10 @@ export class TcpClient {
|
|
|
31
32
|
heartbeatTimer = null;
|
|
32
33
|
rawFrameListeners = [];
|
|
33
34
|
controllerToDevice = new Map();
|
|
35
|
+
reconnectTimer = null;
|
|
36
|
+
reconnectAttempt = 0;
|
|
37
|
+
connectInFlight = null;
|
|
38
|
+
shuttingDown = false;
|
|
34
39
|
enqueueCommand(fn) {
|
|
35
40
|
let resolveWrapper;
|
|
36
41
|
let rejectWrapper;
|
|
@@ -122,15 +127,13 @@ export class TcpClient {
|
|
|
122
127
|
* - Actual socket creation happens in ensureConnected()/establishSocket().
|
|
123
128
|
*/
|
|
124
129
|
async connect(loginCode, config) {
|
|
130
|
+
this.shuttingDown = false;
|
|
125
131
|
this.loginCode = loginCode;
|
|
126
132
|
this.config = config;
|
|
127
133
|
if (!loginCode.length) {
|
|
128
134
|
this.log.warn('[Cync TCP] connect() called with empty loginCode; LAN control will remain disabled.');
|
|
129
135
|
return;
|
|
130
136
|
}
|
|
131
|
-
// Optional eager connect at startup; failures are logged and we rely
|
|
132
|
-
// on ensureConnected() to reconnect on demand later.
|
|
133
|
-
await this.ensureConnected();
|
|
134
137
|
}
|
|
135
138
|
applyLanTopology(topology) {
|
|
136
139
|
this.homeDevices = topology.homeDevices ?? {};
|
|
@@ -151,28 +154,77 @@ export class TcpClient {
|
|
|
151
154
|
this.log.warn('[Cync TCP] ensureConnected() called without loginCode/config; cannot open socket.');
|
|
152
155
|
return false;
|
|
153
156
|
}
|
|
154
|
-
|
|
157
|
+
if (this.connectInFlight) {
|
|
158
|
+
await this.connectInFlight;
|
|
159
|
+
return !!(this.socket && !this.socket.destroyed);
|
|
160
|
+
}
|
|
161
|
+
this.connectInFlight = this.establishSocket()
|
|
162
|
+
.finally(() => {
|
|
163
|
+
this.connectInFlight = null;
|
|
164
|
+
});
|
|
165
|
+
await this.connectInFlight;
|
|
155
166
|
return !!(this.socket && !this.socket.destroyed);
|
|
156
167
|
}
|
|
168
|
+
scheduleReconnect(reason) {
|
|
169
|
+
if (this.shuttingDown) {
|
|
170
|
+
this.log.debug('[Cync TCP] Not scheduling reconnect (shutting down): %s', reason);
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
if (this.reconnectTimer) {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
if (!this.loginCode || !this.loginCode.length || !this.config) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
const attempt = this.reconnectAttempt;
|
|
180
|
+
const delayMs = Math.min(30_000, 1_000 * Math.pow(2, attempt));
|
|
181
|
+
this.reconnectAttempt++;
|
|
182
|
+
this.log.debug('[Cync TCP] Scheduling reconnect in %dms (%s)', delayMs, reason);
|
|
183
|
+
this.reconnectTimer = setTimeout(() => {
|
|
184
|
+
this.reconnectTimer = null;
|
|
185
|
+
// Fire and forget; ensureConnected() logs failures already
|
|
186
|
+
void this.ensureConnected().catch((err) => {
|
|
187
|
+
this.log.debug('[Cync TCP] Reconnect attempt failed: %s', String(err));
|
|
188
|
+
this.scheduleReconnect('retry');
|
|
189
|
+
});
|
|
190
|
+
}, delayMs);
|
|
191
|
+
}
|
|
157
192
|
async establishSocket() {
|
|
158
193
|
const host = 'cm.gelighting.com';
|
|
159
194
|
const portTLS = 23779;
|
|
160
195
|
const portTCP = 23778;
|
|
161
196
|
this.log.info('[Cync TCP] Connecting to %s…', host);
|
|
162
197
|
let socket = null;
|
|
198
|
+
if (this.socket) {
|
|
199
|
+
this.cleanupSocket(this.socket);
|
|
200
|
+
this.socket.destroy();
|
|
201
|
+
this.socket = null;
|
|
202
|
+
}
|
|
163
203
|
try {
|
|
164
|
-
//
|
|
165
|
-
|
|
166
|
-
socket = await this.openTlsSocket(host, portTLS,
|
|
204
|
+
// If we already learned the best mode, reuse it.
|
|
205
|
+
if (this.transportMode === 'tls_relaxed') {
|
|
206
|
+
socket = await this.openTlsSocket(host, portTLS, false);
|
|
167
207
|
}
|
|
168
|
-
|
|
169
|
-
this.
|
|
208
|
+
else if (this.transportMode === 'tcp') {
|
|
209
|
+
socket = await this.openTcpSocket(host, portTCP);
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
// Default path: strict once, then downgrade and remember.
|
|
170
213
|
try {
|
|
171
|
-
socket = await this.openTlsSocket(host, portTLS,
|
|
214
|
+
socket = await this.openTlsSocket(host, portTLS, true);
|
|
215
|
+
this.transportMode = 'tls_strict';
|
|
172
216
|
}
|
|
173
|
-
catch
|
|
174
|
-
this.log.
|
|
175
|
-
|
|
217
|
+
catch {
|
|
218
|
+
this.log.debug('[Cync TCP] TLS strict failed; trying relaxed TLS…');
|
|
219
|
+
try {
|
|
220
|
+
socket = await this.openTlsSocket(host, portTLS, false);
|
|
221
|
+
this.transportMode = 'tls_relaxed';
|
|
222
|
+
}
|
|
223
|
+
catch {
|
|
224
|
+
this.log.debug('[Cync TCP] TLS relaxed failed; falling back to plain TCP…');
|
|
225
|
+
socket = await this.openTcpSocket(host, portTCP);
|
|
226
|
+
this.transportMode = 'tcp';
|
|
227
|
+
}
|
|
176
228
|
}
|
|
177
229
|
}
|
|
178
230
|
}
|
|
@@ -181,14 +233,8 @@ export class TcpClient {
|
|
|
181
233
|
this.socket = null;
|
|
182
234
|
return;
|
|
183
235
|
}
|
|
184
|
-
if (!socket) {
|
|
185
|
-
this.log.error('[Cync TCP] Socket is null after connect attempts.');
|
|
186
|
-
this.socket = null;
|
|
187
|
-
return;
|
|
188
|
-
}
|
|
189
236
|
this.socket = socket;
|
|
190
237
|
this.attachSocketListeners(this.socket);
|
|
191
|
-
// Send loginCode immediately, as HA does.
|
|
192
238
|
if (this.loginCode && this.loginCode.length > 0) {
|
|
193
239
|
this.socket.write(Buffer.from(this.loginCode));
|
|
194
240
|
this.log.info('[Cync TCP] Login code sent (%d bytes).', this.loginCode.length);
|
|
@@ -196,23 +242,50 @@ export class TcpClient {
|
|
|
196
242
|
else {
|
|
197
243
|
this.log.warn('[Cync TCP] establishSocket() reached with no loginCode; skipping auth write.');
|
|
198
244
|
}
|
|
199
|
-
// Start heartbeat: every 180 seconds send d3 00 00 00 00
|
|
200
245
|
this.startHeartbeat();
|
|
246
|
+
this.reconnectAttempt = 0;
|
|
247
|
+
if (this.reconnectTimer) {
|
|
248
|
+
clearTimeout(this.reconnectTimer);
|
|
249
|
+
this.reconnectTimer = null;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
cleanupSocket(sock) {
|
|
253
|
+
if (!sock) {
|
|
254
|
+
return;
|
|
255
|
+
}
|
|
256
|
+
sock.removeAllListeners('data');
|
|
257
|
+
sock.removeAllListeners('close');
|
|
258
|
+
sock.removeAllListeners('error');
|
|
259
|
+
// Note: caller decides whether to destroy()
|
|
201
260
|
}
|
|
202
261
|
openTlsSocket(host, port, strict) {
|
|
203
262
|
return new Promise((resolve, reject) => {
|
|
204
|
-
const sock = tls.connect({
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
}
|
|
209
|
-
|
|
263
|
+
const sock = tls.connect({ host, port, rejectUnauthorized: strict });
|
|
264
|
+
const onError = (err) => {
|
|
265
|
+
// 'secureConnect' is registered with once(); no need to remove it here.
|
|
266
|
+
reject(err);
|
|
267
|
+
};
|
|
268
|
+
const onSecure = () => {
|
|
269
|
+
sock.removeListener('error', onError);
|
|
270
|
+
resolve(sock);
|
|
271
|
+
};
|
|
272
|
+
sock.once('error', onError);
|
|
273
|
+
sock.once('secureConnect', onSecure);
|
|
210
274
|
});
|
|
211
275
|
}
|
|
212
276
|
openTcpSocket(host, port) {
|
|
213
277
|
return new Promise((resolve, reject) => {
|
|
214
|
-
const sock = net.createConnection({ host, port }
|
|
215
|
-
|
|
278
|
+
const sock = net.createConnection({ host, port });
|
|
279
|
+
const onError = (err) => {
|
|
280
|
+
// 'connect' is registered with once(); no need to remove it here.
|
|
281
|
+
reject(err);
|
|
282
|
+
};
|
|
283
|
+
const onConnect = () => {
|
|
284
|
+
sock.removeListener('error', onError);
|
|
285
|
+
resolve(sock);
|
|
286
|
+
};
|
|
287
|
+
sock.once('error', onError);
|
|
288
|
+
sock.once('connect', onConnect);
|
|
216
289
|
});
|
|
217
290
|
}
|
|
218
291
|
startHeartbeat() {
|
|
@@ -305,11 +378,18 @@ export class TcpClient {
|
|
|
305
378
|
}
|
|
306
379
|
async disconnect() {
|
|
307
380
|
this.log.info('[Cync TCP] disconnect() called.');
|
|
381
|
+
this.shuttingDown = true;
|
|
382
|
+
if (this.reconnectTimer) {
|
|
383
|
+
clearTimeout(this.reconnectTimer);
|
|
384
|
+
this.reconnectTimer = null;
|
|
385
|
+
}
|
|
386
|
+
this.reconnectAttempt = 0;
|
|
308
387
|
if (this.heartbeatTimer) {
|
|
309
388
|
clearInterval(this.heartbeatTimer);
|
|
310
389
|
this.heartbeatTimer = null;
|
|
311
390
|
}
|
|
312
391
|
if (this.socket) {
|
|
392
|
+
this.cleanupSocket(this.socket);
|
|
313
393
|
this.socket.destroy();
|
|
314
394
|
this.socket = null;
|
|
315
395
|
}
|
|
@@ -454,7 +534,19 @@ export class TcpClient {
|
|
|
454
534
|
});
|
|
455
535
|
socket.on('close', () => {
|
|
456
536
|
this.log.warn('[Cync TCP] Socket closed.');
|
|
457
|
-
this.
|
|
537
|
+
if (this.heartbeatTimer) {
|
|
538
|
+
clearInterval(this.heartbeatTimer);
|
|
539
|
+
this.heartbeatTimer = null;
|
|
540
|
+
}
|
|
541
|
+
this.cleanupSocket(socket);
|
|
542
|
+
if (this.socket === socket) {
|
|
543
|
+
this.socket = null;
|
|
544
|
+
}
|
|
545
|
+
this.reconnectAttempt = 0;
|
|
546
|
+
if (this.reconnectTimer) {
|
|
547
|
+
clearTimeout(this.reconnectTimer);
|
|
548
|
+
this.reconnectTimer = null;
|
|
549
|
+
}
|
|
458
550
|
});
|
|
459
551
|
socket.on('error', (err) => {
|
|
460
552
|
this.log.error('[Cync TCP] Socket error:', String(err));
|
|
@@ -488,7 +580,7 @@ export class TcpClient {
|
|
|
488
580
|
}
|
|
489
581
|
this.log.info('TcpClient.sendRawCommand() stub: deviceId=%s command=%s params=%o', deviceId, command, params);
|
|
490
582
|
}
|
|
491
|
-
//
|
|
583
|
+
// Incoming Frame Handler: routes LAN messages to raw + parsed callbacks
|
|
492
584
|
handleIncomingFrame(frame, type) {
|
|
493
585
|
// Fan out raw frame to higher layers (CyncClient) for debugging
|
|
494
586
|
for (const listener of this.rawFrameListeners) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tcp-client.js","sourceRoot":"","sources":["../../src/cync/tcp-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tcp-client.js","sourceRoot":"","sources":["../../src/cync/tcp-client.ts"],"names":[],"mappings":"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"}
|
package/dist/cync/token-store.js
CHANGED
|
@@ -18,8 +18,8 @@ export class CyncTokenStore {
|
|
|
18
18
|
try {
|
|
19
19
|
const raw = await fs.readFile(this.filePath, 'utf8');
|
|
20
20
|
const data = JSON.parse(raw);
|
|
21
|
-
|
|
22
|
-
if (data.expiresAt && data.expiresAt <=
|
|
21
|
+
const now = Date.now();
|
|
22
|
+
if (typeof data.expiresAt === 'number' && data.expiresAt <= now) {
|
|
23
23
|
return null;
|
|
24
24
|
}
|
|
25
25
|
return data;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../src/cync/token-store.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAWlC;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IACT,OAAO,CAAS;IAChB,QAAQ,CAAS;IAElC,YAAmB,WAAmB;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;YAE9C,
|
|
1
|
+
{"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../src/cync/token-store.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAWlC;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IACT,OAAO,CAAS;IAChB,QAAQ,CAAS;IAElC,YAAmB,WAAmB;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,qBAAqB,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,IAAI;QAChB,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;YAE9C,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,GAAG,EAAE,CAAC;gBACjE,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,IAAI,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACR,iDAAiD;YACjD,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,IAAmB;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE3C,yCAAyC;QACzC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;IAEM,KAAK,CAAC,KAAK;QACjB,IAAI,CAAC;YACJ,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACR,uCAAuC;QACxC,CAAC;IACF,CAAC;CACD"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export declare class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
7
7
|
private readonly config;
|
|
8
8
|
private readonly client;
|
|
9
9
|
private readonly tcpClient;
|
|
10
|
+
private readonly accessoryEnv;
|
|
10
11
|
private cloudConfig;
|
|
11
12
|
private readonly deviceIdToAccessory;
|
|
12
13
|
private readonly deviceLastSeen;
|
|
@@ -17,9 +18,6 @@ export declare class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
17
18
|
private isDeviceProbablyOffline;
|
|
18
19
|
private startPollingDevice;
|
|
19
20
|
private handleLanUpdate;
|
|
20
|
-
private configureCyncSwitchAccessory;
|
|
21
|
-
private configureCyncLightAccessory;
|
|
22
|
-
private applyAccessoryInformationFromCyncDevice;
|
|
23
21
|
constructor(log: Logger, config: PlatformConfig, api: API);
|
|
24
22
|
private loadCync;
|
|
25
23
|
private discoverDevices;
|