homebridge-cync-app 0.5.1 → 0.5.2
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 +29 -13
- package/dist/cync/cync-accessory-helpers.d.ts +6 -2
- package/dist/cync/cync-accessory-helpers.js.map +1 -1
- package/dist/cync/cync-light-accessory.js +36 -4
- package/dist/cync/cync-light-accessory.js.map +1 -1
- package/dist/cync/cync-light-show-accessory.d.ts +2 -2
- package/dist/cync/cync-light-show-accessory.js +7 -4
- package/dist/cync/cync-light-show-accessory.js.map +1 -1
- package/dist/platform.js +19 -9
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
- package/src/cync/cync-accessory-helpers.ts +7 -1
- package/src/cync/cync-light-accessory.ts +49 -5
- package/src/cync/cync-light-show-accessory.ts +11 -3
- package/src/platform.ts +26 -5
package/README.md
CHANGED
|
@@ -14,9 +14,6 @@
|
|
|
14
14
|

|
|
15
15
|

|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
# homebridge-cync-app
|
|
19
|
-
|
|
20
17
|
Homebridge plugin for integrating GE Cync devices with Apple HomeKit.
|
|
21
18
|
|
|
22
19
|
This plugin connects to your Cync account, discovers supported devices automatically, and exposes them to HomeKit through Homebridge. Where supported, communication is performed locally over LAN for improved responsiveness and reliability.
|
|
@@ -28,10 +25,15 @@ This plugin connects to your Cync account, discovers supported devices automatic
|
|
|
28
25
|
- HomeKit support for GE Cync devices
|
|
29
26
|
- Automatic device discovery
|
|
30
27
|
- Support for lights, dimmers, switches, outlets, and light strips
|
|
31
|
-
- Brightness support
|
|
32
|
-
- Color temperature support
|
|
33
|
-
- RGB color support where available
|
|
34
|
-
-
|
|
28
|
+
- Brightness support
|
|
29
|
+
- Color temperature support
|
|
30
|
+
- RGB color support where available
|
|
31
|
+
- RGBIC Light Show support for compatible devices
|
|
32
|
+
- RGBIC Music Show support for compatible devices
|
|
33
|
+
- Optional HomeKit accessories for supported built-in shows
|
|
34
|
+
- Local LAN control for supported devices
|
|
35
|
+
- Reduced cloud dependency
|
|
36
|
+
- Faster state updates and command execution
|
|
35
37
|
- Child bridge compatible
|
|
36
38
|
- Homebridge UI configuration support
|
|
37
39
|
- Debug logging support for troubleshooting
|
|
@@ -40,15 +42,16 @@ This plugin connects to your Cync account, discovers supported devices automatic
|
|
|
40
42
|
|
|
41
43
|
## Supported Devices
|
|
42
44
|
|
|
43
|
-
The plugin
|
|
45
|
+
The plugin supports most common Cync lighting and power devices that are discovered through your Cync account, including:
|
|
44
46
|
|
|
45
47
|
- White bulbs
|
|
46
48
|
- Tunable white bulbs
|
|
47
49
|
- Full-color bulbs
|
|
48
|
-
-
|
|
49
|
-
- Smart plugs
|
|
50
|
+
- Dynamic RGBIC light strips
|
|
51
|
+
- Smart plugs and outlets
|
|
50
52
|
- Smart switches
|
|
51
|
-
-
|
|
53
|
+
- Smart dimmers
|
|
54
|
+
- Fan switches
|
|
52
55
|
|
|
53
56
|
New device types can often be supported quickly once identified.
|
|
54
57
|
|
|
@@ -64,7 +67,7 @@ If a device appears incorrectly in HomeKit or is missing functionality, please o
|
|
|
64
67
|
- Node.js 20 or newer
|
|
65
68
|
- Homebridge v1.8.0 or newer
|
|
66
69
|
- A GE Cync account
|
|
67
|
-
- At least one compatible Cync
|
|
70
|
+
- At least one compatible Cync device available in the Cync app
|
|
68
71
|
|
|
69
72
|
---
|
|
70
73
|
|
|
@@ -129,6 +132,19 @@ If a device is not discovered:
|
|
|
129
132
|
- Product screenshot or link
|
|
130
133
|
- Relevant logs
|
|
131
134
|
|
|
135
|
+
|
|
136
|
+
### Authentication Issues
|
|
137
|
+
|
|
138
|
+
If the **Request Verification Code** button appears unresponsive, verify that content blockers, privacy extensions, or similar browser protections are not blocking requests from the Homebridge UI.
|
|
139
|
+
|
|
140
|
+
Some users have reported that Safari's built-in content blocking features can prevent authentication actions from completing. If the button does not appear to do anything:
|
|
141
|
+
|
|
142
|
+
1. Temporarily disable content blockers for the Homebridge UI
|
|
143
|
+
2. Refresh the page
|
|
144
|
+
3. Request a new verification code again
|
|
145
|
+
|
|
146
|
+
If problems persist, try a different browser and review the browser developer console for errors.
|
|
147
|
+
|
|
132
148
|
## Contributing
|
|
133
149
|
|
|
134
150
|
Issues and pull requests are welcome.
|
|
@@ -150,7 +166,7 @@ Special thanks to:
|
|
|
150
166
|
|
|
151
167
|
- [Homebridge](https://homebridge.io)
|
|
152
168
|
- [nikshriv/cync_lights](https://github.com/nikshriv/cync_lights) for extensive device support research and protocol implementation reference work
|
|
153
|
-
-
|
|
169
|
+
- Community members who provided device access, logs, testing, and protocol captures
|
|
154
170
|
|
|
155
171
|
---
|
|
156
172
|
|
|
@@ -8,6 +8,7 @@ export interface CyncCapabilityProfile {
|
|
|
8
8
|
supportsCt: boolean;
|
|
9
9
|
source: 'deviceType' | 'cloud' | 'lan';
|
|
10
10
|
}
|
|
11
|
+
export type CyncLightShowKind = 'built-in-light' | 'custom-light' | 'custom-multicolor';
|
|
11
12
|
export interface CyncAccessoryContext {
|
|
12
13
|
cync?: {
|
|
13
14
|
meshId: string;
|
|
@@ -39,8 +40,11 @@ export interface CyncAccessoryEnv {
|
|
|
39
40
|
markDeviceSeen(deviceId: string): void;
|
|
40
41
|
startPollingDevice(deviceId: string): void;
|
|
41
42
|
registerAccessoryForDevice(deviceId: string, accessory: PlatformAccessory): void;
|
|
42
|
-
registerLightShowAccessoryForDevice?: (deviceId: string, accessory: PlatformAccessory, showIndex: number) => void;
|
|
43
|
-
markActiveLightShowForDevice?: (deviceId: string,
|
|
43
|
+
registerLightShowAccessoryForDevice?: (deviceId: string, accessory: PlatformAccessory, showIndex: number, showKind: CyncLightShowKind) => void;
|
|
44
|
+
markActiveLightShowForDevice?: (deviceId: string, activeShow: {
|
|
45
|
+
index: number;
|
|
46
|
+
kind: CyncLightShowKind;
|
|
47
|
+
} | null) => void;
|
|
44
48
|
registerMusicShowAccessoryForDevice?: (deviceId: string, accessory: PlatformAccessory, showIndex: number) => void;
|
|
45
49
|
markActiveMusicShowForDevice?: (deviceId: string, activeShowIndex: number | null) => void;
|
|
46
50
|
clearActiveShowsForDevice?: (deviceId: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cync-accessory-helpers.js","sourceRoot":"","sources":["../../src/cync/cync-accessory-helpers.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"cync-accessory-helpers.js","sourceRoot":"","sources":["../../src/cync/cync-accessory-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,7 @@ export function configureCyncLightAccessory(env, mesh, device, accessory, device
|
|
|
70
70
|
env.markDeviceSeen(deviceId);
|
|
71
71
|
env.startPollingDevice(deviceId);
|
|
72
72
|
const Characteristic = env.api.hap.Characteristic;
|
|
73
|
+
let pendingPowerOnRestore;
|
|
73
74
|
// ----- On/Off -----
|
|
74
75
|
service
|
|
75
76
|
.getCharacteristic(Characteristic.On)
|
|
@@ -102,20 +103,38 @@ export function configureCyncLightAccessory(env, mesh, device, accessory, device
|
|
|
102
103
|
cyncMeta.on = on;
|
|
103
104
|
cyncMeta.powerCommandId = (cyncMeta.powerCommandId ?? 0) + 1;
|
|
104
105
|
const powerCommandId = cyncMeta.powerCommandId;
|
|
106
|
+
pendingPowerOnRestore =
|
|
107
|
+
on &&
|
|
108
|
+
typeof restoreBrightness === 'number' &&
|
|
109
|
+
restoreBrightness > 0 &&
|
|
110
|
+
restoreBrightness < 100
|
|
111
|
+
? { brightness: restoreBrightness, commandId: powerCommandId }
|
|
112
|
+
: undefined;
|
|
105
113
|
try {
|
|
106
114
|
await env.tcpClient.setSwitchState(cyncMeta.deviceId, { on });
|
|
115
|
+
if (!on) {
|
|
116
|
+
env.clearActiveShowsForDevice?.(cyncMeta.deviceId);
|
|
117
|
+
}
|
|
107
118
|
if (on &&
|
|
108
119
|
typeof restoreBrightness === 'number' &&
|
|
109
120
|
restoreBrightness > 0 &&
|
|
110
121
|
restoreBrightness < 100) {
|
|
111
122
|
await delay(POWER_ON_BRIGHTNESS_RESTORE_DELAY_MS);
|
|
112
|
-
if (
|
|
123
|
+
if (pendingPowerOnRestore?.commandId === powerCommandId &&
|
|
124
|
+
cyncMeta.powerCommandId === powerCommandId &&
|
|
125
|
+
cyncMeta.on === true) {
|
|
113
126
|
await restoreBrightnessAfterPowerOn(env, cyncMeta, deviceName, restoreBrightness);
|
|
114
127
|
}
|
|
128
|
+
if (pendingPowerOnRestore?.commandId === powerCommandId) {
|
|
129
|
+
pendingPowerOnRestore = undefined;
|
|
130
|
+
}
|
|
115
131
|
}
|
|
116
132
|
env.markDeviceSeen(cyncMeta.deviceId);
|
|
117
133
|
}
|
|
118
134
|
catch (err) {
|
|
135
|
+
if (pendingPowerOnRestore?.commandId === powerCommandId) {
|
|
136
|
+
pendingPowerOnRestore = undefined;
|
|
137
|
+
}
|
|
119
138
|
env.log.warn('Cync: Light On.set failed for %s (deviceId=%s): %s', deviceName, cyncMeta.deviceId, err.message ?? String(err));
|
|
120
139
|
throw new env.api.hap.HapStatusError(-70402 /* env.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
|
|
121
140
|
}
|
|
@@ -125,9 +144,14 @@ export function configureCyncLightAccessory(env, mesh, device, accessory, device
|
|
|
125
144
|
.getCharacteristic(Characteristic.Brightness)
|
|
126
145
|
.onGet(() => {
|
|
127
146
|
const current = ctx.cync?.brightness;
|
|
128
|
-
const
|
|
129
|
-
|
|
130
|
-
|
|
147
|
+
const lastNonZero = ctx.cync?.lastNonZeroBrightness;
|
|
148
|
+
let cachedBrightness = (ctx.cync?.on ?? false) ? 100 : 0;
|
|
149
|
+
if (ctx.cync?.on === false && typeof lastNonZero === 'number') {
|
|
150
|
+
cachedBrightness = lastNonZero;
|
|
151
|
+
}
|
|
152
|
+
else if (typeof current === 'number') {
|
|
153
|
+
cachedBrightness = current;
|
|
154
|
+
}
|
|
131
155
|
if (env.isDeviceProbablyOffline(deviceId)) {
|
|
132
156
|
env.log.debug('Cync: Light Brightness.get offline-heuristic hit; returning cached=%d for %s (deviceId=%s)', cachedBrightness, deviceName, deviceId);
|
|
133
157
|
return cachedBrightness;
|
|
@@ -145,6 +169,14 @@ export function configureCyncLightAccessory(env, mesh, device, accessory, device
|
|
|
145
169
|
env.log.warn('Cync: Light Brightness.set received invalid value=%o for %s (deviceId=%s)', value, deviceName, cyncMeta.deviceId);
|
|
146
170
|
return;
|
|
147
171
|
}
|
|
172
|
+
if (brightness === 100 &&
|
|
173
|
+
pendingPowerOnRestore &&
|
|
174
|
+
pendingPowerOnRestore.brightness < 100) {
|
|
175
|
+
env.log.debug('Cync: Light Brightness.set suppressing companion 100%% while restoring %d for %s (deviceId=%s)', pendingPowerOnRestore.brightness, deviceName, cyncMeta.deviceId);
|
|
176
|
+
service.updateCharacteristic(Characteristic.Brightness, pendingPowerOnRestore.brightness);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
pendingPowerOnRestore = undefined;
|
|
148
180
|
// Optimistic cache
|
|
149
181
|
cyncMeta.brightness = brightness;
|
|
150
182
|
cyncMeta.on = brightness > 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cync-light-accessory.js","sourceRoot":"","sources":["../../src/cync/cync-light-accessory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cync-light-accessory.js","sourceRoot":"","sources":["../../src/cync/cync-light-accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { PlatformAccessory } from 'homebridge';
|
|
2
|
-
import type { CyncAccessoryEnv } from './cync-accessory-helpers.js';
|
|
2
|
+
import type { CyncAccessoryEnv, CyncLightShowKind } from './cync-accessory-helpers.js';
|
|
3
3
|
export declare const BUILT_IN_CYNC_LIGHT_SHOWS: readonly [{
|
|
4
4
|
readonly index: 1;
|
|
5
5
|
readonly name: "Candle";
|
|
@@ -34,4 +34,4 @@ export declare const BUILT_IN_CYNC_LIGHT_SHOWS: readonly [{
|
|
|
34
34
|
readonly index: 67;
|
|
35
35
|
readonly name: "Cyber";
|
|
36
36
|
}];
|
|
37
|
-
export declare function configureCyncLightShowAccessory(env: CyncAccessoryEnv, _mesh: unknown, _device: unknown, accessory: PlatformAccessory, accessoryName: string, deviceId: string, lightShow: Record<string, unknown>, activateLightShow: (deviceId: string, showIndex: number) => Promise<boolean>): void;
|
|
37
|
+
export declare function configureCyncLightShowAccessory(env: CyncAccessoryEnv, _mesh: unknown, _device: unknown, accessory: PlatformAccessory, accessoryName: string, deviceId: string, lightShow: Record<string, unknown>, showKind: CyncLightShowKind, activateLightShow: (deviceId: string, showIndex: number) => Promise<boolean>): void;
|
|
@@ -12,14 +12,14 @@ export const BUILT_IN_CYNC_LIGHT_SHOWS = [
|
|
|
12
12
|
{ index: 65, name: 'Power Up' },
|
|
13
13
|
{ index: 67, name: 'Cyber' },
|
|
14
14
|
];
|
|
15
|
-
export function configureCyncLightShowAccessory(env, _mesh, _device, accessory, accessoryName, deviceId, lightShow, activateLightShow) {
|
|
15
|
+
export function configureCyncLightShowAccessory(env, _mesh, _device, accessory, accessoryName, deviceId, lightShow, showKind, activateLightShow) {
|
|
16
16
|
const Service = env.api.hap.Service;
|
|
17
17
|
const Characteristic = env.api.hap.Characteristic;
|
|
18
18
|
const showIndex = typeof lightShow.index === 'number'
|
|
19
19
|
? lightShow.index
|
|
20
20
|
: undefined;
|
|
21
21
|
if (showIndex !== undefined) {
|
|
22
|
-
env.registerLightShowAccessoryForDevice?.(deviceId, accessory, showIndex);
|
|
22
|
+
env.registerLightShowAccessoryForDevice?.(deviceId, accessory, showIndex, showKind);
|
|
23
23
|
}
|
|
24
24
|
accessory.context.lightShowActive =
|
|
25
25
|
accessory.context.lightShowActive === true;
|
|
@@ -28,7 +28,7 @@ export function configureCyncLightShowAccessory(env, _mesh, _device, accessory,
|
|
|
28
28
|
const informationService = accessory.getService(Service.AccessoryInformation);
|
|
29
29
|
informationService?.setCharacteristic(Characteristic.Manufacturer, 'Savant');
|
|
30
30
|
informationService?.setCharacteristic(Characteristic.Model, 'Cync Light Show');
|
|
31
|
-
informationService?.setCharacteristic(Characteristic.SerialNumber, `${deviceId}-${String(lightShow.index ?? 'unknown')}`);
|
|
31
|
+
informationService?.setCharacteristic(Characteristic.SerialNumber, `${deviceId}-${showKind}-${String(lightShow.index ?? 'unknown')}`);
|
|
32
32
|
service.setCharacteristic(Characteristic.Name, accessoryName);
|
|
33
33
|
service
|
|
34
34
|
.getCharacteristic(Characteristic.On)
|
|
@@ -45,7 +45,10 @@ export function configureCyncLightShowAccessory(env, _mesh, _device, accessory,
|
|
|
45
45
|
env.log.info('Cync Light Show requested: device=%s show=%s index=%d', deviceId, String(lightShow.name ?? 'Unknown'), showIndex);
|
|
46
46
|
const activated = await activateLightShow(deviceId, showIndex);
|
|
47
47
|
if (activated) {
|
|
48
|
-
env.markActiveLightShowForDevice?.(deviceId,
|
|
48
|
+
env.markActiveLightShowForDevice?.(deviceId, {
|
|
49
|
+
index: showIndex,
|
|
50
|
+
kind: showKind,
|
|
51
|
+
});
|
|
49
52
|
env.setMainAccessoryOnForDevice?.(deviceId, true);
|
|
50
53
|
}
|
|
51
54
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cync-light-show-accessory.js","sourceRoot":"","sources":["../../src/cync/cync-light-show-accessory.ts"],"names":[],"mappings":"AAAA,wCAAwC;
|
|
1
|
+
{"version":3,"file":"cync-light-show-accessory.js","sourceRoot":"","sources":["../../src/cync/cync-light-show-accessory.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.js
CHANGED
|
@@ -142,24 +142,26 @@ export class CyncAppPlatform {
|
|
|
142
142
|
markDeviceSeen(deviceId) {
|
|
143
143
|
this.deviceLastSeen.set(deviceId, Date.now());
|
|
144
144
|
}
|
|
145
|
-
registerLightShowAccessoryForDevice(deviceId, accessory, showIndex) {
|
|
145
|
+
registerLightShowAccessoryForDevice(deviceId, accessory, showIndex, showKind) {
|
|
146
146
|
const existing = this.lightShowServicesByDeviceId.get(deviceId) ?? [];
|
|
147
147
|
const withoutDuplicate = existing.filter(entry => entry.accessory.UUID !== accessory.UUID);
|
|
148
|
-
withoutDuplicate.push({ accessory, showIndex });
|
|
148
|
+
withoutDuplicate.push({ accessory, showIndex, showKind });
|
|
149
149
|
this.lightShowServicesByDeviceId.set(deviceId, withoutDuplicate);
|
|
150
150
|
}
|
|
151
|
-
markActiveLightShowForDevice(deviceId,
|
|
151
|
+
markActiveLightShowForDevice(deviceId, activeShow) {
|
|
152
152
|
const lightEntries = this.lightShowServicesByDeviceId.get(deviceId) ?? [];
|
|
153
153
|
const musicEntries = this.musicShowServicesByDeviceId.get(deviceId) ?? [];
|
|
154
154
|
const Characteristic = this.api.hap.Characteristic;
|
|
155
155
|
const Service = this.api.hap.Service;
|
|
156
156
|
for (const entry of lightEntries) {
|
|
157
|
-
const active =
|
|
157
|
+
const active = activeShow !== null &&
|
|
158
|
+
entry.showIndex === activeShow.index &&
|
|
159
|
+
entry.showKind === activeShow.kind;
|
|
158
160
|
entry.accessory.context.lightShowActive = active;
|
|
159
161
|
const service = entry.accessory.getService(Service.Switch);
|
|
160
162
|
service?.updateCharacteristic(Characteristic.On, active);
|
|
161
163
|
}
|
|
162
|
-
if (
|
|
164
|
+
if (activeShow !== null) {
|
|
163
165
|
for (const entry of musicEntries) {
|
|
164
166
|
entry.accessory.context.musicShowActive = false;
|
|
165
167
|
const service = entry.accessory.getService(Service.Switch);
|
|
@@ -245,6 +247,9 @@ export class CyncAppPlatform {
|
|
|
245
247
|
if (lightService || outletService || switchService) {
|
|
246
248
|
primaryService.updateCharacteristic(Characteristic.On, update.on);
|
|
247
249
|
}
|
|
250
|
+
if (!update.on) {
|
|
251
|
+
this.clearActiveShowsForDevice(update.deviceId);
|
|
252
|
+
}
|
|
248
253
|
if (outletService && outletService.testCharacteristic(Characteristic.OutletInUse)) {
|
|
249
254
|
outletService.updateCharacteristic(Characteristic.OutletInUse, update.on);
|
|
250
255
|
}
|
|
@@ -286,7 +291,12 @@ export class CyncAppPlatform {
|
|
|
286
291
|
}
|
|
287
292
|
this.log.debug('Cync: LAN update -> %s brightness=%d (deviceId=%s)', accessory.displayName, brightnessPct, update.deviceId);
|
|
288
293
|
if (lightService.testCharacteristic(Characteristic.Brightness)) {
|
|
289
|
-
|
|
294
|
+
const homeKitBrightness = brightnessPct > 0
|
|
295
|
+
? brightnessPct
|
|
296
|
+
: ctx.cync.lastNonZeroBrightness;
|
|
297
|
+
if (typeof homeKitBrightness === 'number') {
|
|
298
|
+
lightService.updateCharacteristic(Characteristic.Brightness, homeKitBrightness);
|
|
299
|
+
}
|
|
290
300
|
}
|
|
291
301
|
}
|
|
292
302
|
}
|
|
@@ -573,7 +583,7 @@ export class CyncAppPlatform {
|
|
|
573
583
|
lightShowAccessory.context.lightShow = lightShow;
|
|
574
584
|
lightShowAccessory.context.parentDeviceId = deviceId;
|
|
575
585
|
lightShowAccessory.context.showKind = 'built-in-light';
|
|
576
|
-
configureCyncLightShowAccessory(this.accessoryEnv, mesh, device, lightShowAccessory, lightShowName, deviceId, lightShow, (showDeviceId, showIndex) => this.client.activateLightShow(showDeviceId, showIndex));
|
|
586
|
+
configureCyncLightShowAccessory(this.accessoryEnv, mesh, device, lightShowAccessory, lightShowName, deviceId, lightShow, 'built-in-light', (showDeviceId, showIndex) => this.client.activateLightShow(showDeviceId, showIndex));
|
|
577
587
|
}
|
|
578
588
|
}
|
|
579
589
|
const enabledMusicShowIndexes = this.getEnabledMusicShowIndexes();
|
|
@@ -624,7 +634,7 @@ export class CyncAppPlatform {
|
|
|
624
634
|
customLightShowAccessory.context.lightShow = customLightShow;
|
|
625
635
|
customLightShowAccessory.context.parentDeviceId = deviceId;
|
|
626
636
|
customLightShowAccessory.context.showKind = 'custom-light';
|
|
627
|
-
configureCyncLightShowAccessory(this.accessoryEnv, mesh, device, customLightShowAccessory, customLightShowName, deviceId, customLightShow, (showDeviceId, showIndex) => this.client.activateLightShow(showDeviceId, showIndex));
|
|
637
|
+
configureCyncLightShowAccessory(this.accessoryEnv, mesh, device, customLightShowAccessory, customLightShowName, deviceId, customLightShow, 'custom-light', (showDeviceId, showIndex) => this.client.activateLightShow(showDeviceId, showIndex));
|
|
628
638
|
}
|
|
629
639
|
for (const customMultiColorScheme of customMultiColorSchemes) {
|
|
630
640
|
const schemeIndex = customMultiColorScheme.index;
|
|
@@ -642,7 +652,7 @@ export class CyncAppPlatform {
|
|
|
642
652
|
customMultiColorSchemeAccessory.context.lightShow = customMultiColorScheme;
|
|
643
653
|
customMultiColorSchemeAccessory.context.parentDeviceId = deviceId;
|
|
644
654
|
customMultiColorSchemeAccessory.context.showKind = 'custom-multicolor';
|
|
645
|
-
configureCyncLightShowAccessory(this.accessoryEnv, mesh, device, customMultiColorSchemeAccessory, customMultiColorSchemeName, deviceId, customMultiColorScheme, (showDeviceId, showIndex) => this.client.activateMultiColorScheme(showDeviceId, showIndex));
|
|
655
|
+
configureCyncLightShowAccessory(this.accessoryEnv, mesh, device, customMultiColorSchemeAccessory, customMultiColorSchemeName, deviceId, customMultiColorScheme, 'custom-multicolor', (showDeviceId, showIndex) => this.client.activateMultiColorScheme(showDeviceId, showIndex));
|
|
646
656
|
}
|
|
647
657
|
for (const customMusicShow of customMusicShows) {
|
|
648
658
|
const showIndex = customMusicShow.index;
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
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.5.
|
|
5
|
+
"version": "0.5.2",
|
|
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",
|
|
@@ -34,6 +34,11 @@ export interface CyncCapabilityProfile {
|
|
|
34
34
|
source: 'deviceType' | 'cloud' | 'lan';
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
export type CyncLightShowKind =
|
|
38
|
+
| 'built-in-light'
|
|
39
|
+
| 'custom-light'
|
|
40
|
+
| 'custom-multicolor';
|
|
41
|
+
|
|
37
42
|
// Context stored on the accessory
|
|
38
43
|
export interface CyncAccessoryContext {
|
|
39
44
|
cync?: {
|
|
@@ -76,11 +81,12 @@ export interface CyncAccessoryEnv {
|
|
|
76
81
|
deviceId: string,
|
|
77
82
|
accessory: PlatformAccessory,
|
|
78
83
|
showIndex: number,
|
|
84
|
+
showKind: CyncLightShowKind,
|
|
79
85
|
) => void;
|
|
80
86
|
|
|
81
87
|
markActiveLightShowForDevice?: (
|
|
82
88
|
deviceId: string,
|
|
83
|
-
|
|
89
|
+
activeShow: { index: number; kind: CyncLightShowKind } | null,
|
|
84
90
|
) => void;
|
|
85
91
|
|
|
86
92
|
registerMusicShowAccessoryForDevice?: (
|
|
@@ -138,6 +138,7 @@ export function configureCyncLightAccessory(
|
|
|
138
138
|
env.startPollingDevice(deviceId);
|
|
139
139
|
|
|
140
140
|
const Characteristic = env.api.hap.Characteristic;
|
|
141
|
+
let pendingPowerOnRestore: { brightness: number; commandId: number } | undefined;
|
|
141
142
|
|
|
142
143
|
// ----- On/Off -----
|
|
143
144
|
service
|
|
@@ -198,9 +199,19 @@ export function configureCyncLightAccessory(
|
|
|
198
199
|
cyncMeta.on = on;
|
|
199
200
|
cyncMeta.powerCommandId = (cyncMeta.powerCommandId ?? 0) + 1;
|
|
200
201
|
const powerCommandId = cyncMeta.powerCommandId;
|
|
202
|
+
pendingPowerOnRestore =
|
|
203
|
+
on &&
|
|
204
|
+
typeof restoreBrightness === 'number' &&
|
|
205
|
+
restoreBrightness > 0 &&
|
|
206
|
+
restoreBrightness < 100
|
|
207
|
+
? { brightness: restoreBrightness, commandId: powerCommandId }
|
|
208
|
+
: undefined;
|
|
201
209
|
|
|
202
210
|
try {
|
|
203
211
|
await env.tcpClient.setSwitchState(cyncMeta.deviceId, { on });
|
|
212
|
+
if (!on) {
|
|
213
|
+
env.clearActiveShowsForDevice?.(cyncMeta.deviceId);
|
|
214
|
+
}
|
|
204
215
|
|
|
205
216
|
if (
|
|
206
217
|
on &&
|
|
@@ -209,7 +220,11 @@ export function configureCyncLightAccessory(
|
|
|
209
220
|
restoreBrightness < 100
|
|
210
221
|
) {
|
|
211
222
|
await delay(POWER_ON_BRIGHTNESS_RESTORE_DELAY_MS);
|
|
212
|
-
if (
|
|
223
|
+
if (
|
|
224
|
+
pendingPowerOnRestore?.commandId === powerCommandId &&
|
|
225
|
+
cyncMeta.powerCommandId === powerCommandId &&
|
|
226
|
+
cyncMeta.on === true
|
|
227
|
+
) {
|
|
213
228
|
await restoreBrightnessAfterPowerOn(
|
|
214
229
|
env,
|
|
215
230
|
cyncMeta,
|
|
@@ -217,10 +232,16 @@ export function configureCyncLightAccessory(
|
|
|
217
232
|
restoreBrightness,
|
|
218
233
|
);
|
|
219
234
|
}
|
|
235
|
+
if (pendingPowerOnRestore?.commandId === powerCommandId) {
|
|
236
|
+
pendingPowerOnRestore = undefined;
|
|
237
|
+
}
|
|
220
238
|
}
|
|
221
239
|
|
|
222
240
|
env.markDeviceSeen(cyncMeta.deviceId);
|
|
223
241
|
} catch (err) {
|
|
242
|
+
if (pendingPowerOnRestore?.commandId === powerCommandId) {
|
|
243
|
+
pendingPowerOnRestore = undefined;
|
|
244
|
+
}
|
|
224
245
|
env.log.warn(
|
|
225
246
|
'Cync: Light On.set failed for %s (deviceId=%s): %s',
|
|
226
247
|
deviceName,
|
|
@@ -239,11 +260,14 @@ export function configureCyncLightAccessory(
|
|
|
239
260
|
.getCharacteristic(Characteristic.Brightness)
|
|
240
261
|
.onGet(() => {
|
|
241
262
|
const current = ctx.cync?.brightness;
|
|
263
|
+
const lastNonZero = ctx.cync?.lastNonZeroBrightness;
|
|
264
|
+
let cachedBrightness = (ctx.cync?.on ?? false) ? 100 : 0;
|
|
242
265
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
266
|
+
if (ctx.cync?.on === false && typeof lastNonZero === 'number') {
|
|
267
|
+
cachedBrightness = lastNonZero;
|
|
268
|
+
} else if (typeof current === 'number') {
|
|
269
|
+
cachedBrightness = current;
|
|
270
|
+
}
|
|
247
271
|
|
|
248
272
|
if (env.isDeviceProbablyOffline(deviceId)) {
|
|
249
273
|
env.log.debug(
|
|
@@ -280,6 +304,26 @@ export function configureCyncLightAccessory(
|
|
|
280
304
|
return;
|
|
281
305
|
}
|
|
282
306
|
|
|
307
|
+
if (
|
|
308
|
+
brightness === 100 &&
|
|
309
|
+
pendingPowerOnRestore &&
|
|
310
|
+
pendingPowerOnRestore.brightness < 100
|
|
311
|
+
) {
|
|
312
|
+
env.log.debug(
|
|
313
|
+
'Cync: Light Brightness.set suppressing companion 100%% while restoring %d for %s (deviceId=%s)',
|
|
314
|
+
pendingPowerOnRestore.brightness,
|
|
315
|
+
deviceName,
|
|
316
|
+
cyncMeta.deviceId,
|
|
317
|
+
);
|
|
318
|
+
service.updateCharacteristic(
|
|
319
|
+
Characteristic.Brightness,
|
|
320
|
+
pendingPowerOnRestore.brightness,
|
|
321
|
+
);
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
pendingPowerOnRestore = undefined;
|
|
326
|
+
|
|
283
327
|
// Optimistic cache
|
|
284
328
|
cyncMeta.brightness = brightness;
|
|
285
329
|
cyncMeta.on = brightness > 0;
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import type { PlatformAccessory, CharacteristicValue } from 'homebridge';
|
|
4
4
|
|
|
5
|
-
import type {
|
|
5
|
+
import type {
|
|
6
|
+
CyncAccessoryEnv,
|
|
7
|
+
CyncLightShowKind,
|
|
8
|
+
} from './cync-accessory-helpers.js';
|
|
6
9
|
|
|
7
10
|
export const BUILT_IN_CYNC_LIGHT_SHOWS = [
|
|
8
11
|
{ index: 1, name: 'Candle' },
|
|
@@ -26,6 +29,7 @@ export function configureCyncLightShowAccessory(
|
|
|
26
29
|
accessoryName: string,
|
|
27
30
|
deviceId: string,
|
|
28
31
|
lightShow: Record<string, unknown>,
|
|
32
|
+
showKind: CyncLightShowKind,
|
|
29
33
|
activateLightShow: (
|
|
30
34
|
deviceId: string,
|
|
31
35
|
showIndex: number,
|
|
@@ -44,6 +48,7 @@ export function configureCyncLightShowAccessory(
|
|
|
44
48
|
deviceId,
|
|
45
49
|
accessory,
|
|
46
50
|
showIndex,
|
|
51
|
+
showKind,
|
|
47
52
|
);
|
|
48
53
|
}
|
|
49
54
|
|
|
@@ -69,7 +74,7 @@ export function configureCyncLightShowAccessory(
|
|
|
69
74
|
|
|
70
75
|
informationService?.setCharacteristic(
|
|
71
76
|
Characteristic.SerialNumber,
|
|
72
|
-
`${deviceId}-${String(lightShow.index ?? 'unknown')}`,
|
|
77
|
+
`${deviceId}-${showKind}-${String(lightShow.index ?? 'unknown')}`,
|
|
73
78
|
);
|
|
74
79
|
|
|
75
80
|
service.setCharacteristic(
|
|
@@ -105,7 +110,10 @@ export function configureCyncLightShowAccessory(
|
|
|
105
110
|
const activated = await activateLightShow(deviceId, showIndex);
|
|
106
111
|
|
|
107
112
|
if (activated) {
|
|
108
|
-
env.markActiveLightShowForDevice?.(deviceId,
|
|
113
|
+
env.markActiveLightShowForDevice?.(deviceId, {
|
|
114
|
+
index: showIndex,
|
|
115
|
+
kind: showKind,
|
|
116
|
+
});
|
|
109
117
|
env.setMainAccessoryOnForDevice?.(deviceId, true);
|
|
110
118
|
}
|
|
111
119
|
|
package/src/platform.ts
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
type CyncAccessoryContext,
|
|
18
18
|
type CyncAccessoryEnv,
|
|
19
19
|
type CyncCapabilityProfile,
|
|
20
|
+
type CyncLightShowKind,
|
|
20
21
|
resolveDeviceType,
|
|
21
22
|
rgbToHsv,
|
|
22
23
|
} from './cync/cync-accessory-helpers.js';
|
|
@@ -188,6 +189,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
188
189
|
private readonly lightShowServicesByDeviceId = new Map<string, Array<{
|
|
189
190
|
accessory: PlatformAccessory;
|
|
190
191
|
showIndex: number;
|
|
192
|
+
showKind: CyncLightShowKind;
|
|
191
193
|
}>>();
|
|
192
194
|
|
|
193
195
|
private shouldExposeLightShows(): boolean {
|
|
@@ -238,6 +240,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
238
240
|
deviceId: string,
|
|
239
241
|
accessory: PlatformAccessory,
|
|
240
242
|
showIndex: number,
|
|
243
|
+
showKind: CyncLightShowKind,
|
|
241
244
|
): void {
|
|
242
245
|
const existing = this.lightShowServicesByDeviceId.get(deviceId) ?? [];
|
|
243
246
|
|
|
@@ -245,14 +248,14 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
245
248
|
entry => entry.accessory.UUID !== accessory.UUID,
|
|
246
249
|
);
|
|
247
250
|
|
|
248
|
-
withoutDuplicate.push({ accessory, showIndex });
|
|
251
|
+
withoutDuplicate.push({ accessory, showIndex, showKind });
|
|
249
252
|
|
|
250
253
|
this.lightShowServicesByDeviceId.set(deviceId, withoutDuplicate);
|
|
251
254
|
}
|
|
252
255
|
|
|
253
256
|
private markActiveLightShowForDevice(
|
|
254
257
|
deviceId: string,
|
|
255
|
-
|
|
258
|
+
activeShow: { index: number; kind: CyncLightShowKind } | null,
|
|
256
259
|
): void {
|
|
257
260
|
const lightEntries = this.lightShowServicesByDeviceId.get(deviceId) ?? [];
|
|
258
261
|
const musicEntries = this.musicShowServicesByDeviceId.get(deviceId) ?? [];
|
|
@@ -260,7 +263,10 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
260
263
|
const Service = this.api.hap.Service;
|
|
261
264
|
|
|
262
265
|
for (const entry of lightEntries) {
|
|
263
|
-
const active =
|
|
266
|
+
const active =
|
|
267
|
+
activeShow !== null &&
|
|
268
|
+
entry.showIndex === activeShow.index &&
|
|
269
|
+
entry.showKind === activeShow.kind;
|
|
264
270
|
|
|
265
271
|
entry.accessory.context.lightShowActive = active;
|
|
266
272
|
|
|
@@ -268,7 +274,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
268
274
|
service?.updateCharacteristic(Characteristic.On, active);
|
|
269
275
|
}
|
|
270
276
|
|
|
271
|
-
if (
|
|
277
|
+
if (activeShow !== null) {
|
|
272
278
|
for (const entry of musicEntries) {
|
|
273
279
|
entry.accessory.context.musicShowActive = false;
|
|
274
280
|
|
|
@@ -414,6 +420,9 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
414
420
|
if (lightService || outletService || switchService) {
|
|
415
421
|
primaryService.updateCharacteristic(Characteristic.On, update.on);
|
|
416
422
|
}
|
|
423
|
+
if (!update.on) {
|
|
424
|
+
this.clearActiveShowsForDevice(update.deviceId);
|
|
425
|
+
}
|
|
417
426
|
if (outletService && outletService.testCharacteristic(Characteristic.OutletInUse)) {
|
|
418
427
|
outletService.updateCharacteristic(Characteristic.OutletInUse, update.on);
|
|
419
428
|
}
|
|
@@ -477,7 +486,16 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
477
486
|
);
|
|
478
487
|
|
|
479
488
|
if (lightService.testCharacteristic(Characteristic.Brightness)) {
|
|
480
|
-
|
|
489
|
+
const homeKitBrightness =
|
|
490
|
+
brightnessPct > 0
|
|
491
|
+
? brightnessPct
|
|
492
|
+
: ctx.cync.lastNonZeroBrightness;
|
|
493
|
+
if (typeof homeKitBrightness === 'number') {
|
|
494
|
+
lightService.updateCharacteristic(
|
|
495
|
+
Characteristic.Brightness,
|
|
496
|
+
homeKitBrightness,
|
|
497
|
+
);
|
|
498
|
+
}
|
|
481
499
|
}
|
|
482
500
|
}
|
|
483
501
|
}
|
|
@@ -957,6 +975,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
957
975
|
lightShowName,
|
|
958
976
|
deviceId,
|
|
959
977
|
lightShow,
|
|
978
|
+
'built-in-light',
|
|
960
979
|
(showDeviceId, showIndex) =>
|
|
961
980
|
this.client.activateLightShow(
|
|
962
981
|
showDeviceId,
|
|
@@ -1086,6 +1105,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
1086
1105
|
customLightShowName,
|
|
1087
1106
|
deviceId,
|
|
1088
1107
|
customLightShow,
|
|
1108
|
+
'custom-light',
|
|
1089
1109
|
(showDeviceId, showIndex) =>
|
|
1090
1110
|
this.client.activateLightShow(showDeviceId, showIndex),
|
|
1091
1111
|
);
|
|
@@ -1131,6 +1151,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
1131
1151
|
customMultiColorSchemeName,
|
|
1132
1152
|
deviceId,
|
|
1133
1153
|
customMultiColorScheme,
|
|
1154
|
+
'custom-multicolor',
|
|
1134
1155
|
(showDeviceId, showIndex) =>
|
|
1135
1156
|
this.client.activateMultiColorScheme(showDeviceId, showIndex),
|
|
1136
1157
|
);
|