matterbridge 2.2.6-dev.5 → 2.2.7
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 +23 -1
- package/dist/cli.d.ts +29 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +37 -2
- package/dist/cli.js.map +1 -0
- package/dist/cluster/export.d.ts +2 -0
- package/dist/cluster/export.d.ts.map +1 -0
- package/dist/cluster/export.js +2 -0
- package/dist/cluster/export.js.map +1 -0
- package/dist/defaultConfigSchema.d.ts +27 -0
- package/dist/defaultConfigSchema.d.ts.map +1 -0
- package/dist/defaultConfigSchema.js +23 -2
- package/dist/defaultConfigSchema.js.map +1 -0
- package/dist/deviceManager.d.ts +114 -0
- package/dist/deviceManager.d.ts.map +1 -0
- package/dist/deviceManager.js +94 -1
- package/dist/deviceManager.js.map +1 -0
- package/dist/frontend.d.ts +221 -0
- package/dist/frontend.d.ts.map +1 -0
- package/dist/frontend.js +329 -19
- package/dist/frontend.js.map +1 -0
- package/dist/index.d.ts +35 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -1
- package/dist/index.js.map +1 -0
- package/dist/logger/export.d.ts +2 -0
- package/dist/logger/export.d.ts.map +1 -0
- package/dist/logger/export.js +1 -0
- package/dist/logger/export.js.map +1 -0
- package/dist/matter/behaviors.d.ts +2 -0
- package/dist/matter/behaviors.d.ts.map +1 -0
- package/dist/matter/behaviors.js +2 -0
- package/dist/matter/behaviors.js.map +1 -0
- package/dist/matter/clusters.d.ts +2 -0
- package/dist/matter/clusters.d.ts.map +1 -0
- package/dist/matter/clusters.js +2 -0
- package/dist/matter/clusters.js.map +1 -0
- package/dist/matter/devices.d.ts +2 -0
- package/dist/matter/devices.d.ts.map +1 -0
- package/dist/matter/devices.js +2 -0
- package/dist/matter/devices.js.map +1 -0
- package/dist/matter/endpoints.d.ts +2 -0
- package/dist/matter/endpoints.d.ts.map +1 -0
- package/dist/matter/endpoints.js +2 -0
- package/dist/matter/endpoints.js.map +1 -0
- package/dist/matter/export.d.ts +5 -0
- package/dist/matter/export.d.ts.map +1 -0
- package/dist/matter/export.js +2 -0
- package/dist/matter/export.js.map +1 -0
- package/dist/matter/types.d.ts +3 -0
- package/dist/matter/types.d.ts.map +1 -0
- package/dist/matter/types.js +2 -0
- package/dist/matter/types.js.map +1 -0
- package/dist/matterbridge.d.ts +425 -0
- package/dist/matterbridge.d.ts.map +1 -0
- package/dist/matterbridge.js +753 -47
- package/dist/matterbridge.js.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts +39 -0
- package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
- package/dist/matterbridgeAccessoryPlatform.js +33 -0
- package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
- package/dist/matterbridgeBehaviors.d.ts +1056 -0
- package/dist/matterbridgeBehaviors.d.ts.map +1 -0
- package/dist/matterbridgeBehaviors.js +32 -1
- package/dist/matterbridgeBehaviors.js.map +1 -0
- package/dist/matterbridgeDeviceTypes.d.ts +177 -0
- package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
- package/dist/matterbridgeDeviceTypes.js +112 -11
- package/dist/matterbridgeDeviceTypes.js.map +1 -0
- package/dist/matterbridgeDynamicPlatform.d.ts +39 -0
- package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
- package/dist/matterbridgeDynamicPlatform.js +33 -0
- package/dist/matterbridgeDynamicPlatform.js.map +1 -0
- package/dist/matterbridgeEndpoint.d.ts +852 -0
- package/dist/matterbridgeEndpoint.d.ts.map +1 -0
- package/dist/matterbridgeEndpoint.js +737 -10
- package/dist/matterbridgeEndpoint.js.map +1 -0
- package/dist/matterbridgeEndpointHelpers.d.ts +2275 -0
- package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
- package/dist/matterbridgeEndpointHelpers.js +118 -9
- package/dist/matterbridgeEndpointHelpers.js.map +1 -0
- package/dist/matterbridgePlatform.d.ts +285 -0
- package/dist/matterbridgePlatform.d.ts.map +1 -0
- package/dist/matterbridgePlatform.js +221 -12
- package/dist/matterbridgePlatform.js.map +1 -0
- package/dist/matterbridgeTypes.d.ts +183 -0
- package/dist/matterbridgeTypes.d.ts.map +1 -0
- package/dist/matterbridgeTypes.js +24 -0
- package/dist/matterbridgeTypes.js.map +1 -0
- package/dist/pluginManager.d.ts +271 -0
- package/dist/pluginManager.d.ts.map +1 -0
- package/dist/pluginManager.js +349 -7
- package/dist/pluginManager.js.map +1 -0
- package/dist/shelly.d.ts +92 -0
- package/dist/shelly.d.ts.map +1 -0
- package/dist/shelly.js +146 -6
- package/dist/shelly.js.map +1 -0
- package/dist/storage/export.d.ts +2 -0
- package/dist/storage/export.d.ts.map +1 -0
- package/dist/storage/export.js +1 -0
- package/dist/storage/export.js.map +1 -0
- package/dist/update.d.ts +32 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +45 -0
- package/dist/update.js.map +1 -0
- package/dist/utils/colorUtils.d.ts +61 -0
- package/dist/utils/colorUtils.d.ts.map +1 -0
- package/dist/utils/colorUtils.js +205 -2
- package/dist/utils/colorUtils.js.map +1 -0
- package/dist/utils/copyDirectory.d.ts +32 -0
- package/dist/utils/copyDirectory.d.ts.map +1 -0
- package/dist/utils/copyDirectory.js +37 -1
- package/dist/utils/copyDirectory.js.map +1 -0
- package/dist/utils/createZip.d.ts +38 -0
- package/dist/utils/createZip.d.ts.map +1 -0
- package/dist/utils/createZip.js +42 -2
- package/dist/utils/createZip.js.map +1 -0
- package/dist/utils/deepCopy.d.ts +31 -0
- package/dist/utils/deepCopy.d.ts.map +1 -0
- package/dist/utils/deepCopy.js +40 -0
- package/dist/utils/deepCopy.js.map +1 -0
- package/dist/utils/deepEqual.d.ts +53 -0
- package/dist/utils/deepEqual.d.ts.map +1 -0
- package/dist/utils/deepEqual.js +65 -1
- package/dist/utils/deepEqual.js.map +1 -0
- package/dist/utils/export.d.ts +10 -0
- package/dist/utils/export.d.ts.map +1 -0
- package/dist/utils/export.js +1 -0
- package/dist/utils/export.js.map +1 -0
- package/dist/utils/isvalid.d.ts +87 -0
- package/dist/utils/isvalid.d.ts.map +1 -0
- package/dist/utils/isvalid.js +86 -0
- package/dist/utils/isvalid.js.map +1 -0
- package/dist/utils/network.d.ts +69 -0
- package/dist/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +77 -8
- package/dist/utils/network.js.map +1 -0
- package/dist/utils/parameter.d.ts +44 -0
- package/dist/utils/parameter.d.ts.map +1 -0
- package/dist/utils/parameter.js +41 -0
- package/dist/utils/parameter.js.map +1 -0
- package/dist/utils/wait.d.ts +43 -0
- package/dist/utils/wait.d.ts.map +1 -0
- package/dist/utils/wait.js +48 -5
- package/dist/utils/wait.js.map +1 -0
- package/frontend/build/asset-manifest.json +3 -3
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/js/{main.f00179ca.js → main.1fa50342.js} +3 -3
- package/frontend/build/static/js/{main.f00179ca.js.map → main.1fa50342.js.map} +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +2 -1
- /package/frontend/build/static/js/{main.f00179ca.js.LICENSE.txt → main.1fa50342.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matterbridgeEndpointHelpers.d.ts","sourceRoot":"","sources":["../src/matterbridgeEndpointHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
|
+
// Node.js modules
|
|
1
3
|
import { createHash } from 'node:crypto';
|
|
4
|
+
// AnsiLogger module
|
|
2
5
|
import { BLUE, CYAN, db, debugStringify, er, hk, or, YELLOW, zb } from './logger/export.js';
|
|
6
|
+
// Matterbridge
|
|
3
7
|
import { deepCopy, deepEqual, isValidArray } from './utils/export.js';
|
|
4
8
|
import { MatterbridgeIdentifyServer, MatterbridgeOnOffServer, MatterbridgeLevelControlServer, MatterbridgeColorControlServer, MatterbridgeWindowCoveringServer, MatterbridgeThermostatServer, MatterbridgeFanControlServer, MatterbridgeDoorLockServer, MatterbridgeModeSelectServer, MatterbridgeValveConfigurationAndControlServer, MatterbridgeSmokeCoAlarmServer, MatterbridgeBooleanStateConfigurationServer, } from './matterbridgeBehaviors.js';
|
|
9
|
+
// @matter
|
|
5
10
|
import { Lifecycle } from '@matter/main';
|
|
6
11
|
import { getClusterNameById } from '@matter/main/types';
|
|
12
|
+
// @matter clusters
|
|
7
13
|
import { PowerSource } from '@matter/main/clusters/power-source';
|
|
8
14
|
import { UserLabel } from '@matter/main/clusters/user-label';
|
|
9
15
|
import { FixedLabel } from '@matter/main/clusters/fixed-label';
|
|
@@ -45,6 +51,7 @@ import { Pm25ConcentrationMeasurement } from '@matter/main/clusters/pm25-concent
|
|
|
45
51
|
import { Pm10ConcentrationMeasurement } from '@matter/main/clusters/pm10-concentration-measurement';
|
|
46
52
|
import { RadonConcentrationMeasurement } from '@matter/main/clusters/radon-concentration-measurement';
|
|
47
53
|
import { TotalVolatileOrganicCompoundsConcentrationMeasurement } from '@matter/main/clusters/total-volatile-organic-compounds-concentration-measurement';
|
|
54
|
+
// @matter behaviors
|
|
48
55
|
import { PowerSourceServer } from '@matter/main/behaviors/power-source';
|
|
49
56
|
import { UserLabelServer } from '@matter/main/behaviors/user-label';
|
|
50
57
|
import { FixedLabelServer } from '@matter/main/behaviors/fixed-label';
|
|
@@ -86,19 +93,19 @@ export function lowercaseFirstLetter(name) {
|
|
|
86
93
|
}
|
|
87
94
|
export function checkNotLatinCharacters(deviceName) {
|
|
88
95
|
const nonLatinRegexList = [
|
|
89
|
-
/[\u0400-\u04FF\u0500-\u052F]/,
|
|
90
|
-
/[\u2E80-\u9FFF]/,
|
|
91
|
-
/[\uAC00-\uD7AF]/,
|
|
92
|
-
/[\u0600-\u06FF\u0750-\u077F]/,
|
|
93
|
-
/[\u0590-\u05FF]/,
|
|
94
|
-
/[\u0900-\u097F]/,
|
|
95
|
-
/[\u0E00-\u0E7F]/,
|
|
96
|
-
/[\u1200-\u137F]/,
|
|
96
|
+
/[\u0400-\u04FF\u0500-\u052F]/, // Cyrillic
|
|
97
|
+
/[\u2E80-\u9FFF]/, // CJK (Chinese, Japanese, Korean)
|
|
98
|
+
/[\uAC00-\uD7AF]/, // Korean Hangul
|
|
99
|
+
/[\u0600-\u06FF\u0750-\u077F]/, // Arabic, Persian
|
|
100
|
+
/[\u0590-\u05FF]/, // Hebrew
|
|
101
|
+
/[\u0900-\u097F]/, // Devanagari (Hindi, Sanskrit)
|
|
102
|
+
/[\u0E00-\u0E7F]/, // Thai
|
|
103
|
+
/[\u1200-\u137F]/, // Ethiopic (Amharic, Tigrinya)
|
|
97
104
|
];
|
|
98
105
|
return nonLatinRegexList.some((regex) => regex.test(deviceName));
|
|
99
106
|
}
|
|
100
107
|
export function generateUniqueId(deviceName) {
|
|
101
|
-
return createHash('md5').update(deviceName).digest('hex');
|
|
108
|
+
return createHash('md5').update(deviceName).digest('hex'); // MD5 hash of the device name
|
|
102
109
|
}
|
|
103
110
|
export function createUniqueId(param1, param2, param3, param4) {
|
|
104
111
|
const hash = createHash('md5');
|
|
@@ -106,6 +113,7 @@ export function createUniqueId(param1, param2, param3, param4) {
|
|
|
106
113
|
return hash.digest('hex');
|
|
107
114
|
}
|
|
108
115
|
export function getBehaviourTypesFromClusterServerIds(clusterServerList) {
|
|
116
|
+
// Map Server ClusterId to Behavior.Type
|
|
109
117
|
const behaviorTypes = [];
|
|
110
118
|
clusterServerList.forEach((clusterId) => {
|
|
111
119
|
behaviorTypes.push(getBehaviourTypeFromClusterServerId(clusterId));
|
|
@@ -113,12 +121,15 @@ export function getBehaviourTypesFromClusterServerIds(clusterServerList) {
|
|
|
113
121
|
return behaviorTypes;
|
|
114
122
|
}
|
|
115
123
|
export function getBehaviourTypesFromClusterClientIds(clusterClientList) {
|
|
124
|
+
// Map Client ClusterId to Behavior.Type
|
|
116
125
|
const behaviorTypes = [];
|
|
117
126
|
clusterClientList.forEach((clusterId) => {
|
|
127
|
+
// behaviorTypes.push(getBehaviourTypeFromClusterClientId(clusterId));
|
|
118
128
|
});
|
|
119
129
|
return behaviorTypes;
|
|
120
130
|
}
|
|
121
131
|
export function getBehaviourTypeFromClusterServerId(clusterId) {
|
|
132
|
+
// Map ClusterId to Server Behavior.Type
|
|
122
133
|
if (clusterId === PowerSource.Cluster.id)
|
|
123
134
|
return PowerSourceServer.with(PowerSource.Feature.Wired);
|
|
124
135
|
if (clusterId === UserLabel.Cluster.id)
|
|
@@ -204,6 +215,8 @@ export function getBehaviourTypeFromClusterServerId(clusterId) {
|
|
|
204
215
|
return MatterbridgeIdentifyServer;
|
|
205
216
|
}
|
|
206
217
|
export function getBehaviourTypeFromClusterClientId(clusterId) {
|
|
218
|
+
// Map ClusterId to Client Behavior.Type
|
|
219
|
+
// return IdentifyClient;
|
|
207
220
|
}
|
|
208
221
|
export function getBehavior(endpoint, cluster) {
|
|
209
222
|
let behavior;
|
|
@@ -249,6 +262,13 @@ export function addOptionalClusterServers(endpoint) {
|
|
|
249
262
|
});
|
|
250
263
|
addClusterServers(endpoint, optionalServerList);
|
|
251
264
|
}
|
|
265
|
+
/**
|
|
266
|
+
* Adds cluster servers to the specified endpoint based on the provided server list.
|
|
267
|
+
*
|
|
268
|
+
* @param {MatterbridgeEndpoint} endpoint - The endpoint to add the cluster servers to.
|
|
269
|
+
* @param {ClusterId[]} serverList - The list of cluster IDs to add.
|
|
270
|
+
* @returns void
|
|
271
|
+
*/
|
|
252
272
|
export function addClusterServers(endpoint, serverList) {
|
|
253
273
|
if (serverList.includes(PowerSource.Cluster.id))
|
|
254
274
|
endpoint.createDefaultPowerSourceWiredClusterServer();
|
|
@@ -322,7 +342,16 @@ export function addClusterServers(endpoint, serverList) {
|
|
|
322
342
|
endpoint.createDefaultRadonConcentrationMeasurementClusterServer();
|
|
323
343
|
if (serverList.includes(TotalVolatileOrganicCompoundsConcentrationMeasurement.Cluster.id))
|
|
324
344
|
endpoint.createDefaultTvocMeasurementClusterServer();
|
|
345
|
+
// if (serverList.includes(DeviceEnergyManagement.Cluster.id)) endpoint.createDefaultDeviceEnergyManagementClusterServer();
|
|
346
|
+
// if (serverList.includes(DeviceEnergyManagementMode.Cluster.id)) endpoint.createDefaultDeviceEnergyManagementModeClusterServer();
|
|
325
347
|
}
|
|
348
|
+
/**
|
|
349
|
+
* Adds a fixed label to the FixedLabel cluster. The FixedLabel cluster is created if it does not exist.
|
|
350
|
+
*
|
|
351
|
+
* @param {MatterbridgeEndpoint} endpoint - The endpoint to add the cluster servers to.
|
|
352
|
+
* @param {string} label - The label to add.
|
|
353
|
+
* @param {string} value - The value of the label.
|
|
354
|
+
*/
|
|
326
355
|
export async function addFixedLabel(endpoint, label, value) {
|
|
327
356
|
if (!endpoint.hasClusterServer(FixedLabel.Cluster.id)) {
|
|
328
357
|
endpoint.log.debug(`addFixedLabel: add cluster ${hk}FixedLabel${db}:${hk}fixedLabel${db} with label ${CYAN}${label}${db} value ${CYAN}${value}${db}`);
|
|
@@ -339,6 +368,13 @@ export async function addFixedLabel(endpoint, label, value) {
|
|
|
339
368
|
await endpoint.setAttribute(FixedLabel.Cluster.id, 'labelList', labelList, endpoint.log);
|
|
340
369
|
}
|
|
341
370
|
}
|
|
371
|
+
/**
|
|
372
|
+
* Adds a user label to the UserLabel cluster. The UserLabel cluster is created if it does not exist.
|
|
373
|
+
*
|
|
374
|
+
* @param {MatterbridgeEndpoint} endpoint - The endpoint to add the cluster servers to.
|
|
375
|
+
* @param {string} label - The label to add.
|
|
376
|
+
* @param {string} value - The value of the label.
|
|
377
|
+
*/
|
|
342
378
|
export async function addUserLabel(endpoint, label, value) {
|
|
343
379
|
if (!endpoint.hasClusterServer(UserLabel.Cluster.id)) {
|
|
344
380
|
endpoint.log.debug(`addUserLabel: add cluster ${hk}UserLabel${db}:${hk}userLabel${db} with label ${CYAN}${label}${db} value ${CYAN}${value}${db}`);
|
|
@@ -402,6 +438,16 @@ export function getAttributeId(endpoint, cluster, attribute) {
|
|
|
402
438
|
return endpoint.behaviors.supported[lowercaseFirstLetter(cluster)]?.schema?.children?.find((child) => child.name === capitalizeFirstLetter(attribute))?.id;
|
|
403
439
|
}
|
|
404
440
|
}
|
|
441
|
+
/**
|
|
442
|
+
* Retrieves the value of the provided attribute from the given cluster.
|
|
443
|
+
*
|
|
444
|
+
* @param {MatterbridgeEndpoint} endpoint - The endpoint to retrieve the attribute from.
|
|
445
|
+
* @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to retrieve the attribute from.
|
|
446
|
+
* @param {string} attribute - The name of the attribute to retrieve.
|
|
447
|
+
* @param {AnsiLogger} [log] - (Optional) The logger to use for logging the retrieve. Errors are logged to the endpoint logger.
|
|
448
|
+
* @returns {any} The value of the attribute, or undefined if the attribute is not found.
|
|
449
|
+
*/
|
|
450
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
405
451
|
export function getAttribute(endpoint, cluster, attribute, log) {
|
|
406
452
|
const clusterName = getBehavior(endpoint, cluster)?.id;
|
|
407
453
|
if (!clusterName) {
|
|
@@ -424,6 +470,16 @@ export function getAttribute(endpoint, cluster, attribute, log) {
|
|
|
424
470
|
log?.info(`${db}Get endpoint ${or}${endpoint.id}${db}:${or}${endpoint.number}${db} attribute ${hk}${capitalizeFirstLetter(clusterName)}${db}.${hk}${attribute}${db} value ${YELLOW}${value !== null && typeof value === 'object' ? debugStringify(value) : value}${db}`);
|
|
425
471
|
return value;
|
|
426
472
|
}
|
|
473
|
+
/**
|
|
474
|
+
* Sets the value of an attribute on a cluster server.
|
|
475
|
+
*
|
|
476
|
+
* @param {MatterbridgeEndpoint} endpoint - The endpoint to set the attribute on.
|
|
477
|
+
* @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to set the attribute on.
|
|
478
|
+
* @param {string} attribute - The name of the attribute.
|
|
479
|
+
* @param {boolean | number | bigint | string | object | null} value - The value to set for the attribute.
|
|
480
|
+
* @param {AnsiLogger} [log] - (Optional) The logger to use for logging the set. Errors are logged to the endpoint logger.
|
|
481
|
+
* @returns {Promise<boolean>} - A promise that resolves to a boolean indicating whether the attribute was successfully set.
|
|
482
|
+
*/
|
|
427
483
|
export async function setAttribute(endpoint, cluster, attribute, value, log) {
|
|
428
484
|
const clusterName = getBehavior(endpoint, cluster)?.id;
|
|
429
485
|
if (!clusterName) {
|
|
@@ -449,6 +505,16 @@ export async function setAttribute(endpoint, cluster, attribute, value, log) {
|
|
|
449
505
|
`to ${YELLOW}${value !== null && typeof value === 'object' ? debugStringify(value) : value}${db}`);
|
|
450
506
|
return true;
|
|
451
507
|
}
|
|
508
|
+
/**
|
|
509
|
+
* Sets the value of an attribute on a cluster server.
|
|
510
|
+
*
|
|
511
|
+
* @param {MatterbridgeEndpoint} endpoint - The endpoint to update the attribute on.
|
|
512
|
+
* @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to update the attribute on.
|
|
513
|
+
* @param {string} attribute - The name of the attribute.
|
|
514
|
+
* @param {boolean | number | bigint | string | object | null} value - The value to set for the attribute.
|
|
515
|
+
* @param {AnsiLogger} [log] - (Optional) The logger to use for logging the update. Errors are logged to the endpoint logger.
|
|
516
|
+
* @returns {Promise<boolean>} - A promise that resolves to a boolean indicating whether the attribute was successfully set.
|
|
517
|
+
*/
|
|
452
518
|
export async function updateAttribute(endpoint, cluster, attribute, value, log) {
|
|
453
519
|
const clusterName = getBehavior(endpoint, cluster)?.id;
|
|
454
520
|
if (!clusterName) {
|
|
@@ -479,6 +545,17 @@ export async function updateAttribute(endpoint, cluster, attribute, value, log)
|
|
|
479
545
|
`to ${YELLOW}${value !== null && typeof value === 'object' ? debugStringify(value) : value}${db}`);
|
|
480
546
|
return true;
|
|
481
547
|
}
|
|
548
|
+
/**
|
|
549
|
+
* Subscribes to the provided attribute on a cluster.
|
|
550
|
+
*
|
|
551
|
+
* @param {MatterbridgeEndpoint} endpoint - The endpoint to subscribe the attribute to.
|
|
552
|
+
* @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to subscribe the attribute to.
|
|
553
|
+
* @param {string} attribute - The name of the attribute to subscribe to.
|
|
554
|
+
* @param {(newValue: any, oldValue: any) => void} listener - A callback function that will be called when the attribute value changes.
|
|
555
|
+
* @param {AnsiLogger} [log] - Optional logger for logging errors and information.
|
|
556
|
+
* @returns {boolean} - A boolean indicating whether the subscription was successful.
|
|
557
|
+
*/
|
|
558
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
482
559
|
export async function subscribeAttribute(endpoint, cluster, attribute, listener, log) {
|
|
483
560
|
const clusterName = getBehavior(endpoint, cluster)?.id;
|
|
484
561
|
if (!clusterName) {
|
|
@@ -489,6 +566,7 @@ export async function subscribeAttribute(endpoint, cluster, attribute, listener,
|
|
|
489
566
|
endpoint.log.debug(`subscribeAttribute ${hk}${clusterName}.${attribute}${db}: Endpoint ${or}${endpoint.maybeId}${db}:${or}${endpoint.maybeNumber}${db} is in the ${BLUE}${endpoint.construction.status}${db} state`);
|
|
490
567
|
await endpoint.construction.ready;
|
|
491
568
|
}
|
|
569
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
492
570
|
const events = endpoint.events;
|
|
493
571
|
attribute = lowercaseFirstLetter(attribute) + '$Changed';
|
|
494
572
|
if (!(clusterName in events) || !(attribute in events[clusterName])) {
|
|
@@ -499,6 +577,11 @@ export async function subscribeAttribute(endpoint, cluster, attribute, listener,
|
|
|
499
577
|
log?.info(`${db}Subscribed endpoint ${or}${endpoint.id}${db}:${or}${endpoint.number}${db} attribute ${hk}${capitalizeFirstLetter(clusterName)}${db}.${hk}${attribute}${db}`);
|
|
500
578
|
return true;
|
|
501
579
|
}
|
|
580
|
+
/**
|
|
581
|
+
* Get the default TemperatureMeasurement cluster server options.
|
|
582
|
+
*
|
|
583
|
+
* @param {number} measuredValue - The measured value of the temperature x 100.
|
|
584
|
+
*/
|
|
502
585
|
export function getDefaultTemperatureMeasurementClusterServer(measuredValue = 0) {
|
|
503
586
|
return optionsFor(TemperatureMeasurementServer, {
|
|
504
587
|
measuredValue,
|
|
@@ -507,6 +590,11 @@ export function getDefaultTemperatureMeasurementClusterServer(measuredValue = 0)
|
|
|
507
590
|
tolerance: 0,
|
|
508
591
|
});
|
|
509
592
|
}
|
|
593
|
+
/**
|
|
594
|
+
* Get the default RelativeHumidityMeasurement cluster server options.
|
|
595
|
+
*
|
|
596
|
+
* @param {number} measuredValue - The measured value of the relative humidity x 100.
|
|
597
|
+
*/
|
|
510
598
|
export function getDefaultRelativeHumidityMeasurementClusterServer(measuredValue = 0) {
|
|
511
599
|
return optionsFor(RelativeHumidityMeasurementServer, {
|
|
512
600
|
measuredValue,
|
|
@@ -515,6 +603,11 @@ export function getDefaultRelativeHumidityMeasurementClusterServer(measuredValue
|
|
|
515
603
|
tolerance: 0,
|
|
516
604
|
});
|
|
517
605
|
}
|
|
606
|
+
/**
|
|
607
|
+
* Get the default PressureMeasurement cluster server options.
|
|
608
|
+
*
|
|
609
|
+
* @param {number} measuredValue - The measured value for the pressure.
|
|
610
|
+
*/
|
|
518
611
|
export function getDefaultPressureMeasurementClusterServer(measuredValue = 1000) {
|
|
519
612
|
return optionsFor(PressureMeasurementServer, {
|
|
520
613
|
measuredValue,
|
|
@@ -523,6 +616,11 @@ export function getDefaultPressureMeasurementClusterServer(measuredValue = 1000)
|
|
|
523
616
|
tolerance: 0,
|
|
524
617
|
});
|
|
525
618
|
}
|
|
619
|
+
/**
|
|
620
|
+
* Get the default IlluminanceMeasurement cluster server options.
|
|
621
|
+
*
|
|
622
|
+
* @param {number} measuredValue - The measured value of illuminance.
|
|
623
|
+
*/
|
|
526
624
|
export function getDefaultIlluminanceMeasurementClusterServer(measuredValue = 0) {
|
|
527
625
|
return optionsFor(IlluminanceMeasurementServer, {
|
|
528
626
|
measuredValue,
|
|
@@ -531,6 +629,11 @@ export function getDefaultIlluminanceMeasurementClusterServer(measuredValue = 0)
|
|
|
531
629
|
tolerance: 0,
|
|
532
630
|
});
|
|
533
631
|
}
|
|
632
|
+
/**
|
|
633
|
+
* Get the default FlowMeasurement cluster server options.
|
|
634
|
+
*
|
|
635
|
+
* @param {number} measuredValue - The measured value of the flow in 10 x m3/h.
|
|
636
|
+
*/
|
|
534
637
|
export function getDefaultFlowMeasurementClusterServer(measuredValue = 0) {
|
|
535
638
|
return optionsFor(FlowMeasurementServer, {
|
|
536
639
|
measuredValue,
|
|
@@ -539,6 +642,11 @@ export function getDefaultFlowMeasurementClusterServer(measuredValue = 0) {
|
|
|
539
642
|
tolerance: 0,
|
|
540
643
|
});
|
|
541
644
|
}
|
|
645
|
+
/**
|
|
646
|
+
* Get the default OccupancySensing cluster server options.
|
|
647
|
+
*
|
|
648
|
+
* @param {boolean} occupied - A boolean indicating whether the occupancy is occupied or not. Default is false.
|
|
649
|
+
*/
|
|
542
650
|
export function getDefaultOccupancySensingClusterServer(occupied = false) {
|
|
543
651
|
return optionsFor(OccupancySensingServer, {
|
|
544
652
|
occupancy: { occupied },
|
|
@@ -547,3 +655,4 @@ export function getDefaultOccupancySensingClusterServer(occupied = false) {
|
|
|
547
655
|
pirOccupiedToUnoccupiedDelay: 30,
|
|
548
656
|
});
|
|
549
657
|
}
|
|
658
|
+
//# sourceMappingURL=matterbridgeEndpointHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matterbridgeEndpointHelpers.js","sourceRoot":"","sources":["../src/matterbridgeEndpointHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,285 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file contains the class MatterbridgeAccessoryPlatform.
|
|
3
|
+
*
|
|
4
|
+
* @file matterbridgePlatform.ts
|
|
5
|
+
* @author Luca Liguori
|
|
6
|
+
* @date 2024-03-21
|
|
7
|
+
* @version 1.1.0
|
|
8
|
+
*
|
|
9
|
+
* Copyright 2024, 2025, 2026 Luca Liguori.
|
|
10
|
+
*
|
|
11
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
+
* you may not use this file except in compliance with the License.
|
|
13
|
+
* You may obtain a copy of the License at
|
|
14
|
+
*
|
|
15
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
+
*
|
|
17
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
+
* See the License for the specific language governing permissions and
|
|
21
|
+
* limitations under the License. *
|
|
22
|
+
*/
|
|
23
|
+
import { Matterbridge } from './matterbridge.js';
|
|
24
|
+
import { MatterbridgeEndpoint } from './matterbridgeEndpoint.js';
|
|
25
|
+
import { AnsiLogger, LogLevel } from './logger/export.js';
|
|
26
|
+
import { NodeStorage, NodeStorageManager } from './storage/export.js';
|
|
27
|
+
export type PlatformConfigValue = string | number | boolean | bigint | object | undefined | null;
|
|
28
|
+
export type PlatformConfig = Record<string, PlatformConfigValue>;
|
|
29
|
+
export interface DefaultPlatformConfig {
|
|
30
|
+
name: string;
|
|
31
|
+
type: string;
|
|
32
|
+
version: string;
|
|
33
|
+
whiteList?: string[];
|
|
34
|
+
blackList?: string[];
|
|
35
|
+
debug: boolean;
|
|
36
|
+
unregisterOnShutdown: boolean;
|
|
37
|
+
}
|
|
38
|
+
export type PlatformSchemaValue = string | number | boolean | bigint | object | undefined | null;
|
|
39
|
+
export type PlatformSchema = Record<string, PlatformSchemaValue>;
|
|
40
|
+
/**
|
|
41
|
+
* Represents the base Matterbridge platform. It is extended by the MatterbridgeAccessoryPlatform and MatterbridgeServicePlatform classes.
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
44
|
+
export declare class MatterbridgePlatform {
|
|
45
|
+
matterbridge: Matterbridge;
|
|
46
|
+
log: AnsiLogger;
|
|
47
|
+
config: PlatformConfig;
|
|
48
|
+
name: string;
|
|
49
|
+
type: string;
|
|
50
|
+
version: string;
|
|
51
|
+
storage: NodeStorageManager;
|
|
52
|
+
context?: NodeStorage;
|
|
53
|
+
readonly selectDevice: Map<string, {
|
|
54
|
+
serial: string;
|
|
55
|
+
name: string;
|
|
56
|
+
configUrl?: string;
|
|
57
|
+
icon?: string;
|
|
58
|
+
entities?: {
|
|
59
|
+
name: string;
|
|
60
|
+
description: string;
|
|
61
|
+
icon?: string;
|
|
62
|
+
}[];
|
|
63
|
+
}>;
|
|
64
|
+
readonly selectEntity: Map<string, {
|
|
65
|
+
name: string;
|
|
66
|
+
description: string;
|
|
67
|
+
icon?: string;
|
|
68
|
+
}>;
|
|
69
|
+
private _contextReady;
|
|
70
|
+
private _selectDeviceContextReady;
|
|
71
|
+
private _selectEntityContextReady;
|
|
72
|
+
ready: Promise<void>;
|
|
73
|
+
private readonly _registeredEndpoints;
|
|
74
|
+
private readonly _registeredEndpointsByName;
|
|
75
|
+
private readonly _storedDevices;
|
|
76
|
+
/**
|
|
77
|
+
* Creates an instance of the base MatterbridgePlatform. It is extended by the MatterbridgeAccessoryPlatform and MatterbridgeServicePlatform classes.
|
|
78
|
+
* @param {Matterbridge} matterbridge - The Matterbridge instance.
|
|
79
|
+
* @param {AnsiLogger} log - The logger instance.
|
|
80
|
+
* @param {PlatformConfig} config - The platform configuration.
|
|
81
|
+
*/
|
|
82
|
+
constructor(matterbridge: Matterbridge, log: AnsiLogger, config: PlatformConfig);
|
|
83
|
+
/**
|
|
84
|
+
* This method must be overridden in the extended class.
|
|
85
|
+
* It is called when the platform is started.
|
|
86
|
+
* Use this method to create the MatterbridgeDevice and call this.registerDevice().
|
|
87
|
+
* @param {string} [reason] - The reason for starting.
|
|
88
|
+
* @throws {Error} - Throws an error if the method is not overridden.
|
|
89
|
+
*/
|
|
90
|
+
onStart(reason?: string): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* This method can be overridden in the extended class. Call super.onConfigure() to run checkEndpointNumbers().
|
|
93
|
+
* It is called after the platform has started.
|
|
94
|
+
* Use this method to perform any configuration of your devices.
|
|
95
|
+
*/
|
|
96
|
+
onConfigure(): Promise<void>;
|
|
97
|
+
/**
|
|
98
|
+
* This method can be overridden in the extended class. In this case always call super.onShutdown() to save the selects, run checkEndpointNumbers() and cleanup memory.
|
|
99
|
+
* It is called when the platform is shutting down.
|
|
100
|
+
* Use this method to clean up any resources.
|
|
101
|
+
* @param {string} [reason] - The reason for shutting down.
|
|
102
|
+
*/
|
|
103
|
+
onShutdown(reason?: string): Promise<void>;
|
|
104
|
+
/**
|
|
105
|
+
* Sets the logger level and logs a debug message indicating that the plugin doesn't override this method.
|
|
106
|
+
* @param {LogLevel} logLevel The new logger level.
|
|
107
|
+
*/
|
|
108
|
+
onChangeLoggerLevel(logLevel: LogLevel): Promise<void>;
|
|
109
|
+
/**
|
|
110
|
+
* Called when a plugin config includes an action button or an action button with text field.
|
|
111
|
+
* @param {string} action The action triggered by the button in plugin config.
|
|
112
|
+
* @param {string} value The value of the field of the action button.
|
|
113
|
+
* @param {string} id The id of the schema associated with the action.
|
|
114
|
+
*
|
|
115
|
+
* @remarks
|
|
116
|
+
* This method can be overridden in the extended class.
|
|
117
|
+
*
|
|
118
|
+
* Use this method to handle the action defined in the plugin schema:
|
|
119
|
+
* "addDevice": {
|
|
120
|
+
* "description": "Manually add a device that has not been discovered with mdns:",
|
|
121
|
+
* "type": "boolean",
|
|
122
|
+
* "buttonText": "ADD", // The text on the button.
|
|
123
|
+
* "buttonField": "ADD", // The text on the button. This is used when the action includes a text field.
|
|
124
|
+
* "buttonClose": false, // optional, default is false. When true, the dialog will close after the action is sent.
|
|
125
|
+
* "buttonSave": false, // optional, default is false. When true, the dialog will close and trigger the restart required after the action is sent.
|
|
126
|
+
* "textPlaceholder": "Enter the device IP address", // optional: the placeholder text for the text field.
|
|
127
|
+
* "default": false
|
|
128
|
+
* },
|
|
129
|
+
*/
|
|
130
|
+
onAction(action: string, value?: string, id?: string): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Called when the plugin config has been updated.
|
|
133
|
+
* @param {PlatformConfig} config The new plugin config.
|
|
134
|
+
*/
|
|
135
|
+
onConfigChanged(config: PlatformConfig): Promise<void>;
|
|
136
|
+
/**
|
|
137
|
+
* Check if a device with this name is already registered in the platform.
|
|
138
|
+
* @param {string} deviceName - The device name to check.
|
|
139
|
+
* @returns {boolean} True if the device is already registered, false otherwise.
|
|
140
|
+
*/
|
|
141
|
+
hasDeviceName(deviceName: string): boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Registers a device with the Matterbridge platform.
|
|
144
|
+
* @param {MatterbridgeEndpoint} device - The device to register.
|
|
145
|
+
*/
|
|
146
|
+
registerDevice(device: MatterbridgeEndpoint): Promise<void>;
|
|
147
|
+
/**
|
|
148
|
+
* Unregisters a device registered with the Matterbridge platform.
|
|
149
|
+
* @param {MatterbridgeEndpoint} device - The device to unregister.
|
|
150
|
+
*/
|
|
151
|
+
unregisterDevice(device: MatterbridgeEndpoint): Promise<void>;
|
|
152
|
+
/**
|
|
153
|
+
* Unregisters all devices registered with the Matterbridge platform.
|
|
154
|
+
*/
|
|
155
|
+
unregisterAllDevices(): Promise<void>;
|
|
156
|
+
/**
|
|
157
|
+
* Saves the select devices and entities to storage.
|
|
158
|
+
*
|
|
159
|
+
* This method saves the current state of `selectDevice` and `selectEntity` maps to their respective storage.
|
|
160
|
+
* It logs the number of items being saved and ensures that the storage is properly closed after saving.
|
|
161
|
+
*
|
|
162
|
+
* @returns {Promise<void>} A promise that resolves when the save operation is complete.
|
|
163
|
+
*/
|
|
164
|
+
private saveSelects;
|
|
165
|
+
/**
|
|
166
|
+
* Clears the select device and entity maps.
|
|
167
|
+
*
|
|
168
|
+
* @returns {void}
|
|
169
|
+
*/
|
|
170
|
+
clearSelect(): Promise<void>;
|
|
171
|
+
/**
|
|
172
|
+
* Clears the select for a single device.
|
|
173
|
+
*
|
|
174
|
+
* @param {string} device - The serial of the device to clear.
|
|
175
|
+
* @returns {void}
|
|
176
|
+
*/
|
|
177
|
+
clearDeviceSelect(device: string): Promise<void>;
|
|
178
|
+
/**
|
|
179
|
+
* Set the select device in the platform map.
|
|
180
|
+
*
|
|
181
|
+
* @param {string} serial - The serial number of the device.
|
|
182
|
+
* @param {string} name - The name of the device.
|
|
183
|
+
* @param {string} [configUrl] - The configuration URL of the device.
|
|
184
|
+
* @param {string} [icon] - The icon of the device: 'wifi', 'ble', 'hub'
|
|
185
|
+
* @param {Array<{ name: string; description: string; icon?: string }>} [entities] - The entities associated with the device.
|
|
186
|
+
* @returns {void}
|
|
187
|
+
*/
|
|
188
|
+
setSelectDevice(serial: string, name: string, configUrl?: string, icon?: string, entities?: {
|
|
189
|
+
name: string;
|
|
190
|
+
description: string;
|
|
191
|
+
icon?: string;
|
|
192
|
+
}[]): void;
|
|
193
|
+
/**
|
|
194
|
+
* Set the select device entity in the platform map.
|
|
195
|
+
*
|
|
196
|
+
* @param {string} serial - The serial number of the device.
|
|
197
|
+
* @param {string} entityName - The name of the entity.
|
|
198
|
+
* @param {string} entityDescription - The description of the entity.
|
|
199
|
+
* @param {string} [entityIcon] - The icon of the entity: 'wifi', 'ble', 'hub', 'component', 'matter'
|
|
200
|
+
* @returns {void}
|
|
201
|
+
*/
|
|
202
|
+
setSelectDeviceEntity(serial: string, entityName: string, entityDescription: string, entityIcon?: string): void;
|
|
203
|
+
/**
|
|
204
|
+
* Retrieves the select devices from the platform map.
|
|
205
|
+
*
|
|
206
|
+
* @returns {{ pluginName: string; serial: string; name: string; configUrl?: string; icon?: string; entities?: { name: string; description: string; icon?: string }[] }[]} The selected devices array.
|
|
207
|
+
*/
|
|
208
|
+
getSelectDevices(): {
|
|
209
|
+
pluginName: string;
|
|
210
|
+
serial: string;
|
|
211
|
+
name: string;
|
|
212
|
+
configUrl?: string;
|
|
213
|
+
icon?: string;
|
|
214
|
+
entities?: {
|
|
215
|
+
name: string;
|
|
216
|
+
description: string;
|
|
217
|
+
icon?: string;
|
|
218
|
+
}[];
|
|
219
|
+
}[];
|
|
220
|
+
/**
|
|
221
|
+
* Set the select entity in the platform map.
|
|
222
|
+
*
|
|
223
|
+
* @param {string} name - The entity name.
|
|
224
|
+
* @param {string} description - The entity description.
|
|
225
|
+
* @param {string} [icon] - The entity icon: 'wifi', 'ble', 'hub', 'component', 'matter'
|
|
226
|
+
* @returns {void}
|
|
227
|
+
*/
|
|
228
|
+
setSelectEntity(name: string, description: string, icon?: string): void;
|
|
229
|
+
/**
|
|
230
|
+
* Retrieve the select entities.
|
|
231
|
+
*
|
|
232
|
+
* @returns {{ pluginName: string; name: string; description: string; icon?: string }[]} The select entities array.
|
|
233
|
+
*/
|
|
234
|
+
getSelectEntities(): {
|
|
235
|
+
pluginName: string;
|
|
236
|
+
name: string;
|
|
237
|
+
description: string;
|
|
238
|
+
icon?: string;
|
|
239
|
+
}[];
|
|
240
|
+
/**
|
|
241
|
+
* Verifies if the Matterbridge version meets the required version.
|
|
242
|
+
* @param {string} requiredVersion - The required version to compare against.
|
|
243
|
+
* @returns {boolean} True if the Matterbridge version meets or exceeds the required version, false otherwise.
|
|
244
|
+
*/
|
|
245
|
+
verifyMatterbridgeVersion(requiredVersion: string): boolean;
|
|
246
|
+
/**
|
|
247
|
+
* @deprecated This method is deprecated and will be removed in future versions. Use validateDevice instead.
|
|
248
|
+
*/
|
|
249
|
+
validateDeviceWhiteBlackList(device: string | string[], log?: boolean): boolean;
|
|
250
|
+
/**
|
|
251
|
+
* Validates if a device is allowed based on the whitelist and blacklist configurations.
|
|
252
|
+
* The blacklist has priority over the whitelist.
|
|
253
|
+
*
|
|
254
|
+
* @param {string | string[]} device - The device name(s) to validate.
|
|
255
|
+
* @param {boolean} [log=true] - Whether to log the validation result.
|
|
256
|
+
* @returns {boolean} - Returns true if the device is allowed, false otherwise.
|
|
257
|
+
*
|
|
258
|
+
*/
|
|
259
|
+
validateDevice(device: string | string[], log?: boolean): boolean;
|
|
260
|
+
/**
|
|
261
|
+
* @deprecated This method is deprecated and will be removed in future versions. Use validateEntity instead.
|
|
262
|
+
*/
|
|
263
|
+
validateEntityBlackList(device: string, entity: string, log?: boolean): boolean;
|
|
264
|
+
/**
|
|
265
|
+
* Validates if an entity is allowed based on the entity blacklist and device-entity blacklist configurations.
|
|
266
|
+
*
|
|
267
|
+
* @param {string} device - The device to which the entity belongs.
|
|
268
|
+
* @param {string} entity - The entity to validate.
|
|
269
|
+
* @param {boolean} [log=true] - Whether to log the validation result.
|
|
270
|
+
* @returns {boolean} - Returns true if the entity is allowed, false otherwise.
|
|
271
|
+
*
|
|
272
|
+
*/
|
|
273
|
+
validateEntity(device: string, entity: string, log?: boolean): boolean;
|
|
274
|
+
/**
|
|
275
|
+
* Checks and updates the endpoint numbers for Matterbridge devices.
|
|
276
|
+
*
|
|
277
|
+
* This method retrieves the list of Matterbridge devices and their child endpoints,
|
|
278
|
+
* compares their current endpoint numbers with the stored ones, and updates the storage
|
|
279
|
+
* if there are any changes. It logs the changes and updates the endpoint numbers accordingly.
|
|
280
|
+
*
|
|
281
|
+
* @returns {Promise<number>} The size of the updated endpoint map, or -1 if storage is not available.
|
|
282
|
+
*/
|
|
283
|
+
checkEndpointNumbers(): Promise<number>;
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=matterbridgePlatform.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matterbridgePlatform.d.ts","sourceRoot":"","sources":["../src/matterbridgePlatform.ts"],"names":[],"mappings":"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"}
|