homebridge-cync-app 0.5.3 → 0.6.1
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 +29 -0
- package/README.md +5 -0
- package/config.schema.json +34 -56
- package/dist/cync/cync-light-accessory.js +37 -0
- package/dist/cync/cync-light-accessory.js.map +1 -1
- package/dist/cync/cync-outlet-accessory.js +5 -0
- package/dist/cync/cync-outlet-accessory.js.map +1 -1
- package/dist/cync/cync-switch-accessory.js +9 -0
- package/dist/cync/cync-switch-accessory.js.map +1 -1
- package/dist/cync/device-capabilities.d.ts +19 -0
- package/dist/cync/device-capabilities.js +104 -0
- package/dist/cync/device-capabilities.js.map +1 -0
- package/dist/cync/device-classifier.js +5 -50
- package/dist/cync/device-classifier.js.map +1 -1
- package/dist/platform.d.ts +6 -0
- package/dist/platform.js +212 -99
- package/dist/platform.js.map +1 -1
- package/docs/cync-device-model.md +18 -1
- package/docs/rgbic-lightshow-notes.md +4 -4
- package/homebridge-ui/public/index.html +152 -133
- package/homebridge-ui/server.js +103 -0
- package/package.json +1 -1
- package/src/cync/cync-light-accessory.ts +41 -0
- package/src/cync/cync-outlet-accessory.ts +7 -0
- package/src/cync/cync-switch-accessory.ts +12 -0
- package/src/cync/device-capabilities.ts +139 -0
- package/src/cync/device-classifier.ts +5 -61
- package/src/platform.ts +352 -197
- package/dist/cync/show-capabilities.d.ts +0 -10
- package/dist/cync/show-capabilities.js +0 -25
- package/dist/cync/show-capabilities.js.map +0 -1
- package/src/cync/show-capabilities.ts +0 -27
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,34 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.6.1
|
|
4
|
+
|
|
5
|
+
**Release Date:** 2026-06-23
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- Added dynamic discovery of show-compatible devices in the Homebridge configuration UI.
|
|
9
|
+
- Added per-device selection of built-in Light Shows, Music Shows, saved Custom Shows, and saved Segment scenes.
|
|
10
|
+
|
|
11
|
+
### Changed
|
|
12
|
+
- Replaced global show controls with stable device-ID-based configuration while retaining runtime compatibility with existing global settings.
|
|
13
|
+
|
|
14
|
+
## v0.6.0
|
|
15
|
+
|
|
16
|
+
**Release Date:** 2026-06-21
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
- Added APK-derived product categorization and dimming, color-temperature, RGB, fan-speed, and segmented-control capabilities for **156** known device types.
|
|
20
|
+
- Added support for additional APK-listed plugs, switches, dimmers, and fan controllers without requiring individual device reports.
|
|
21
|
+
|
|
22
|
+
### Fixed
|
|
23
|
+
- Prevented known lights from exposing unsupported Brightness, Color Temperature, Hue, or Saturation controls.
|
|
24
|
+
- Removed stale HomeKit services when an APK-derived device category differs from a previously cached classification.
|
|
25
|
+
- Configured all physical Cync devices before optional show accessories so bridge-capacity limits cannot prevent later lights, switches, outlets, or fans from initializing.
|
|
26
|
+
- Stopped optional show discovery cleanly when Homebridge reaches its 149-accessory bridge limit instead of aborting discovery and reporting a misleading cloud-login failure.
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Replaced legacy device-type heuristics with APK-derived capability metadata sourced from the decompiled Cync Android application.
|
|
30
|
+
- Corrected capability-table attribution from SDK-derived to decompiled APK-derived.
|
|
31
|
+
|
|
3
32
|
## v0.5.3
|
|
4
33
|
|
|
5
34
|
**Release Date:** 2026-06-20
|
package/README.md
CHANGED
|
@@ -91,6 +91,11 @@ Devices should appear automatically after startup.
|
|
|
91
91
|
|
|
92
92
|
Tokens are cached locally to reduce repeated login prompts.
|
|
93
93
|
|
|
94
|
+
### Shows by Device
|
|
95
|
+
|
|
96
|
+
After signing in, the plugin configuration dynamically lists every show-compatible Cync device. Expand a device to choose the built-in Light Shows, Music Shows, saved Custom Shows, and saved Segment scenes that should appear as HomeKit switches for that device.
|
|
97
|
+
|
|
98
|
+
Show selections are stored by Cync device ID, so renaming a device does not reset its configuration. Existing global show settings are migrated to per-device selections the next time the plugin configuration UI is opened and saved.
|
|
94
99
|
|
|
95
100
|
---
|
|
96
101
|
|
package/config.schema.json
CHANGED
|
@@ -30,66 +30,44 @@
|
|
|
30
30
|
"pattern": "^[0-9]{6}$",
|
|
31
31
|
"description": "Temporary 6-digit code emailed by Cync when you sign in. Leave blank normally; only needed when performing a fresh login."
|
|
32
32
|
},
|
|
33
|
-
"
|
|
34
|
-
"title": "
|
|
35
|
-
"type": "boolean",
|
|
36
|
-
"default": false,
|
|
37
|
-
"description": "Expose saved Cync RGBIC Custom Show switches for compatible devices."
|
|
38
|
-
},
|
|
39
|
-
"exposeLightShows": {
|
|
40
|
-
"title": "Expose Light Shows",
|
|
41
|
-
"type": "boolean",
|
|
42
|
-
"default": false,
|
|
43
|
-
"description": "Expose built-in Cync RGBIC Light Show switches for compatible devices."
|
|
44
|
-
},
|
|
45
|
-
"enabledLightShowIndexes": {
|
|
46
|
-
"title": "Enabled Light Shows",
|
|
47
|
-
"type": "array",
|
|
48
|
-
"items": {
|
|
49
|
-
"type": "number",
|
|
50
|
-
"enum": [1, 2, 3, 4, 5, 6, 7, 8, 9, 65, 67],
|
|
51
|
-
"enumNames": [
|
|
52
|
-
"Candle",
|
|
53
|
-
"Rainbow",
|
|
54
|
-
"Fireworks",
|
|
55
|
-
"Volcanic",
|
|
56
|
-
"Aurora",
|
|
57
|
-
"Happy Holidays",
|
|
58
|
-
"Red White Blue",
|
|
59
|
-
"Vegas",
|
|
60
|
-
"Party Time",
|
|
61
|
-
"Power Up",
|
|
62
|
-
"Cyber"
|
|
63
|
-
]
|
|
64
|
-
},
|
|
65
|
-
"uniqueItems": true,
|
|
66
|
-
"default": []
|
|
67
|
-
},
|
|
68
|
-
"exposeMusicShows": {
|
|
69
|
-
"title": "Expose Music Shows",
|
|
70
|
-
"type": "boolean",
|
|
71
|
-
"default": false,
|
|
72
|
-
"description": "Expose built-in Cync RGBIC Music Show switches for compatible devices."
|
|
73
|
-
},
|
|
74
|
-
"enabledMusicShowIndexes": {
|
|
75
|
-
"title": "Enabled Music Shows",
|
|
33
|
+
"deviceShowConfigs": {
|
|
34
|
+
"title": "Shows by Device",
|
|
76
35
|
"type": "array",
|
|
77
36
|
"items": {
|
|
78
|
-
"type": "
|
|
79
|
-
"
|
|
80
|
-
|
|
81
|
-
"
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
"
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
37
|
+
"type": "object",
|
|
38
|
+
"properties": {
|
|
39
|
+
"deviceId": { "type": "string" },
|
|
40
|
+
"lightShowIndexes": {
|
|
41
|
+
"type": "array",
|
|
42
|
+
"items": { "type": "number" },
|
|
43
|
+
"uniqueItems": true
|
|
44
|
+
},
|
|
45
|
+
"musicShowIndexes": {
|
|
46
|
+
"type": "array",
|
|
47
|
+
"items": { "type": "number" },
|
|
48
|
+
"uniqueItems": true
|
|
49
|
+
},
|
|
50
|
+
"customLightShowIndexes": {
|
|
51
|
+
"type": "array",
|
|
52
|
+
"items": { "type": "number" },
|
|
53
|
+
"uniqueItems": true
|
|
54
|
+
},
|
|
55
|
+
"customMusicShowIndexes": {
|
|
56
|
+
"type": "array",
|
|
57
|
+
"items": { "type": "number" },
|
|
58
|
+
"uniqueItems": true
|
|
59
|
+
},
|
|
60
|
+
"multiColorSchemeIndexes": {
|
|
61
|
+
"type": "array",
|
|
62
|
+
"items": { "type": "number" },
|
|
63
|
+
"uniqueItems": true
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"required": ["deviceId"]
|
|
90
67
|
},
|
|
91
68
|
"uniqueItems": true,
|
|
92
|
-
"default": []
|
|
69
|
+
"default": [],
|
|
70
|
+
"description": "Per-device show selections managed by the custom plugin UI."
|
|
93
71
|
}
|
|
94
72
|
},
|
|
95
73
|
"required": [
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { applyAccessoryInformationFromCyncDevice, hsvToRgb, miredToKelvin, resolveDeviceType, } from './cync-accessory-helpers.js';
|
|
2
|
+
import { getCyncApkDeviceProfile } from './device-capabilities.js';
|
|
2
3
|
function clampNumber(n, min, max) {
|
|
3
4
|
return Math.min(max, Math.max(min, n));
|
|
4
5
|
}
|
|
@@ -41,6 +42,14 @@ export function configureCyncLightAccessory(env, mesh, device, accessory, device
|
|
|
41
42
|
env.log.info('Cync: removing stale Switch service from %s (deviceId=%s) before configuring as Lightbulb', deviceName, deviceId);
|
|
42
43
|
accessory.removeService(existingSwitch);
|
|
43
44
|
}
|
|
45
|
+
const existingOutlet = accessory.getService(env.api.hap.Service.Outlet);
|
|
46
|
+
if (existingOutlet) {
|
|
47
|
+
accessory.removeService(existingOutlet);
|
|
48
|
+
}
|
|
49
|
+
const existingFan = accessory.getService(env.api.hap.Service.Fanv2);
|
|
50
|
+
if (existingFan) {
|
|
51
|
+
accessory.removeService(existingFan);
|
|
52
|
+
}
|
|
44
53
|
const service = accessory.getService(env.api.hap.Service.Lightbulb) ||
|
|
45
54
|
accessory.addService(env.api.hap.Service.Lightbulb, deviceName);
|
|
46
55
|
// Optionally update accessory category so UIs treat it as a light
|
|
@@ -59,12 +68,22 @@ export function configureCyncLightAccessory(env, mesh, device, accessory, device
|
|
|
59
68
|
};
|
|
60
69
|
// Persist deviceType in context so TcpClient can encode correctly for LAN packets.
|
|
61
70
|
const resolvedDeviceType = resolveDeviceType(device);
|
|
71
|
+
const apkProfile = getCyncApkDeviceProfile(resolvedDeviceType);
|
|
62
72
|
if (typeof resolvedDeviceType === 'number' && Number.isFinite(resolvedDeviceType)) {
|
|
63
73
|
ctx.cync.deviceType = resolvedDeviceType;
|
|
64
74
|
}
|
|
65
75
|
else {
|
|
66
76
|
env.log.debug('Cync: resolveDeviceType() returned %o for %s (deviceId=%s)', resolvedDeviceType, deviceName, deviceId);
|
|
67
77
|
}
|
|
78
|
+
if (apkProfile) {
|
|
79
|
+
ctx.cync.capabilities = {
|
|
80
|
+
isLight: apkProfile.accessoryType === 'light',
|
|
81
|
+
supportsBrightness: apkProfile.supportsBrightness,
|
|
82
|
+
supportsColor: apkProfile.supportsColor,
|
|
83
|
+
supportsCt: apkProfile.supportsCt,
|
|
84
|
+
source: 'deviceType',
|
|
85
|
+
};
|
|
86
|
+
}
|
|
68
87
|
// Remember mapping for LAN updates
|
|
69
88
|
env.registerAccessoryForDevice(deviceId, accessory);
|
|
70
89
|
env.markDeviceSeen(deviceId);
|
|
@@ -105,6 +124,7 @@ export function configureCyncLightAccessory(env, mesh, device, accessory, device
|
|
|
105
124
|
const powerCommandId = cyncMeta.powerCommandId;
|
|
106
125
|
pendingPowerOnRestore =
|
|
107
126
|
on &&
|
|
127
|
+
(apkProfile?.supportsBrightness ?? true) &&
|
|
108
128
|
typeof restoreBrightness === 'number' &&
|
|
109
129
|
restoreBrightness > 0 &&
|
|
110
130
|
restoreBrightness < 100
|
|
@@ -365,5 +385,22 @@ export function configureCyncLightAccessory(env, mesh, device, accessory, device
|
|
|
365
385
|
throw new env.api.hap.HapStatusError(-70402 /* env.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
|
|
366
386
|
}
|
|
367
387
|
});
|
|
388
|
+
// Remove optional HomeKit controls that the APK table says this device cannot handle.
|
|
389
|
+
// Unknown future device types retain the legacy behavior until cloud/LAN data
|
|
390
|
+
// can promote their capabilities.
|
|
391
|
+
if (apkProfile && !apkProfile.supportsBrightness && service.testCharacteristic(Characteristic.Brightness)) {
|
|
392
|
+
service.removeCharacteristic(service.getCharacteristic(Characteristic.Brightness));
|
|
393
|
+
}
|
|
394
|
+
if (apkProfile && !apkProfile.supportsColor) {
|
|
395
|
+
if (service.testCharacteristic(Characteristic.Hue)) {
|
|
396
|
+
service.removeCharacteristic(service.getCharacteristic(Characteristic.Hue));
|
|
397
|
+
}
|
|
398
|
+
if (service.testCharacteristic(Characteristic.Saturation)) {
|
|
399
|
+
service.removeCharacteristic(service.getCharacteristic(Characteristic.Saturation));
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
if (apkProfile && !apkProfile.supportsCt && service.testCharacteristic(Characteristic.ColorTemperature)) {
|
|
403
|
+
service.removeCharacteristic(service.getCharacteristic(Characteristic.ColorTemperature));
|
|
404
|
+
}
|
|
368
405
|
}
|
|
369
406
|
//# sourceMappingURL=cync-light-accessory.js.map
|
|
@@ -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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"}
|
|
@@ -12,8 +12,13 @@ export function configureCyncOutletAccessory(env, mesh, device, accessory, devic
|
|
|
12
12
|
env.log.info('Cync: removing stale Lightbulb service from %s (deviceId=%s) before configuring as Outlet', deviceName, deviceId);
|
|
13
13
|
accessory.removeService(existingLight);
|
|
14
14
|
}
|
|
15
|
+
const existingFan = accessory.getService(env.api.hap.Service.Fanv2);
|
|
16
|
+
if (existingFan) {
|
|
17
|
+
accessory.removeService(existingFan);
|
|
18
|
+
}
|
|
15
19
|
const service = accessory.getService(env.api.hap.Service.Outlet) ||
|
|
16
20
|
accessory.addService(env.api.hap.Service.Outlet, deviceName);
|
|
21
|
+
accessory.category = 7 /* env.api.hap.Categories.OUTLET */;
|
|
17
22
|
applyAccessoryInformationFromCyncDevice(env.api, accessory, device, deviceName, deviceId);
|
|
18
23
|
// Ensure context is initialized
|
|
19
24
|
const ctx = accessory.context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cync-outlet-accessory.js","sourceRoot":"","sources":["../../src/cync/cync-outlet-accessory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cync-outlet-accessory.js","sourceRoot":"","sources":["../../src/cync/cync-outlet-accessory.ts"],"names":[],"mappings":"AAAA,oCAAoC;AAKpC,OAAO,EAAE,uCAAuC,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEzG,MAAM,UAAU,4BAA4B,CAC3C,GAAqB,EACrB,IAAoB,EACpB,MAAkB,EAClB,SAA4B,EAC5B,UAAkB,EAClB,QAAgB;IAEhB,6EAA6E;IAC7E,MAAM,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,cAAc,EAAE,CAAC;QACpB,GAAG,CAAC,GAAG,CAAC,IAAI,CACX,wFAAwF,EACxF,UAAU,EACV,QAAQ,CACR,CAAC;QACF,SAAS,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAC1E,IAAI,aAAa,EAAE,CAAC;QACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CACX,2FAA2F,EAC3F,UAAU,EACV,QAAQ,CACR,CAAC;QACF,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,WAAW,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpE,IAAI,WAAW,EAAE,CAAC;QACjB,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,OAAO,GACZ,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAChD,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE9D,SAAS,CAAC,QAAQ,wCAAgC,CAAC;IAEnD,uCAAuC,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE1F,gCAAgC;IAChC,MAAM,GAAG,GAAG,SAAS,CAAC,OAA+B,CAAC;IACtD,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI;QACtB,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,QAAQ;QACR,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,EAAE,EAAE,KAAK;KACT,CAAC;IAEF,6EAA6E;IAC7E,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAEhD,mCAAmC;IACnC,GAAG,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACpD,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7B,GAAG,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEjC,OAAO;SACL,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;SAChD,KAAK,CAAC,GAAG,EAAE;QACX,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAEjC,IAAI,GAAG,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,GAAG,CAAC,KAAK,CACZ,qFAAqF,EACrF,MAAM,CAAC,SAAS,CAAC,EACjB,UAAU,EACV,QAAQ,CACR,CAAC;YACF,OAAO,SAAS,CAAC;QAClB,CAAC;QAED,GAAG,CAAC,GAAG,CAAC,IAAI,CACX,gDAAgD,EAChD,MAAM,CAAC,SAAS,CAAC,EACjB,UAAU,EACV,QAAQ,CACR,CAAC;QAEF,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;SACD,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;QAE1B,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YACzB,GAAG,CAAC,GAAG,CAAC,IAAI,CACX,mEAAmE,EACnE,UAAU,CACV,CAAC;YACF,OAAO;QACR,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,CAAC,CAAC;QAEzC,GAAG,CAAC,GAAG,CAAC,IAAI,CACX,gDAAgD,EAChD,MAAM,CAAC,EAAE,CAAC,EACV,UAAU,EACV,QAAQ,CAAC,QAAQ,CACjB,CAAC;QAEF,mBAAmB;QACnB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;QAEjB,IAAI,CAAC;YACJ,MAAM,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9D,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAEtC,IAAI,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxE,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAC1E,CAAC;QACF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,GAAG,CAAC,GAAG,CAAC,IAAI,CACX,qDAAqD,EACrD,UAAU,EACV,QAAQ,CAAC,QAAQ,EAChB,GAAa,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CACrC,CAAC;YAEF,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,kEAEnC,CAAC;QACH,CAAC;IACF,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -7,6 +7,15 @@ export function configureCyncSwitchAccessory(env, mesh, device, accessory, devic
|
|
|
7
7
|
env.log.info('Cync: removing stale Lightbulb service from %s (deviceId=%s) before configuring as Switch', deviceName, deviceId);
|
|
8
8
|
accessory.removeService(existingLight);
|
|
9
9
|
}
|
|
10
|
+
const existingOutlet = accessory.getService(env.api.hap.Service.Outlet);
|
|
11
|
+
if (existingOutlet) {
|
|
12
|
+
accessory.removeService(existingOutlet);
|
|
13
|
+
}
|
|
14
|
+
const existingFan = accessory.getService(env.api.hap.Service.Fanv2);
|
|
15
|
+
if (existingFan) {
|
|
16
|
+
accessory.removeService(existingFan);
|
|
17
|
+
}
|
|
18
|
+
accessory.category = 8 /* env.api.hap.Categories.SWITCH */;
|
|
10
19
|
applyAccessoryInformationFromCyncDevice(env.api, accessory, device, deviceName, deviceId);
|
|
11
20
|
// Ensure context is initialized
|
|
12
21
|
const ctx = accessory.context;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cync-switch-accessory.js","sourceRoot":"","sources":["../../src/cync/cync-switch-accessory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cync-switch-accessory.js","sourceRoot":"","sources":["../../src/cync/cync-switch-accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Device categories and capabilities extracted from the DeviceType table in a
|
|
3
|
+
* decompiled Cync Android APK. Keep unknown-device fallbacks outside this
|
|
4
|
+
* module so a new device can still be promoted from cloud or LAN observations.
|
|
5
|
+
*/
|
|
6
|
+
export type CyncApkAccessoryType = 'light' | 'fan' | 'outlet' | 'switch' | 'ignored' | 'unsupported';
|
|
7
|
+
export interface CyncApkDeviceProfile {
|
|
8
|
+
accessoryType: CyncApkAccessoryType;
|
|
9
|
+
supportsBrightness: boolean;
|
|
10
|
+
supportsColor: boolean;
|
|
11
|
+
supportsCt: boolean;
|
|
12
|
+
supportsLightShows: boolean;
|
|
13
|
+
supportsMusicShows: boolean;
|
|
14
|
+
supportsSegmentedControl: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare function getCyncApkDeviceProfile(deviceType: number | undefined): CyncApkDeviceProfile | undefined;
|
|
17
|
+
export declare function supportsCyncLightShows(deviceType: number | undefined): boolean;
|
|
18
|
+
export declare function supportsCyncMusicShows(deviceType: number | undefined): boolean;
|
|
19
|
+
export declare function supportsCyncSegmentedControl(deviceType: number | undefined): boolean;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Device categories and capabilities extracted from the DeviceType table in a
|
|
3
|
+
* decompiled Cync Android APK. Keep unknown-device fallbacks outside this
|
|
4
|
+
* module so a new device can still be promoted from cloud or LAN observations.
|
|
5
|
+
*/
|
|
6
|
+
const LIGHT_DEVICE_TYPES = new Set([
|
|
7
|
+
1, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
|
|
8
|
+
27, 28, 29, 30, 31, 32, 33, 34, 35, 41, 42, 43, 44, 46, 47, 71, 72, 73, 74, 75,
|
|
9
|
+
76, 80, 82, 83, 85, 97, 98, 99, 100, 101, 102, 103, 104, 105, 107, 108, 109, 110,
|
|
10
|
+
123, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,
|
|
11
|
+
143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158,
|
|
12
|
+
159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 175,
|
|
13
|
+
177, 180, 181, 182,
|
|
14
|
+
]);
|
|
15
|
+
const OUTLET_DEVICE_TYPES = new Set([
|
|
16
|
+
64, 65, 66, 67, 68, 69, 111, 172,
|
|
17
|
+
]);
|
|
18
|
+
const SWITCH_DEVICE_TYPES = new Set([
|
|
19
|
+
36, 37, 38, 39, 40, 48, 49, 51, 52, 53, 55, 56, 57, 58, 59, 61, 62, 63, 116,
|
|
20
|
+
117, 118, 119, 120, 124, 125,
|
|
21
|
+
]);
|
|
22
|
+
const FAN_DEVICE_TYPES = new Set([81, 121]);
|
|
23
|
+
const IGNORED_DEVICE_TYPES = new Set([96, 112, 113, 114, 115, 65536]);
|
|
24
|
+
const UNSUPPORTED_DEVICE_TYPES = new Set([122, 224, 240, 241, 242]);
|
|
25
|
+
const DIMMABLE_DEVICE_TYPES = new Set([
|
|
26
|
+
1, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
|
|
27
|
+
27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 41, 42, 43, 44, 46, 47, 48, 49, 55,
|
|
28
|
+
56, 71, 72, 73, 74, 75, 76, 80, 82, 83, 85, 97, 98, 99, 100, 101, 102, 103, 104,
|
|
29
|
+
105, 107, 108, 109, 110, 116, 117, 123, 124, 125, 128, 129, 130, 131, 132, 133,
|
|
30
|
+
134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149,
|
|
31
|
+
150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
|
|
32
|
+
166, 167, 168, 169, 170, 171, 173, 174, 175, 177, 180, 181, 182,
|
|
33
|
+
]);
|
|
34
|
+
const CT_DEVICE_TYPES = new Set([
|
|
35
|
+
5, 6, 7, 8, 10, 11, 14, 15, 19, 20, 21, 22, 23, 25, 26, 28, 29, 30, 31, 32, 33,
|
|
36
|
+
34, 35, 41, 42, 43, 44, 46, 47, 71, 72, 73, 74, 75, 76, 80, 82, 83, 85, 97, 98,
|
|
37
|
+
101, 102, 104, 105, 107, 108, 109, 110, 123, 129, 130, 131, 132, 133, 135, 136,
|
|
38
|
+
137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 153, 154, 155, 156, 157,
|
|
39
|
+
158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174,
|
|
40
|
+
175, 177, 180, 181, 182,
|
|
41
|
+
]);
|
|
42
|
+
const COLOR_DEVICE_TYPES = new Set([
|
|
43
|
+
6, 7, 8, 21, 22, 23, 30, 31, 32, 33, 34, 35, 41, 42, 43, 44, 46, 47, 71, 72,
|
|
44
|
+
73, 74, 75, 76, 97, 98, 101, 102, 104, 105, 107, 108, 109, 110, 123, 131, 132,
|
|
45
|
+
133, 137, 138, 139, 140, 141, 142, 143, 146, 147, 153, 154, 155, 156, 157, 158,
|
|
46
|
+
159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 175,
|
|
47
|
+
177, 180, 181, 182,
|
|
48
|
+
]);
|
|
49
|
+
const MUSIC_SHOW_DEVICE_TYPES = new Set([
|
|
50
|
+
71, 72, 73, 74, 75, 76, 110, 123, 141, 155, 157, 158, 159, 166, 167, 168,
|
|
51
|
+
]);
|
|
52
|
+
const SEGMENTED_DEVICE_TYPES = new Set([
|
|
53
|
+
71, 72, 73, 74, 75, 76, 141, 155, 157, 158, 159, 166, 167, 168,
|
|
54
|
+
]);
|
|
55
|
+
function resolveAccessoryType(deviceType) {
|
|
56
|
+
if (IGNORED_DEVICE_TYPES.has(deviceType)) {
|
|
57
|
+
return 'ignored';
|
|
58
|
+
}
|
|
59
|
+
if (UNSUPPORTED_DEVICE_TYPES.has(deviceType)) {
|
|
60
|
+
return 'unsupported';
|
|
61
|
+
}
|
|
62
|
+
if (FAN_DEVICE_TYPES.has(deviceType)) {
|
|
63
|
+
return 'fan';
|
|
64
|
+
}
|
|
65
|
+
if (OUTLET_DEVICE_TYPES.has(deviceType)) {
|
|
66
|
+
return 'outlet';
|
|
67
|
+
}
|
|
68
|
+
if (LIGHT_DEVICE_TYPES.has(deviceType)) {
|
|
69
|
+
return 'light';
|
|
70
|
+
}
|
|
71
|
+
if (SWITCH_DEVICE_TYPES.has(deviceType)) {
|
|
72
|
+
// HomeKit exposes dimmers through Lightbulb so brightness is available.
|
|
73
|
+
return DIMMABLE_DEVICE_TYPES.has(deviceType) ? 'light' : 'switch';
|
|
74
|
+
}
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
export function getCyncApkDeviceProfile(deviceType) {
|
|
78
|
+
if (deviceType === undefined) {
|
|
79
|
+
return undefined;
|
|
80
|
+
}
|
|
81
|
+
const accessoryType = resolveAccessoryType(deviceType);
|
|
82
|
+
if (!accessoryType) {
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
accessoryType,
|
|
87
|
+
supportsBrightness: DIMMABLE_DEVICE_TYPES.has(deviceType),
|
|
88
|
+
supportsColor: COLOR_DEVICE_TYPES.has(deviceType),
|
|
89
|
+
supportsCt: CT_DEVICE_TYPES.has(deviceType),
|
|
90
|
+
supportsLightShows: COLOR_DEVICE_TYPES.has(deviceType),
|
|
91
|
+
supportsMusicShows: MUSIC_SHOW_DEVICE_TYPES.has(deviceType),
|
|
92
|
+
supportsSegmentedControl: SEGMENTED_DEVICE_TYPES.has(deviceType),
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export function supportsCyncLightShows(deviceType) {
|
|
96
|
+
return getCyncApkDeviceProfile(deviceType)?.supportsLightShows === true;
|
|
97
|
+
}
|
|
98
|
+
export function supportsCyncMusicShows(deviceType) {
|
|
99
|
+
return getCyncApkDeviceProfile(deviceType)?.supportsMusicShows === true;
|
|
100
|
+
}
|
|
101
|
+
export function supportsCyncSegmentedControl(deviceType) {
|
|
102
|
+
return getCyncApkDeviceProfile(deviceType)?.supportsSegmentedControl === true;
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=device-capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"device-capabilities.js","sourceRoot":"","sources":["../../src/cync/device-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,6 @@
|
|
|
1
1
|
// src/cync/device-classifier.ts
|
|
2
2
|
// Cync Device Classifier: Centralizes accessory type selection and classification logging context
|
|
3
|
-
import {
|
|
4
|
-
const CYNC_LIGHT_DEVICE_TYPES = new Set([
|
|
5
|
-
1, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 17, 18, 19, 20, 21,
|
|
6
|
-
22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
|
|
7
|
-
37, 46, 47, 48, 49, 55, 56, 72, 76, 80, 82, 83, 85, 110, 123,
|
|
8
|
-
// Cync paddle dimmers are physical switches, but HomeKit exposes dimmers
|
|
9
|
-
// through the Lightbulb service so brightness controls appear in Home.
|
|
10
|
-
125,
|
|
11
|
-
128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140,
|
|
12
|
-
141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,
|
|
13
|
-
154, 155, 156, 158, 159, 160, 161, 162, 163, 164, 165, 166, 169,
|
|
14
|
-
170, 171, 174,
|
|
15
|
-
]);
|
|
16
|
-
const CYNC_OUTLET_DEVICE_TYPES = new Set([
|
|
17
|
-
64, 65, 66, 67, 68, 172,
|
|
18
|
-
]);
|
|
19
|
-
const CYNC_FAN_DEVICE_TYPES = new Set([
|
|
20
|
-
81,
|
|
21
|
-
]);
|
|
22
|
-
const CYNC_IGNORED_DEVICE_TYPES = new Set([
|
|
23
|
-
115,
|
|
24
|
-
]);
|
|
3
|
+
import { getCyncApkDeviceProfile } from './device-capabilities.js';
|
|
25
4
|
function normalizeCapabilities(capabilities) {
|
|
26
5
|
if (!capabilities) {
|
|
27
6
|
return [];
|
|
@@ -41,12 +20,13 @@ function getDeviceType(device) {
|
|
|
41
20
|
export function classifyCyncDevice(device, resolvedDeviceType) {
|
|
42
21
|
const deviceType = resolvedDeviceType ?? getDeviceType(device);
|
|
43
22
|
const capabilities = normalizeCapabilities(device.capabilities);
|
|
44
|
-
|
|
23
|
+
const apkProfile = getCyncApkDeviceProfile(deviceType);
|
|
24
|
+
if (apkProfile) {
|
|
45
25
|
return {
|
|
46
|
-
accessoryType:
|
|
26
|
+
accessoryType: apkProfile.accessoryType,
|
|
47
27
|
deviceType,
|
|
48
28
|
capabilities,
|
|
49
|
-
reason: `
|
|
29
|
+
reason: `Cync APK deviceType: ${deviceType}`,
|
|
50
30
|
};
|
|
51
31
|
}
|
|
52
32
|
if (capabilities.includes('fan')) {
|
|
@@ -67,31 +47,6 @@ export function classifyCyncDevice(device, resolvedDeviceType) {
|
|
|
67
47
|
reason: 'capability: light control',
|
|
68
48
|
};
|
|
69
49
|
}
|
|
70
|
-
if (deviceType !== undefined && CYNC_FAN_DEVICE_TYPES.has(deviceType)) {
|
|
71
|
-
return {
|
|
72
|
-
accessoryType: 'fan',
|
|
73
|
-
deviceType,
|
|
74
|
-
capabilities,
|
|
75
|
-
reason: `deviceType: ${deviceType}`,
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
if (deviceType !== undefined &&
|
|
79
|
-
(CYNC_LIGHT_DEVICE_TYPES.has(deviceType) || supportsCyncLightShows(deviceType))) {
|
|
80
|
-
return {
|
|
81
|
-
accessoryType: 'light',
|
|
82
|
-
deviceType,
|
|
83
|
-
capabilities,
|
|
84
|
-
reason: `deviceType: ${deviceType}`,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
if (deviceType !== undefined && CYNC_OUTLET_DEVICE_TYPES.has(deviceType)) {
|
|
88
|
-
return {
|
|
89
|
-
accessoryType: 'outlet',
|
|
90
|
-
deviceType,
|
|
91
|
-
capabilities,
|
|
92
|
-
reason: `deviceType: ${deviceType}`,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
50
|
if (capabilities.includes('onoff')) {
|
|
96
51
|
return {
|
|
97
52
|
accessoryType: 'switch',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-classifier.js","sourceRoot":"","sources":["../../src/cync/device-classifier.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,kGAAkG;AAClG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"device-classifier.js","sourceRoot":"","sources":["../../src/cync/device-classifier.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,kGAAkG;AAClG,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAmBnE,SAAS,qBAAqB,CAAC,YAA4C;IAC1E,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,OAAO,YAAY;aACjB,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;aAC3C,IAAI,EAAE,CAAC;IACV,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC;SAC9B,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;SAC3C,IAAI,EAAE,CAAC;AACV,CAAC;AAED,SAAS,aAAa,CAAC,MAAsB;IAC5C,OAAO,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,kBAAkB,CACjC,MAAsB,EACtB,kBAA2B;IAE3B,MAAM,UAAU,GAAG,kBAAkB,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAEvD,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO;YACN,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,UAAU;YACV,YAAY;YACZ,MAAM,EAAE,wBAAwB,UAAU,EAAE;SAC5C,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,OAAO;YACN,aAAa,EAAE,KAAK;YACpB,UAAU;YACV,YAAY;YACZ,MAAM,EAAE,iBAAiB;SACzB,CAAC;IACH,CAAC;IAED,IACC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC9B,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;QAClC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,EAClC,CAAC;QACF,OAAO;YACN,aAAa,EAAE,OAAO;YACtB,UAAU;YACV,YAAY;YACZ,MAAM,EAAE,2BAA2B;SACnC,CAAC;IACH,CAAC;IAED,IAAI,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO;YACN,aAAa,EAAE,QAAQ;YACvB,UAAU;YACV,YAAY;YACZ,MAAM,EAAE,4BAA4B;SACpC,CAAC;IACH,CAAC;IAED,OAAO;QACN,aAAa,EAAE,aAAa;QAC5B,UAAU;QACV,YAAY;QACZ,MAAM,EAAE,+CAA+C;KACvD,CAAC;AACH,CAAC"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -12,10 +12,12 @@ export declare class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
12
12
|
private readonly deviceIdToAccessory;
|
|
13
13
|
private readonly deviceLastSeen;
|
|
14
14
|
private readonly devicePollTimers;
|
|
15
|
+
private showAccessoryRegistrationDisabled;
|
|
15
16
|
private readonly offlineTimeoutMs;
|
|
16
17
|
private readonly pollIntervalMs;
|
|
17
18
|
private setMainAccessoryOnForDevice;
|
|
18
19
|
private clearActiveShowsForDevice;
|
|
20
|
+
private getDeviceShowConfig;
|
|
19
21
|
private shouldExposeCustomShows;
|
|
20
22
|
private readonly musicShowServicesByDeviceId;
|
|
21
23
|
private registerMusicShowAccessoryForDevice;
|
|
@@ -25,6 +27,7 @@ export declare class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
25
27
|
private getEnabledLightShowIndexes;
|
|
26
28
|
private shouldExposeMusicShows;
|
|
27
29
|
private getEnabledMusicShowIndexes;
|
|
30
|
+
private getEnabledCustomShowIndexes;
|
|
28
31
|
private markDeviceSeen;
|
|
29
32
|
private registerLightShowAccessoryForDevice;
|
|
30
33
|
private markActiveLightShowForDevice;
|
|
@@ -34,5 +37,8 @@ export declare class CyncAppPlatform implements DynamicPlatformPlugin {
|
|
|
34
37
|
private handleLanUpdate;
|
|
35
38
|
constructor(log: Logger, config: PlatformConfig, api: API);
|
|
36
39
|
private loadCync;
|
|
40
|
+
private resolvePlatformDevice;
|
|
41
|
+
private configurePrimaryAccessory;
|
|
42
|
+
private registerOptionalShowAccessory;
|
|
37
43
|
private discoverDevices;
|
|
38
44
|
}
|