homebridge 2.0.0-alpha.4 → 2.0.0-alpha.40

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.
Files changed (89) hide show
  1. package/README.md +1 -1
  2. package/bin/homebridge.js +22 -0
  3. package/config-sample.json +12 -1
  4. package/dist/api.d.ts +226 -0
  5. package/dist/api.d.ts.map +1 -0
  6. package/dist/api.js +166 -0
  7. package/dist/api.js.map +1 -0
  8. package/dist/bridgeService.d.ts +125 -0
  9. package/dist/bridgeService.d.ts.map +1 -0
  10. package/dist/bridgeService.js +396 -0
  11. package/dist/bridgeService.js.map +1 -0
  12. package/dist/childBridgeFork.d.ts +38 -0
  13. package/dist/childBridgeFork.d.ts.map +1 -0
  14. package/dist/childBridgeFork.js +241 -2
  15. package/dist/childBridgeFork.js.map +1 -7
  16. package/dist/childBridgeService.d.ts +203 -0
  17. package/dist/childBridgeService.d.ts.map +1 -0
  18. package/dist/childBridgeService.js +451 -0
  19. package/dist/childBridgeService.js.map +1 -0
  20. package/dist/cli.d.ts +3 -0
  21. package/dist/cli.d.ts.map +1 -0
  22. package/dist/cli.js +90 -2
  23. package/dist/cli.js.map +1 -7
  24. package/dist/externalPortService.d.ts +33 -0
  25. package/dist/externalPortService.d.ts.map +1 -0
  26. package/dist/externalPortService.js +59 -0
  27. package/dist/externalPortService.js.map +1 -0
  28. package/dist/index.d.ts +85 -1099
  29. package/dist/index.d.ts.map +1 -0
  30. package/dist/index.js +20 -2
  31. package/dist/index.js.map +1 -7
  32. package/dist/ipcService.d.ts +30 -0
  33. package/dist/ipcService.d.ts.map +1 -0
  34. package/dist/ipcService.js +49 -0
  35. package/dist/ipcService.js.map +1 -0
  36. package/dist/logger.d.ts +78 -0
  37. package/dist/logger.d.ts.map +1 -0
  38. package/dist/logger.js +138 -0
  39. package/dist/logger.js.map +1 -0
  40. package/dist/matterConfigValidator.d.ts +34 -0
  41. package/dist/matterConfigValidator.d.ts.map +1 -0
  42. package/dist/matterConfigValidator.js +249 -0
  43. package/dist/matterConfigValidator.js.map +1 -0
  44. package/dist/matterService.d.ts +168 -0
  45. package/dist/matterService.d.ts.map +1 -0
  46. package/dist/matterService.js +677 -0
  47. package/dist/matterService.js.map +1 -0
  48. package/dist/matterTypes.d.ts +20 -0
  49. package/dist/matterTypes.d.ts.map +1 -0
  50. package/dist/matterTypes.js +278 -0
  51. package/dist/matterTypes.js.map +1 -0
  52. package/dist/platformAccessory.d.ts +56 -0
  53. package/dist/platformAccessory.d.ts.map +1 -0
  54. package/dist/platformAccessory.js +105 -0
  55. package/dist/platformAccessory.js.map +1 -0
  56. package/dist/plugin.d.ts +30 -0
  57. package/dist/plugin.d.ts.map +1 -0
  58. package/dist/plugin.js +182 -0
  59. package/dist/plugin.js.map +1 -0
  60. package/dist/pluginManager.d.ts +77 -0
  61. package/dist/pluginManager.d.ts.map +1 -0
  62. package/dist/pluginManager.js +375 -0
  63. package/dist/pluginManager.js.map +1 -0
  64. package/dist/server.d.ts +61 -0
  65. package/dist/server.d.ts.map +1 -0
  66. package/dist/server.js +467 -0
  67. package/dist/server.js.map +1 -0
  68. package/dist/storageService.d.ts +13 -0
  69. package/dist/storageService.d.ts.map +1 -0
  70. package/dist/storageService.js +41 -0
  71. package/dist/storageService.js.map +1 -0
  72. package/dist/user.d.ts +13 -0
  73. package/dist/user.d.ts.map +1 -0
  74. package/dist/user.js +29 -0
  75. package/dist/user.js.map +1 -0
  76. package/dist/util/mac.d.ts +5 -0
  77. package/dist/util/mac.d.ts.map +1 -0
  78. package/dist/util/mac.js +14 -0
  79. package/dist/util/mac.js.map +1 -0
  80. package/dist/util/matter-cli.d.ts +3 -0
  81. package/dist/util/matter-cli.d.ts.map +1 -0
  82. package/dist/util/matter-cli.js +211 -0
  83. package/dist/util/matter-cli.js.map +1 -0
  84. package/dist/version.d.ts +3 -0
  85. package/dist/version.d.ts.map +1 -0
  86. package/dist/version.js +16 -0
  87. package/dist/version.js.map +1 -0
  88. package/package.json +31 -34
  89. package/bin/homebridge +0 -19
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterService.js","sourceRoot":"","sources":["../src/matterService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ declare const MatterClusters: Record<string, unknown>;
2
+ declare const MatterDeviceTypes: Record<string, unknown>;
3
+ /**
4
+ * Maps common HomeKit service types to appropriate Matter clusters
5
+ */
6
+ export declare const HAPToMatterClusterMapping: Record<string, string[]>;
7
+ /**
8
+ * Maps common HomeKit service types to appropriate Matter device types
9
+ */
10
+ export declare const HAPToMatterDeviceMapping: Record<string, string>;
11
+ /**
12
+ * Helper function to get Matter device type for a HomeKit service
13
+ */
14
+ export declare function getMatterDeviceTypeForHAPService(serviceType: string, characteristics?: string[]): string | null;
15
+ /**
16
+ * Helper function to get Matter clusters for a HomeKit service
17
+ */
18
+ export declare function getMatterClustersForHAPService(serviceType: string, characteristics?: string[]): string[];
19
+ export { MatterClusters, MatterDeviceTypes };
20
+ //# sourceMappingURL=matterTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterTypes.d.ts","sourceRoot":"","sources":["../src/matterTypes.ts"],"names":[],"mappings":"AAaA,QAAA,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,CAAA;AAClD,QAAA,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,CAAA;AAuHrD;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAoF9D,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAmC3D,CAAA;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAwB/G;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CA2BxG;AAED,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAA"}
@@ -0,0 +1,278 @@
1
+ // Import Matter.js clusters and device types
2
+ import * as clusters from '@matter/main/clusters';
3
+ import * as devices from '@matter/main/devices';
4
+ /**
5
+ * Matter Device Types and Clusters for plugin developers
6
+ *
7
+ * This module provides access to standard Matter device types and clusters
8
+ * that plugin developers can use to create Matter-compatible devices.
9
+ */
10
+ import { Logger } from './logger.js';
11
+ const log = Logger.internal;
12
+ const MatterClusters = {};
13
+ const MatterDeviceTypes = {};
14
+ try {
15
+ // Import commonly used clusters from Matter.js
16
+ // Export the most commonly used clusters for HomeKit-to-Matter conversion
17
+ Object.assign(MatterClusters, {
18
+ // Basic clusters
19
+ OnOffCluster: clusters.OnOffCluster,
20
+ LevelControlCluster: clusters.LevelControlCluster,
21
+ ColorControlCluster: clusters.ColorControlCluster,
22
+ IdentifyCluster: clusters.IdentifyCluster,
23
+ // Sensor clusters
24
+ TemperatureMeasurementCluster: clusters.TemperatureMeasurementCluster,
25
+ RelativeHumidityMeasurementCluster: clusters.RelativeHumidityMeasurementCluster,
26
+ IlluminanceMeasurementCluster: clusters.IlluminanceMeasurementCluster,
27
+ OccupancySensingCluster: clusters.OccupancySensingCluster,
28
+ PressureMeasurementCluster: clusters.PressureMeasurementCluster,
29
+ FlowMeasurementCluster: clusters.FlowMeasurementCluster,
30
+ // Security clusters
31
+ DoorLockCluster: clusters.DoorLockCluster,
32
+ SmokeCoAlarmCluster: clusters.SmokeCoAlarmCluster,
33
+ BooleanStateCluster: clusters.BooleanStateCluster,
34
+ // HVAC clusters
35
+ ThermostatCluster: clusters.ThermostatCluster,
36
+ FanControlCluster: clusters.FanControlCluster,
37
+ // Window covering clusters
38
+ WindowCoveringCluster: clusters.WindowCoveringCluster,
39
+ // Switch clusters
40
+ SwitchCluster: clusters.SwitchCluster,
41
+ // General clusters
42
+ BasicInformationCluster: clusters.BasicInformationCluster,
43
+ BridgedDeviceBasicInformationCluster: clusters.BridgedDeviceBasicInformationCluster,
44
+ DescriptorCluster: clusters.DescriptorCluster,
45
+ PowerSourceCluster: clusters.PowerSourceCluster,
46
+ GeneralDiagnosticsCluster: clusters.GeneralDiagnosticsCluster,
47
+ // Media clusters
48
+ MediaInputCluster: clusters.MediaInputCluster,
49
+ MediaPlaybackCluster: clusters.MediaPlaybackCluster,
50
+ AudioOutputCluster: clusters.AudioOutputCluster,
51
+ // Appliance clusters
52
+ ModeSelectCluster: clusters.ModeSelectCluster,
53
+ OperationalStateCluster: clusters.OperationalStateCluster,
54
+ });
55
+ log.debug('Matter clusters loaded successfully');
56
+ }
57
+ catch (error) {
58
+ log.warn('Failed to load Matter clusters:', error);
59
+ Object.keys(MatterClusters).forEach(key => delete MatterClusters[key]);
60
+ }
61
+ try {
62
+ // Export the most commonly used device types for HomeKit-to-Matter conversion
63
+ Object.assign(MatterDeviceTypes, {
64
+ // Lighting devices
65
+ OnOffLight: devices.OnOffLightDevice,
66
+ DimmableLight: devices.DimmableLightDevice,
67
+ ColorTemperatureLight: devices.ColorTemperatureLightDevice,
68
+ ExtendedColorLight: devices.ExtendedColorLightDevice,
69
+ // Switch devices
70
+ OnOffLightSwitch: devices.OnOffLightSwitchDevice,
71
+ DimmerSwitch: devices.DimmerSwitchDevice,
72
+ // Outlet devices
73
+ OnOffPlugInUnit: devices.OnOffPlugInUnitDevice,
74
+ DimmablePlugInUnit: devices.DimmablePlugInUnitDevice,
75
+ // Sensor devices
76
+ TemperatureSensor: devices.TemperatureSensorDevice,
77
+ HumiditySensor: devices.HumiditySensorDevice,
78
+ LightSensor: devices.LightSensorDevice,
79
+ OccupancySensor: devices.OccupancySensorDevice,
80
+ ContactSensor: devices.ContactSensorDevice,
81
+ PressureSensor: devices.PressureSensorDevice,
82
+ FlowSensor: devices.FlowSensorDevice,
83
+ OnOffSensor: devices.OnOffSensorDevice,
84
+ // Security devices
85
+ DoorLock: devices.DoorLockDevice,
86
+ DoorLockController: devices.DoorLockControllerDevice,
87
+ SmokeCoAlarm: devices.SmokeCoAlarmDevice,
88
+ WaterLeakDetector: devices.WaterLeakDetectorDevice,
89
+ WaterFreezeDetector: devices.WaterFreezeDetectorDevice,
90
+ // HVAC devices
91
+ Thermostat: devices.ThermostatDevice,
92
+ Fan: devices.FanDevice,
93
+ // Window covering devices
94
+ WindowCovering: devices.WindowCoveringDevice,
95
+ WindowCoveringController: devices.WindowCoveringControllerDevice,
96
+ // Appliance devices
97
+ // ModeSelect: devices.ModeSelect, // Removed because it does not exist
98
+ // Water management
99
+ // WaterValve: devices.WaterValve, // Removed because it does not exist
100
+ // Pump: devices.Pump, // Removed because it does not exist
101
+ // PumpController: devices.PumpController, // Removed because it does not exist
102
+ // Other common devices
103
+ // ControlBridge: devices.ControlBridge, // Removed because it does not exist
104
+ // Speaker: devices.Speaker, // Removed because it does not exist
105
+ });
106
+ log.debug('Matter device types loaded successfully');
107
+ }
108
+ catch (error) {
109
+ log.warn('Failed to load Matter device types:', error);
110
+ Object.keys(MatterDeviceTypes).forEach(key => delete MatterDeviceTypes[key]);
111
+ }
112
+ /**
113
+ * Maps common HomeKit service types to appropriate Matter clusters
114
+ */
115
+ export const HAPToMatterClusterMapping = {
116
+ // Lighting services
117
+ Lightbulb: [
118
+ 'OnOffCluster',
119
+ 'LevelControlCluster',
120
+ 'ColorControlCluster',
121
+ ],
122
+ // Switch services
123
+ Switch: [
124
+ 'OnOffCluster',
125
+ ],
126
+ // Outlet services
127
+ Outlet: [
128
+ 'OnOffCluster',
129
+ ],
130
+ // Sensor services
131
+ TemperatureSensor: [
132
+ 'TemperatureMeasurementCluster',
133
+ ],
134
+ HumiditySensor: [
135
+ 'RelativeHumidityMeasurementCluster',
136
+ ],
137
+ LightSensor: [
138
+ 'IlluminanceMeasurementCluster',
139
+ ],
140
+ MotionSensor: [
141
+ 'OccupancySensingCluster',
142
+ ],
143
+ OccupancySensor: [
144
+ 'OccupancySensingCluster',
145
+ ],
146
+ ContactSensor: [
147
+ 'BooleanStateCluster',
148
+ ],
149
+ LeakSensor: [
150
+ 'BooleanStateCluster',
151
+ ],
152
+ SmokeSensor: [
153
+ 'SmokeCoAlarmCluster',
154
+ ],
155
+ CarbonMonoxideSensor: [
156
+ 'SmokeCoAlarmCluster',
157
+ ],
158
+ // Security services
159
+ LockManagement: [
160
+ 'DoorLockCluster',
161
+ ],
162
+ SecuritySystem: [
163
+ 'BooleanStateCluster',
164
+ ],
165
+ // HVAC services
166
+ Thermostat: [
167
+ 'ThermostatCluster',
168
+ ],
169
+ Fan: [
170
+ 'FanControlCluster',
171
+ ],
172
+ Fanv2: [
173
+ 'FanControlCluster',
174
+ ],
175
+ HeaterCooler: [
176
+ 'ThermostatCluster',
177
+ ],
178
+ // Window covering services
179
+ WindowCovering: [
180
+ 'WindowCoveringCluster',
181
+ ],
182
+ // Other services
183
+ StatelessProgrammableSwitch: [
184
+ 'SwitchCluster',
185
+ ],
186
+ Valve: [
187
+ 'OnOffCluster',
188
+ ],
189
+ IrrigationSystem: [
190
+ 'OnOffCluster',
191
+ ],
192
+ };
193
+ /**
194
+ * Maps common HomeKit service types to appropriate Matter device types
195
+ */
196
+ export const HAPToMatterDeviceMapping = {
197
+ // Lighting services
198
+ Lightbulb: 'OnOffLight', // Default to basic light, can be upgraded based on characteristics
199
+ // Switch services
200
+ Switch: 'OnOffLightSwitch',
201
+ // Outlet services
202
+ Outlet: 'OnOffPlugInUnit',
203
+ // Sensor services
204
+ TemperatureSensor: 'TemperatureSensor',
205
+ HumiditySensor: 'HumiditySensor',
206
+ LightSensor: 'LightSensor',
207
+ MotionSensor: 'OccupancySensor',
208
+ OccupancySensor: 'OccupancySensor',
209
+ ContactSensor: 'ContactSensor',
210
+ LeakSensor: 'WaterLeakDetector',
211
+ SmokeSensor: 'SmokeCoAlarm',
212
+ CarbonMonoxideSensor: 'SmokeCoAlarm',
213
+ // Security services
214
+ LockManagement: 'DoorLock',
215
+ // HVAC services
216
+ Thermostat: 'Thermostat',
217
+ Fan: 'Fan',
218
+ Fanv2: 'Fan',
219
+ // Window covering services
220
+ WindowCovering: 'WindowCovering',
221
+ // Other services
222
+ StatelessProgrammableSwitch: 'GenericSwitch',
223
+ Valve: 'WaterValve',
224
+ };
225
+ /**
226
+ * Helper function to get Matter device type for a HomeKit service
227
+ */
228
+ export function getMatterDeviceTypeForHAPService(serviceType, characteristics) {
229
+ const baseDeviceType = HAPToMatterDeviceMapping[serviceType];
230
+ if (!baseDeviceType) {
231
+ return null;
232
+ }
233
+ // Upgrade device type based on available characteristics for lighting
234
+ if (serviceType === 'Lightbulb' && characteristics) {
235
+ if (characteristics.includes('Hue') && characteristics.includes('Saturation')) {
236
+ return 'ExtendedColorLight';
237
+ }
238
+ else if (characteristics.includes('ColorTemperature')) {
239
+ return 'ColorTemperatureLight';
240
+ }
241
+ else if (characteristics.includes('Brightness')) {
242
+ return 'DimmableLight';
243
+ }
244
+ }
245
+ // Upgrade outlet type based on dimming capability
246
+ if (serviceType === 'Outlet' && characteristics?.includes('Brightness')) {
247
+ return 'DimmablePlugInUnit';
248
+ }
249
+ return baseDeviceType;
250
+ }
251
+ /**
252
+ * Helper function to get Matter clusters for a HomeKit service
253
+ */
254
+ export function getMatterClustersForHAPService(serviceType, characteristics) {
255
+ const baseClusters = HAPToMatterClusterMapping[serviceType] || [];
256
+ // Add conditional clusters based on characteristics
257
+ const result = [...baseClusters];
258
+ if (characteristics) {
259
+ if (serviceType === 'Lightbulb') {
260
+ // Only add level control if brightness is supported
261
+ if (characteristics.includes('Brightness') && !result.includes('LevelControlCluster')) {
262
+ result.push('LevelControlCluster');
263
+ }
264
+ // Only add color control if color characteristics are supported
265
+ if ((characteristics.includes('Hue') || characteristics.includes('ColorTemperature'))
266
+ && !result.includes('ColorControlCluster')) {
267
+ result.push('ColorControlCluster');
268
+ }
269
+ }
270
+ }
271
+ // Always add basic required clusters
272
+ if (!result.includes('IdentifyCluster')) {
273
+ result.push('IdentifyCluster');
274
+ }
275
+ return result;
276
+ }
277
+ export { MatterClusters, MatterDeviceTypes };
278
+ //# sourceMappingURL=matterTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterTypes.js","sourceRoot":"","sources":["../src/matterTypes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import type { Controller, ControllerConstructor, SerializedAccessory, Service, WithUUID } from 'hap-nodejs';
2
+ import type { ConstructorArgs } from 'hap-nodejs/dist/types.js';
3
+ import type { PlatformName, PluginIdentifier, PluginName } from './api.js';
4
+ import { EventEmitter } from 'node:events';
5
+ import { Accessory, Categories } from 'hap-nodejs';
6
+ export type UnknownContext = Record<string, any>;
7
+ export interface SerializedPlatformAccessory<T extends UnknownContext = UnknownContext> extends SerializedAccessory {
8
+ plugin: PluginName;
9
+ platform: PlatformName;
10
+ context: T;
11
+ }
12
+ export declare const enum PlatformAccessoryEvent {
13
+ IDENTIFY = "identify"
14
+ }
15
+ export declare interface PlatformAccessory {
16
+ on: (event: 'identify', listener: () => void) => this;
17
+ emit: (event: 'identify') => boolean;
18
+ }
19
+ export declare class PlatformAccessory<T extends UnknownContext = UnknownContext> extends EventEmitter {
20
+ private static injectedAccessory?;
21
+ _associatedPlugin?: PluginIdentifier;
22
+ _associatedPlatform?: PlatformName;
23
+ _associatedHAPAccessory: Accessory;
24
+ displayName: string;
25
+ UUID: string;
26
+ category: Categories;
27
+ services: Service[];
28
+ /**
29
+ * This is a way for Plugin developers to store custom data with their accessory
30
+ */
31
+ context: T;
32
+ constructor(displayName: string, uuid: string, category?: Categories);
33
+ updateDisplayName(name: string): void;
34
+ addService(service: Service): Service;
35
+ addService<S extends typeof Service>(serviceConstructor: S, ...constructorArgs: ConstructorArgs<S>): Service;
36
+ removeService(service: Service): void;
37
+ getService<T extends WithUUID<typeof Service>>(name: string | T): Service | undefined;
38
+ getServiceById<T extends WithUUID<typeof Service>>(uuid: string | T, subType: string): Service | undefined;
39
+ /**
40
+ * Configures a new controller for the given accessory.
41
+ * See {@link https://developers.homebridge.io/HAP-NodeJS/classes/accessory.html#configurecontroller | Accessory.configureController}.
42
+ *
43
+ * @param controller
44
+ */
45
+ configureController(controller: Controller | ControllerConstructor): void;
46
+ /**
47
+ * Removes a configured controller from the given accessory.
48
+ * See {@link https://developers.homebridge.io/HAP-NodeJS/classes/accessory.html#removecontroller | Accessory.removeController}.
49
+ *
50
+ * @param controller
51
+ */
52
+ removeController(controller: Controller): void;
53
+ static serialize(accessory: PlatformAccessory): SerializedPlatformAccessory;
54
+ static deserialize(json: SerializedPlatformAccessory): PlatformAccessory;
55
+ }
56
+ //# sourceMappingURL=platformAccessory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformAccessory.d.ts","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,OAAO,EAEP,QAAQ,EACT,MAAM,YAAY,CAAA;AACnB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE/D,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE1E,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,SAAS,EAAuB,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAEhD,MAAM,WAAW,2BAA2B,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,mBAAmB;IACjH,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,EAAE,YAAY,CAAA;IACtB,OAAO,EAAE,CAAC,CAAA;CACX;AAGD,0BAAkB,sBAAsB;IACtC,QAAQ,aAAa;CACtB;AAGD,MAAM,CAAC,OAAO,WAAW,iBAAiB;IACxC,EAAE,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,KAAK,IAAI,CAAA;IACrD,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,OAAO,CAAA;CACrC;AAGD,qBAAa,iBAAiB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,CAAE,SAAQ,YAAY;IAE5F,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAW;IAE5C,iBAAiB,CAAC,EAAE,gBAAgB,CAAA;IACpC,mBAAmB,CAAC,EAAE,YAAY,CAAA;IAClC,uBAAuB,EAAE,SAAS,CAAA;IAGlC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,UAAU,CAAA;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAK;IAGxB;;OAEG;IACI,OAAO,EAAE,CAAC,CAAU;gBAEf,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU;IAuB7D,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOrC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IACrC,UAAU,CAAC,CAAC,SAAS,OAAO,OAAO,EAAE,kBAAkB,EAAE,CAAC,EAAE,GAAG,eAAe,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO;IAQ5G,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIrC,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,OAAO,GAAG,SAAS;IAIrF,cAAc,CAAC,CAAC,SAAS,QAAQ,CAAC,OAAO,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIjH;;;;;OAKG;IACI,mBAAmB,CAAC,UAAU,EAAE,UAAU,GAAG,qBAAqB,GAAG,IAAI;IAIhF;;;;;OAKG;IACI,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAKrD,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,iBAAiB,GAAG,2BAA2B;IAU3E,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,2BAA2B,GAAG,iBAAiB;CAczE"}
@@ -0,0 +1,105 @@
1
+ import { EventEmitter } from 'node:events';
2
+ import { Accessory } from 'hap-nodejs';
3
+ // eslint-disable-next-line no-restricted-syntax
4
+ export var PlatformAccessoryEvent;
5
+ (function (PlatformAccessoryEvent) {
6
+ PlatformAccessoryEvent["IDENTIFY"] = "identify";
7
+ })(PlatformAccessoryEvent || (PlatformAccessoryEvent = {}));
8
+ // eslint-disable-next-line ts/no-unsafe-declaration-merging
9
+ export class PlatformAccessory extends EventEmitter {
10
+ // somewhat ugly way to inject custom Accessory object, while not changing the publicly exposed constructor signature
11
+ static injectedAccessory;
12
+ _associatedPlugin; // present as soon as it is registered
13
+ _associatedPlatform; // not present for external accessories
14
+ _associatedHAPAccessory;
15
+ // ---------------- HAP Accessory mirror ----------------
16
+ displayName;
17
+ UUID;
18
+ category;
19
+ services = [];
20
+ // ------------------------------------------------------
21
+ /**
22
+ * This is a way for Plugin developers to store custom data with their accessory
23
+ */
24
+ context = {}; // providing something to store
25
+ constructor(displayName, uuid, category) {
26
+ super();
27
+ this._associatedHAPAccessory = PlatformAccessory.injectedAccessory
28
+ ? PlatformAccessory.injectedAccessory
29
+ : new Accessory(displayName, uuid);
30
+ if (category) {
31
+ this._associatedHAPAccessory.category = category;
32
+ }
33
+ this.displayName = this._associatedHAPAccessory.displayName;
34
+ this.UUID = this._associatedHAPAccessory.UUID;
35
+ this.category = category || 1 /* Categories.OTHER */;
36
+ this.services = this._associatedHAPAccessory.services;
37
+ // forward identify event
38
+ this._associatedHAPAccessory.on("identify" /* AccessoryEventTypes.IDENTIFY */, (paired, callback) => {
39
+ // @ts-expect-error: empty callback for backwards compatibility
40
+ this.emit("identify" /* PlatformAccessoryEvent.IDENTIFY */, paired, () => { });
41
+ callback();
42
+ });
43
+ }
44
+ updateDisplayName(name) {
45
+ if (name) {
46
+ this.displayName = name;
47
+ this._associatedHAPAccessory.displayName = name;
48
+ }
49
+ }
50
+ addService(service, ...constructorArgs) {
51
+ // @ts-expect-error: while the HAP-NodeJS interface was refined, the underlying implementation
52
+ // still only operates on an any[] array. Therefore, do not require any additional checks here
53
+ // we force the parameter unpack with expecting a ts-error.
54
+ return this._associatedHAPAccessory.addService(service, ...constructorArgs);
55
+ }
56
+ removeService(service) {
57
+ this._associatedHAPAccessory.removeService(service);
58
+ }
59
+ getService(name) {
60
+ return this._associatedHAPAccessory.getService(name);
61
+ }
62
+ getServiceById(uuid, subType) {
63
+ return this._associatedHAPAccessory.getServiceById(uuid, subType);
64
+ }
65
+ /**
66
+ * Configures a new controller for the given accessory.
67
+ * See {@link https://developers.homebridge.io/HAP-NodeJS/classes/accessory.html#configurecontroller | Accessory.configureController}.
68
+ *
69
+ * @param controller
70
+ */
71
+ configureController(controller) {
72
+ this._associatedHAPAccessory.configureController(controller);
73
+ }
74
+ /**
75
+ * Removes a configured controller from the given accessory.
76
+ * See {@link https://developers.homebridge.io/HAP-NodeJS/classes/accessory.html#removecontroller | Accessory.removeController}.
77
+ *
78
+ * @param controller
79
+ */
80
+ removeController(controller) {
81
+ this._associatedHAPAccessory.removeController(controller);
82
+ }
83
+ // private
84
+ static serialize(accessory) {
85
+ accessory._associatedHAPAccessory.displayName = accessory.displayName;
86
+ return {
87
+ plugin: accessory._associatedPlugin,
88
+ platform: accessory._associatedPlatform,
89
+ context: accessory.context,
90
+ ...Accessory.serialize(accessory._associatedHAPAccessory),
91
+ };
92
+ }
93
+ static deserialize(json) {
94
+ const accessory = Accessory.deserialize(json);
95
+ PlatformAccessory.injectedAccessory = accessory;
96
+ const platformAccessory = new PlatformAccessory(accessory.displayName, accessory.UUID);
97
+ PlatformAccessory.injectedAccessory = undefined;
98
+ platformAccessory._associatedPlugin = json.plugin;
99
+ platformAccessory._associatedPlatform = json.platform;
100
+ platformAccessory.context = json.context;
101
+ platformAccessory.category = json.category;
102
+ return platformAccessory;
103
+ }
104
+ }
105
+ //# sourceMappingURL=platformAccessory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformAccessory.js","sourceRoot":"","sources":["../src/platformAccessory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { AccessoryIdentifier, AccessoryName, AccessoryPluginConstructor, API, DynamicPlatformPlugin, PlatformIdentifier, PlatformName, PlatformPluginConstructor, PluginIdentifier, PluginName } from './api.js';
2
+ import type { PackageJSON } from './pluginManager.js';
3
+ /**
4
+ * Represents a loaded Homebridge plugin.
5
+ */
6
+ export declare class Plugin {
7
+ private readonly pluginName;
8
+ private readonly scope?;
9
+ private readonly pluginPath;
10
+ disabled: boolean;
11
+ readonly version: string;
12
+ private readonly main;
13
+ private loadContext?;
14
+ private pluginInitializer?;
15
+ private readonly registeredAccessories;
16
+ private readonly registeredPlatforms;
17
+ private readonly activeDynamicPlatforms;
18
+ constructor(name: PluginName, path: string, packageJSON: PackageJSON, scope?: string);
19
+ getPluginIdentifier(): PluginIdentifier;
20
+ getPluginPath(): string;
21
+ registerAccessory(name: AccessoryName, constructor: AccessoryPluginConstructor): void;
22
+ registerPlatform(name: PlatformName, constructor: PlatformPluginConstructor): void;
23
+ getAccessoryConstructor(accessoryIdentifier: AccessoryIdentifier | AccessoryName): AccessoryPluginConstructor;
24
+ getPlatformConstructor(platformIdentifier: PlatformIdentifier | PlatformName): PlatformPluginConstructor;
25
+ assignDynamicPlatform(platformIdentifier: PlatformIdentifier | PlatformName, platformPlugin: DynamicPlatformPlugin): void;
26
+ getActiveDynamicPlatform(platformName: PlatformName): DynamicPlatformPlugin | undefined;
27
+ load(): Promise<void>;
28
+ initialize(api: API): void | Promise<void>;
29
+ }
30
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,0BAA0B,EAC1B,GAAG,EACH,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EACzB,gBAAgB,EAEhB,UAAU,EACX,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAerD;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IAC5B,QAAQ,UAAQ;IAGvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,WAAW,CAAC,CAGnB;IAGD,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA4D;IAClG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAA0D;IAC9F,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAwD;gBAEnF,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,MAAM;IA+C7E,mBAAmB,IAAI,gBAAgB;IAIvC,aAAa,IAAI,MAAM;IAIvB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,GAAG,IAAI;IAYrF,gBAAgB,CAAC,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,yBAAyB,GAAG,IAAI;IAYlF,uBAAuB,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,aAAa,GAAG,0BAA0B;IAW7G,sBAAsB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,YAAY,GAAG,yBAAyB;IAiBxG,qBAAqB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,YAAY,EAAE,cAAc,EAAE,qBAAqB,GAAG,IAAI;IAczH,wBAAwB,CAAC,YAAY,EAAE,YAAY,GAAG,qBAAqB,GAAG,SAAS;IAMjF,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkD3B,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAOlD"}