homebridge-cync-app 0.3.4 → 0.4.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/.github/ISSUE_TEMPLATE/unsupported-or-incorrectly-detected-cync-device.md +96 -0
- package/CHANGELOG.md +48 -0
- package/dist/cync/cync-client.d.ts +0 -2
- package/dist/cync/cync-client.js +1 -13
- package/dist/cync/cync-client.js.map +1 -1
- package/dist/cync/cync-fan-accessory.d.ts +4 -0
- package/dist/cync/cync-fan-accessory.js +96 -0
- package/dist/cync/cync-fan-accessory.js.map +1 -0
- package/dist/cync/device-catalog.d.ts +0 -10
- package/dist/cync/device-catalog.js +0 -108
- package/dist/cync/device-catalog.js.map +1 -1
- package/dist/cync/device-classifier.d.ts +16 -0
- package/dist/cync/device-classifier.js +94 -0
- package/dist/cync/device-classifier.js.map +1 -0
- package/dist/cync/tcp-client.d.ts +0 -3
- package/dist/cync/tcp-client.js +0 -9
- package/dist/cync/tcp-client.js.map +1 -1
- package/dist/platform.js +45 -32
- package/dist/platform.js.map +1 -1
- package/package.json +3 -3
- package/src/cync/cync-client.ts +1 -14
- package/src/cync/cync-fan-accessory.ts +165 -0
- package/src/cync/device-catalog.ts +0 -119
- package/src/cync/device-classifier.ts +130 -0
- package/src/cync/tcp-client.ts +0 -25
- package/src/platform.ts +76 -36
- package/.github/ISSUE_TEMPLATE/add-support-for-a-new-cync-device.md +0 -142
- package/dist/platformAccessory.d.ts +0 -13
- package/dist/platformAccessory.js +0 -18
- package/dist/platformAccessory.js.map +0 -1
- package/src/platformAccessory.ts +0 -20
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Unsupported or Incorrectly Detected Cync Device
|
|
3
|
+
about: Accessory is detected, but has the wrong type or missing features
|
|
4
|
+
title: 'Cync Device Issue: [MODEL]'
|
|
5
|
+
labels: enhancement
|
|
6
|
+
assignees: dash16
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
<!--Thank you for helping expand device support in **homebridge-cync-app**.
|
|
11
|
+
|
|
12
|
+
To improve compatibility for an incorrectly identified/unidentified Cync device, I need diagnostic information from your plugin installation and the Cync app.
|
|
13
|
+
|
|
14
|
+
Please replace the placeholders below with your information.
|
|
15
|
+
You can delete these instruction comments before submitting.
|
|
16
|
+
-->
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 1. Device Information
|
|
20
|
+
|
|
21
|
+
**1.1 Product name as shown in the Cync app**
|
|
22
|
+
|
|
23
|
+
<!--e.g., “6" Recessed Can Retrofit Fixture (Matter)”, “Indoor Smart Plug (3-in-1)”, “Indoor Smart Plug”-->
|
|
24
|
+
```
|
|
25
|
+
<insert product name>
|
|
26
|
+
```
|
|
27
|
+
**1.2 Product page URL (GE/Cync or retailer)**
|
|
28
|
+
|
|
29
|
+
<!-- Paste a GE/Cync or retailer product link, if available. -->
|
|
30
|
+
```
|
|
31
|
+
<insert URL>
|
|
32
|
+
```
|
|
33
|
+
**1.3 What kind of device is this?**
|
|
34
|
+
|
|
35
|
+
<!-- Example: plug, dimmer, tunable white light, full color light, fan, switch, sensor, other. -->
|
|
36
|
+
```
|
|
37
|
+
<insert device type>
|
|
38
|
+
```
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## 2. Discovery Logs (Required)
|
|
42
|
+
|
|
43
|
+
<!--Please enable **Homebridge Debug Mode**, restart Homebridge, and paste the startup discovery logs for the affected device.
|
|
44
|
+
|
|
45
|
+
Look for lines like:
|
|
46
|
+
|
|
47
|
+
```text
|
|
48
|
+
[Cync] CyncClient: loading Cync cloud configuration…
|
|
49
|
+
[Cync] Fetching Cync devices from https://api.gelighting.com/...
|
|
50
|
+
[Cync] Cync devices payload: top-level array length=...
|
|
51
|
+
[Cync] CyncClient: probing properties for mesh ... (id=..., product_id=...)
|
|
52
|
+
[Cync] CyncClient: mesh ... properties keys=...
|
|
53
|
+
[Cync] CyncClient: mesh ... bulbsArray length=...
|
|
54
|
+
[Cync] CyncClient: bulb #... for mesh ... → {
|
|
55
|
+
displayName: ...
|
|
56
|
+
deviceID: ...
|
|
57
|
+
deviceType: ...
|
|
58
|
+
raw: { ... }
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Please include the full bulb #... block for the affected device.
|
|
63
|
+
You may redact Wi-Fi names, MAC addresses, and tokens.
|
|
64
|
+
-->
|
|
65
|
+
```
|
|
66
|
+
<insert logs>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 3. Screenshots from the **Cync App**
|
|
72
|
+
|
|
73
|
+
<!--Please attach screenshots **from the Cync mobile app (not Apple Home)** showing:
|
|
74
|
+
|
|
75
|
+
* The **device settings page**
|
|
76
|
+
* The **main control UI** (brightness / color / mode controls)
|
|
77
|
+
* Any **advanced settings** available
|
|
78
|
+
|
|
79
|
+
These help determine which capabilities the device supports.
|
|
80
|
+
-->
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## 4. Anything Else?
|
|
84
|
+
|
|
85
|
+
<!--If the device behaves in an unusual way (multiple endpoints, segmented lights, unusual controls, etc.), please describe it here.
|
|
86
|
+
-->
|
|
87
|
+
```
|
|
88
|
+
<notes>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
<!--
|
|
94
|
+
Thank You!
|
|
95
|
+
Once you submit this, I’ll analyze the device capabilities, determine the correct HomeKit service type, and add support to the plugin.
|
|
96
|
+
-->
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,53 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.4.1 — Maintenance Sweep
|
|
4
|
+
|
|
5
|
+
**Release Date:** 2026-05-29
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- Reduced routine LAN device update logging from **info** to **debug**.
|
|
9
|
+
- Kept device classification behavior centralized in `device-classifier.ts` while simplifying catalog metadata to descriptive model information.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- Removed unused accessory scaffolding, TCP helper state, LAN update bridge code, and obsolete catalog classification metadata.
|
|
13
|
+
- Corrected package lockfile version metadata to match the published package version.
|
|
14
|
+
|
|
15
|
+
### Notes
|
|
16
|
+
- No device support or configuration changes are included in this release.
|
|
17
|
+
- Unknown or partially supported devices continue to use the existing classifier fallback behavior.
|
|
18
|
+
|
|
19
|
+
# v0.4.0 — Capability Classifier & Fan Support
|
|
20
|
+
|
|
21
|
+
**Release Date:** 2026-05-27
|
|
22
|
+
|
|
23
|
+
## Added
|
|
24
|
+
- Added support for Cync fan switch devices (deviceType 81) using HomeKit `Fanv2`
|
|
25
|
+
- Added dedicated `cync-fan-accessory.ts` accessory handler
|
|
26
|
+
- Added centralized `device-classifier.ts` subsystem for accessory classification
|
|
27
|
+
- Added classification debug logging showing:
|
|
28
|
+
- device name
|
|
29
|
+
- device ID
|
|
30
|
+
- resolved device type
|
|
31
|
+
- detected capabilities
|
|
32
|
+
- selected accessory type
|
|
33
|
+
- classification reason
|
|
34
|
+
- Added unsupported device fallback logging to improve future device onboarding
|
|
35
|
+
|
|
36
|
+
## Changed
|
|
37
|
+
- Refactored accessory selection to use capability-aware classification instead of relying solely on static device type lists
|
|
38
|
+
- Improved separation of concerns by moving classification logic out of `platform.ts`
|
|
39
|
+
- Expanded known Cync device catalogs using data cross-referenced from the Home Assistant Cync integration
|
|
40
|
+
|
|
41
|
+
## Fixed
|
|
42
|
+
- Fixed fan switches incorrectly appearing as Lightbulb accessories in HomeKit
|
|
43
|
+
- Restored proper handling for several light and outlet device types after classifier integration
|
|
44
|
+
- Improved accessory fallback behavior for unknown or partially supported devices
|
|
45
|
+
|
|
46
|
+
## Developer Notes
|
|
47
|
+
- Classification decisions are now centralized in `src/cync/device-classifier.ts`
|
|
48
|
+
- Future device onboarding should require significantly less modification to `platform.ts`
|
|
49
|
+
- New debug logs should make community issue reports substantially easier to triage
|
|
50
|
+
|
|
3
51
|
## 0.3.4 — Composite Switch ID Crash Fix
|
|
4
52
|
|
|
5
53
|
**Release Date:** 2026-05-22
|
|
@@ -17,8 +17,6 @@ export declare class CyncClient {
|
|
|
17
17
|
private homeControllers;
|
|
18
18
|
private switchIdToHomeId;
|
|
19
19
|
private readonly loginConfig;
|
|
20
|
-
private lanUpdateHandler;
|
|
21
|
-
onLanDeviceUpdate(handler: (update: unknown) => void): void;
|
|
22
20
|
getLanLoginCode(): Uint8Array;
|
|
23
21
|
constructor(configClient: ConfigClient, tcpClient: TcpClient, loginConfig: {
|
|
24
22
|
username: string;
|
package/dist/cync/cync-client.js
CHANGED
|
@@ -94,12 +94,6 @@ export class CyncClient {
|
|
|
94
94
|
// - password: account password
|
|
95
95
|
// - twoFactor: 6-digit OTP, optional; when present we complete 2FA on restart.
|
|
96
96
|
loginConfig;
|
|
97
|
-
// Optional LAN update hook for the platform
|
|
98
|
-
lanUpdateHandler = null;
|
|
99
|
-
// LAN Update Bridge: allow platform to handle device updates
|
|
100
|
-
onLanDeviceUpdate(handler) {
|
|
101
|
-
this.lanUpdateHandler = handler;
|
|
102
|
-
}
|
|
103
97
|
// LAN Auth Blob Getter: Returns the LAN login code if available
|
|
104
98
|
getLanLoginCode() {
|
|
105
99
|
if (!this.tokenData?.lanLoginCode) {
|
|
@@ -575,13 +569,7 @@ export class CyncClient {
|
|
|
575
569
|
});
|
|
576
570
|
// REQUIRED: subscribe to parsed device updates
|
|
577
571
|
this.tcpClient.onDeviceUpdate((update) => {
|
|
578
|
-
|
|
579
|
-
this.lanUpdateHandler(update);
|
|
580
|
-
}
|
|
581
|
-
else {
|
|
582
|
-
// Fallback: log only
|
|
583
|
-
this.log.info('[Cync TCP] device update callback fired; payload=%o', update);
|
|
584
|
-
}
|
|
572
|
+
this.log.debug('[Cync TCP] device update callback fired; payload=%o', update);
|
|
585
573
|
});
|
|
586
574
|
await this.tcpClient.connect(loginCode, config);
|
|
587
575
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cync-client.js","sourceRoot":"","sources":["../../src/cync/cync-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cync-client.js","sourceRoot":"","sources":["../../src/cync/cync-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PlatformAccessory } from 'homebridge';
|
|
2
|
+
import type { CyncDevice, CyncDeviceMesh } from './config-client.js';
|
|
3
|
+
import type { CyncAccessoryEnv } from './cync-accessory-helpers.js';
|
|
4
|
+
export declare function configureCyncFanAccessory(env: CyncAccessoryEnv, mesh: CyncDeviceMesh, device: CyncDevice, accessory: PlatformAccessory, deviceName: string, deviceId: string): void;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { applyAccessoryInformationFromCyncDevice, resolveDeviceType, } from './cync-accessory-helpers.js';
|
|
2
|
+
function clampFanSpeed(value) {
|
|
3
|
+
const speed = Math.round(Number(value));
|
|
4
|
+
if (!Number.isFinite(speed)) {
|
|
5
|
+
return 0;
|
|
6
|
+
}
|
|
7
|
+
return Math.max(0, Math.min(100, speed));
|
|
8
|
+
}
|
|
9
|
+
// Fan Accessory Configurator: Exposes Cync fan switches as HomeKit Fanv2 accessories
|
|
10
|
+
export function configureCyncFanAccessory(env, mesh, device, accessory, deviceName, deviceId) {
|
|
11
|
+
const Service = env.api.hap.Service;
|
|
12
|
+
const Characteristic = env.api.hap.Characteristic;
|
|
13
|
+
const existingLight = accessory.getService(Service.Lightbulb);
|
|
14
|
+
if (existingLight) {
|
|
15
|
+
env.log.info('Cync: removing stale Lightbulb service from %s (deviceId=%s) before configuring as Fan', deviceName, deviceId);
|
|
16
|
+
accessory.removeService(existingLight);
|
|
17
|
+
}
|
|
18
|
+
const existingSwitch = accessory.getService(Service.Switch);
|
|
19
|
+
if (existingSwitch) {
|
|
20
|
+
env.log.info('Cync: removing stale Switch service from %s (deviceId=%s) before configuring as Fan', deviceName, deviceId);
|
|
21
|
+
accessory.removeService(existingSwitch);
|
|
22
|
+
}
|
|
23
|
+
const existingOutlet = accessory.getService(Service.Outlet);
|
|
24
|
+
if (existingOutlet) {
|
|
25
|
+
env.log.info('Cync: removing stale Outlet service from %s (deviceId=%s) before configuring as Fan', deviceName, deviceId);
|
|
26
|
+
accessory.removeService(existingOutlet);
|
|
27
|
+
}
|
|
28
|
+
const service = accessory.getService(Service.Fanv2) ||
|
|
29
|
+
accessory.addService(Service.Fanv2, deviceName);
|
|
30
|
+
if (accessory.category !== 3 /* env.api.hap.Categories.FAN */) {
|
|
31
|
+
accessory.category = 3 /* env.api.hap.Categories.FAN */;
|
|
32
|
+
}
|
|
33
|
+
applyAccessoryInformationFromCyncDevice(env.api, accessory, device, deviceName, deviceId);
|
|
34
|
+
const ctx = accessory.context;
|
|
35
|
+
ctx.cync = ctx.cync ?? {
|
|
36
|
+
meshId: mesh.id,
|
|
37
|
+
deviceId,
|
|
38
|
+
productId: device.product_id,
|
|
39
|
+
on: false,
|
|
40
|
+
};
|
|
41
|
+
const resolvedDeviceType = resolveDeviceType(device);
|
|
42
|
+
if (typeof resolvedDeviceType === 'number' && Number.isFinite(resolvedDeviceType)) {
|
|
43
|
+
ctx.cync.deviceType = resolvedDeviceType;
|
|
44
|
+
}
|
|
45
|
+
env.registerAccessoryForDevice(deviceId, accessory);
|
|
46
|
+
env.markDeviceSeen(deviceId);
|
|
47
|
+
env.startPollingDevice(deviceId);
|
|
48
|
+
service
|
|
49
|
+
.getCharacteristic(Characteristic.Active)
|
|
50
|
+
.onGet(() => {
|
|
51
|
+
return ctx.cync?.on ? Characteristic.Active.ACTIVE : Characteristic.Active.INACTIVE;
|
|
52
|
+
})
|
|
53
|
+
.onSet(async (value) => {
|
|
54
|
+
const cyncMeta = ctx.cync;
|
|
55
|
+
if (!cyncMeta?.deviceId) {
|
|
56
|
+
env.log.warn('Cync: Fan Active.set called for %s but no cync.deviceId in context', deviceName);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
const on = value === Characteristic.Active.ACTIVE;
|
|
60
|
+
cyncMeta.on = on;
|
|
61
|
+
try {
|
|
62
|
+
await env.tcpClient.setSwitchState(cyncMeta.deviceId, { on });
|
|
63
|
+
env.markDeviceSeen(cyncMeta.deviceId);
|
|
64
|
+
}
|
|
65
|
+
catch (err) {
|
|
66
|
+
env.log.warn('Cync: Fan Active.set failed for %s (deviceId=%s): %s', deviceName, cyncMeta.deviceId, err.message ?? String(err));
|
|
67
|
+
throw new env.api.hap.HapStatusError(-70402 /* env.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
service
|
|
71
|
+
.getCharacteristic(Characteristic.RotationSpeed)
|
|
72
|
+
.onGet(() => {
|
|
73
|
+
return typeof ctx.cync?.brightness === 'number'
|
|
74
|
+
? ctx.cync.brightness
|
|
75
|
+
: ctx.cync?.on ? 100 : 0;
|
|
76
|
+
})
|
|
77
|
+
.onSet(async (value) => {
|
|
78
|
+
const cyncMeta = ctx.cync;
|
|
79
|
+
if (!cyncMeta?.deviceId) {
|
|
80
|
+
env.log.warn('Cync: Fan RotationSpeed.set called for %s but no cync.deviceId in context', deviceName);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const speed = clampFanSpeed(value);
|
|
84
|
+
cyncMeta.brightness = speed;
|
|
85
|
+
cyncMeta.on = speed > 0;
|
|
86
|
+
try {
|
|
87
|
+
await env.tcpClient.setBrightness(cyncMeta.deviceId, speed, cyncMeta.deviceType);
|
|
88
|
+
env.markDeviceSeen(cyncMeta.deviceId);
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
env.log.warn('Cync: Fan RotationSpeed.set failed for %s (deviceId=%s): %s', deviceName, cyncMeta.deviceId, err.message ?? String(err));
|
|
92
|
+
throw new env.api.hap.HapStatusError(-70402 /* env.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=cync-fan-accessory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cync-fan-accessory.js","sourceRoot":"","sources":["../../src/cync/cync-fan-accessory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
import { Categories } from 'homebridge';
|
|
2
|
-
export interface CyncCapabilityDefaults {
|
|
3
|
-
isLight: boolean;
|
|
4
|
-
supportsBrightness: boolean;
|
|
5
|
-
supportsColor: boolean;
|
|
6
|
-
supportsCt: boolean;
|
|
7
|
-
}
|
|
8
1
|
export interface CyncDeviceModel {
|
|
9
2
|
deviceType: number;
|
|
10
3
|
modelName: string;
|
|
11
4
|
marketingName?: string;
|
|
12
|
-
defaultCategory?: Categories;
|
|
13
5
|
notes?: string;
|
|
14
|
-
defaultCapabilities?: CyncCapabilityDefaults;
|
|
15
6
|
}
|
|
16
7
|
/**
|
|
17
8
|
* Device catalog keyed by deviceType.
|
|
@@ -19,4 +10,3 @@ export interface CyncDeviceModel {
|
|
|
19
10
|
*/
|
|
20
11
|
export declare const DEVICE_CATALOG: Record<number, CyncDeviceModel>;
|
|
21
12
|
export declare function lookupDeviceModel(deviceType: number): CyncDeviceModel | undefined;
|
|
22
|
-
export declare function lookupDefaultCapabilities(deviceType: number): CyncCapabilityDefaults | undefined;
|
|
@@ -8,198 +8,90 @@ export const DEVICE_CATALOG = {
|
|
|
8
8
|
deviceType: 10,
|
|
9
9
|
modelName: 'Tunable White Smart Bulb (A19)',
|
|
10
10
|
marketingName: 'Direct Connect Smart Bulb',
|
|
11
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
12
|
-
defaultCapabilities: {
|
|
13
|
-
isLight: true,
|
|
14
|
-
supportsBrightness: true,
|
|
15
|
-
supportsColor: false,
|
|
16
|
-
supportsCt: true,
|
|
17
|
-
},
|
|
18
11
|
},
|
|
19
12
|
30: {
|
|
20
13
|
deviceType: 30,
|
|
21
14
|
modelName: 'Full Color Smart Bulb (A19)',
|
|
22
15
|
marketingName: 'Direct Connect Smart Bulb',
|
|
23
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
24
|
-
defaultCapabilities: {
|
|
25
|
-
isLight: true,
|
|
26
|
-
supportsBrightness: true,
|
|
27
|
-
supportsColor: false,
|
|
28
|
-
supportsCt: true,
|
|
29
|
-
},
|
|
30
16
|
},
|
|
31
17
|
46: {
|
|
32
18
|
deviceType: 46,
|
|
33
19
|
modelName: '6" Recessed Can Retrofit Fixture (Matter)',
|
|
34
20
|
marketingName: 'Cync reveal HD+',
|
|
35
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
36
|
-
defaultCapabilities: {
|
|
37
|
-
isLight: true,
|
|
38
|
-
supportsBrightness: true,
|
|
39
|
-
supportsColor: true,
|
|
40
|
-
supportsCt: true,
|
|
41
|
-
},
|
|
42
21
|
},
|
|
43
22
|
48: {
|
|
44
23
|
deviceType: 48,
|
|
45
24
|
modelName: 'Cync Smart Dimmer Switch',
|
|
46
25
|
marketingName: 'Cync Smart Dimmer',
|
|
47
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
48
|
-
defaultCapabilities: {
|
|
49
|
-
isLight: true,
|
|
50
|
-
supportsBrightness: true,
|
|
51
|
-
supportsColor: false,
|
|
52
|
-
supportsCt: false,
|
|
53
|
-
},
|
|
54
26
|
},
|
|
55
27
|
64: {
|
|
56
28
|
deviceType: 64,
|
|
57
29
|
modelName: 'Indoor Smart Plug (CPLGSTDBLW1)',
|
|
58
30
|
marketingName: 'On/Off Smart Plug (CPLGSTDBLW1)',
|
|
59
31
|
notes: 'Legacy C by GE plug. FCC ID PUU-CPLGSTDBLW1. Original hardware revision. Final firmware 1.x.',
|
|
60
|
-
defaultCategory: 8 /* Categories.SWITCH */,
|
|
61
|
-
defaultCapabilities: {
|
|
62
|
-
isLight: false,
|
|
63
|
-
supportsBrightness: false,
|
|
64
|
-
supportsColor: false,
|
|
65
|
-
supportsCt: false,
|
|
66
|
-
},
|
|
67
32
|
},
|
|
68
33
|
65: {
|
|
69
34
|
deviceType: 65,
|
|
70
35
|
modelName: 'Indoor Smart Plug (CPLGSTDBLW1-T)',
|
|
71
36
|
marketingName: 'On/Off Smart Plug (CPLGSTDBLW1-T)',
|
|
72
37
|
notes: 'Legacy C by GE plug. FCC ID PUU-CPLGSTDBLW1T / HVIN CPLGSTDBLW1T. Revised hardware ("T" revision). Final firmware 2.x.',
|
|
73
|
-
defaultCategory: 8 /* Categories.SWITCH */,
|
|
74
|
-
defaultCapabilities: {
|
|
75
|
-
isLight: false,
|
|
76
|
-
supportsBrightness: false,
|
|
77
|
-
supportsColor: false,
|
|
78
|
-
supportsCt: false,
|
|
79
|
-
},
|
|
80
38
|
},
|
|
81
39
|
72: {
|
|
82
40
|
deviceType: 72,
|
|
83
41
|
modelName: 'Indoor 32ft Premium Light Strip',
|
|
84
42
|
marketingName: 'Dynamic Effects Smart Light Strip (32ft)',
|
|
85
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
86
43
|
notes: 'Full color light strip.',
|
|
87
|
-
defaultCapabilities: {
|
|
88
|
-
isLight: true,
|
|
89
|
-
supportsBrightness: true,
|
|
90
|
-
supportsColor: true,
|
|
91
|
-
supportsCt: true,
|
|
92
|
-
},
|
|
93
44
|
},
|
|
94
45
|
110: {
|
|
95
46
|
deviceType: 110,
|
|
96
47
|
modelName: 'Direct Connect Strip - Thin Style (16ft)',
|
|
97
48
|
marketingName: 'Direct Connect Smart Light Strip',
|
|
98
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
99
49
|
notes: 'Full color light strip; cloud payload lacks color/level fields, so prefer LAN capability/state detection.',
|
|
100
|
-
defaultCapabilities: {
|
|
101
|
-
isLight: true,
|
|
102
|
-
supportsBrightness: true,
|
|
103
|
-
supportsColor: true,
|
|
104
|
-
supportsCt: true,
|
|
105
|
-
},
|
|
106
50
|
},
|
|
107
51
|
123: {
|
|
108
52
|
deviceType: 123,
|
|
109
53
|
modelName: 'Direct Connect Strip - Thin Style (32ft)',
|
|
110
54
|
marketingName: 'Direct Connect Smart Light Strip',
|
|
111
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
112
55
|
notes: 'Full color light strip; cloud payload lacks color/level fields, so prefer LAN capability/state detection.',
|
|
113
|
-
defaultCapabilities: {
|
|
114
|
-
isLight: true,
|
|
115
|
-
supportsBrightness: true,
|
|
116
|
-
supportsColor: true,
|
|
117
|
-
supportsCt: true,
|
|
118
|
-
},
|
|
119
56
|
},
|
|
120
57
|
128: {
|
|
121
58
|
deviceType: 128,
|
|
122
59
|
modelName: 'Soft White Direct Connect Smart Bulb',
|
|
123
60
|
marketingName: 'GE Cync Soft White General Purpose A19 60W Replacement Smart LED Bulbs',
|
|
124
61
|
notes: 'Reported by users as white + dimming bulbs',
|
|
125
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
126
|
-
defaultCapabilities: {
|
|
127
|
-
isLight: true,
|
|
128
|
-
supportsBrightness: true,
|
|
129
|
-
supportsColor: false,
|
|
130
|
-
supportsCt: false,
|
|
131
|
-
},
|
|
132
62
|
},
|
|
133
63
|
131: {
|
|
134
64
|
deviceType: 131,
|
|
135
65
|
modelName: 'Full Color Direct Connect Smart Bulb (A19) (3in1)',
|
|
136
66
|
marketingName: 'GE Cync A19 Direct Connect LED Light Bulb, Color Changing Clear Smart Light, Matter Compatible, Works with Alexa and Google Home',
|
|
137
67
|
notes: 'Reported by users as full color + dimming bulbs',
|
|
138
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
139
|
-
defaultCapabilities: {
|
|
140
|
-
isLight: true,
|
|
141
|
-
supportsBrightness: true,
|
|
142
|
-
supportsColor: true,
|
|
143
|
-
supportsCt: true,
|
|
144
|
-
},
|
|
145
68
|
},
|
|
146
69
|
137: {
|
|
147
70
|
deviceType: 137,
|
|
148
71
|
modelName: 'A19 Full Color Direct Connect Smart Bulb (3-in-1)',
|
|
149
72
|
marketingName: 'GE Cync A19 Smart LED Light Bulb, Color Changing Smart WiFi Light',
|
|
150
73
|
notes: 'Reported by users as full color + dimming bulbs',
|
|
151
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
152
|
-
defaultCapabilities: {
|
|
153
|
-
isLight: true,
|
|
154
|
-
supportsBrightness: true,
|
|
155
|
-
supportsColor: true,
|
|
156
|
-
supportsCt: true,
|
|
157
|
-
},
|
|
158
74
|
},
|
|
159
75
|
142: {
|
|
160
76
|
deviceType: 142,
|
|
161
77
|
modelName: '4" Full Color Wafer Downlight',
|
|
162
78
|
marketingName: 'CYNC Wafer Smart LED Downlight',
|
|
163
79
|
notes: 'Reported by users as full color + dimming bulbs',
|
|
164
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
165
|
-
defaultCapabilities: {
|
|
166
|
-
isLight: true,
|
|
167
|
-
supportsBrightness: true,
|
|
168
|
-
supportsColor: true,
|
|
169
|
-
supportsCt: true,
|
|
170
|
-
},
|
|
171
80
|
},
|
|
172
81
|
171: {
|
|
173
82
|
deviceType: 171,
|
|
174
83
|
modelName: 'A19 Full Color Direct Connect Smart Bulb (3-in-1)',
|
|
175
84
|
marketingName: 'GE Cync A19 Smart LED Light Bulb, Color Changing Smart WiFi Light',
|
|
176
85
|
notes: 'Reported alongside deviceType=137 in the same home; appears to be same class of bulb.',
|
|
177
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
178
|
-
defaultCapabilities: {
|
|
179
|
-
isLight: true,
|
|
180
|
-
supportsBrightness: true,
|
|
181
|
-
supportsColor: true,
|
|
182
|
-
supportsCt: true,
|
|
183
|
-
},
|
|
184
86
|
},
|
|
185
87
|
172: {
|
|
186
88
|
deviceType: 172,
|
|
187
89
|
modelName: 'Indoor Smart Plug (3in1)',
|
|
188
90
|
marketingName: 'Cync Indoor Smart Plug',
|
|
189
91
|
notes: 'Matter-capable hardware. Replaces legacy C by GE On/Off Smart Plug.',
|
|
190
|
-
defaultCategory: 5 /* Categories.LIGHTBULB */,
|
|
191
|
-
defaultCapabilities: {
|
|
192
|
-
isLight: false,
|
|
193
|
-
supportsBrightness: false,
|
|
194
|
-
supportsColor: false,
|
|
195
|
-
supportsCt: false,
|
|
196
|
-
},
|
|
197
92
|
},
|
|
198
93
|
};
|
|
199
94
|
export function lookupDeviceModel(deviceType) {
|
|
200
95
|
return DEVICE_CATALOG[deviceType];
|
|
201
96
|
}
|
|
202
|
-
export function lookupDefaultCapabilities(deviceType) {
|
|
203
|
-
return DEVICE_CATALOG[deviceType]?.defaultCapabilities;
|
|
204
|
-
}
|
|
205
97
|
//# sourceMappingURL=device-catalog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device-catalog.js","sourceRoot":"","sources":["../../src/cync/device-catalog.ts"],"names":[],"mappings":"AAAA,6BAA6B;
|
|
1
|
+
{"version":3,"file":"device-catalog.js","sourceRoot":"","sources":["../../src/cync/device-catalog.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAQ7B;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoC;IAC9D,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,gCAAgC;QAC3C,aAAa,EAAE,2BAA2B;KAC1C;IACD,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,6BAA6B;QACxC,aAAa,EAAE,2BAA2B;KAC1C;IACD,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,2CAA2C;QACtD,aAAa,EAAE,iBAAiB;KAChC;IACD,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,0BAA0B;QACrC,aAAa,EAAE,mBAAmB;KAClC;IACD,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,iCAAiC;QAC5C,aAAa,EAAE,iCAAiC;QAChD,KAAK,EAAE,8FAA8F;KACrG;IACD,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,mCAAmC;QAC9C,aAAa,EAAE,mCAAmC;QAClD,KAAK,EAAE,wHAAwH;KAC/H;IACD,EAAE,EAAE;QACH,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,iCAAiC;QAC5C,aAAa,EAAE,0CAA0C;QACzD,KAAK,EAAE,yBAAyB;KAChC;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,0CAA0C;QACrD,aAAa,EAAE,kCAAkC;QACjD,KAAK,EAAE,2GAA2G;KAClH;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,0CAA0C;QACrD,aAAa,EAAE,kCAAkC;QACjD,KAAK,EAAE,2GAA2G;KAClH;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,sCAAsC;QACjD,aAAa,EAAE,wEAAwE;QACvF,KAAK,EAAE,4CAA4C;KACnD;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,mDAAmD;QAC9D,aAAa,EAAE,kIAAkI;QACjJ,KAAK,EAAE,iDAAiD;KACxD;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,mDAAmD;QAC9D,aAAa,EAAE,mEAAmE;QAClF,KAAK,EAAE,iDAAiD;KACxD;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,+BAA+B;QAC1C,aAAa,EAAE,gCAAgC;QAC/C,KAAK,EAAE,iDAAiD;KACxD;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,mDAAmD;QAC9D,aAAa,EAAE,mEAAmE;QAClF,KAAK,EAAE,uFAAuF;KAC9F;IACD,GAAG,EAAE;QACJ,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,0BAA0B;QACrC,aAAa,EAAE,wBAAwB;QACvC,KAAK,EAAE,qEAAqE;KAC5E;CACD,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,UAAkB;IACnD,OAAO,cAAc,CAAC,UAAU,CAAC,CAAC;AACnC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type CyncAccessoryType = 'light' | 'fan' | 'outlet' | 'switch' | 'unsupported';
|
|
2
|
+
export interface CyncDeviceLike {
|
|
3
|
+
id?: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
deviceType?: number;
|
|
6
|
+
type?: number;
|
|
7
|
+
capabilities?: string[] | Record<string, unknown>;
|
|
8
|
+
}
|
|
9
|
+
export interface CyncDeviceClassification {
|
|
10
|
+
accessoryType: CyncAccessoryType;
|
|
11
|
+
deviceType?: number;
|
|
12
|
+
capabilities: string[];
|
|
13
|
+
reason: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function classifyCyncDevice(device: CyncDeviceLike, resolvedDeviceType?: number): CyncDeviceClassification;
|
|
16
|
+
export {};
|