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.
@@ -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;
@@ -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
- if (this.lanUpdateHandler) {
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":"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"}
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 {};