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.
- package/dist/api.d.ts +47 -20
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +43 -11
- package/dist/api.js.map +1 -1
- package/dist/bridgeService.d.ts +5 -10
- package/dist/bridgeService.d.ts.map +1 -1
- package/dist/bridgeService.js +3 -0
- package/dist/bridgeService.js.map +1 -1
- package/dist/childBridgeFork.d.ts +19 -0
- package/dist/childBridgeFork.d.ts.map +1 -1
- package/dist/childBridgeFork.js +198 -4
- package/dist/childBridgeFork.js.map +1 -1
- package/dist/childBridgeService.d.ts +27 -1
- package/dist/childBridgeService.d.ts.map +1 -1
- package/dist/childBridgeService.js +43 -1
- package/dist/childBridgeService.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +5 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/ipcService.d.ts +3 -1
- package/dist/ipcService.d.ts.map +1 -1
- package/dist/ipcService.js +2 -0
- package/dist/ipcService.js.map +1 -1
- package/dist/matter/index.d.ts +4 -6
- package/dist/matter/index.d.ts.map +1 -1
- package/dist/matter/index.js +4 -5
- package/dist/matter/index.js.map +1 -1
- package/dist/matter/matterConfigValidator.d.ts +2 -3
- package/dist/matter/matterConfigValidator.d.ts.map +1 -1
- package/dist/matter/matterConfigValidator.js +47 -38
- package/dist/matter/matterConfigValidator.js.map +1 -1
- package/dist/matter/matterErrorHandler.d.ts +6 -25
- package/dist/matter/matterErrorHandler.d.ts.map +1 -1
- package/dist/matter/matterErrorHandler.js +89 -99
- package/dist/matter/matterErrorHandler.js.map +1 -1
- package/dist/matter/matterServer.d.ts +125 -39
- package/dist/matter/matterServer.d.ts.map +1 -1
- package/dist/matter/matterServer.js +463 -223
- package/dist/matter/matterServer.js.map +1 -1
- package/dist/matter/matterSharedTypes.d.ts +1 -21
- package/dist/matter/matterSharedTypes.d.ts.map +1 -1
- package/dist/matter/matterSharedTypes.js +0 -4
- package/dist/matter/matterSharedTypes.js.map +1 -1
- package/dist/matter/matterStorage.d.ts +112 -0
- package/dist/matter/matterStorage.d.ts.map +1 -0
- package/dist/matter/matterStorage.js +355 -0
- package/dist/matter/matterStorage.js.map +1 -0
- package/dist/matter/matterTypes.d.ts +148 -20
- package/dist/matter/matterTypes.d.ts.map +1 -1
- package/dist/matter/matterTypes.js +91 -263
- package/dist/matter/matterTypes.js.map +1 -1
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +4 -2
- package/dist/plugin.js.map +1 -1
- package/dist/server.d.ts +12 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +310 -332
- package/dist/server.js.map +1 -1
- package/dist/user.d.ts +1 -0
- package/dist/user.d.ts.map +1 -1
- package/dist/user.js +3 -0
- package/dist/user.js.map +1 -1
- package/package.json +4 -5
- package/dist/childMatterBridgeFork.d.ts +0 -108
- package/dist/childMatterBridgeFork.d.ts.map +0 -1
- package/dist/childMatterBridgeFork.js +0 -330
- package/dist/childMatterBridgeFork.js.map +0 -1
- package/dist/childMatterBridgeService.d.ts +0 -166
- package/dist/childMatterBridgeService.d.ts.map +0 -1
- package/dist/childMatterBridgeService.js +0 -623
- package/dist/childMatterBridgeService.js.map +0 -1
- package/dist/matter/matterBridge.d.ts +0 -64
- package/dist/matter/matterBridge.d.ts.map +0 -1
- package/dist/matter/matterBridge.js +0 -154
- package/dist/matter/matterBridge.js.map +0 -1
- package/dist/matter/matterDevice.d.ts +0 -107
- package/dist/matter/matterDevice.d.ts.map +0 -1
- package/dist/matter/matterDevice.js +0 -913
- package/dist/matter/matterDevice.js.map +0 -1
- package/dist/matter/portAllocator.d.ts +0 -85
- package/dist/matter/portAllocator.d.ts.map +0 -1
- package/dist/matter/portAllocator.js +0 -296
- 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
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
|
81
|
+
* Matter Configuration (for bridge or child bridge)
|
|
11
82
|
*/
|
|
12
|
-
export interface
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
*
|
|
90
|
+
* Internal Matter accessory representation
|
|
91
|
+
* (Used internally by MatterServer)
|
|
20
92
|
*/
|
|
21
|
-
export
|
|
93
|
+
export interface InternalMatterAccessory extends MatterAccessory {
|
|
94
|
+
endpoint?: Endpoint;
|
|
95
|
+
registered: boolean;
|
|
96
|
+
}
|
|
22
97
|
/**
|
|
23
|
-
*
|
|
98
|
+
* Matter error type enum (for error handler categorization)
|
|
24
99
|
*/
|
|
25
|
-
export declare
|
|
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
|
-
*
|
|
112
|
+
* Matter error types
|
|
28
113
|
*/
|
|
29
|
-
export declare
|
|
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
|
-
*
|
|
137
|
+
* Friendly device type names for the Plugin API
|
|
138
|
+
* Maps simplified names to actual Matter.js device types
|
|
32
139
|
*/
|
|
33
|
-
export declare
|
|
34
|
-
|
|
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":"
|
|
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
|
|
2
|
+
* Matter Types for Homebridge Plugin API
|
|
6
3
|
*
|
|
7
|
-
* This module provides
|
|
8
|
-
*
|
|
4
|
+
* This module provides types and interfaces for plugin developers
|
|
5
|
+
* to create Matter-compatible accessories.
|
|
9
6
|
*/
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
*
|
|
11
|
+
* Matter error type enum (for error handler categorization)
|
|
195
12
|
*/
|
|
196
|
-
export
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
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
|
-
*
|
|
26
|
+
* Matter error types
|
|
227
27
|
*/
|
|
228
|
-
export
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
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
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
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
|
-
|
|
246
|
-
|
|
247
|
-
|
|
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
|
-
|
|
253
|
-
|
|
254
|
-
|
|
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
|
-
|
|
272
|
-
|
|
273
|
-
|
|
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
|
-
|
|
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":"AAAA,6CAA6C;AAC7C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"matterTypes.js","sourceRoot":"","sources":["../../src/matter/matterTypes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,6CAA6C;AAC7C,OAAO,KAAK,QAAQ,MAAM,uBAAuB,CAAA;AACjD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAyG/C;;GAEG;AACH,MAAM,CAAN,IAAY,eAUX;AAVD,WAAY,eAAe;IACzB,oDAAiC,CAAA;IACjC,sCAAmB,CAAA;IACnB,kDAA+B,CAAA;IAC/B,8CAA2B,CAAA;IAC3B,oCAAiB,CAAA;IACjB,sCAAmB,CAAA;IACnB,kDAA+B,CAAA;IAC/B,gDAA6B,CAAA;IAC7B,sCAAmB,CAAA;AACrB,CAAC,EAVW,eAAe,KAAf,eAAe,QAU1B;AAED;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAK;IAOlB;IACA;IAPF,IAAI,CAAiB;IACrB,SAAS,CAAM;IACf,WAAW,CAAS;IAEpC,YACE,OAAe,EACC,IAAY,EACZ,OAAiB,EACjC,OAAwB,eAAe,CAAC,OAAO,EAC/C,WAAW,GAAG,IAAI;QAElB,KAAK,CAAC,OAAO,CAAC,CAAA;QALE,SAAI,GAAJ,IAAI,CAAQ;QACZ,YAAO,GAAP,OAAO,CAAU;QAKjC,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;IAChC,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IACvD,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,CAAA;QAC7E,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;IACxC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;QACjE,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,WAAW;IAChD,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,CAAA;QACrE,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAA;IACjC,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,WAAW;IACjD,YAAY,OAAe,EAAE,OAAiB;QAC5C,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;QACjE,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAA;IAClC,CAAC;CACF;AAED,8CAA8C;AAC9C,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB,kDAAkD;AAClD,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,WAAW;IACX,UAAU,EAAE,OAAO,CAAC,gBAAgB;IACpC,aAAa,EAAE,OAAO,CAAC,mBAAmB;IAC1C,qBAAqB,EAAE,OAAO,CAAC,2BAA2B;IAC1D,kBAAkB,EAAE,OAAO,CAAC,wBAAwB;IAEpD,qBAAqB;IACrB,WAAW,EAAE,OAAO,CAAC,sBAAsB;IAC3C,WAAW,EAAE,OAAO,CAAC,qBAAqB;IAC1C,cAAc,EAAE,OAAO,CAAC,wBAAwB;IAEhD,UAAU;IACV,iBAAiB,EAAE,OAAO,CAAC,uBAAuB;IAClD,cAAc,EAAE,OAAO,CAAC,oBAAoB;IAC5C,WAAW,EAAE,OAAO,CAAC,iBAAiB;IACtC,YAAY,EAAE,OAAO,CAAC,qBAAqB;IAC3C,aAAa,EAAE,OAAO,CAAC,mBAAmB;IAC1C,UAAU,EAAE,OAAO,CAAC,uBAAuB;IAC3C,WAAW,EAAE,OAAO,CAAC,kBAAkB;IAEvC,OAAO;IACP,UAAU,EAAE,OAAO,CAAC,gBAAgB;IACpC,GAAG,EAAE,OAAO,CAAC,SAAS;IAEtB,WAAW;IACX,QAAQ,EAAE,OAAO,CAAC,cAAc;IAEhC,mBAAmB;IACnB,cAAc,EAAE,OAAO,CAAC,oBAAoB;IAE5C,QAAQ;IACR,aAAa,EAAE,OAAO,CAAC,mBAAmB;IAC1C,IAAI,EAAE,OAAO,CAAC,UAAU;IACxB,kBAAkB,EAAE,OAAO,CAAC,wBAAwB;CAC5C,CAAA"}
|
package/dist/plugin.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
-
|
|
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
|
}
|