matterbridge 3.0.1-dev-20250506-c77ed36 → 3.0.1

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 (152) hide show
  1. package/CHANGELOG.md +4 -4
  2. package/dist/cli.d.ts +29 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +37 -2
  5. package/dist/cli.js.map +1 -0
  6. package/dist/cluster/export.d.ts +2 -0
  7. package/dist/cluster/export.d.ts.map +1 -0
  8. package/dist/cluster/export.js +2 -0
  9. package/dist/cluster/export.js.map +1 -0
  10. package/dist/defaultConfigSchema.d.ts +27 -0
  11. package/dist/defaultConfigSchema.d.ts.map +1 -0
  12. package/dist/defaultConfigSchema.js +23 -0
  13. package/dist/defaultConfigSchema.js.map +1 -0
  14. package/dist/deviceManager.d.ts +114 -0
  15. package/dist/deviceManager.d.ts.map +1 -0
  16. package/dist/deviceManager.js +94 -1
  17. package/dist/deviceManager.js.map +1 -0
  18. package/dist/frontend.d.ts +240 -0
  19. package/dist/frontend.d.ts.map +1 -0
  20. package/dist/frontend.js +328 -15
  21. package/dist/frontend.js.map +1 -0
  22. package/dist/index.d.ts +35 -0
  23. package/dist/index.d.ts.map +1 -0
  24. package/dist/index.js +28 -1
  25. package/dist/index.js.map +1 -0
  26. package/dist/logger/export.d.ts +2 -0
  27. package/dist/logger/export.d.ts.map +1 -0
  28. package/dist/logger/export.js +1 -0
  29. package/dist/logger/export.js.map +1 -0
  30. package/dist/matter/behaviors.d.ts +2 -0
  31. package/dist/matter/behaviors.d.ts.map +1 -0
  32. package/dist/matter/behaviors.js +2 -0
  33. package/dist/matter/behaviors.js.map +1 -0
  34. package/dist/matter/clusters.d.ts +2 -0
  35. package/dist/matter/clusters.d.ts.map +1 -0
  36. package/dist/matter/clusters.js +2 -0
  37. package/dist/matter/clusters.js.map +1 -0
  38. package/dist/matter/devices.d.ts +2 -0
  39. package/dist/matter/devices.d.ts.map +1 -0
  40. package/dist/matter/devices.js +2 -0
  41. package/dist/matter/devices.js.map +1 -0
  42. package/dist/matter/endpoints.d.ts +2 -0
  43. package/dist/matter/endpoints.d.ts.map +1 -0
  44. package/dist/matter/endpoints.js +2 -0
  45. package/dist/matter/endpoints.js.map +1 -0
  46. package/dist/matter/export.d.ts +5 -0
  47. package/dist/matter/export.d.ts.map +1 -0
  48. package/dist/matter/export.js +2 -0
  49. package/dist/matter/export.js.map +1 -0
  50. package/dist/matter/types.d.ts +3 -0
  51. package/dist/matter/types.d.ts.map +1 -0
  52. package/dist/matter/types.js +2 -0
  53. package/dist/matter/types.js.map +1 -0
  54. package/dist/matterbridge.d.ts +433 -0
  55. package/dist/matterbridge.d.ts.map +1 -0
  56. package/dist/matterbridge.js +747 -46
  57. package/dist/matterbridge.js.map +1 -0
  58. package/dist/matterbridgeAccessoryPlatform.d.ts +40 -0
  59. package/dist/matterbridgeAccessoryPlatform.d.ts.map +1 -0
  60. package/dist/matterbridgeAccessoryPlatform.js +34 -0
  61. package/dist/matterbridgeAccessoryPlatform.js.map +1 -0
  62. package/dist/matterbridgeBehaviors.d.ts +1166 -0
  63. package/dist/matterbridgeBehaviors.d.ts.map +1 -0
  64. package/dist/matterbridgeBehaviors.js +48 -1
  65. package/dist/matterbridgeBehaviors.js.map +1 -0
  66. package/dist/matterbridgeDeviceTypes.d.ts +494 -0
  67. package/dist/matterbridgeDeviceTypes.d.ts.map +1 -0
  68. package/dist/matterbridgeDeviceTypes.js +431 -12
  69. package/dist/matterbridgeDeviceTypes.js.map +1 -0
  70. package/dist/matterbridgeDynamicPlatform.d.ts +40 -0
  71. package/dist/matterbridgeDynamicPlatform.d.ts.map +1 -0
  72. package/dist/matterbridgeDynamicPlatform.js +34 -0
  73. package/dist/matterbridgeDynamicPlatform.js.map +1 -0
  74. package/dist/matterbridgeEndpoint.d.ts +956 -0
  75. package/dist/matterbridgeEndpoint.d.ts.map +1 -0
  76. package/dist/matterbridgeEndpoint.js +801 -11
  77. package/dist/matterbridgeEndpoint.js.map +1 -0
  78. package/dist/matterbridgeEndpointHelpers.d.ts +2706 -0
  79. package/dist/matterbridgeEndpointHelpers.d.ts.map +1 -0
  80. package/dist/matterbridgeEndpointHelpers.js +142 -9
  81. package/dist/matterbridgeEndpointHelpers.js.map +1 -0
  82. package/dist/matterbridgePlatform.d.ts +294 -0
  83. package/dist/matterbridgePlatform.d.ts.map +1 -0
  84. package/dist/matterbridgePlatform.js +225 -7
  85. package/dist/matterbridgePlatform.js.map +1 -0
  86. package/dist/matterbridgeTypes.d.ts +187 -0
  87. package/dist/matterbridgeTypes.d.ts.map +1 -0
  88. package/dist/matterbridgeTypes.js +24 -0
  89. package/dist/matterbridgeTypes.js.map +1 -0
  90. package/dist/pluginManager.d.ts +273 -0
  91. package/dist/pluginManager.d.ts.map +1 -0
  92. package/dist/pluginManager.js +264 -3
  93. package/dist/pluginManager.js.map +1 -0
  94. package/dist/shelly.d.ts +92 -0
  95. package/dist/shelly.d.ts.map +1 -0
  96. package/dist/shelly.js +146 -6
  97. package/dist/shelly.js.map +1 -0
  98. package/dist/storage/export.d.ts +2 -0
  99. package/dist/storage/export.d.ts.map +1 -0
  100. package/dist/storage/export.js +1 -0
  101. package/dist/storage/export.js.map +1 -0
  102. package/dist/update.d.ts +32 -0
  103. package/dist/update.d.ts.map +1 -0
  104. package/dist/update.js +52 -0
  105. package/dist/update.js.map +1 -0
  106. package/dist/utils/colorUtils.d.ts +61 -0
  107. package/dist/utils/colorUtils.d.ts.map +1 -0
  108. package/dist/utils/colorUtils.js +205 -2
  109. package/dist/utils/colorUtils.js.map +1 -0
  110. package/dist/utils/copyDirectory.d.ts +32 -0
  111. package/dist/utils/copyDirectory.d.ts.map +1 -0
  112. package/dist/utils/copyDirectory.js +37 -1
  113. package/dist/utils/copyDirectory.js.map +1 -0
  114. package/dist/utils/createZip.d.ts +38 -0
  115. package/dist/utils/createZip.d.ts.map +1 -0
  116. package/dist/utils/createZip.js +42 -2
  117. package/dist/utils/createZip.js.map +1 -0
  118. package/dist/utils/deepCopy.d.ts +31 -0
  119. package/dist/utils/deepCopy.d.ts.map +1 -0
  120. package/dist/utils/deepCopy.js +40 -0
  121. package/dist/utils/deepCopy.js.map +1 -0
  122. package/dist/utils/deepEqual.d.ts +53 -0
  123. package/dist/utils/deepEqual.d.ts.map +1 -0
  124. package/dist/utils/deepEqual.js +65 -1
  125. package/dist/utils/deepEqual.js.map +1 -0
  126. package/dist/utils/export.d.ts +10 -0
  127. package/dist/utils/export.d.ts.map +1 -0
  128. package/dist/utils/export.js +1 -0
  129. package/dist/utils/export.js.map +1 -0
  130. package/dist/utils/isvalid.d.ts +95 -0
  131. package/dist/utils/isvalid.d.ts.map +1 -0
  132. package/dist/utils/isvalid.js +93 -0
  133. package/dist/utils/isvalid.js.map +1 -0
  134. package/dist/utils/network.d.ts +69 -0
  135. package/dist/utils/network.d.ts.map +1 -0
  136. package/dist/utils/network.js +76 -5
  137. package/dist/utils/network.js.map +1 -0
  138. package/dist/utils/parameter.d.ts +58 -0
  139. package/dist/utils/parameter.d.ts.map +1 -0
  140. package/dist/utils/parameter.js +53 -0
  141. package/dist/utils/parameter.js.map +1 -0
  142. package/dist/utils/wait.d.ts +43 -0
  143. package/dist/utils/wait.d.ts.map +1 -0
  144. package/dist/utils/wait.js +48 -5
  145. package/dist/utils/wait.js.map +1 -0
  146. package/frontend/build/asset-manifest.json +3 -3
  147. package/frontend/build/index.html +1 -1
  148. package/frontend/build/static/js/{main.f221e2c1.js → main.15906009.js} +3 -3
  149. package/frontend/build/static/js/{main.f221e2c1.js.map → main.15906009.js.map} +1 -1
  150. package/npm-shrinkwrap.json +2 -2
  151. package/package.json +2 -1
  152. /package/frontend/build/static/js/{main.f221e2c1.js.LICENSE.txt → main.15906009.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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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CvE;AAED,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,SAAS,QAGvE;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,6BAYpH;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,oBAAoB,QAavE;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,oBAAoB,QAavE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAwC/F;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAe/F;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAe9F;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,uBAExF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,sBAE/D;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,sBA+BpF;AAED;;;;;;;;GAQG;AAEH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,GAAG,CA2BhK;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CA6B9O;AAED;;;;;;;;;GASG;AACH,wBAAsB,eAAe,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAgCjP;AAED;;;;;;;;;GASG;AAEH,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,EAAE,GAAG,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAwB3O;AAED;;;;;;GAMG;AACH,wBAAgB,6CAA6C,CAAC,aAAa,GAAE,MAAM,GAAG,IAAW,EAAE,gBAAgB,GAAE,MAAM,GAAG,IAAW,EAAE,gBAAgB,GAAE,MAAM,GAAG,IAAW;;;;;GAOhL;AAED;;;;;;GAMG;AACH,wBAAgB,kDAAkD,CAAC,aAAa,GAAE,MAAM,GAAG,IAAW,EAAE,gBAAgB,GAAE,MAAM,GAAG,IAAW,EAAE,gBAAgB,GAAE,MAAM,GAAG,IAAW;;;;;GAOrL;AAED;;;;;;GAMG;AACH,wBAAgB,0CAA0C,CAAC,aAAa,GAAE,MAAM,GAAG,IAAW,EAAE,gBAAgB,GAAE,MAAM,GAAG,IAAW,EAAE,gBAAgB,GAAE,MAAM,GAAG,IAAW;;;;;GAO7K;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,6CAA6C,CAAC,aAAa,GAAE,MAAM,GAAG,IAAW,EAAE,gBAAgB,GAAE,MAAM,GAAG,IAAW,EAAE,gBAAgB,GAAE,MAAM,GAAG,IAAW;;;;;;GAOhL;AAED;;;;;;GAMG;AACH,wBAAgB,sCAAsC,CAAC,aAAa,GAAE,MAAM,GAAG,IAAW,EAAE,gBAAgB,GAAE,MAAM,GAAG,IAAW,EAAE,gBAAgB,GAAE,MAAM,GAAG,IAAW;;;;;GAOzK;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uCAAuC,CAAC,QAAQ,UAAQ,EAAE,QAAQ,SAAK,EAAE,WAAW,SAAI,EAAE,WAAW,SAAM;;;;;;;;;;;;;;;;;;;GAU1H"}
@@ -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, MatterbridgeOperationalStateServer, } 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';
@@ -46,6 +52,7 @@ import { Pm10ConcentrationMeasurement } from '@matter/main/clusters/pm10-concent
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';
48
54
  import { OperationalState } from '@matter/main/clusters/operational-state';
55
+ // @matter behaviors
49
56
  import { PowerSourceServer } from '@matter/main/behaviors/power-source';
50
57
  import { UserLabelServer } from '@matter/main/behaviors/user-label';
51
58
  import { FixedLabelServer } from '@matter/main/behaviors/fixed-label';
@@ -87,19 +94,19 @@ export function lowercaseFirstLetter(name) {
87
94
  }
88
95
  export function checkNotLatinCharacters(deviceName) {
89
96
  const nonLatinRegexList = [
90
- /[\u0400-\u04FF\u0500-\u052F]/,
91
- /[\u2E80-\u9FFF]/,
92
- /[\uAC00-\uD7AF]/,
93
- /[\u0600-\u06FF\u0750-\u077F]/,
94
- /[\u0590-\u05FF]/,
95
- /[\u0900-\u097F]/,
96
- /[\u0E00-\u0E7F]/,
97
- /[\u1200-\u137F]/,
97
+ /[\u0400-\u04FF\u0500-\u052F]/, // Cyrillic
98
+ /[\u2E80-\u9FFF]/, // CJK (Chinese, Japanese, Korean)
99
+ /[\uAC00-\uD7AF]/, // Korean Hangul
100
+ /[\u0600-\u06FF\u0750-\u077F]/, // Arabic, Persian
101
+ /[\u0590-\u05FF]/, // Hebrew
102
+ /[\u0900-\u097F]/, // Devanagari (Hindi, Sanskrit)
103
+ /[\u0E00-\u0E7F]/, // Thai
104
+ /[\u1200-\u137F]/, // Ethiopic (Amharic, Tigrinya)
98
105
  ];
99
106
  return nonLatinRegexList.some((regex) => regex.test(deviceName));
100
107
  }
101
108
  export function generateUniqueId(deviceName) {
102
- return createHash('md5').update(deviceName).digest('hex');
109
+ return createHash('md5').update(deviceName).digest('hex'); // MD5 hash of the device name
103
110
  }
104
111
  export function createUniqueId(param1, param2, param3, param4) {
105
112
  const hash = createHash('md5');
@@ -107,6 +114,7 @@ export function createUniqueId(param1, param2, param3, param4) {
107
114
  return hash.digest('hex');
108
115
  }
109
116
  export function getBehaviourTypesFromClusterServerIds(clusterServerList) {
117
+ // Map Server ClusterId to Behavior.Type
110
118
  const behaviorTypes = [];
111
119
  clusterServerList.forEach((clusterId) => {
112
120
  behaviorTypes.push(getBehaviourTypeFromClusterServerId(clusterId));
@@ -114,12 +122,15 @@ export function getBehaviourTypesFromClusterServerIds(clusterServerList) {
114
122
  return behaviorTypes;
115
123
  }
116
124
  export function getBehaviourTypesFromClusterClientIds(clusterClientList) {
125
+ // Map Client ClusterId to Behavior.Type
117
126
  const behaviorTypes = [];
118
127
  clusterClientList.forEach((clusterId) => {
128
+ // behaviorTypes.push(getBehaviourTypeFromClusterClientId(clusterId));
119
129
  });
120
130
  return behaviorTypes;
121
131
  }
122
132
  export function getBehaviourTypeFromClusterServerId(clusterId) {
133
+ // Map ClusterId to Server Behavior.Type
123
134
  if (clusterId === PowerSource.Cluster.id)
124
135
  return PowerSourceServer.with(PowerSource.Feature.Wired);
125
136
  if (clusterId === UserLabel.Cluster.id)
@@ -207,6 +218,8 @@ export function getBehaviourTypeFromClusterServerId(clusterId) {
207
218
  return MatterbridgeIdentifyServer;
208
219
  }
209
220
  export function getBehaviourTypeFromClusterClientId(clusterId) {
221
+ // Map ClusterId to Client Behavior.Type
222
+ // return IdentifyClient;
210
223
  }
211
224
  export function getBehavior(endpoint, cluster) {
212
225
  let behavior;
@@ -252,6 +265,13 @@ export function addOptionalClusterServers(endpoint) {
252
265
  });
253
266
  addClusterServers(endpoint, optionalServerList);
254
267
  }
268
+ /**
269
+ * Adds cluster servers to the specified endpoint based on the provided server list.
270
+ *
271
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to add the cluster servers to.
272
+ * @param {ClusterId[]} serverList - The list of cluster IDs to add.
273
+ * @returns void
274
+ */
255
275
  export function addClusterServers(endpoint, serverList) {
256
276
  if (serverList.includes(PowerSource.Cluster.id))
257
277
  endpoint.createDefaultPowerSourceWiredClusterServer();
@@ -327,7 +347,16 @@ export function addClusterServers(endpoint, serverList) {
327
347
  endpoint.createDefaultRadonConcentrationMeasurementClusterServer();
328
348
  if (serverList.includes(TotalVolatileOrganicCompoundsConcentrationMeasurement.Cluster.id))
329
349
  endpoint.createDefaultTvocMeasurementClusterServer();
350
+ // if (serverList.includes(DeviceEnergyManagement.Cluster.id)) endpoint.createDefaultDeviceEnergyManagementClusterServer();
351
+ // if (serverList.includes(DeviceEnergyManagementMode.Cluster.id)) endpoint.createDefaultDeviceEnergyManagementModeClusterServer();
330
352
  }
353
+ /**
354
+ * Adds a fixed label to the FixedLabel cluster. The FixedLabel cluster is created if it does not exist.
355
+ *
356
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to add the cluster servers to.
357
+ * @param {string} label - The label to add.
358
+ * @param {string} value - The value of the label.
359
+ */
331
360
  export async function addFixedLabel(endpoint, label, value) {
332
361
  if (!endpoint.hasClusterServer(FixedLabel.Cluster.id)) {
333
362
  endpoint.log.debug(`addFixedLabel: add cluster ${hk}FixedLabel${db}:${hk}fixedLabel${db} with label ${CYAN}${label}${db} value ${CYAN}${value}${db}`);
@@ -344,6 +373,13 @@ export async function addFixedLabel(endpoint, label, value) {
344
373
  await endpoint.setAttribute(FixedLabel.Cluster.id, 'labelList', labelList, endpoint.log);
345
374
  }
346
375
  }
376
+ /**
377
+ * Adds a user label to the UserLabel cluster. The UserLabel cluster is created if it does not exist.
378
+ *
379
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to add the cluster servers to.
380
+ * @param {string} label - The label to add.
381
+ * @param {string} value - The value of the label.
382
+ */
347
383
  export async function addUserLabel(endpoint, label, value) {
348
384
  if (!endpoint.hasClusterServer(UserLabel.Cluster.id)) {
349
385
  endpoint.log.debug(`addUserLabel: add cluster ${hk}UserLabel${db}:${hk}userLabel${db} with label ${CYAN}${label}${db} value ${CYAN}${value}${db}`);
@@ -421,6 +457,16 @@ export function getAttributeId(endpoint, cluster, attribute) {
421
457
  return endpoint.behaviors.supported[lowercaseFirstLetter(cluster)]?.schema?.children?.find((child) => child.name === capitalizeFirstLetter(attribute))?.id;
422
458
  }
423
459
  }
460
+ /**
461
+ * Retrieves the value of the provided attribute from the given cluster.
462
+ *
463
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to retrieve the attribute from.
464
+ * @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to retrieve the attribute from.
465
+ * @param {string} attribute - The name of the attribute to retrieve.
466
+ * @param {AnsiLogger} [log] - (Optional) The logger to use for logging the retrieve. Errors are logged to the endpoint logger.
467
+ * @returns {any} The value of the attribute, or undefined if the attribute is not found.
468
+ */
469
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
424
470
  export function getAttribute(endpoint, cluster, attribute, log) {
425
471
  const clusterName = getBehavior(endpoint, cluster)?.id;
426
472
  if (!clusterName) {
@@ -443,6 +489,16 @@ export function getAttribute(endpoint, cluster, attribute, log) {
443
489
  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}`);
444
490
  return value;
445
491
  }
492
+ /**
493
+ * Sets the value of an attribute on a cluster server.
494
+ *
495
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to set the attribute on.
496
+ * @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to set the attribute on.
497
+ * @param {string} attribute - The name of the attribute.
498
+ * @param {boolean | number | bigint | string | object | null} value - The value to set for the attribute.
499
+ * @param {AnsiLogger} [log] - (Optional) The logger to use for logging the set. Errors are logged to the endpoint logger.
500
+ * @returns {Promise<boolean>} - A promise that resolves to a boolean indicating whether the attribute was successfully set.
501
+ */
446
502
  export async function setAttribute(endpoint, cluster, attribute, value, log) {
447
503
  const clusterName = getBehavior(endpoint, cluster)?.id;
448
504
  if (!clusterName) {
@@ -468,6 +524,16 @@ export async function setAttribute(endpoint, cluster, attribute, value, log) {
468
524
  `to ${YELLOW}${value !== null && typeof value === 'object' ? debugStringify(value) : value}${db}`);
469
525
  return true;
470
526
  }
527
+ /**
528
+ * Sets the value of an attribute on a cluster server.
529
+ *
530
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to update the attribute on.
531
+ * @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to update the attribute on.
532
+ * @param {string} attribute - The name of the attribute.
533
+ * @param {boolean | number | bigint | string | object | null} value - The value to set for the attribute.
534
+ * @param {AnsiLogger} [log] - (Optional) The logger to use for logging the update. Errors are logged to the endpoint logger.
535
+ * @returns {Promise<boolean>} - A promise that resolves to a boolean indicating whether the attribute was successfully set.
536
+ */
471
537
  export async function updateAttribute(endpoint, cluster, attribute, value, log) {
472
538
  const clusterName = getBehavior(endpoint, cluster)?.id;
473
539
  if (!clusterName) {
@@ -498,6 +564,17 @@ export async function updateAttribute(endpoint, cluster, attribute, value, log)
498
564
  `to ${YELLOW}${value !== null && typeof value === 'object' ? debugStringify(value) : value}${db}`);
499
565
  return true;
500
566
  }
567
+ /**
568
+ * Subscribes to the provided attribute on a cluster.
569
+ *
570
+ * @param {MatterbridgeEndpoint} endpoint - The endpoint to subscribe the attribute to.
571
+ * @param {Behavior.Type | ClusterType | ClusterId | string} cluster - The cluster to subscribe the attribute to.
572
+ * @param {string} attribute - The name of the attribute to subscribe to.
573
+ * @param {(newValue: any, oldValue: any) => void} listener - A callback function that will be called when the attribute value changes.
574
+ * @param {AnsiLogger} [log] - Optional logger for logging errors and information.
575
+ * @returns {boolean} - A boolean indicating whether the subscription was successful.
576
+ */
577
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
501
578
  export async function subscribeAttribute(endpoint, cluster, attribute, listener, log) {
502
579
  const clusterName = getBehavior(endpoint, cluster)?.id;
503
580
  if (!clusterName) {
@@ -508,6 +585,7 @@ export async function subscribeAttribute(endpoint, cluster, attribute, listener,
508
585
  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`);
509
586
  await endpoint.construction.ready;
510
587
  }
588
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
511
589
  const events = endpoint.events;
512
590
  attribute = lowercaseFirstLetter(attribute) + '$Changed';
513
591
  if (!(clusterName in events) || !(attribute in events[clusterName])) {
@@ -518,6 +596,13 @@ export async function subscribeAttribute(endpoint, cluster, attribute, listener,
518
596
  log?.info(`${db}Subscribed endpoint ${or}${endpoint.id}${db}:${or}${endpoint.number}${db} attribute ${hk}${capitalizeFirstLetter(clusterName)}${db}.${hk}${attribute}${db}`);
519
597
  return true;
520
598
  }
599
+ /**
600
+ * Get the default TemperatureMeasurement cluster server options.
601
+ *
602
+ * @param {number | null} measuredValue - The measured value of the temperature x 100.
603
+ * @param {number | null} minMeasuredValue - The minimum measured value of the temperature x 100.
604
+ * @param {number | null} maxMeasuredValue - The maximum measured value of the temperature x 100.
605
+ */
521
606
  export function getDefaultTemperatureMeasurementClusterServer(measuredValue = null, minMeasuredValue = null, maxMeasuredValue = null) {
522
607
  return optionsFor(TemperatureMeasurementServer, {
523
608
  measuredValue,
@@ -526,6 +611,13 @@ export function getDefaultTemperatureMeasurementClusterServer(measuredValue = nu
526
611
  tolerance: 0,
527
612
  });
528
613
  }
614
+ /**
615
+ * Get the default RelativeHumidityMeasurement cluster server options.
616
+ *
617
+ * @param {number | null} measuredValue - The measured value of the relative humidity x 100.
618
+ * @param {number | null} minMeasuredValue - The minimum measured value of the relative humidity x 100.
619
+ * @param {number | null} maxMeasuredValue - The maximum measured value of the relative humidity x 100.
620
+ */
529
621
  export function getDefaultRelativeHumidityMeasurementClusterServer(measuredValue = null, minMeasuredValue = null, maxMeasuredValue = null) {
530
622
  return optionsFor(RelativeHumidityMeasurementServer, {
531
623
  measuredValue,
@@ -534,6 +626,13 @@ export function getDefaultRelativeHumidityMeasurementClusterServer(measuredValue
534
626
  tolerance: 0,
535
627
  });
536
628
  }
629
+ /**
630
+ * Get the default PressureMeasurement cluster server options.
631
+ *
632
+ * @param {number | null} measuredValue - The measured value for the pressure.
633
+ * @param {number | null} minMeasuredValue - The minimum measured value for the pressure.
634
+ * @param {number | null} maxMeasuredValue - The maximum measured value for the pressure.
635
+ */
537
636
  export function getDefaultPressureMeasurementClusterServer(measuredValue = null, minMeasuredValue = null, maxMeasuredValue = null) {
538
637
  return optionsFor(PressureMeasurementServer, {
539
638
  measuredValue,
@@ -542,6 +641,19 @@ export function getDefaultPressureMeasurementClusterServer(measuredValue = null,
542
641
  tolerance: 0,
543
642
  });
544
643
  }
644
+ /**
645
+ * Get the default IlluminanceMeasurement cluster server options.
646
+ *
647
+ * @param {number | null} measuredValue - The measured value of illuminance.
648
+ * @param {number | null} minMeasuredValue - The minimum measured value of illuminance.
649
+ * @param {number | null} maxMeasuredValue - The maximum measured value of illuminance.
650
+ * @remark The default value for the illuminance measurement is null.
651
+ * This attribute SHALL indicate the illuminance in Lux (symbol lx) as follows:
652
+ * • MeasuredValue = 10,000 x log10(illuminance) + 1,
653
+ * where 1 lx <= illuminance <= 3.576 Mlx, corresponding to a MeasuredValue in the range 1 to 0xFFFE.
654
+ * • 0 indicates a value of illuminance that is too low to be measured
655
+ * • null indicates that the illuminance measurement is invalid.
656
+ */
545
657
  export function getDefaultIlluminanceMeasurementClusterServer(measuredValue = null, minMeasuredValue = null, maxMeasuredValue = null) {
546
658
  return optionsFor(IlluminanceMeasurementServer, {
547
659
  measuredValue,
@@ -550,6 +662,13 @@ export function getDefaultIlluminanceMeasurementClusterServer(measuredValue = nu
550
662
  tolerance: 0,
551
663
  });
552
664
  }
665
+ /**
666
+ * Get the default FlowMeasurement cluster server options.
667
+ *
668
+ * @param {number | null} measuredValue - The measured value of the flow in 10 x m3/h.
669
+ * @param {number | null} minMeasuredValue - The minimum measured value of the flow in 10 x m3/h.
670
+ * @param {number | null} maxMeasuredValue - The maximum measured value of the flow in 10 x m3/h.
671
+ */
553
672
  export function getDefaultFlowMeasurementClusterServer(measuredValue = null, minMeasuredValue = null, maxMeasuredValue = null) {
554
673
  return optionsFor(FlowMeasurementServer, {
555
674
  measuredValue,
@@ -558,6 +677,19 @@ export function getDefaultFlowMeasurementClusterServer(measuredValue = null, min
558
677
  tolerance: 0,
559
678
  });
560
679
  }
680
+ /**
681
+ * Get the default OccupancySensing cluster server options.
682
+ *
683
+ * @param {boolean} occupied - A boolean indicating whether the occupancy is occupied or not. Default is false.
684
+ * @param {number} holdTime - The hold time in seconds. Default is 30.
685
+ * @param {number} holdTimeMin - The minimum hold time in seconds. Default is 1.
686
+ * @param {number} holdTimeMax - The maximum hold time in seconds. Default is 300.
687
+ *
688
+ * @remark The default value for the occupancy sensor type is PIR.
689
+ * Servers SHALL set these attributes for backward compatibility with clients implementing a cluster revision <= 4 as
690
+ * described in OccupancySensorType and OccupancySensorTypeBitmap Attributes.
691
+ * This replaces the 9 legacy attributes PIROccupiedToUnoccupiedDelay through PhysicalContactUnoccupiedToOccupiedThreshold.
692
+ */
561
693
  export function getDefaultOccupancySensingClusterServer(occupied = false, holdTime = 30, holdTimeMin = 1, holdTimeMax = 300) {
562
694
  return optionsFor(OccupancySensingServer.with(OccupancySensing.Feature.PassiveInfrared), {
563
695
  occupancy: { occupied },
@@ -569,3 +701,4 @@ export function getDefaultOccupancySensingClusterServer(occupied = false, holdTi
569
701
  holdTimeLimits: { holdTimeMin, holdTimeMax, holdTimeDefault: holdTime },
570
702
  });
571
703
  }
704
+ //# sourceMappingURL=matterbridgeEndpointHelpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matterbridgeEndpointHelpers.js","sourceRoot":"","sources":["../src/matterbridgeEndpointHelpers.ts"],"names":[],"mappings":"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"}