homebridge-cync-app 0.1.2 → 0.1.3
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/README.md +1 -0
- package/config.schema.json +8 -2
- package/dist/cync/config-client.d.ts +0 -4
- package/dist/cync/config-client.js +0 -1
- package/dist/cync/config-client.js.map +1 -1
- package/dist/cync/cync-client.js +2 -0
- package/dist/cync/cync-client.js.map +1 -1
- package/dist/cync/token-store.d.ts +4 -0
- package/dist/cync/token-store.js +10 -2
- package/dist/cync/token-store.js.map +1 -1
- package/eslint.config.js +5 -1
- package/homebridge-ui/public/icon.png +0 -0
- package/homebridge-ui/public/index.html +121 -0
- package/homebridge-ui/server.js +97 -0
- package/package.json +5 -3
- package/src/cync/config-client.ts +1 -6
- package/src/cync/cync-client.ts +4 -0
- package/src/cync/token-store.ts +11 -2
package/README.md
CHANGED
|
@@ -68,3 +68,4 @@ Add a platform entry to your Homebridge `config.json`:
|
|
|
68
68
|
- Switch states update independently and stay in sync between the Cync app and HomeKit.
|
|
69
69
|
- Cloud config is still used for login + topology, but ongoing control is via TCP.
|
|
70
70
|
|
|
71
|
+
**This plugin is an unofficial integration and is not affiliated with GE or Cync.**
|
package/config.schema.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"pluginAlias": "CyncAppPlatform",
|
|
3
3
|
"pluginType": "platform",
|
|
4
|
-
|
|
4
|
+
"singular": true,
|
|
5
|
+
"customUi": true,
|
|
5
6
|
"schema": {
|
|
6
7
|
"type": "object",
|
|
7
8
|
"properties": {
|
|
@@ -15,19 +16,24 @@
|
|
|
15
16
|
"title": "Cync Email",
|
|
16
17
|
"type": "string",
|
|
17
18
|
"format": "email",
|
|
19
|
+
"required": true,
|
|
20
|
+
"default": "",
|
|
18
21
|
"description": "Email address you use to sign in to the Cync app."
|
|
19
22
|
},
|
|
20
23
|
"password": {
|
|
21
24
|
"title": "Cync Password",
|
|
22
25
|
"type": "string",
|
|
23
26
|
"format": "password",
|
|
27
|
+
"required": true,
|
|
28
|
+
"default": "",
|
|
24
29
|
"description": "Password for your Cync account."
|
|
25
30
|
},
|
|
26
31
|
"twoFactor": {
|
|
27
32
|
"title": "Two-Factor Code (OTP)",
|
|
28
33
|
"type": "string",
|
|
29
34
|
"pattern": "^[0-9]{6}$",
|
|
30
|
-
"
|
|
35
|
+
"default": "",
|
|
36
|
+
"description": "Temporary 6-digit code emailed by Cync when you sign in."
|
|
31
37
|
}
|
|
32
38
|
},
|
|
33
39
|
"required": [
|
|
@@ -29,10 +29,6 @@ export interface CyncDeviceMesh {
|
|
|
29
29
|
export interface CyncCloudConfig {
|
|
30
30
|
meshes: CyncDeviceMesh[];
|
|
31
31
|
}
|
|
32
|
-
/**
|
|
33
|
-
* Very small logger interface so we can accept either the Homebridge log
|
|
34
|
-
* object or console.* functions in tests.
|
|
35
|
-
*/
|
|
36
32
|
export interface CyncLogger {
|
|
37
33
|
debug(message: string, ...args: unknown[]): void;
|
|
38
34
|
info(message: string, ...args: unknown[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-client.js","sourceRoot":"","sources":["../../src/cync/config-client.ts"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,2CAA2C;AAC3C,qFAAqF;AACrF,EAAE;AACF,+EAA+E;AAC/E,wEAAwE;AAExE,MAAM,aAAa,GAAG,gCAAgC,CAAC;AACvD,MAAM,OAAO,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"config-client.js","sourceRoot":"","sources":["../../src/cync/config-client.ts"],"names":[],"mappings":"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"}
|
package/dist/cync/cync-client.js
CHANGED
|
@@ -125,6 +125,8 @@ export class CyncClient {
|
|
|
125
125
|
// Hydrate ConfigClient + session snapshot from the freshly obtained token.
|
|
126
126
|
this.applyAccessToken(tokenData);
|
|
127
127
|
this.log.info('Cync login successful; userId=%s (token stored)', tokenData.userId);
|
|
128
|
+
this.log.info('Cync: 2FA login complete and a token has been stored. You may now clear the "twoFactor" code from the plugin config; ' +
|
|
129
|
+
'it will only be needed again if the stored token expires or is removed.');
|
|
128
130
|
return true;
|
|
129
131
|
}
|
|
130
132
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cync-client.js","sourceRoot":"","sources":["../../src/cync/cync-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cync-client.js","sourceRoot":"","sources":["../../src/cync/cync-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,8 +8,12 @@ export interface CyncTokenData {
|
|
|
8
8
|
}
|
|
9
9
|
/**
|
|
10
10
|
* Simple JSON token store under the Homebridge storage path.
|
|
11
|
+
*
|
|
12
|
+
* Files are stored at:
|
|
13
|
+
* <storagePath>/homebridge-cync-app/cync-tokens.json
|
|
11
14
|
*/
|
|
12
15
|
export declare class CyncTokenStore {
|
|
16
|
+
private readonly dirPath;
|
|
13
17
|
private readonly filePath;
|
|
14
18
|
constructor(storagePath: string);
|
|
15
19
|
load(): Promise<CyncTokenData | null>;
|
package/dist/cync/token-store.js
CHANGED
|
@@ -3,11 +3,16 @@ import { promises as fs } from 'node:fs';
|
|
|
3
3
|
import * as path from 'node:path';
|
|
4
4
|
/**
|
|
5
5
|
* Simple JSON token store under the Homebridge storage path.
|
|
6
|
+
*
|
|
7
|
+
* Files are stored at:
|
|
8
|
+
* <storagePath>/homebridge-cync-app/cync-tokens.json
|
|
6
9
|
*/
|
|
7
10
|
export class CyncTokenStore {
|
|
11
|
+
dirPath;
|
|
8
12
|
filePath;
|
|
9
13
|
constructor(storagePath) {
|
|
10
|
-
this.
|
|
14
|
+
this.dirPath = path.join(storagePath, 'homebridge-cync-app');
|
|
15
|
+
this.filePath = path.join(this.dirPath, 'cync-tokens.json');
|
|
11
16
|
}
|
|
12
17
|
async load() {
|
|
13
18
|
try {
|
|
@@ -20,11 +25,14 @@ export class CyncTokenStore {
|
|
|
20
25
|
return data;
|
|
21
26
|
}
|
|
22
27
|
catch {
|
|
28
|
+
// file missing or unreadable → treat as no token
|
|
23
29
|
return null;
|
|
24
30
|
}
|
|
25
31
|
}
|
|
26
32
|
async save(data) {
|
|
27
33
|
const json = JSON.stringify(data, null, 2);
|
|
34
|
+
// Ensure directory exists before writing
|
|
35
|
+
await fs.mkdir(this.dirPath, { recursive: true });
|
|
28
36
|
await fs.writeFile(this.filePath, json, 'utf8');
|
|
29
37
|
}
|
|
30
38
|
async clear() {
|
|
@@ -32,7 +40,7 @@ export class CyncTokenStore {
|
|
|
32
40
|
await fs.unlink(this.filePath);
|
|
33
41
|
}
|
|
34
42
|
catch {
|
|
35
|
-
// ignore if missing
|
|
43
|
+
// ignore if missing or already removed
|
|
36
44
|
}
|
|
37
45
|
}
|
|
38
46
|
}
|
|
@@ -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
|
|
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,wDAAwD;YACxD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACpD,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/eslint.config.js
CHANGED
|
Binary file
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
<!-- homebridge-ui/public/index.html -->
|
|
2
|
+
<div class="text-center mb-3">
|
|
3
|
+
<img
|
|
4
|
+
src="icon.png"
|
|
5
|
+
alt="Cync App Icon"
|
|
6
|
+
style="width: 96px; height: 96px; border-radius: 5px;"
|
|
7
|
+
/>
|
|
8
|
+
</div>
|
|
9
|
+
<div class="card card-body">
|
|
10
|
+
<div id="options" class="card-body my-3 w-75 mx-auto">
|
|
11
|
+
<div class="alert alert-warning" role="alert">
|
|
12
|
+
It is recommended to create a second Cync account and share your home
|
|
13
|
+
between accounts to avoid issues with Cync servers and the official Cync App.
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<form id="authForm" class="form-horizontal">
|
|
17
|
+
<div id="codeDiv" class="card-body my-3 w-75 mx-auto">
|
|
18
|
+
<div class="mb-3">
|
|
19
|
+
<label class="form-label" for="emailAddress">Cync Email Address</label>
|
|
20
|
+
<input class="form-control" type="email" id="emailAddress" placeholder="name@example.com" />
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<button type="button" class="btn btn-secondary text-center" id="requestCode">
|
|
24
|
+
Request 2FA Code
|
|
25
|
+
</button>
|
|
26
|
+
</div>
|
|
27
|
+
|
|
28
|
+
<div id="authDiv" class="card-body my-3 w-75 mx-auto">
|
|
29
|
+
<div class="mb-3">
|
|
30
|
+
<label class="form-label" for="password">Cync Password</label>
|
|
31
|
+
<input class="form-control" type="password" id="password" />
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
<div class="mb-3">
|
|
35
|
+
<label class="form-label" for="mfaCode">2FA Code</label>
|
|
36
|
+
<input class="form-control" type="text" id="mfaCode" />
|
|
37
|
+
</div>
|
|
38
|
+
|
|
39
|
+
<button type="button" class="btn btn-primary text-center" id="login">
|
|
40
|
+
Login
|
|
41
|
+
</button>
|
|
42
|
+
</div>
|
|
43
|
+
</form>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<script>
|
|
48
|
+
homebridge.addEventListener('ready', async () => {
|
|
49
|
+
const pluginConfig = await homebridge.getPluginConfig();
|
|
50
|
+
|
|
51
|
+
if (pluginConfig[0]) {
|
|
52
|
+
const cfg = pluginConfig[0];
|
|
53
|
+
document.getElementById('emailAddress').value =
|
|
54
|
+
cfg.username || cfg.email || '';
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
document
|
|
58
|
+
.getElementById('requestCode')
|
|
59
|
+
.addEventListener('click', () => {
|
|
60
|
+
document.getElementById('mfaCode').value = '';
|
|
61
|
+
|
|
62
|
+
const emailAddress =
|
|
63
|
+
document.getElementById('emailAddress').value || '';
|
|
64
|
+
if (!emailAddress) {
|
|
65
|
+
homebridge.toast.error('Please enter your Cync email address.');
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
homebridge
|
|
70
|
+
.request('/requestCode', { emailAddress })
|
|
71
|
+
.then(() => {
|
|
72
|
+
homebridge.toast.info(
|
|
73
|
+
`Please check your ${emailAddress} inbox for your 2FA code.`,
|
|
74
|
+
);
|
|
75
|
+
})
|
|
76
|
+
.catch((err) => {
|
|
77
|
+
homebridge.toast.error(
|
|
78
|
+
`Failed to request 2FA code: ${String(err)}`,
|
|
79
|
+
);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
document.getElementById('login').addEventListener('click', () => {
|
|
84
|
+
const payload = {
|
|
85
|
+
emailAddress: document.getElementById('emailAddress').value || '',
|
|
86
|
+
password: document.getElementById('password').value || '',
|
|
87
|
+
mfaCode: document.getElementById('mfaCode').value || '',
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
if (!payload.emailAddress || !payload.password || !payload.mfaCode) {
|
|
91
|
+
homebridge.toast.error(
|
|
92
|
+
'Please enter email, password, and 2FA code.',
|
|
93
|
+
);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
homebridge
|
|
98
|
+
.request('/login', payload)
|
|
99
|
+
.then(async (config) => {
|
|
100
|
+
if (config && config.error) {
|
|
101
|
+
homebridge.toast.error(config.error);
|
|
102
|
+
document.getElementById('password').value = '';
|
|
103
|
+
document.getElementById('mfaCode').value = '';
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
await homebridge.updatePluginConfig([config]);
|
|
108
|
+
homebridge.toast.success(
|
|
109
|
+
'You have successfully authenticated with Cync!',
|
|
110
|
+
);
|
|
111
|
+
await homebridge.savePluginConfig();
|
|
112
|
+
homebridge.closeSettings();
|
|
113
|
+
})
|
|
114
|
+
.catch((err) => {
|
|
115
|
+
homebridge.toast.error(
|
|
116
|
+
`Login failed: ${String(err)}`,
|
|
117
|
+
);
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
});
|
|
121
|
+
</script>
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
// homebridge-ui/server.js
|
|
2
|
+
import { HomebridgePluginUiServer } from '@homebridge/plugin-ui-utils';
|
|
3
|
+
import fetch from 'node-fetch';
|
|
4
|
+
|
|
5
|
+
class PluginUiServer extends HomebridgePluginUiServer {
|
|
6
|
+
constructor() {
|
|
7
|
+
super();
|
|
8
|
+
|
|
9
|
+
this.onRequest('/requestCode', this.handleRequestCode.bind(this));
|
|
10
|
+
this.onRequest('/login', this.handleLogin.bind(this));
|
|
11
|
+
|
|
12
|
+
// Tell Homebridge UI that we’re ready
|
|
13
|
+
this.ready();
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// Request a 2FA code via email
|
|
17
|
+
async handleRequestCode(payload) {
|
|
18
|
+
const email = (payload?.emailAddress || '').trim();
|
|
19
|
+
if (!email) {
|
|
20
|
+
throw new Error('Email address is required to request a 2FA code.');
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const requestBody = {
|
|
24
|
+
corp_id: '1007d2ad150c4000',
|
|
25
|
+
email,
|
|
26
|
+
local_lang: 'en-us',
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
await fetch(
|
|
30
|
+
'https://api.gelighting.com/v2/two_factor/email/verifycode',
|
|
31
|
+
{
|
|
32
|
+
method: 'POST',
|
|
33
|
+
body: JSON.stringify(requestBody),
|
|
34
|
+
headers: { 'Content-Type': 'application/json' },
|
|
35
|
+
},
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// Validate email + password + 2FA against Cync and return platform config
|
|
40
|
+
async handleLogin(payload) {
|
|
41
|
+
const email = (payload?.emailAddress || '').trim();
|
|
42
|
+
const password = (payload?.password || '').trim();
|
|
43
|
+
const mfaCode = (payload?.mfaCode || '').trim();
|
|
44
|
+
|
|
45
|
+
if (!email || !password || !mfaCode) {
|
|
46
|
+
return {
|
|
47
|
+
error: 'Email, password, and 2FA code are required.',
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const requestBody = {
|
|
52
|
+
corp_id: '1007d2ad150c4000',
|
|
53
|
+
email,
|
|
54
|
+
password,
|
|
55
|
+
two_factor: mfaCode,
|
|
56
|
+
resource: 'abcdefghijk',
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
try {
|
|
60
|
+
const response = await fetch(
|
|
61
|
+
'https://api.gelighting.com/v2/user_auth/two_factor',
|
|
62
|
+
{
|
|
63
|
+
method: 'POST',
|
|
64
|
+
body: JSON.stringify(requestBody),
|
|
65
|
+
headers: { 'Content-Type': 'application/json' },
|
|
66
|
+
},
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
const data = await response.json();
|
|
70
|
+
if (data && data.error) {
|
|
71
|
+
return {
|
|
72
|
+
error:
|
|
73
|
+
'Login failed. Please check your password and 2FA code.',
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
} catch (err) {
|
|
77
|
+
console.error('[cync-ui] Login request failed:', err);
|
|
78
|
+
return {
|
|
79
|
+
error:
|
|
80
|
+
'Login failed due to a network or server error. Please try again.',
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// At this point, Cync accepted the credentials.
|
|
85
|
+
// Return the platform config that your platform.ts expects.
|
|
86
|
+
return {
|
|
87
|
+
platform: 'CyncAppPlatform',
|
|
88
|
+
name: 'Cync App',
|
|
89
|
+
username: email,
|
|
90
|
+
password,
|
|
91
|
+
twoFactor: mfaCode,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Start the instance
|
|
97
|
+
(() => new PluginUiServer())();
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "homebridge-cync-app",
|
|
3
3
|
"displayName": "Homebridge Cync App",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.3",
|
|
6
6
|
"private": false,
|
|
7
7
|
"description": "Homebridge plugin that integrates your GE Cync account (via the Cync app/API) and exposes all supported devices: plugs, lights, switches, etc",
|
|
8
8
|
"author": "Dustin Newell",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
],
|
|
29
29
|
"main": "dist/index.js",
|
|
30
30
|
"publishConfig": {
|
|
31
|
-
|
|
31
|
+
"access": "public"
|
|
32
32
|
},
|
|
33
33
|
"homebridge": {
|
|
34
34
|
"pluginType": "platform",
|
|
@@ -45,7 +45,9 @@
|
|
|
45
45
|
"watch": "npm run build && npm link && nodemon"
|
|
46
46
|
},
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"homebridge-lib": "^7.1.12"
|
|
48
|
+
"homebridge-lib": "^7.1.12",
|
|
49
|
+
"node-fetch": "^3.3.2",
|
|
50
|
+
"@homebridge/plugin-ui-utils": "^1.0.0"
|
|
49
51
|
},
|
|
50
52
|
"devDependencies": {
|
|
51
53
|
"@eslint/js": "^9.39.1",
|
|
@@ -8,7 +8,6 @@
|
|
|
8
8
|
const CYNC_API_BASE = 'https://api.gelighting.com/v2/';
|
|
9
9
|
const CORP_ID = '1007d2ad150c4000';
|
|
10
10
|
|
|
11
|
-
// Minimal fetch/response typing for Node 18+, without depending on DOM lib types.
|
|
12
11
|
type FetchLike = (input: unknown, init?: unknown) => Promise<unknown>;
|
|
13
12
|
|
|
14
13
|
declare const fetch: FetchLike;
|
|
@@ -65,10 +64,7 @@ export interface CyncCloudConfig {
|
|
|
65
64
|
meshes: CyncDeviceMesh[];
|
|
66
65
|
}
|
|
67
66
|
|
|
68
|
-
|
|
69
|
-
* Very small logger interface so we can accept either the Homebridge log
|
|
70
|
-
* object or console.* functions in tests.
|
|
71
|
-
*/
|
|
67
|
+
|
|
72
68
|
export interface CyncLogger {
|
|
73
69
|
debug(message: string, ...args: unknown[]): void;
|
|
74
70
|
info(message: string, ...args: unknown[]): void;
|
|
@@ -151,7 +147,6 @@ export class ConfigClient {
|
|
|
151
147
|
email,
|
|
152
148
|
password,
|
|
153
149
|
two_factor: otpCode,
|
|
154
|
-
// Matches the reference implementations: random 16-char string.
|
|
155
150
|
resource: ConfigClient.randomLoginResource(),
|
|
156
151
|
};
|
|
157
152
|
|
package/src/cync/cync-client.ts
CHANGED
|
@@ -191,6 +191,10 @@ export class CyncClient {
|
|
|
191
191
|
this.applyAccessToken(tokenData);
|
|
192
192
|
|
|
193
193
|
this.log.info('Cync login successful; userId=%s (token stored)', tokenData.userId);
|
|
194
|
+
this.log.info(
|
|
195
|
+
'Cync: 2FA login complete and a token has been stored. You may now clear the "twoFactor" code from the plugin config; ' +
|
|
196
|
+
'it will only be needed again if the stored token expires or is removed.',
|
|
197
|
+
);
|
|
194
198
|
return true;
|
|
195
199
|
}
|
|
196
200
|
|
package/src/cync/token-store.ts
CHANGED
|
@@ -13,12 +13,17 @@ export interface CyncTokenData {
|
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Simple JSON token store under the Homebridge storage path.
|
|
16
|
+
*
|
|
17
|
+
* Files are stored at:
|
|
18
|
+
* <storagePath>/homebridge-cync-app/cync-tokens.json
|
|
16
19
|
*/
|
|
17
20
|
export class CyncTokenStore {
|
|
21
|
+
private readonly dirPath: string;
|
|
18
22
|
private readonly filePath: string;
|
|
19
23
|
|
|
20
24
|
public constructor(storagePath: string) {
|
|
21
|
-
this.
|
|
25
|
+
this.dirPath = path.join(storagePath, 'homebridge-cync-app');
|
|
26
|
+
this.filePath = path.join(this.dirPath, 'cync-tokens.json');
|
|
22
27
|
}
|
|
23
28
|
|
|
24
29
|
public async load(): Promise<CyncTokenData | null> {
|
|
@@ -33,12 +38,16 @@ export class CyncTokenStore {
|
|
|
33
38
|
|
|
34
39
|
return data;
|
|
35
40
|
} catch {
|
|
41
|
+
// file missing or unreadable → treat as no token
|
|
36
42
|
return null;
|
|
37
43
|
}
|
|
38
44
|
}
|
|
39
45
|
|
|
40
46
|
public async save(data: CyncTokenData): Promise<void> {
|
|
41
47
|
const json = JSON.stringify(data, null, 2);
|
|
48
|
+
|
|
49
|
+
// Ensure directory exists before writing
|
|
50
|
+
await fs.mkdir(this.dirPath, { recursive: true });
|
|
42
51
|
await fs.writeFile(this.filePath, json, 'utf8');
|
|
43
52
|
}
|
|
44
53
|
|
|
@@ -46,7 +55,7 @@ export class CyncTokenStore {
|
|
|
46
55
|
try {
|
|
47
56
|
await fs.unlink(this.filePath);
|
|
48
57
|
} catch {
|
|
49
|
-
// ignore if missing
|
|
58
|
+
// ignore if missing or already removed
|
|
50
59
|
}
|
|
51
60
|
}
|
|
52
61
|
}
|