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.
- package/CHANGELOG.md +29 -0
- package/README.md +2 -2
- package/TODO.md +0 -4
- package/dist/AirQualityCluster.d.ts +1 -1
- package/dist/AirQualityCluster.d.ts.map +1 -1
- package/dist/TvocCluster.d.ts +1 -1
- package/dist/TvocCluster.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/matterbridge.d.ts +21 -7
- package/dist/matterbridge.d.ts.map +1 -1
- package/dist/matterbridge.js +259 -107
- package/dist/matterbridge.js.map +1 -1
- package/dist/matterbridgeDevice.d.ts +50 -17
- package/dist/matterbridgeDevice.d.ts.map +1 -1
- package/dist/matterbridgeDevice.js +100 -18
- package/dist/matterbridgeDevice.js.map +1 -1
- package/dist/utils.d.ts +52 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +121 -1
- package/dist/utils.js.map +1 -1
- package/frontend/build/asset-manifest.json +6 -6
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/css/{main.61f6cf42.css → main.4c325919.css} +2 -2
- package/frontend/build/static/css/main.4c325919.css.map +1 -0
- package/frontend/build/static/js/{main.6b861489.js → main.90cbbf6e.js} +3 -3
- package/frontend/build/static/js/main.90cbbf6e.js.map +1 -0
- package/matterbridge.service +1 -1
- package/package.json +13 -11
- package/dist/EveHistoryCluster.d.ts +0 -426
- package/dist/EveHistoryCluster.d.ts.map +0 -1
- package/dist/EveHistoryCluster.js +0 -162
- package/dist/EveHistoryCluster.js.map +0 -1
- package/frontend/build/static/css/main.61f6cf42.css.map +0 -1
- package/frontend/build/static/js/main.6b861489.js.map +0 -1
- /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" | "
|
|
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" | "
|
|
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" | "
|
|
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
|
|
1574
|
+
* Creates and adds a default thermostat cluster server to the device.
|
|
1543
1575
|
*
|
|
1544
|
-
* @param localTemperature - The local temperature value
|
|
1545
|
-
* @param occupiedHeatingSetpoint - The occupied heating setpoint value
|
|
1546
|
-
* @param occupiedCoolingSetpoint - The occupied cooling setpoint value
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,
|
|
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';
|
|
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
|
|
1041
|
-
lockType
|
|
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
|
|
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
|
-
|
|
1441
|
+
minSetpointDeadBand,
|
|
1361
1442
|
systemMode: Thermostat.SystemMode.Off,
|
|
1362
1443
|
controlSequenceOfOperation: Thermostat.ControlSequenceOfOperation.CoolingAndHeating,
|
|
1363
|
-
|
|
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
|
|
1454
|
+
* Creates and adds a default thermostat cluster server to the device.
|
|
1374
1455
|
*
|
|
1375
|
-
* @param localTemperature - The local temperature value
|
|
1376
|
-
* @param occupiedHeatingSetpoint - The occupied heating setpoint value
|
|
1377
|
-
* @param occupiedCoolingSetpoint - The occupied cooling setpoint value
|
|
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.
|