homebridge-cync-app 0.5.2-beta.0 → 0.5.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/CHANGELOG.md +25 -0
- package/README.md +29 -13
- package/dist/cync/device-classifier.js +3 -1
- package/dist/cync/device-classifier.js.map +1 -1
- package/dist/cync/show-capabilities.d.ts +10 -0
- package/dist/cync/show-capabilities.js +25 -0
- package/dist/cync/show-capabilities.js.map +1 -0
- package/dist/platform.js +13 -22
- package/dist/platform.js.map +1 -1
- package/docs/rgbic-lightshow-notes.md +10 -4
- package/package.json +1 -1
- package/src/cync/device-classifier.ts +5 -1
- package/src/cync/show-capabilities.ts +27 -0
- package/src/platform.ts +16 -23
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.5.3
|
|
4
|
+
|
|
5
|
+
**Release Date:** 2026-06-20
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- Expanded Light Show support to **73** device types using capability data derived from the Cync APK.
|
|
9
|
+
- Expanded Music Show support to the **16** compatible device types identified by the Cync APK.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- Separated Light Show and Music Show capability checks so light-only devices, including 6-inch recessed fixtures, no longer expose unsupported Music Show or Segment scene accessories.
|
|
13
|
+
|
|
14
|
+
## v0.5.2
|
|
15
|
+
|
|
16
|
+
**Release Date:** 2026-06-18
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
- Preserved the last non-zero brightness level for supported dimmable devices when powered off.
|
|
20
|
+
- Prevented HomeKit companion brightness updates from overriding restored brightness with 100% after power-on.
|
|
21
|
+
- Corrected RGBIC Segment scene state tracking when Segment scenes share numeric indexes with Light Shows or Custom Shows.
|
|
22
|
+
- Automatically clears active Light Show, Music Show, Custom Show, and Segment scene accessories when the parent light is turned off.
|
|
23
|
+
- Applied the same scene cleanup behavior to Off states reported via LAN updates from the Cync app or physical controls.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
- Improved synchronization between RGBIC scenes and the primary light accessory across HomeKit, the Cync app, and direct device control.
|
|
27
|
+
|
|
3
28
|
## v0.5.1
|
|
4
29
|
|
|
5
30
|
**Release Date:** 2026-06-17
|
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
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// src/cync/device-classifier.ts
|
|
2
2
|
// Cync Device Classifier: Centralizes accessory type selection and classification logging context
|
|
3
|
+
import { supportsCyncLightShows } from './show-capabilities.js';
|
|
3
4
|
const CYNC_LIGHT_DEVICE_TYPES = new Set([
|
|
4
5
|
1, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21,
|
|
5
6
|
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
|
|
@@ -74,7 +75,8 @@ export function classifyCyncDevice(device, resolvedDeviceType) {
|
|
|
74
75
|
reason: `deviceType: ${deviceType}`,
|
|
75
76
|
};
|
|
76
77
|
}
|
|
77
|
-
if (deviceType !== undefined &&
|
|
78
|
+
if (deviceType !== undefined &&
|
|
79
|
+
(CYNC_LIGHT_DEVICE_TYPES.has(deviceType) || supportsCyncLightShows(deviceType))) {
|
|
78
80
|
return {
|
|
79
81
|
accessoryType: 'light',
|
|
80
82
|
deviceType,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-classifier.js","sourceRoot":"","sources":["../../src/cync/device-classifier.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,kGAAkG;
|
|
1
|
+
{"version":3,"file":"device-classifier.js","sourceRoot":"","sources":["../../src/cync/device-classifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Device show capabilities extracted from the Cync Android SDK DeviceType table.
|
|
3
|
+
*
|
|
4
|
+
* Capability.C identifies Light Show support. Capability.E identifies Music Show
|
|
5
|
+
* support. Music-capable devices are also Light Show capable in the SDK table.
|
|
6
|
+
*/
|
|
7
|
+
export declare const CYNC_LIGHT_SHOW_DEVICE_TYPES: Set<number>;
|
|
8
|
+
export declare const CYNC_MUSIC_SHOW_DEVICE_TYPES: Set<number>;
|
|
9
|
+
export declare function supportsCyncLightShows(deviceType: number | undefined): boolean;
|
|
10
|
+
export declare function supportsCyncMusicShows(deviceType: number | undefined): boolean;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Device show capabilities extracted from the Cync Android SDK DeviceType table.
|
|
3
|
+
*
|
|
4
|
+
* Capability.C identifies Light Show support. Capability.E identifies Music Show
|
|
5
|
+
* support. Music-capable devices are also Light Show capable in the SDK table.
|
|
6
|
+
*/
|
|
7
|
+
export const CYNC_LIGHT_SHOW_DEVICE_TYPES = new Set([
|
|
8
|
+
6, 7, 8, 21, 22, 23, 30, 31, 32, 33, 34, 35, 41, 42, 43, 44,
|
|
9
|
+
46, 47, 71, 72, 73, 74, 75, 76, 97, 98, 101, 102, 104, 105, 107,
|
|
10
|
+
108, 109, 110, 123, 131, 132, 133, 137, 138, 139, 140, 141, 142,
|
|
11
|
+
143, 146, 147, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
|
|
12
|
+
163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 175, 177,
|
|
13
|
+
180, 181, 182,
|
|
14
|
+
]);
|
|
15
|
+
export const CYNC_MUSIC_SHOW_DEVICE_TYPES = new Set([
|
|
16
|
+
71, 72, 73, 74, 75, 76, 110, 123, 141, 155, 157, 158, 159, 166,
|
|
17
|
+
167, 168,
|
|
18
|
+
]);
|
|
19
|
+
export function supportsCyncLightShows(deviceType) {
|
|
20
|
+
return deviceType !== undefined && CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType);
|
|
21
|
+
}
|
|
22
|
+
export function supportsCyncMusicShows(deviceType) {
|
|
23
|
+
return deviceType !== undefined && CYNC_MUSIC_SHOW_DEVICE_TYPES.has(deviceType);
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=show-capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show-capabilities.js","sourceRoot":"","sources":["../../src/cync/show-capabilities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAS;IAC3D,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC3D,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IAC/D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IAC/D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IAC/D,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IAC/D,GAAG,EAAE,GAAG,EAAE,GAAG;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAI,GAAG,CAAS;IAC3D,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG;IAC9D,GAAG,EAAE,GAAG;CACR,CAAC,CAAC;AAEH,MAAM,UAAU,sBAAsB,CAAC,UAA8B;IACpE,OAAO,UAAU,KAAK,SAAS,IAAI,4BAA4B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAA8B;IACpE,OAAO,UAAU,KAAK,SAAS,IAAI,4BAA4B,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;AACjF,CAAC"}
|
package/dist/platform.js
CHANGED
|
@@ -10,16 +10,13 @@ import { configureCyncFanAccessory } from './cync/cync-fan-accessory.js';
|
|
|
10
10
|
import { BUILT_IN_CYNC_LIGHT_SHOWS, configureCyncLightShowAccessory, } from './cync/cync-light-show-accessory.js';
|
|
11
11
|
import { BUILT_IN_CYNC_MUSIC_SHOWS, configureCyncMusicShowAccessory, } from './cync/cync-music-show-accessory.js';
|
|
12
12
|
import { classifyCyncDevice } from './cync/device-classifier.js';
|
|
13
|
+
import { supportsCyncLightShows, supportsCyncMusicShows, } from './cync/show-capabilities.js';
|
|
13
14
|
const toCyncLogger = (log) => ({
|
|
14
15
|
debug: log.debug.bind(log),
|
|
15
16
|
info: log.info.bind(log),
|
|
16
17
|
warn: log.warn.bind(log),
|
|
17
18
|
error: log.error.bind(log),
|
|
18
19
|
});
|
|
19
|
-
const CYNC_LIGHT_SHOW_DEVICE_TYPES = new Set([
|
|
20
|
-
76, // Outdoor 48" dynamic light strip
|
|
21
|
-
123, // Light strip
|
|
22
|
-
]);
|
|
23
20
|
function getDefaultCapabilitiesForDeviceType() {
|
|
24
21
|
const isLight = false;
|
|
25
22
|
return {
|
|
@@ -451,6 +448,8 @@ export class CyncAppPlatform {
|
|
|
451
448
|
const uuid = this.api.hap.uuid.generate(uuidSeed);
|
|
452
449
|
const deviceType = resolveDeviceType(device);
|
|
453
450
|
const classification = classifyCyncDevice(device, deviceType);
|
|
451
|
+
const supportsLightShows = supportsCyncLightShows(deviceType);
|
|
452
|
+
const supportsMusicShows = supportsCyncMusicShows(deviceType);
|
|
454
453
|
this.log.debug('Cync device classification: ' +
|
|
455
454
|
`name="${deviceName}" ` +
|
|
456
455
|
`deviceId=${deviceId} ` +
|
|
@@ -561,8 +560,7 @@ export class CyncAppPlatform {
|
|
|
561
560
|
const lightShows = BUILT_IN_CYNC_LIGHT_SHOWS.filter(lightShow => enabledLightShowIndexes === null ||
|
|
562
561
|
enabledLightShowIndexes.has(lightShow.index));
|
|
563
562
|
if (this.shouldExposeLightShows() &&
|
|
564
|
-
|
|
565
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)) {
|
|
563
|
+
supportsLightShows) {
|
|
566
564
|
for (const lightShow of lightShows) {
|
|
567
565
|
const showIndex = lightShow.index;
|
|
568
566
|
const showName = lightShow.name;
|
|
@@ -590,8 +588,7 @@ export class CyncAppPlatform {
|
|
|
590
588
|
const musicShows = BUILT_IN_CYNC_MUSIC_SHOWS.filter(musicShow => enabledMusicShowIndexes === null ||
|
|
591
589
|
enabledMusicShowIndexes.has(musicShow.index));
|
|
592
590
|
if (this.shouldExposeMusicShows() &&
|
|
593
|
-
|
|
594
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)) {
|
|
591
|
+
supportsMusicShows) {
|
|
595
592
|
for (const musicShow of musicShows) {
|
|
596
593
|
const showIndex = musicShow.index;
|
|
597
594
|
const showName = musicShow.name;
|
|
@@ -616,8 +613,7 @@ export class CyncAppPlatform {
|
|
|
616
613
|
}
|
|
617
614
|
}
|
|
618
615
|
if (this.shouldExposeCustomShows() &&
|
|
619
|
-
|
|
620
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)) {
|
|
616
|
+
supportsLightShows) {
|
|
621
617
|
for (const customLightShow of customLightShows) {
|
|
622
618
|
const showIndex = customLightShow.index;
|
|
623
619
|
const showName = customLightShow.name;
|
|
@@ -636,7 +632,7 @@ export class CyncAppPlatform {
|
|
|
636
632
|
customLightShowAccessory.context.showKind = 'custom-light';
|
|
637
633
|
configureCyncLightShowAccessory(this.accessoryEnv, mesh, device, customLightShowAccessory, customLightShowName, deviceId, customLightShow, 'custom-light', (showDeviceId, showIndex) => this.client.activateLightShow(showDeviceId, showIndex));
|
|
638
634
|
}
|
|
639
|
-
for (const customMultiColorScheme of customMultiColorSchemes) {
|
|
635
|
+
for (const customMultiColorScheme of supportsMusicShows ? customMultiColorSchemes : []) {
|
|
640
636
|
const schemeIndex = customMultiColorScheme.index;
|
|
641
637
|
const schemeName = customMultiColorScheme.name;
|
|
642
638
|
const customMultiColorSchemeName = `${schemeName} - ${deviceName} - Segment`;
|
|
@@ -654,7 +650,7 @@ export class CyncAppPlatform {
|
|
|
654
650
|
customMultiColorSchemeAccessory.context.showKind = 'custom-multicolor';
|
|
655
651
|
configureCyncLightShowAccessory(this.accessoryEnv, mesh, device, customMultiColorSchemeAccessory, customMultiColorSchemeName, deviceId, customMultiColorScheme, 'custom-multicolor', (showDeviceId, showIndex) => this.client.activateMultiColorScheme(showDeviceId, showIndex));
|
|
656
652
|
}
|
|
657
|
-
for (const customMusicShow of customMusicShows) {
|
|
653
|
+
for (const customMusicShow of supportsMusicShows ? customMusicShows : []) {
|
|
658
654
|
const showIndex = customMusicShow.index;
|
|
659
655
|
const showName = customMusicShow.name;
|
|
660
656
|
const customMusicShowName = `${showName} - ${deviceName} - Custom Music`;
|
|
@@ -674,32 +670,27 @@ export class CyncAppPlatform {
|
|
|
674
670
|
}
|
|
675
671
|
}
|
|
676
672
|
const enabledLightShowIndexesForCleanup = this.shouldExposeLightShows() &&
|
|
677
|
-
|
|
678
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
673
|
+
supportsLightShows
|
|
679
674
|
? new Set(lightShows.map((lightShow) => lightShow.index))
|
|
680
675
|
: new Set();
|
|
681
676
|
this.cleanupDisabledShowAccessoriesForDevice(String(mesh.id), deviceId, enabledLightShowIndexesForCleanup, 'built-in-light', 'cync-lightshow', 'light show');
|
|
682
677
|
const enabledMusicShowIndexesForCleanup = this.shouldExposeMusicShows() &&
|
|
683
|
-
|
|
684
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
678
|
+
supportsMusicShows
|
|
685
679
|
? new Set(musicShows.map((musicShow) => musicShow.index))
|
|
686
680
|
: new Set();
|
|
687
681
|
this.cleanupDisabledShowAccessoriesForDevice(String(mesh.id), deviceId, enabledMusicShowIndexesForCleanup, 'built-in-music', 'cync-musicshow', 'music show');
|
|
688
682
|
const enabledCustomLightShowIndexesForCleanup = this.shouldExposeCustomShows() &&
|
|
689
|
-
|
|
690
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
683
|
+
supportsLightShows
|
|
691
684
|
? new Set(customLightShows.map((customLightShow) => customLightShow.index))
|
|
692
685
|
: new Set();
|
|
693
686
|
this.cleanupDisabledShowAccessoriesForDevice(String(mesh.id), deviceId, enabledCustomLightShowIndexesForCleanup, 'custom-light', 'cync-custom-lightshow', 'custom light show');
|
|
694
687
|
const enabledCustomMultiColorIndexesForCleanup = this.shouldExposeCustomShows() &&
|
|
695
|
-
|
|
696
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
688
|
+
supportsMusicShows
|
|
697
689
|
? new Set(customMultiColorSchemes.map((scheme) => scheme.index))
|
|
698
690
|
: new Set();
|
|
699
691
|
this.cleanupDisabledShowAccessoriesForDevice(String(mesh.id), deviceId, enabledCustomMultiColorIndexesForCleanup, 'custom-multicolor', 'cync-custom-multicolor', 'custom MultiColor scheme');
|
|
700
692
|
const enabledCustomMusicShowIndexesForCleanup = this.shouldExposeCustomShows() &&
|
|
701
|
-
|
|
702
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
693
|
+
supportsMusicShows
|
|
703
694
|
? new Set(customMusicShows.map((customMusicShow) => customMusicShow.index))
|
|
704
695
|
: new Set();
|
|
705
696
|
this.cleanupDisabledShowAccessoriesForDevice(String(mesh.id), deviceId, enabledCustomMusicShowIndexesForCleanup, 'custom-music', 'cync-custom-musicshow', 'custom music show');
|
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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"}
|
|
@@ -46,14 +46,20 @@ The current implementation does not upload or edit show definitions. Saved Custo
|
|
|
46
46
|
|
|
47
47
|
## Compatible Device Types
|
|
48
48
|
|
|
49
|
-
|
|
49
|
+
Show support is derived from the Cync Android SDK `DeviceType` capability
|
|
50
|
+
table. `Capability.C` identifies Light Show support and `Capability.E`
|
|
51
|
+
identifies Music Show support. The plugin keeps these lists separate because
|
|
52
|
+
many full-color devices support Light Shows without supporting Music Shows.
|
|
53
|
+
|
|
54
|
+
Music Show-capable device types (also Light Show capable):
|
|
50
55
|
|
|
51
56
|
```text
|
|
52
|
-
76
|
|
53
|
-
123 Light strip
|
|
57
|
+
71, 72, 73, 74, 75, 76, 110, 123, 141, 155, 157, 158, 159, 166, 167, 168
|
|
54
58
|
```
|
|
55
59
|
|
|
56
|
-
|
|
60
|
+
The complete SDK-derived lists live in `src/cync/show-capabilities.ts`.
|
|
61
|
+
Custom Light Shows use the Light Show capability, while Custom Music Shows and
|
|
62
|
+
multicolor Segment schemes use the Music Show/dynamic-device capability.
|
|
57
63
|
|
|
58
64
|
## Notes For Future Show Editing
|
|
59
65
|
|
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.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",
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// src/cync/device-classifier.ts
|
|
2
2
|
// Cync Device Classifier: Centralizes accessory type selection and classification logging context
|
|
3
|
+
import { supportsCyncLightShows } from './show-capabilities.js';
|
|
3
4
|
|
|
4
5
|
type CyncAccessoryType = 'light' | 'fan' | 'outlet' | 'switch' | 'ignored' | 'unsupported';
|
|
5
6
|
|
|
@@ -112,7 +113,10 @@ export function classifyCyncDevice(
|
|
|
112
113
|
};
|
|
113
114
|
}
|
|
114
115
|
|
|
115
|
-
if (
|
|
116
|
+
if (
|
|
117
|
+
deviceType !== undefined &&
|
|
118
|
+
(CYNC_LIGHT_DEVICE_TYPES.has(deviceType) || supportsCyncLightShows(deviceType))
|
|
119
|
+
) {
|
|
116
120
|
return {
|
|
117
121
|
accessoryType: 'light',
|
|
118
122
|
deviceType,
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Device show capabilities extracted from the Cync Android SDK DeviceType table.
|
|
3
|
+
*
|
|
4
|
+
* Capability.C identifies Light Show support. Capability.E identifies Music Show
|
|
5
|
+
* support. Music-capable devices are also Light Show capable in the SDK table.
|
|
6
|
+
*/
|
|
7
|
+
export const CYNC_LIGHT_SHOW_DEVICE_TYPES = new Set<number>([
|
|
8
|
+
6, 7, 8, 21, 22, 23, 30, 31, 32, 33, 34, 35, 41, 42, 43, 44,
|
|
9
|
+
46, 47, 71, 72, 73, 74, 75, 76, 97, 98, 101, 102, 104, 105, 107,
|
|
10
|
+
108, 109, 110, 123, 131, 132, 133, 137, 138, 139, 140, 141, 142,
|
|
11
|
+
143, 146, 147, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162,
|
|
12
|
+
163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 175, 177,
|
|
13
|
+
180, 181, 182,
|
|
14
|
+
]);
|
|
15
|
+
|
|
16
|
+
export const CYNC_MUSIC_SHOW_DEVICE_TYPES = new Set<number>([
|
|
17
|
+
71, 72, 73, 74, 75, 76, 110, 123, 141, 155, 157, 158, 159, 166,
|
|
18
|
+
167, 168,
|
|
19
|
+
]);
|
|
20
|
+
|
|
21
|
+
export function supportsCyncLightShows(deviceType: number | undefined): boolean {
|
|
22
|
+
return deviceType !== undefined && CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function supportsCyncMusicShows(deviceType: number | undefined): boolean {
|
|
26
|
+
return deviceType !== undefined && CYNC_MUSIC_SHOW_DEVICE_TYPES.has(deviceType);
|
|
27
|
+
}
|
package/src/platform.ts
CHANGED
|
@@ -34,6 +34,10 @@ import {
|
|
|
34
34
|
configureCyncMusicShowAccessory,
|
|
35
35
|
} from './cync/cync-music-show-accessory.js';
|
|
36
36
|
import { classifyCyncDevice } from './cync/device-classifier.js';
|
|
37
|
+
import {
|
|
38
|
+
supportsCyncLightShows,
|
|
39
|
+
supportsCyncMusicShows,
|
|
40
|
+
} from './cync/show-capabilities.js';
|
|
37
41
|
|
|
38
42
|
const toCyncLogger = (log: Logger): CyncLogger => ({
|
|
39
43
|
debug: log.debug.bind(log),
|
|
@@ -42,11 +46,6 @@ const toCyncLogger = (log: Logger): CyncLogger => ({
|
|
|
42
46
|
error: log.error.bind(log),
|
|
43
47
|
});
|
|
44
48
|
|
|
45
|
-
const CYNC_LIGHT_SHOW_DEVICE_TYPES = new Set<number>([
|
|
46
|
-
76, // Outdoor 48" dynamic light strip
|
|
47
|
-
123, // Light strip
|
|
48
|
-
]);
|
|
49
|
-
|
|
50
49
|
type CyncShowKind =
|
|
51
50
|
| 'built-in-light'
|
|
52
51
|
| 'built-in-music'
|
|
@@ -718,6 +717,8 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
718
717
|
|
|
719
718
|
const deviceType = resolveDeviceType(device);
|
|
720
719
|
const classification = classifyCyncDevice(device, deviceType);
|
|
720
|
+
const supportsLightShows = supportsCyncLightShows(deviceType);
|
|
721
|
+
const supportsMusicShows = supportsCyncMusicShows(deviceType);
|
|
721
722
|
|
|
722
723
|
this.log.debug(
|
|
723
724
|
'Cync device classification: ' +
|
|
@@ -920,8 +921,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
920
921
|
|
|
921
922
|
if (
|
|
922
923
|
this.shouldExposeLightShows() &&
|
|
923
|
-
|
|
924
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
924
|
+
supportsLightShows
|
|
925
925
|
) {
|
|
926
926
|
for (const lightShow of lightShows) {
|
|
927
927
|
const showIndex = lightShow.index;
|
|
@@ -995,8 +995,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
995
995
|
|
|
996
996
|
if (
|
|
997
997
|
this.shouldExposeMusicShows() &&
|
|
998
|
-
|
|
999
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
998
|
+
supportsMusicShows
|
|
1000
999
|
) {
|
|
1001
1000
|
for (const musicShow of musicShows) {
|
|
1002
1001
|
const showIndex = musicShow.index;
|
|
@@ -1061,8 +1060,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
1061
1060
|
|
|
1062
1061
|
if (
|
|
1063
1062
|
this.shouldExposeCustomShows() &&
|
|
1064
|
-
|
|
1065
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
1063
|
+
supportsLightShows
|
|
1066
1064
|
) {
|
|
1067
1065
|
for (const customLightShow of customLightShows) {
|
|
1068
1066
|
const showIndex = customLightShow.index;
|
|
@@ -1111,7 +1109,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
1111
1109
|
);
|
|
1112
1110
|
}
|
|
1113
1111
|
|
|
1114
|
-
for (const customMultiColorScheme of customMultiColorSchemes) {
|
|
1112
|
+
for (const customMultiColorScheme of supportsMusicShows ? customMultiColorSchemes : []) {
|
|
1115
1113
|
const schemeIndex = customMultiColorScheme.index;
|
|
1116
1114
|
const schemeName = customMultiColorScheme.name;
|
|
1117
1115
|
|
|
@@ -1157,7 +1155,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
1157
1155
|
);
|
|
1158
1156
|
}
|
|
1159
1157
|
|
|
1160
|
-
for (const customMusicShow of customMusicShows) {
|
|
1158
|
+
for (const customMusicShow of supportsMusicShows ? customMusicShows : []) {
|
|
1161
1159
|
const showIndex = customMusicShow.index;
|
|
1162
1160
|
const showName = customMusicShow.name;
|
|
1163
1161
|
|
|
@@ -1205,8 +1203,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
1205
1203
|
|
|
1206
1204
|
const enabledLightShowIndexesForCleanup =
|
|
1207
1205
|
this.shouldExposeLightShows() &&
|
|
1208
|
-
|
|
1209
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
1206
|
+
supportsLightShows
|
|
1210
1207
|
? new Set(lightShows.map((lightShow) => lightShow.index))
|
|
1211
1208
|
: new Set<number>();
|
|
1212
1209
|
|
|
@@ -1221,8 +1218,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
1221
1218
|
|
|
1222
1219
|
const enabledMusicShowIndexesForCleanup =
|
|
1223
1220
|
this.shouldExposeMusicShows() &&
|
|
1224
|
-
|
|
1225
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
1221
|
+
supportsMusicShows
|
|
1226
1222
|
? new Set(musicShows.map((musicShow) => musicShow.index))
|
|
1227
1223
|
: new Set<number>();
|
|
1228
1224
|
|
|
@@ -1237,8 +1233,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
1237
1233
|
|
|
1238
1234
|
const enabledCustomLightShowIndexesForCleanup =
|
|
1239
1235
|
this.shouldExposeCustomShows() &&
|
|
1240
|
-
|
|
1241
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
1236
|
+
supportsLightShows
|
|
1242
1237
|
? new Set(customLightShows.map((customLightShow) => customLightShow.index))
|
|
1243
1238
|
: new Set<number>();
|
|
1244
1239
|
|
|
@@ -1253,8 +1248,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
1253
1248
|
|
|
1254
1249
|
const enabledCustomMultiColorIndexesForCleanup =
|
|
1255
1250
|
this.shouldExposeCustomShows() &&
|
|
1256
|
-
|
|
1257
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
1251
|
+
supportsMusicShows
|
|
1258
1252
|
? new Set(customMultiColorSchemes.map((scheme) => scheme.index))
|
|
1259
1253
|
: new Set<number>();
|
|
1260
1254
|
|
|
@@ -1269,8 +1263,7 @@ export class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
1269
1263
|
|
|
1270
1264
|
const enabledCustomMusicShowIndexesForCleanup =
|
|
1271
1265
|
this.shouldExposeCustomShows() &&
|
|
1272
|
-
|
|
1273
|
-
CYNC_LIGHT_SHOW_DEVICE_TYPES.has(deviceType)
|
|
1266
|
+
supportsMusicShows
|
|
1274
1267
|
? new Set(customMusicShows.map((customMusicShow) => customMusicShow.index))
|
|
1275
1268
|
: new Set<number>();
|
|
1276
1269
|
|