homebridge 2.0.0-alpha.41 → 2.0.0-alpha.42

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 (87) hide show
  1. package/dist/api.d.ts +47 -20
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +43 -11
  4. package/dist/api.js.map +1 -1
  5. package/dist/bridgeService.d.ts +5 -10
  6. package/dist/bridgeService.d.ts.map +1 -1
  7. package/dist/bridgeService.js +3 -0
  8. package/dist/bridgeService.js.map +1 -1
  9. package/dist/childBridgeFork.d.ts +19 -0
  10. package/dist/childBridgeFork.d.ts.map +1 -1
  11. package/dist/childBridgeFork.js +198 -4
  12. package/dist/childBridgeFork.js.map +1 -1
  13. package/dist/childBridgeService.d.ts +27 -1
  14. package/dist/childBridgeService.d.ts.map +1 -1
  15. package/dist/childBridgeService.js +43 -1
  16. package/dist/childBridgeService.js.map +1 -1
  17. package/dist/cli.d.ts.map +1 -1
  18. package/dist/cli.js +3 -1
  19. package/dist/cli.js.map +1 -1
  20. package/dist/index.d.ts +5 -6
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +4 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/ipcService.d.ts +3 -1
  25. package/dist/ipcService.d.ts.map +1 -1
  26. package/dist/ipcService.js +2 -0
  27. package/dist/ipcService.js.map +1 -1
  28. package/dist/matter/index.d.ts +4 -6
  29. package/dist/matter/index.d.ts.map +1 -1
  30. package/dist/matter/index.js +4 -5
  31. package/dist/matter/index.js.map +1 -1
  32. package/dist/matter/matterConfigValidator.d.ts +2 -3
  33. package/dist/matter/matterConfigValidator.d.ts.map +1 -1
  34. package/dist/matter/matterConfigValidator.js +47 -38
  35. package/dist/matter/matterConfigValidator.js.map +1 -1
  36. package/dist/matter/matterErrorHandler.d.ts +6 -25
  37. package/dist/matter/matterErrorHandler.d.ts.map +1 -1
  38. package/dist/matter/matterErrorHandler.js +89 -99
  39. package/dist/matter/matterErrorHandler.js.map +1 -1
  40. package/dist/matter/matterServer.d.ts +125 -39
  41. package/dist/matter/matterServer.d.ts.map +1 -1
  42. package/dist/matter/matterServer.js +463 -223
  43. package/dist/matter/matterServer.js.map +1 -1
  44. package/dist/matter/matterSharedTypes.d.ts +1 -21
  45. package/dist/matter/matterSharedTypes.d.ts.map +1 -1
  46. package/dist/matter/matterSharedTypes.js +0 -4
  47. package/dist/matter/matterSharedTypes.js.map +1 -1
  48. package/dist/matter/matterStorage.d.ts +112 -0
  49. package/dist/matter/matterStorage.d.ts.map +1 -0
  50. package/dist/matter/matterStorage.js +355 -0
  51. package/dist/matter/matterStorage.js.map +1 -0
  52. package/dist/matter/matterTypes.d.ts +148 -20
  53. package/dist/matter/matterTypes.d.ts.map +1 -1
  54. package/dist/matter/matterTypes.js +91 -263
  55. package/dist/matter/matterTypes.js.map +1 -1
  56. package/dist/plugin.d.ts.map +1 -1
  57. package/dist/plugin.js +4 -2
  58. package/dist/plugin.js.map +1 -1
  59. package/dist/server.d.ts +12 -4
  60. package/dist/server.d.ts.map +1 -1
  61. package/dist/server.js +310 -332
  62. package/dist/server.js.map +1 -1
  63. package/dist/user.d.ts +1 -0
  64. package/dist/user.d.ts.map +1 -1
  65. package/dist/user.js +3 -0
  66. package/dist/user.js.map +1 -1
  67. package/package.json +4 -5
  68. package/dist/childMatterBridgeFork.d.ts +0 -108
  69. package/dist/childMatterBridgeFork.d.ts.map +0 -1
  70. package/dist/childMatterBridgeFork.js +0 -330
  71. package/dist/childMatterBridgeFork.js.map +0 -1
  72. package/dist/childMatterBridgeService.d.ts +0 -166
  73. package/dist/childMatterBridgeService.d.ts.map +0 -1
  74. package/dist/childMatterBridgeService.js +0 -623
  75. package/dist/childMatterBridgeService.js.map +0 -1
  76. package/dist/matter/matterBridge.d.ts +0 -64
  77. package/dist/matter/matterBridge.d.ts.map +0 -1
  78. package/dist/matter/matterBridge.js +0 -154
  79. package/dist/matter/matterBridge.js.map +0 -1
  80. package/dist/matter/matterDevice.d.ts +0 -107
  81. package/dist/matter/matterDevice.d.ts.map +0 -1
  82. package/dist/matter/matterDevice.js +0 -913
  83. package/dist/matter/matterDevice.js.map +0 -1
  84. package/dist/matter/portAllocator.d.ts +0 -85
  85. package/dist/matter/portAllocator.d.ts.map +0 -1
  86. package/dist/matter/portAllocator.js +0 -296
  87. package/dist/matter/portAllocator.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterStorage.js","sourceRoot":"","sources":["../../src/matter/matterStorage.ts"],"names":[],"mappings":"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"}
@@ -1,35 +1,163 @@
1
- import { HomebridgeOptions } from '../server.js';
2
1
  /**
3
- * Matter bridge configuration interface
2
+ * Matter Types for Homebridge Plugin API
3
+ *
4
+ * This module provides types and interfaces for plugin developers
5
+ * to create Matter-compatible accessories.
4
6
  */
5
- export interface MatterConfiguration {
6
- port?: number;
7
- name?: string;
7
+ import type { Endpoint, EndpointType } from '@matter/main';
8
+ import * as clusters from '@matter/main/clusters';
9
+ import * as devices from '@matter/main/devices';
10
+ /**
11
+ * Matter Accessory - Plugin API Interface
12
+ *
13
+ * This is the main interface that plugin developers use to register
14
+ * Matter accessories with Homebridge.
15
+ */
16
+ export interface MatterAccessory<T = Record<string, any>> {
17
+ /** Unique identifier for this accessory (must be unique across all accessories) */
18
+ uuid: string;
19
+ /** Display name for the accessory */
20
+ displayName: string;
21
+ /** Matter device type (e.g., OnOffLightDevice, DimmableLightDevice, etc.) */
22
+ deviceType: EndpointType;
23
+ /** Serial number for the device */
24
+ serialNumber: string;
25
+ /** Manufacturer name */
26
+ manufacturer: string;
27
+ /** Model name/identifier */
28
+ model: string;
29
+ /** Firmware revision (optional) */
30
+ firmwareRevision?: string;
31
+ /** Hardware revision (optional) */
32
+ hardwareRevision?: string;
33
+ /** Software version (optional) */
34
+ softwareVersion?: string;
35
+ /**
36
+ * Plugin developer storage - persists across restarts
37
+ * This is a way for plugin developers to store custom data with their accessory
38
+ * Similar to PlatformAccessory.context for HAP accessories
39
+ */
40
+ context?: T;
41
+ /**
42
+ * Initial cluster states
43
+ * Key is the cluster name, value is an object of attribute name -> value
44
+ *
45
+ * Example:
46
+ * {
47
+ * onOff: { onOff: true },
48
+ * levelControl: { currentLevel: 127, minLevel: 1, maxLevel: 254 }
49
+ * }
50
+ */
51
+ clusters: {
52
+ [clusterName: string]: {
53
+ [attributeName: string]: unknown;
54
+ };
55
+ };
56
+ /**
57
+ * Handlers for Matter commands
58
+ * Key is the cluster name, value is an object of command name -> handler function
59
+ *
60
+ * Example:
61
+ * {
62
+ * onOff: {
63
+ * on: async () => { ... },
64
+ * off: async () => { ... }
65
+ * }
66
+ * }
67
+ */
68
+ handlers?: {
69
+ [clusterName: string]: {
70
+ [commandName: string]: (...args: unknown[]) => Promise<void> | void;
71
+ };
72
+ };
73
+ /**
74
+ * Optional: Get current state handler
75
+ * Called when a Matter controller reads an attribute
76
+ * If not provided, the last set value is returned
77
+ */
78
+ getState?: (cluster: string, attribute: string) => Promise<any> | any;
8
79
  }
9
80
  /**
10
- * Matter bridge options extending Homebridge options
81
+ * Matter Configuration (for bridge or child bridge)
11
82
  */
12
- export interface MatterBridgeOptions extends HomebridgeOptions {
13
- matterBridgeServerPort?: number;
14
- configPath?: string;
83
+ export interface MatterConfig {
84
+ /** Port for Matter server (optional, will auto-assign if not specified) */
85
+ port?: number;
86
+ /** Name for the Matter bridge (optional) */
87
+ name?: string;
15
88
  }
16
- declare const MatterClusters: Record<string, unknown>;
17
- declare const MatterDeviceTypes: Record<string, unknown>;
18
89
  /**
19
- * Maps common HomeKit service types to appropriate Matter clusters
90
+ * Internal Matter accessory representation
91
+ * (Used internally by MatterServer)
20
92
  */
21
- export declare const HAPToMatterClusterMapping: Record<string, string[]>;
93
+ export interface InternalMatterAccessory extends MatterAccessory {
94
+ endpoint?: Endpoint;
95
+ registered: boolean;
96
+ }
22
97
  /**
23
- * Maps common HomeKit service types to appropriate Matter device types
98
+ * Matter error type enum (for error handler categorization)
24
99
  */
25
- export declare const HAPToMatterDeviceMapping: Record<string, string>;
100
+ export declare enum MatterErrorType {
101
+ INITIALIZATION = "INITIALIZATION",
102
+ NETWORK = "NETWORK",
103
+ COMMISSIONING = "COMMISSIONING",
104
+ DEVICE_SYNC = "DEVICE_SYNC",
105
+ SERVER = "SERVER",
106
+ STORAGE = "STORAGE",
107
+ CONFIGURATION = "CONFIGURATION",
108
+ DEVICE_ERROR = "DEVICE_ERROR",
109
+ UNKNOWN = "UNKNOWN"
110
+ }
26
111
  /**
27
- * Helper function to get Matter device type for a HomeKit service
112
+ * Matter error types
28
113
  */
29
- export declare function getMatterDeviceTypeForHAPService(serviceType: string, characteristics?: string[]): string | null;
114
+ export declare class MatterError extends Error {
115
+ readonly code: string;
116
+ readonly details?: unknown | undefined;
117
+ readonly type: MatterErrorType;
118
+ readonly timestamp: Date;
119
+ readonly recoverable: boolean;
120
+ constructor(message: string, code: string, details?: unknown | undefined, type?: MatterErrorType, recoverable?: boolean);
121
+ }
122
+ export declare class MatterCommissioningError extends MatterError {
123
+ constructor(message: string, details?: unknown);
124
+ }
125
+ export declare class MatterStorageError extends MatterError {
126
+ constructor(message: string, details?: unknown);
127
+ }
128
+ export declare class MatterDeviceError extends MatterError {
129
+ constructor(message: string, details?: unknown);
130
+ }
131
+ export declare class MatterNetworkError extends MatterError {
132
+ constructor(message: string, details?: unknown);
133
+ }
134
+ export { clusters };
135
+ export { devices };
30
136
  /**
31
- * Helper function to get Matter clusters for a HomeKit service
137
+ * Friendly device type names for the Plugin API
138
+ * Maps simplified names to actual Matter.js device types
32
139
  */
33
- export declare function getMatterClustersForHAPService(serviceType: string, characteristics?: string[]): string[];
34
- export { MatterClusters, MatterDeviceTypes };
140
+ export declare const deviceTypes: {
141
+ readonly OnOffLight: devices.OnOffLightDevice;
142
+ readonly DimmableLight: devices.DimmableLightDevice;
143
+ readonly ColorTemperatureLight: devices.ColorTemperatureLightDevice;
144
+ readonly ExtendedColorLight: devices.ExtendedColorLightDevice;
145
+ readonly OnOffSwitch: devices.OnOffLightSwitchDevice;
146
+ readonly OnOffOutlet: devices.OnOffPlugInUnitDevice;
147
+ readonly DimmableOutlet: devices.DimmablePlugInUnitDevice;
148
+ readonly TemperatureSensor: devices.TemperatureSensorDevice;
149
+ readonly HumiditySensor: devices.HumiditySensorDevice;
150
+ readonly LightSensor: devices.LightSensorDevice;
151
+ readonly MotionSensor: devices.OccupancySensorDevice;
152
+ readonly ContactSensor: devices.ContactSensorDevice;
153
+ readonly LeakSensor: devices.WaterLeakDetectorDevice;
154
+ readonly SmokeSensor: devices.SmokeCoAlarmDevice;
155
+ readonly Thermostat: devices.ThermostatDevice;
156
+ readonly Fan: devices.FanDevice;
157
+ readonly DoorLock: devices.DoorLockDevice;
158
+ readonly WindowCovering: devices.WindowCoveringDevice;
159
+ readonly GenericSwitch: devices.GenericSwitchDevice;
160
+ readonly Pump: devices.PumpDevice;
161
+ readonly RoomAirConditioner: devices.RoomAirConditionerDevice;
162
+ };
35
163
  //# sourceMappingURL=matterTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"matterTypes.d.ts","sourceRoot":"","sources":["../../src/matter/matterTypes.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,mBAAoB,SAAQ,iBAAiB;IAC5D,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAGD,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"}
1
+ {"version":3,"file":"matterTypes.d.ts","sourceRoot":"","sources":["../../src/matter/matterTypes.ts"],"names":[],"mappings":"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"}
@@ -1,278 +1,106 @@
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
1
  /**
5
- * Matter Device Types and Clusters for plugin developers
2
+ * Matter Types for Homebridge Plugin API
6
3
  *
7
- * This module provides access to standard Matter device types and clusters
8
- * that plugin developers can use to create Matter-compatible devices.
4
+ * This module provides types and interfaces for plugin developers
5
+ * to create Matter-compatible accessories.
9
6
  */
10
- import { Logger } from '../logger.js';
11
- const log = Logger.withPrefix('Matter');
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
- };
7
+ // Import Matter.js clusters and device types
8
+ import * as clusters from '@matter/main/clusters';
9
+ import * as devices from '@matter/main/devices';
193
10
  /**
194
- * Maps common HomeKit service types to appropriate Matter device types
11
+ * Matter error type enum (for error handler categorization)
195
12
  */
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: 'OnOffLightSwitch', // Use light switch as closest match
223
- Valve: 'OnOffPlugInUnit', // Use outlet as closest match for valve control
224
- };
13
+ export var MatterErrorType;
14
+ (function (MatterErrorType) {
15
+ MatterErrorType["INITIALIZATION"] = "INITIALIZATION";
16
+ MatterErrorType["NETWORK"] = "NETWORK";
17
+ MatterErrorType["COMMISSIONING"] = "COMMISSIONING";
18
+ MatterErrorType["DEVICE_SYNC"] = "DEVICE_SYNC";
19
+ MatterErrorType["SERVER"] = "SERVER";
20
+ MatterErrorType["STORAGE"] = "STORAGE";
21
+ MatterErrorType["CONFIGURATION"] = "CONFIGURATION";
22
+ MatterErrorType["DEVICE_ERROR"] = "DEVICE_ERROR";
23
+ MatterErrorType["UNKNOWN"] = "UNKNOWN";
24
+ })(MatterErrorType || (MatterErrorType = {}));
225
25
  /**
226
- * Helper function to get Matter device type for a HomeKit service
26
+ * Matter error types
227
27
  */
228
- export function getMatterDeviceTypeForHAPService(serviceType, characteristics) {
229
- const baseDeviceType = HAPToMatterDeviceMapping[serviceType];
230
- if (!baseDeviceType) {
231
- return null;
28
+ export class MatterError extends Error {
29
+ code;
30
+ details;
31
+ type;
32
+ timestamp;
33
+ recoverable;
34
+ constructor(message, code, details, type = MatterErrorType.UNKNOWN, recoverable = true) {
35
+ super(message);
36
+ this.code = code;
37
+ this.details = details;
38
+ this.name = 'MatterError';
39
+ this.type = type;
40
+ this.timestamp = new Date();
41
+ this.recoverable = recoverable;
232
42
  }
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
- }
43
+ }
44
+ export class MatterCommissioningError extends MatterError {
45
+ constructor(message, details) {
46
+ super(message, 'COMMISSIONING_ERROR', details, MatterErrorType.COMMISSIONING);
47
+ this.name = 'MatterCommissioningError';
244
48
  }
245
- // Upgrade outlet type based on dimming capability
246
- if (serviceType === 'Outlet' && characteristics?.includes('Brightness')) {
247
- return 'DimmablePlugInUnit';
49
+ }
50
+ export class MatterStorageError extends MatterError {
51
+ constructor(message, details) {
52
+ super(message, 'STORAGE_ERROR', details, MatterErrorType.STORAGE);
53
+ this.name = 'MatterStorageError';
248
54
  }
249
- return baseDeviceType;
250
55
  }
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
- }
56
+ export class MatterDeviceError extends MatterError {
57
+ constructor(message, details) {
58
+ super(message, 'DEVICE_ERROR', details, MatterErrorType.DEVICE_ERROR);
59
+ this.name = 'MatterDeviceError';
270
60
  }
271
- // Always add basic required clusters
272
- if (!result.includes('IdentifyCluster')) {
273
- result.push('IdentifyCluster');
61
+ }
62
+ export class MatterNetworkError extends MatterError {
63
+ constructor(message, details) {
64
+ super(message, 'NETWORK_ERROR', details, MatterErrorType.NETWORK);
65
+ this.name = 'MatterNetworkError';
274
66
  }
275
- return result;
276
67
  }
277
- export { MatterClusters, MatterDeviceTypes };
68
+ // Export Matter.js clusters for direct access
69
+ export { clusters };
70
+ // Export raw devices namespace (for advanced use)
71
+ export { devices };
72
+ /**
73
+ * Friendly device type names for the Plugin API
74
+ * Maps simplified names to actual Matter.js device types
75
+ */
76
+ export const deviceTypes = {
77
+ // Lighting
78
+ OnOffLight: devices.OnOffLightDevice,
79
+ DimmableLight: devices.DimmableLightDevice,
80
+ ColorTemperatureLight: devices.ColorTemperatureLightDevice,
81
+ ExtendedColorLight: devices.ExtendedColorLightDevice,
82
+ // Switches & Outlets
83
+ OnOffSwitch: devices.OnOffLightSwitchDevice,
84
+ OnOffOutlet: devices.OnOffPlugInUnitDevice,
85
+ DimmableOutlet: devices.DimmablePlugInUnitDevice,
86
+ // Sensors
87
+ TemperatureSensor: devices.TemperatureSensorDevice,
88
+ HumiditySensor: devices.HumiditySensorDevice,
89
+ LightSensor: devices.LightSensorDevice,
90
+ MotionSensor: devices.OccupancySensorDevice,
91
+ ContactSensor: devices.ContactSensorDevice,
92
+ LeakSensor: devices.WaterLeakDetectorDevice,
93
+ SmokeSensor: devices.SmokeCoAlarmDevice,
94
+ // HVAC
95
+ Thermostat: devices.ThermostatDevice,
96
+ Fan: devices.FanDevice,
97
+ // Security
98
+ DoorLock: devices.DoorLockDevice,
99
+ // Window Coverings
100
+ WindowCovering: devices.WindowCoveringDevice,
101
+ // Other
102
+ GenericSwitch: devices.GenericSwitchDevice,
103
+ Pump: devices.PumpDevice,
104
+ RoomAirConditioner: devices.RoomAirConditionerDevice,
105
+ };
278
106
  //# sourceMappingURL=matterTypes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"matterTypes.js","sourceRoot":"","sources":["../../src/matter/matterTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matterTypes.js","sourceRoot":"","sources":["../../src/matter/matterTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +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"}
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;IAmBxG,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"}
package/dist/plugin.js CHANGED
@@ -107,9 +107,11 @@ export class Plugin {
107
107
  throw new Error(`The requested platform '${name}' was not registered by the plugin '${this.getPluginIdentifier()}'.`);
108
108
  }
109
109
  // If it's a dynamic platform plugin, ensure it's not enabled multiple times.
110
- if (this.activeDynamicPlatforms.has(name)) {
110
+ // Skip this check in child bridge context (when process.send exists, we're a forked child)
111
+ const isChildBridge = typeof process.send === 'function';
112
+ if (!isChildBridge && this.activeDynamicPlatforms.has(name)) {
111
113
  throw new Error(`The dynamic platform ${name} from the plugin ${this.getPluginIdentifier()} is configured `
112
- + 'times in your config.json.');
114
+ + 'multiple times in your config.json.');
113
115
  }
114
116
  return constructor;
115
117
  }