matterbridge 1.2.6 → 1.2.8

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 (38) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +2 -2
  3. package/TODO.md +0 -4
  4. package/dist/AirQualityCluster.d.ts +1 -1
  5. package/dist/AirQualityCluster.d.ts.map +1 -1
  6. package/dist/TvocCluster.d.ts +1 -1
  7. package/dist/TvocCluster.d.ts.map +1 -1
  8. package/dist/index.d.ts +1 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +1 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/matterbridge.d.ts +21 -7
  13. package/dist/matterbridge.d.ts.map +1 -1
  14. package/dist/matterbridge.js +259 -107
  15. package/dist/matterbridge.js.map +1 -1
  16. package/dist/matterbridgeDevice.d.ts +50 -17
  17. package/dist/matterbridgeDevice.d.ts.map +1 -1
  18. package/dist/matterbridgeDevice.js +100 -18
  19. package/dist/matterbridgeDevice.js.map +1 -1
  20. package/dist/utils.d.ts +52 -1
  21. package/dist/utils.d.ts.map +1 -1
  22. package/dist/utils.js +121 -1
  23. package/dist/utils.js.map +1 -1
  24. package/frontend/build/asset-manifest.json +6 -6
  25. package/frontend/build/index.html +1 -1
  26. package/frontend/build/static/css/{main.61f6cf42.css → main.4c325919.css} +2 -2
  27. package/frontend/build/static/css/main.4c325919.css.map +1 -0
  28. package/frontend/build/static/js/{main.6b861489.js → main.90cbbf6e.js} +3 -3
  29. package/frontend/build/static/js/main.90cbbf6e.js.map +1 -0
  30. package/matterbridge.service +1 -1
  31. package/package.json +13 -11
  32. package/dist/EveHistoryCluster.d.ts +0 -426
  33. package/dist/EveHistoryCluster.d.ts.map +0 -1
  34. package/dist/EveHistoryCluster.js +0 -162
  35. package/dist/EveHistoryCluster.js.map +0 -1
  36. package/frontend/build/static/css/main.61f6cf42.css.map +0 -1
  37. package/frontend/build/static/js/main.6b861489.js.map +0 -1
  38. /package/frontend/build/static/js/{main.6b861489.js.LICENSE.txt → main.90cbbf6e.js.LICENSE.txt} +0 -0
@@ -21,8 +21,8 @@
21
21
  * limitations under the License. *
22
22
  */
23
23
  import { ClusterServerHandlers, ColorControl, DoorLock, Identify, LevelControl, OccupancySensing, OnOff, PowerSource, Thermostat, TimeSync, WindowCovering } from '@project-chip/matter-node.js/cluster';
24
- import { ClusterId, VendorId } from '@project-chip/matter-node.js/datatype';
25
- import { Device, DeviceTypeDefinition, EndpointOptions } from '@project-chip/matter-node.js/device';
24
+ import { ClusterId, EndpointNumber, VendorId } from '@project-chip/matter-node.js/datatype';
25
+ import { Device, DeviceTypeDefinition, Endpoint, EndpointOptions } from '@project-chip/matter-node.js/device';
26
26
  import { AtLeastOne } from '@project-chip/matter-node.js/util';
27
27
  import { MatterHistory } from 'matter-history';
28
28
  import { AirQuality } from './AirQualityCluster.js';
@@ -59,10 +59,11 @@ export declare const colorTemperatureSwitch: DeviceTypeDefinition;
59
59
  export declare const airQualitySensor: DeviceTypeDefinition;
60
60
  export interface SerializedMatterbridgeDevice {
61
61
  pluginName: string;
62
- serialNumber: string;
63
62
  deviceName: string;
63
+ serialNumber: string;
64
64
  uniqueId: string;
65
65
  deviceType: AtLeastOne<DeviceTypeDefinition>;
66
+ endpoint: EndpointNumber | undefined;
66
67
  endpointName: string;
67
68
  clusterServersId: ClusterId[];
68
69
  }
@@ -73,6 +74,7 @@ declare const MatterbridgeDevice_base: new (definition: DeviceTypeDefinition, op
73
74
  };
74
75
  export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
75
76
  static bridgeMode: string;
77
+ log: AnsiLogger;
76
78
  serialNumber: string | undefined;
77
79
  deviceName: string | undefined;
78
80
  uniqueId: string | undefined;
@@ -90,6 +92,7 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
90
92
  * @param {DeviceTypeDefinition} deviceType - The device type to add.
91
93
  */
92
94
  addDeviceType(deviceType: DeviceTypeDefinition): void;
95
+ addChildDeviceTypeWithClusterServer(deviceTypes: AtLeastOne<DeviceTypeDefinition>, includeServerList: ClusterId[]): Endpoint;
93
96
  /**
94
97
  * Serializes the Matterbridge device into a serialized object.
95
98
  *
@@ -134,7 +137,7 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
134
137
  readonly eveEnergy: import("@project-chip/matter.js/schema").BitFlag;
135
138
  readonly eveWeather: import("@project-chip/matter.js/schema").BitFlag;
136
139
  readonly eveRoom: import("@project-chip/matter.js/schema").BitFlag;
137
- }>>, "ConfigDataGet" | "ConfigDataSet" | "HistoryStatus" | "HistoryEntries" | "HistoryRequest" | "HistorySetTime" | "LastEvent" | "TimesOpened" | "ResetTotal" | "RLoc" | "MotionSensitivity" | "Voltage" | "Current" | "Consumption" | "TotalConsumption" | "EnergyUnknown" | "ChildLock" | "Elevation" | "AirPressure" | "WeatherTrend" | "TemperatureDisplayUnits" | keyof import("@project-chip/matter-node.js/cluster").GlobalAttributes<{
140
+ }>>, "ConfigDataGet" | "ConfigDataSet" | "HistoryStatus" | "HistoryEntries" | "HistoryRequest" | "HistorySetTime" | "TimesOpened" | "LastEvent" | "Voltage" | "Current" | "Consumption" | "TotalConsumption" | "EnergyUnknown" | "MotionSensitivity" | "ResetTotal" | "ChildLock" | "RLoc" | "Elevation" | "AirPressure" | "WeatherTrend" | "TemperatureDisplayUnits" | keyof import("@project-chip/matter-node.js/cluster").GlobalAttributes<{
138
141
  readonly eveDoor: import("@project-chip/matter.js/schema").BitFlag;
139
142
  readonly eveMotion: import("@project-chip/matter.js/schema").BitFlag;
140
143
  readonly eveEnergy: import("@project-chip/matter.js/schema").BitFlag;
@@ -156,7 +159,7 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
156
159
  readonly EnergyUnknown: import("@project-chip/matter-node.js/cluster").OptionalAttribute<number, any>;
157
160
  readonly ChildLock: import("@project-chip/matter-node.js/cluster").OptionalWritableAttribute<boolean, any>;
158
161
  readonly RLoc: import("@project-chip/matter-node.js/cluster").Attribute<number, any>;
159
- }, "ConfigDataGet" | "ConfigDataSet" | "HistoryStatus" | "HistoryEntries" | "HistoryRequest" | "HistorySetTime" | "LastEvent" | "TimesOpened" | "ResetTotal" | "RLoc" | "MotionSensitivity" | "Voltage" | "Current" | "Consumption" | "TotalConsumption" | "EnergyUnknown" | "ChildLock" | "Elevation" | "AirPressure" | "WeatherTrend" | "TemperatureDisplayUnits" | keyof import("@project-chip/matter-node.js/cluster").GlobalAttributes<{
162
+ }, "ConfigDataGet" | "ConfigDataSet" | "HistoryStatus" | "HistoryEntries" | "HistoryRequest" | "HistorySetTime" | "TimesOpened" | "LastEvent" | "Voltage" | "Current" | "Consumption" | "TotalConsumption" | "EnergyUnknown" | "MotionSensitivity" | "ResetTotal" | "ChildLock" | "RLoc" | "Elevation" | "AirPressure" | "WeatherTrend" | "TemperatureDisplayUnits" | keyof import("@project-chip/matter-node.js/cluster").GlobalAttributes<{
160
163
  readonly eveDoor: import("@project-chip/matter.js/schema").BitFlag;
161
164
  readonly eveMotion: import("@project-chip/matter.js/schema").BitFlag;
162
165
  readonly eveEnergy: import("@project-chip/matter.js/schema").BitFlag;
@@ -190,7 +193,7 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
190
193
  readonly eveEnergy: import("@project-chip/matter.js/schema").BitFlag;
191
194
  readonly eveWeather: import("@project-chip/matter.js/schema").BitFlag;
192
195
  readonly eveRoom: import("@project-chip/matter.js/schema").BitFlag;
193
- }>>, "ConfigDataGet" | "ConfigDataSet" | "HistoryStatus" | "HistoryEntries" | "HistoryRequest" | "HistorySetTime" | "LastEvent" | "TimesOpened" | "ResetTotal" | "RLoc" | "MotionSensitivity" | "Voltage" | "Current" | "Consumption" | "TotalConsumption" | "EnergyUnknown" | "ChildLock" | "Elevation" | "AirPressure" | "WeatherTrend" | "TemperatureDisplayUnits" | keyof import("@project-chip/matter-node.js/cluster").GlobalAttributes<{
196
+ }>>, "ConfigDataGet" | "ConfigDataSet" | "HistoryStatus" | "HistoryEntries" | "HistoryRequest" | "HistorySetTime" | "TimesOpened" | "LastEvent" | "Voltage" | "Current" | "Consumption" | "TotalConsumption" | "EnergyUnknown" | "MotionSensitivity" | "ResetTotal" | "ChildLock" | "RLoc" | "Elevation" | "AirPressure" | "WeatherTrend" | "TemperatureDisplayUnits" | keyof import("@project-chip/matter-node.js/cluster").GlobalAttributes<{
194
197
  readonly eveDoor: import("@project-chip/matter.js/schema").BitFlag;
195
198
  readonly eveMotion: import("@project-chip/matter.js/schema").BitFlag;
196
199
  readonly eveEnergy: import("@project-chip/matter.js/schema").BitFlag;
@@ -800,7 +803,11 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
800
803
  onlineReserved: import("@project-chip/matter.js/schema").BitFlag;
801
804
  liftMovementReversed: import("@project-chip/matter.js/schema").BitFlag;
802
805
  liftPositionAware: import("@project-chip/matter.js/schema").BitFlag;
803
- tiltPositionAware: import("@project-chip/matter.js/schema").BitFlag;
806
+ tiltPositionAware: import("@project-chip/matter.js/schema").BitFlag; /**
807
+ * Get a default boolean state cluster server.
808
+ *
809
+ * @param contact - Optional boolean value indicating the contact state. Defaults to `true` if not provided.
810
+ */
804
811
  liftEncoderControlled: import("@project-chip/matter.js/schema").BitFlag;
805
812
  tiltEncoderControlled: import("@project-chip/matter.js/schema").BitFlag;
806
813
  }>, any>;
@@ -860,7 +867,11 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
860
867
  onlineReserved: import("@project-chip/matter.js/schema").BitFlag;
861
868
  liftMovementReversed: import("@project-chip/matter.js/schema").BitFlag;
862
869
  liftPositionAware: import("@project-chip/matter.js/schema").BitFlag;
863
- tiltPositionAware: import("@project-chip/matter.js/schema").BitFlag;
870
+ tiltPositionAware: import("@project-chip/matter.js/schema").BitFlag; /**
871
+ * Get a default boolean state cluster server.
872
+ *
873
+ * @param contact - Optional boolean value indicating the contact state. Defaults to `true` if not provided.
874
+ */
864
875
  liftEncoderControlled: import("@project-chip/matter.js/schema").BitFlag;
865
876
  tiltEncoderControlled: import("@project-chip/matter.js/schema").BitFlag;
866
877
  }>, any>;
@@ -943,7 +954,7 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
943
954
  * This method adds a cluster server for a door lock cluster with default settings.
944
955
  *
945
956
  */
946
- getDefaultDoorLockClusterServer(): import("@project-chip/matter-node.js/cluster").ClusterServerObj<import("@project-chip/matter-node.js/util").Merge<{
957
+ getDefaultDoorLockClusterServer(lockState?: DoorLock.LockState, lockType?: DoorLock.LockType): import("@project-chip/matter-node.js/cluster").ClusterServerObj<import("@project-chip/matter-node.js/util").Merge<{
947
958
  readonly lockState: import("@project-chip/matter-node.js/cluster").Attribute<DoorLock.LockState | null, any>;
948
959
  readonly lockType: import("@project-chip/matter-node.js/cluster").Attribute<DoorLock.LockType, any>;
949
960
  readonly actuatorEnabled: import("@project-chip/matter-node.js/cluster").Attribute<boolean, any>;
@@ -1034,7 +1045,7 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
1034
1045
  * This method adds a cluster server for a door lock cluster with default settings.
1035
1046
  *
1036
1047
  */
1037
- createDefaultDoorLockClusterServer(): void;
1048
+ createDefaultDoorLockClusterServer(lockState?: DoorLock.LockState, lockType?: DoorLock.LockType): void;
1038
1049
  /**
1039
1050
  * Get a default switch cluster server.
1040
1051
  *
@@ -1154,6 +1165,23 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
1154
1165
  * @param measuredValue - The measured value of illuminance.
1155
1166
  */
1156
1167
  createDefaultIlluminanceMeasurementClusterServer(measuredValue?: number): void;
1168
+ /**
1169
+ * Get a default flow measurement cluster server.
1170
+ *
1171
+ * @param measuredValue - The measured value of the temperature.
1172
+ */
1173
+ getDefaultFlowMeasurementClusterServer(measuredValue?: number): import("@project-chip/matter-node.js/cluster").ClusterServerObj<import("@project-chip/matter-node.js/util").Merge<{
1174
+ readonly measuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
1175
+ readonly minMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
1176
+ readonly maxMeasuredValue: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
1177
+ readonly tolerance: import("@project-chip/matter-node.js/cluster").OptionalAttribute<number, any>;
1178
+ }, import("@project-chip/matter-node.js/cluster").GlobalAttributes<{}>>, {}>;
1179
+ /**
1180
+ * Creates a default flow measurement cluster server.
1181
+ *
1182
+ * @param measuredValue - The measured value of the temperature.
1183
+ */
1184
+ createDefaultFlowMeasurementClusterServer(measuredValue?: number): void;
1157
1185
  /**
1158
1186
  * Get a default temperature measurement cluster server.
1159
1187
  *
@@ -1392,8 +1420,9 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
1392
1420
  * @param localTemperature - The local temperature value in degrees Celsius. Defaults to 23.
1393
1421
  * @param occupiedHeatingSetpoint - The occupied heating setpoint value in degrees Celsius. Defaults to 21.
1394
1422
  * @param occupiedCoolingSetpoint - The occupied cooling setpoint value in degrees Celsius. Defaults to 25.
1423
+ * @param minSetpointDeadBand - The minimum setpoint dead band value.
1395
1424
  */
1396
- getDefaultThermostatClusterServer(localTemperature?: number, occupiedHeatingSetpoint?: number, occupiedCoolingSetpoint?: number): import("@project-chip/matter-node.js/cluster").ClusterServerObj<Pick<import("@project-chip/matter-node.js/util").Merge<{
1425
+ getDefaultThermostatClusterServer(localTemperature?: number, occupiedHeatingSetpoint?: number, occupiedCoolingSetpoint?: number, minSetpointDeadBand?: number): import("@project-chip/matter-node.js/cluster").ClusterServerObj<Pick<import("@project-chip/matter-node.js/util").Merge<{
1397
1426
  readonly localTemperature: import("@project-chip/matter-node.js/cluster").Attribute<number | null, any>;
1398
1427
  readonly outdoorTemperature: import("@project-chip/matter-node.js/cluster").OptionalAttribute<number | null, any>;
1399
1428
  readonly remoteSensing: import("@project-chip/matter-node.js/cluster").OptionalWritableAttribute<import("@project-chip/matter.js/schema").TypeFromPartialBitSchema<{
@@ -1464,6 +1493,9 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
1464
1493
  readonly occupiedCoolingSetpoint: import("@project-chip/matter-node.js/cluster").WritableAttribute<number, any>;
1465
1494
  readonly minCoolSetpointLimit: import("@project-chip/matter-node.js/cluster").OptionalWritableAttribute<number, any>;
1466
1495
  readonly maxCoolSetpointLimit: import("@project-chip/matter-node.js/cluster").OptionalWritableAttribute<number, any>;
1496
+ } & {
1497
+ readonly minSetpointDeadBand: import("@project-chip/matter-node.js/cluster").WritableAttribute<number, any>;
1498
+ readonly thermostatRunningMode: import("@project-chip/matter-node.js/cluster").OptionalAttribute<Thermostat.ThermostatRunningMode, any>;
1467
1499
  }, "alarmMask" | "localTemperature" | "outdoorTemperature" | "remoteSensing" | "controlSequenceOfOperation" | "systemMode" | "temperatureSetpointHold" | "temperatureSetpointHoldDuration" | "thermostatProgrammingOperationMode" | "thermostatRunningState" | "setpointChangeSource" | "setpointChangeAmount" | "setpointChangeSourceTimestamp" | "emergencyHeatDelta" | "acType" | "acCapacity" | "acRefrigerantType" | "acCompressorType" | "acErrorCode" | "acLouverPosition" | "acCoilTemperature" | "acCapacityFormat" | keyof import("@project-chip/matter-node.js/cluster").GlobalAttributes<{
1468
1500
  readonly heating: import("@project-chip/matter.js/schema").BitFlag;
1469
1501
  readonly cooling: import("@project-chip/matter.js/schema").BitFlag;
@@ -1529,7 +1561,7 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
1529
1561
  readonly setback: import("@project-chip/matter.js/schema").BitFlag;
1530
1562
  readonly autoMode: import("@project-chip/matter.js/schema").BitFlag;
1531
1563
  readonly localTemperatureNotExposed: import("@project-chip/matter.js/schema").BitFlag;
1532
- }>>, "alarmMask" | "absMinHeatSetpointLimit" | "absMaxHeatSetpointLimit" | "absMinCoolSetpointLimit" | "absMaxCoolSetpointLimit" | "piCoolingDemand" | "piHeatingDemand" | "occupiedCoolingSetpoint" | "occupiedHeatingSetpoint" | "minHeatSetpointLimit" | "maxHeatSetpointLimit" | "minCoolSetpointLimit" | "maxCoolSetpointLimit" | "localTemperature" | "outdoorTemperature" | "remoteSensing" | "controlSequenceOfOperation" | "systemMode" | "temperatureSetpointHold" | "temperatureSetpointHoldDuration" | "thermostatProgrammingOperationMode" | "thermostatRunningState" | "setpointChangeSource" | "setpointChangeAmount" | "setpointChangeSourceTimestamp" | "emergencyHeatDelta" | "acType" | "acCapacity" | "acRefrigerantType" | "acCompressorType" | "acErrorCode" | "acLouverPosition" | "acCoilTemperature" | "acCapacityFormat" | keyof import("@project-chip/matter-node.js/cluster").GlobalAttributes<{
1564
+ }>>, "alarmMask" | "absMinHeatSetpointLimit" | "absMaxHeatSetpointLimit" | "absMinCoolSetpointLimit" | "absMaxCoolSetpointLimit" | "piCoolingDemand" | "piHeatingDemand" | "occupiedCoolingSetpoint" | "occupiedHeatingSetpoint" | "minHeatSetpointLimit" | "maxHeatSetpointLimit" | "minCoolSetpointLimit" | "maxCoolSetpointLimit" | "minSetpointDeadBand" | "thermostatRunningMode" | "localTemperature" | "outdoorTemperature" | "remoteSensing" | "controlSequenceOfOperation" | "systemMode" | "temperatureSetpointHold" | "temperatureSetpointHoldDuration" | "thermostatProgrammingOperationMode" | "thermostatRunningState" | "setpointChangeSource" | "setpointChangeAmount" | "setpointChangeSourceTimestamp" | "emergencyHeatDelta" | "acType" | "acCapacity" | "acRefrigerantType" | "acCompressorType" | "acErrorCode" | "acLouverPosition" | "acCoilTemperature" | "acCapacityFormat" | keyof import("@project-chip/matter-node.js/cluster").GlobalAttributes<{
1533
1565
  readonly heating: import("@project-chip/matter.js/schema").BitFlag;
1534
1566
  readonly cooling: import("@project-chip/matter.js/schema").BitFlag;
1535
1567
  readonly occupancy: import("@project-chip/matter.js/schema").BitFlag;
@@ -1539,13 +1571,14 @@ export declare class MatterbridgeDevice extends MatterbridgeDevice_base {
1539
1571
  readonly localTemperatureNotExposed: import("@project-chip/matter.js/schema").BitFlag;
1540
1572
  }>>, Pick<{}, never> & Omit<{}, never>>;
1541
1573
  /**
1542
- * Creates a default thermostat cluster server with the specified parameters.
1574
+ * Creates and adds a default thermostat cluster server to the device.
1543
1575
  *
1544
- * @param localTemperature - The local temperature value in degrees Celsius. Defaults to 23.
1545
- * @param occupiedHeatingSetpoint - The occupied heating setpoint value in degrees Celsius. Defaults to 21.
1546
- * @param occupiedCoolingSetpoint - The occupied cooling setpoint value in degrees Celsius. Defaults to 25.
1576
+ * @param localTemperature - The local temperature value.
1577
+ * @param occupiedHeatingSetpoint - The occupied heating setpoint value.
1578
+ * @param occupiedCoolingSetpoint - The occupied cooling setpoint value.
1579
+ * @param minSetpointDeadBand - The minimum setpoint dead band value.
1547
1580
  */
1548
- createDefaultThermostatClusterServer(localTemperature?: number, occupiedHeatingSetpoint?: number, occupiedCoolingSetpoint?: number): void;
1581
+ createDefaultThermostatClusterServer(localTemperature?: number, occupiedHeatingSetpoint?: number, occupiedCoolingSetpoint?: number, minSetpointDeadBand?: number): void;
1549
1582
  /**
1550
1583
  * Get a default time sync cluster server. Only needed to create a thermostat.
1551
1584
  */
@@ -1 +1 @@
1
- {"version":3,"file":"matterbridgeDevice.d.ts","sourceRoot":"","sources":["../src/matterbridgeDevice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"matterbridgeDevice.d.ts","sourceRoot":"","sources":["../src/matterbridgeDevice.ts"],"names":[],"mappings":"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"}
@@ -20,12 +20,13 @@
20
20
  * See the License for the specific language governing permissions and
21
21
  * limitations under the License. *
22
22
  */
23
- import { BasicInformationCluster, BooleanStateCluster, BridgedDeviceBasicInformationCluster, ClusterServer, ColorControl, ColorControlCluster, DoorLock, DoorLockCluster, ElectricalMeasurementCluster, Groups, Identify, IdentifyCluster, IlluminanceMeasurementCluster, LevelControl, LevelControlCluster, OccupancySensing, OccupancySensingCluster, OnOff, OnOffCluster, PowerSource, PowerSourceCluster, PowerSourceConfigurationCluster, PressureMeasurementCluster, RelativeHumidityMeasurement, RelativeHumidityMeasurementCluster, Scenes, Switch, SwitchCluster, TemperatureMeasurement, TemperatureMeasurementCluster, Thermostat, ThermostatCluster, ThreadNetworkDiagnostics, ThreadNetworkDiagnosticsCluster, TimeSync, TimeSyncCluster, WindowCovering, WindowCoveringCluster, createDefaultGroupsClusterServer, createDefaultScenesClusterServer, } from '@project-chip/matter-node.js/cluster';
23
+ import { BasicInformationCluster, BooleanState, BooleanStateCluster, BridgedDeviceBasicInformationCluster, ClusterServer, ColorControl, ColorControlCluster, DoorLock, DoorLockCluster, ElectricalMeasurement, ElectricalMeasurementCluster, FlowMeasurement, FlowMeasurementCluster, Groups, Identify, IdentifyCluster, IlluminanceMeasurement, IlluminanceMeasurementCluster, LevelControl, LevelControlCluster, OccupancySensing, OccupancySensingCluster, OnOff, OnOffCluster, PowerSource, PowerSourceCluster, PowerSourceConfigurationCluster, PressureMeasurement, PressureMeasurementCluster, RelativeHumidityMeasurement, RelativeHumidityMeasurementCluster, Scenes, Switch, SwitchCluster, TemperatureMeasurement, TemperatureMeasurementCluster, Thermostat, ThermostatCluster, ThreadNetworkDiagnostics, ThreadNetworkDiagnosticsCluster, TimeSync, TimeSyncCluster, WindowCovering, WindowCoveringCluster, createDefaultGroupsClusterServer, createDefaultScenesClusterServer, getClusterNameById, } from '@project-chip/matter-node.js/cluster';
24
24
  import { EndpointNumber, VendorId } from '@project-chip/matter-node.js/datatype';
25
- import { Device, DeviceClasses, DeviceTypeDefinition } from '@project-chip/matter-node.js/device';
25
+ import { Device, DeviceClasses, DeviceTypeDefinition, Endpoint } from '@project-chip/matter-node.js/device';
26
26
  import { extendPublicHandlerMethods } from '@project-chip/matter-node.js/util';
27
- import { EveHistory, EveHistoryCluster } from 'matter-history'; //'./EveHistoryCluster.js';
27
+ import { EveHistory, EveHistoryCluster } from 'matter-history';
28
28
  import { AirQuality, AirQualityCluster } from './AirQualityCluster.js';
29
+ import { AnsiLogger } from 'node-ansi-logger';
29
30
  import { createHash } from 'crypto';
30
31
  import { TvocMeasurement, TvocMeasurementCluster } from './TvocCluster.js';
31
32
  // Custom device types
@@ -63,6 +64,7 @@ export const airQualitySensor = DeviceTypeDefinition({
63
64
  });
64
65
  export class MatterbridgeDevice extends extendPublicHandlerMethods(Device) {
65
66
  static bridgeMode = '';
67
+ log;
66
68
  serialNumber = undefined;
67
69
  deviceName = undefined;
68
70
  uniqueId = undefined;
@@ -74,6 +76,7 @@ export class MatterbridgeDevice extends extendPublicHandlerMethods(Device) {
74
76
  */
75
77
  constructor(definition, options = {}) {
76
78
  super(definition, options);
79
+ this.log = new AnsiLogger({ logName: 'MatterbridgeDevice', logTimestampFormat: 4 /* TimestampFormat.TIME_MILLIS */, logDebug: true });
77
80
  }
78
81
  /**
79
82
  * Adds a device type to the list of device types.
@@ -88,6 +91,61 @@ export class MatterbridgeDevice extends extendPublicHandlerMethods(Device) {
88
91
  this.setDeviceTypes(deviceTypes);
89
92
  }
90
93
  }
94
+ addChildDeviceTypeWithClusterServer(deviceTypes, includeServerList) {
95
+ this.log.debug('addChildDeviceTypeWithClusterServer:');
96
+ const child = new Endpoint(deviceTypes);
97
+ deviceTypes.forEach((deviceType) => {
98
+ this.log.debug(`- with deviceType: ${deviceType.code}-${deviceType.name}`);
99
+ deviceType.requiredServerClusters.forEach((clusterId) => {
100
+ if (!includeServerList.includes(clusterId))
101
+ includeServerList.push(clusterId);
102
+ });
103
+ });
104
+ includeServerList.forEach((clusterId) => {
105
+ this.log.debug(`- with cluster: ${clusterId}-${getClusterNameById(clusterId)}`);
106
+ });
107
+ if (includeServerList.includes(Identify.Cluster.id)) {
108
+ child.addClusterServer(this.getDefaultIdentifyClusterServer());
109
+ }
110
+ if (includeServerList.includes(Groups.Cluster.id)) {
111
+ child.addClusterServer(this.getDefaultGroupsClusterServer());
112
+ }
113
+ if (includeServerList.includes(Scenes.Cluster.id)) {
114
+ child.addClusterServer(this.getDefaultScenesClusterServer());
115
+ }
116
+ if (includeServerList.includes(OnOff.Cluster.id)) {
117
+ child.addClusterServer(this.getDefaultOnOffClusterServer());
118
+ }
119
+ if (includeServerList.includes(TemperatureMeasurement.Cluster.id)) {
120
+ child.addClusterServer(this.getDefaultTemperatureMeasurementClusterServer());
121
+ }
122
+ if (includeServerList.includes(RelativeHumidityMeasurement.Cluster.id)) {
123
+ child.addClusterServer(this.getDefaultRelativeHumidityMeasurementClusterServer());
124
+ }
125
+ if (includeServerList.includes(PressureMeasurement.Cluster.id)) {
126
+ child.addClusterServer(this.getDefaultPressureMeasurementClusterServer());
127
+ }
128
+ if (includeServerList.includes(FlowMeasurement.Cluster.id)) {
129
+ child.addClusterServer(this.getDefaultFlowMeasurementClusterServer());
130
+ }
131
+ if (includeServerList.includes(BooleanState.Cluster.id)) {
132
+ child.addClusterServer(this.getDefaultBooleanStateClusterServer());
133
+ }
134
+ if (includeServerList.includes(OccupancySensing.Cluster.id)) {
135
+ child.addClusterServer(this.getDefaultOccupancySensingClusterServer());
136
+ }
137
+ if (includeServerList.includes(IlluminanceMeasurement.Cluster.id)) {
138
+ child.addClusterServer(this.getDefaultIlluminanceMeasurementClusterServer());
139
+ }
140
+ if (includeServerList.includes(EveHistory.Cluster.id) && !this.hasClusterServer(EveHistory.Complete)) {
141
+ child.addClusterServer(this.getDefaultStaticEveHistoryClusterServer());
142
+ }
143
+ if (includeServerList.includes(ElectricalMeasurement.Cluster.id) && !this.hasClusterServer(ElectricalMeasurement.Complete)) {
144
+ child.addClusterServer(this.getDefaultElectricalMeasurementClusterServer());
145
+ }
146
+ this.addChildEndpoint(child);
147
+ return child;
148
+ }
91
149
  /**
92
150
  * Serializes the Matterbridge device into a serialized object.
93
151
  *
@@ -101,6 +159,7 @@ export class MatterbridgeDevice extends extendPublicHandlerMethods(Device) {
101
159
  deviceName: this.deviceName,
102
160
  uniqueId: this.uniqueId,
103
161
  deviceType: this.getDeviceTypes(),
162
+ endpoint: this.number,
104
163
  endpointName: this.name,
105
164
  clusterServersId: [],
106
165
  };
@@ -1034,11 +1093,11 @@ export class MatterbridgeDevice extends extendPublicHandlerMethods(Device) {
1034
1093
  * This method adds a cluster server for a door lock cluster with default settings.
1035
1094
  *
1036
1095
  */
1037
- getDefaultDoorLockClusterServer() {
1096
+ getDefaultDoorLockClusterServer(lockState = DoorLock.LockState.Locked, lockType = DoorLock.LockType.Deadbolt) {
1038
1097
  return ClusterServer(DoorLockCluster, {
1039
1098
  operatingMode: DoorLock.OperatingMode.Normal,
1040
- lockState: DoorLock.LockState.Locked,
1041
- lockType: DoorLock.LockType.Deadbolt,
1099
+ lockState,
1100
+ lockType,
1042
1101
  actuatorEnabled: false,
1043
1102
  supportedOperatingModes: { normal: true, vacation: false, privacy: false, noRemoteLockUnlock: false, passage: false },
1044
1103
  }, {
@@ -1065,8 +1124,8 @@ export class MatterbridgeDevice extends extendPublicHandlerMethods(Device) {
1065
1124
  * This method adds a cluster server for a door lock cluster with default settings.
1066
1125
  *
1067
1126
  */
1068
- createDefaultDoorLockClusterServer() {
1069
- this.addClusterServer(this.getDefaultDoorLockClusterServer());
1127
+ createDefaultDoorLockClusterServer(lockState = DoorLock.LockState.Locked, lockType = DoorLock.LockType.Deadbolt) {
1128
+ this.addClusterServer(this.getDefaultDoorLockClusterServer(lockState, lockType));
1070
1129
  }
1071
1130
  /**
1072
1131
  * Get a default switch cluster server.
@@ -1141,6 +1200,27 @@ export class MatterbridgeDevice extends extendPublicHandlerMethods(Device) {
1141
1200
  createDefaultIlluminanceMeasurementClusterServer(measuredValue = 0) {
1142
1201
  this.addClusterServer(this.getDefaultIlluminanceMeasurementClusterServer(measuredValue));
1143
1202
  }
1203
+ /**
1204
+ * Get a default flow measurement cluster server.
1205
+ *
1206
+ * @param measuredValue - The measured value of the temperature.
1207
+ */
1208
+ getDefaultFlowMeasurementClusterServer(measuredValue = 0) {
1209
+ return ClusterServer(FlowMeasurementCluster, {
1210
+ measuredValue,
1211
+ minMeasuredValue: null,
1212
+ maxMeasuredValue: null,
1213
+ tolerance: 0,
1214
+ }, {}, {});
1215
+ }
1216
+ /**
1217
+ * Creates a default flow measurement cluster server.
1218
+ *
1219
+ * @param measuredValue - The measured value of the temperature.
1220
+ */
1221
+ createDefaultFlowMeasurementClusterServer(measuredValue = 0) {
1222
+ this.addClusterServer(this.getDefaultFlowMeasurementClusterServer(measuredValue));
1223
+ }
1144
1224
  /**
1145
1225
  * Get a default temperature measurement cluster server.
1146
1226
  *
@@ -1343,9 +1423,10 @@ export class MatterbridgeDevice extends extendPublicHandlerMethods(Device) {
1343
1423
  * @param localTemperature - The local temperature value in degrees Celsius. Defaults to 23.
1344
1424
  * @param occupiedHeatingSetpoint - The occupied heating setpoint value in degrees Celsius. Defaults to 21.
1345
1425
  * @param occupiedCoolingSetpoint - The occupied cooling setpoint value in degrees Celsius. Defaults to 25.
1426
+ * @param minSetpointDeadBand - The minimum setpoint dead band value.
1346
1427
  */
1347
- getDefaultThermostatClusterServer(localTemperature = 23, occupiedHeatingSetpoint = 21, occupiedCoolingSetpoint = 25) {
1348
- return ClusterServer(ThermostatCluster.with(Thermostat.Feature.Heating, Thermostat.Feature.Cooling /*, Thermostat.Feature.AutoMode*/), {
1428
+ getDefaultThermostatClusterServer(localTemperature = 23, occupiedHeatingSetpoint = 21, occupiedCoolingSetpoint = 25, minSetpointDeadBand = 1) {
1429
+ return ClusterServer(ThermostatCluster.with(Thermostat.Feature.Heating, Thermostat.Feature.Cooling, Thermostat.Feature.AutoMode), {
1349
1430
  localTemperature: localTemperature * 100,
1350
1431
  occupiedHeatingSetpoint: occupiedHeatingSetpoint * 100,
1351
1432
  occupiedCoolingSetpoint: occupiedCoolingSetpoint * 100,
@@ -1357,10 +1438,10 @@ export class MatterbridgeDevice extends extendPublicHandlerMethods(Device) {
1357
1438
  maxCoolSetpointLimit: 5000,
1358
1439
  absMinCoolSetpointLimit: 0,
1359
1440
  absMaxCoolSetpointLimit: 5000,
1360
- //minSetpointDeadBand: 1,
1441
+ minSetpointDeadBand,
1361
1442
  systemMode: Thermostat.SystemMode.Off,
1362
1443
  controlSequenceOfOperation: Thermostat.ControlSequenceOfOperation.CoolingAndHeating,
1363
- //thermostatRunningMode: Thermostat.ThermostatRunningMode.Off,
1444
+ thermostatRunningMode: Thermostat.ThermostatRunningMode.Off,
1364
1445
  }, {
1365
1446
  setpointRaiseLower: async ({ request, attributes }) => {
1366
1447
  // eslint-disable-next-line no-console
@@ -1370,14 +1451,15 @@ export class MatterbridgeDevice extends extendPublicHandlerMethods(Device) {
1370
1451
  }, {});
1371
1452
  }
1372
1453
  /**
1373
- * Creates a default thermostat cluster server with the specified parameters.
1454
+ * Creates and adds a default thermostat cluster server to the device.
1374
1455
  *
1375
- * @param localTemperature - The local temperature value in degrees Celsius. Defaults to 23.
1376
- * @param occupiedHeatingSetpoint - The occupied heating setpoint value in degrees Celsius. Defaults to 21.
1377
- * @param occupiedCoolingSetpoint - The occupied cooling setpoint value in degrees Celsius. Defaults to 25.
1456
+ * @param localTemperature - The local temperature value.
1457
+ * @param occupiedHeatingSetpoint - The occupied heating setpoint value.
1458
+ * @param occupiedCoolingSetpoint - The occupied cooling setpoint value.
1459
+ * @param minSetpointDeadBand - The minimum setpoint dead band value.
1378
1460
  */
1379
- createDefaultThermostatClusterServer(localTemperature = 23, occupiedHeatingSetpoint = 21, occupiedCoolingSetpoint = 25) {
1380
- this.addClusterServer(this.getDefaultThermostatClusterServer(localTemperature, occupiedHeatingSetpoint, occupiedCoolingSetpoint));
1461
+ createDefaultThermostatClusterServer(localTemperature = 23, occupiedHeatingSetpoint = 21, occupiedCoolingSetpoint = 25, minSetpointDeadBand = 1) {
1462
+ this.addClusterServer(this.getDefaultThermostatClusterServer(localTemperature, occupiedHeatingSetpoint, occupiedCoolingSetpoint, minSetpointDeadBand));
1381
1463
  }
1382
1464
  /**
1383
1465
  * Get a default time sync cluster server. Only needed to create a thermostat.