@matter/node 0.16.0-alpha.0-20251115-d89e62680 → 0.16.0-alpha.0-20251129-96ad07c6e

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 (166) hide show
  1. package/dist/cjs/behavior/Events.js +1 -1
  2. package/dist/cjs/behavior/cluster/ClientBehavior.d.ts +1 -1
  3. package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts +1 -1
  4. package/dist/cjs/behavior/cluster/ClusterBehaviorType.d.ts +1 -1
  5. package/dist/cjs/behavior/cluster/ClusterBehaviorType.js +3 -3
  6. package/dist/cjs/behavior/cluster/ClusterBehaviorType.js.map +1 -1
  7. package/dist/cjs/behavior/state/validation/ValueValidator.js +14 -4
  8. package/dist/cjs/behavior/state/validation/ValueValidator.js.map +1 -1
  9. package/dist/cjs/behavior/state/validation/assertions.d.ts.map +1 -1
  10. package/dist/cjs/behavior/state/validation/assertions.js +21 -0
  11. package/dist/cjs/behavior/state/validation/assertions.js.map +1 -1
  12. package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  13. package/dist/cjs/behavior/system/commissioning/CommissioningClient.js +1 -3
  14. package/dist/cjs/behavior/system/commissioning/CommissioningClient.js.map +1 -1
  15. package/dist/cjs/behavior/system/controller/ControllerBehavior.d.ts +2 -0
  16. package/dist/cjs/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
  17. package/dist/cjs/behavior/system/controller/ControllerBehavior.js +5 -2
  18. package/dist/cjs/behavior/system/controller/ControllerBehavior.js.map +1 -1
  19. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts +1 -0
  20. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  21. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js +8 -2
  22. package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
  23. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  24. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +88 -34
  25. package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  26. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
  27. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js +15 -2
  28. package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
  29. package/dist/cjs/behaviors/identify/IdentifyServer.d.ts.map +1 -1
  30. package/dist/cjs/behaviors/identify/IdentifyServer.js +5 -0
  31. package/dist/cjs/behaviors/identify/IdentifyServer.js.map +1 -1
  32. package/dist/cjs/behaviors/service-area/ServiceAreaServer.js +1 -1
  33. package/dist/cjs/behaviors/switch/SwitchServer.js +2 -2
  34. package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts +10 -0
  35. package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
  36. package/dist/cjs/behaviors/thermostat/ThermostatServer.js +59 -22
  37. package/dist/cjs/behaviors/thermostat/ThermostatServer.js.map +1 -1
  38. package/dist/cjs/endpoint/Endpoint.d.ts +2 -2
  39. package/dist/cjs/endpoint/Endpoint.d.ts.map +1 -1
  40. package/dist/cjs/endpoint/properties/Endpoints.d.ts +2 -2
  41. package/dist/cjs/endpoint/properties/Endpoints.d.ts.map +1 -1
  42. package/dist/cjs/endpoint/properties/Endpoints.js +12 -1
  43. package/dist/cjs/endpoint/properties/Endpoints.js.map +1 -1
  44. package/dist/cjs/node/ClientNode.d.ts +7 -2
  45. package/dist/cjs/node/ClientNode.d.ts.map +1 -1
  46. package/dist/cjs/node/ClientNode.js +10 -3
  47. package/dist/cjs/node/ClientNode.js.map +1 -1
  48. package/dist/cjs/node/Node.d.ts.map +1 -1
  49. package/dist/cjs/node/Node.js +9 -3
  50. package/dist/cjs/node/Node.js.map +1 -1
  51. package/dist/cjs/node/NodeLifecycle.d.ts +1 -1
  52. package/dist/cjs/node/NodeLifecycle.js +1 -1
  53. package/dist/cjs/node/ServerNode.d.ts.map +1 -1
  54. package/dist/cjs/node/ServerNode.js +11 -4
  55. package/dist/cjs/node/ServerNode.js.map +1 -1
  56. package/dist/cjs/node/client/ClientEndpointInitializer.js +1 -1
  57. package/dist/cjs/node/client/ClientEndpointInitializer.js.map +1 -1
  58. package/dist/cjs/node/client/ClientEventEmitter.d.ts.map +1 -1
  59. package/dist/cjs/node/client/ClientEventEmitter.js +8 -3
  60. package/dist/cjs/node/client/ClientEventEmitter.js.map +1 -1
  61. package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
  62. package/dist/cjs/node/client/ClientStructure.js +80 -96
  63. package/dist/cjs/node/client/ClientStructure.js.map +1 -1
  64. package/dist/cjs/node/client/Peers.d.ts.map +1 -1
  65. package/dist/cjs/node/client/Peers.js +22 -4
  66. package/dist/cjs/node/client/Peers.js.map +1 -1
  67. package/dist/cjs/node/server/ServerEnvironment.d.ts.map +1 -1
  68. package/dist/cjs/node/server/ServerEnvironment.js +0 -3
  69. package/dist/cjs/node/server/ServerEnvironment.js.map +1 -1
  70. package/dist/esm/behavior/Events.js +1 -1
  71. package/dist/esm/behavior/cluster/ClientBehavior.d.ts +1 -1
  72. package/dist/esm/behavior/cluster/ClusterBehavior.d.ts +1 -1
  73. package/dist/esm/behavior/cluster/ClusterBehaviorType.d.ts +1 -1
  74. package/dist/esm/behavior/cluster/ClusterBehaviorType.js +3 -3
  75. package/dist/esm/behavior/cluster/ClusterBehaviorType.js.map +1 -1
  76. package/dist/esm/behavior/state/validation/ValueValidator.js +14 -4
  77. package/dist/esm/behavior/state/validation/ValueValidator.js.map +1 -1
  78. package/dist/esm/behavior/state/validation/assertions.d.ts.map +1 -1
  79. package/dist/esm/behavior/state/validation/assertions.js +22 -1
  80. package/dist/esm/behavior/state/validation/assertions.js.map +1 -1
  81. package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
  82. package/dist/esm/behavior/system/commissioning/CommissioningClient.js +1 -3
  83. package/dist/esm/behavior/system/commissioning/CommissioningClient.js.map +1 -1
  84. package/dist/esm/behavior/system/controller/ControllerBehavior.d.ts +2 -0
  85. package/dist/esm/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
  86. package/dist/esm/behavior/system/controller/ControllerBehavior.js +5 -2
  87. package/dist/esm/behavior/system/controller/ControllerBehavior.js.map +1 -1
  88. package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts +1 -0
  89. package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
  90. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js +8 -2
  91. package/dist/esm/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
  92. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
  93. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +88 -34
  94. package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
  95. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
  96. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js +16 -3
  97. package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
  98. package/dist/esm/behaviors/identify/IdentifyServer.d.ts.map +1 -1
  99. package/dist/esm/behaviors/identify/IdentifyServer.js +5 -0
  100. package/dist/esm/behaviors/identify/IdentifyServer.js.map +1 -1
  101. package/dist/esm/behaviors/service-area/ServiceAreaServer.js +1 -1
  102. package/dist/esm/behaviors/switch/SwitchServer.js +2 -2
  103. package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts +10 -0
  104. package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
  105. package/dist/esm/behaviors/thermostat/ThermostatServer.js +59 -22
  106. package/dist/esm/behaviors/thermostat/ThermostatServer.js.map +1 -1
  107. package/dist/esm/endpoint/Endpoint.d.ts +2 -2
  108. package/dist/esm/endpoint/Endpoint.d.ts.map +1 -1
  109. package/dist/esm/endpoint/properties/Endpoints.d.ts +2 -2
  110. package/dist/esm/endpoint/properties/Endpoints.d.ts.map +1 -1
  111. package/dist/esm/endpoint/properties/Endpoints.js +12 -1
  112. package/dist/esm/endpoint/properties/Endpoints.js.map +1 -1
  113. package/dist/esm/node/ClientNode.d.ts +7 -2
  114. package/dist/esm/node/ClientNode.d.ts.map +1 -1
  115. package/dist/esm/node/ClientNode.js +10 -3
  116. package/dist/esm/node/ClientNode.js.map +1 -1
  117. package/dist/esm/node/Node.d.ts.map +1 -1
  118. package/dist/esm/node/Node.js +9 -3
  119. package/dist/esm/node/Node.js.map +1 -1
  120. package/dist/esm/node/NodeLifecycle.d.ts +1 -1
  121. package/dist/esm/node/NodeLifecycle.js +1 -1
  122. package/dist/esm/node/ServerNode.d.ts.map +1 -1
  123. package/dist/esm/node/ServerNode.js +11 -4
  124. package/dist/esm/node/ServerNode.js.map +1 -1
  125. package/dist/esm/node/client/ClientEndpointInitializer.js +1 -1
  126. package/dist/esm/node/client/ClientEndpointInitializer.js.map +1 -1
  127. package/dist/esm/node/client/ClientEventEmitter.d.ts.map +1 -1
  128. package/dist/esm/node/client/ClientEventEmitter.js +9 -4
  129. package/dist/esm/node/client/ClientEventEmitter.js.map +1 -1
  130. package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
  131. package/dist/esm/node/client/ClientStructure.js +80 -96
  132. package/dist/esm/node/client/ClientStructure.js.map +1 -1
  133. package/dist/esm/node/client/Peers.d.ts.map +1 -1
  134. package/dist/esm/node/client/Peers.js +24 -5
  135. package/dist/esm/node/client/Peers.js.map +1 -1
  136. package/dist/esm/node/server/ServerEnvironment.d.ts.map +1 -1
  137. package/dist/esm/node/server/ServerEnvironment.js +1 -4
  138. package/dist/esm/node/server/ServerEnvironment.js.map +1 -1
  139. package/package.json +7 -7
  140. package/src/behavior/Events.ts +1 -1
  141. package/src/behavior/cluster/ClientBehavior.ts +1 -1
  142. package/src/behavior/cluster/ClusterBehavior.ts +1 -1
  143. package/src/behavior/cluster/ClusterBehaviorType.ts +4 -5
  144. package/src/behavior/cluster/ValidatedElements.ts +1 -1
  145. package/src/behavior/state/validation/ValueValidator.ts +16 -4
  146. package/src/behavior/state/validation/assertions.ts +27 -1
  147. package/src/behavior/system/commissioning/CommissioningClient.ts +2 -4
  148. package/src/behavior/system/controller/ControllerBehavior.ts +8 -3
  149. package/src/behavior/system/network/ServerNetworkRuntime.ts +11 -2
  150. package/src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts +2 -1
  151. package/src/behaviors/group-key-management/GroupKeyManagementServer.ts +19 -3
  152. package/src/behaviors/identify/IdentifyServer.ts +9 -0
  153. package/src/behaviors/service-area/ServiceAreaServer.ts +1 -1
  154. package/src/behaviors/switch/SwitchServer.ts +2 -2
  155. package/src/behaviors/thermostat/ThermostatServer.ts +65 -22
  156. package/src/endpoint/Endpoint.ts +2 -2
  157. package/src/endpoint/properties/Endpoints.ts +16 -3
  158. package/src/node/ClientNode.ts +11 -4
  159. package/src/node/Node.ts +10 -3
  160. package/src/node/NodeLifecycle.ts +1 -1
  161. package/src/node/ServerNode.ts +12 -4
  162. package/src/node/client/ClientEndpointInitializer.ts +1 -1
  163. package/src/node/client/ClientEventEmitter.ts +9 -4
  164. package/src/node/client/ClientStructure.ts +67 -22
  165. package/src/node/client/Peers.ts +31 -4
  166. package/src/node/server/ServerEnvironment.ts +1 -6
@@ -3,6 +3,10 @@ var __defProp = Object.defineProperty;
3
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __knownSymbol = (name, symbol) => (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name);
7
+ var __typeError = (msg) => {
8
+ throw TypeError(msg);
9
+ };
6
10
  var __export = (target, all) => {
7
11
  for (var name in all)
8
12
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,6 +20,47 @@ var __copyProps = (to, from, except, desc) => {
16
20
  return to;
17
21
  };
18
22
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
+ var __using = (stack, value, async) => {
24
+ if (value != null) {
25
+ if (typeof value !== "object" && typeof value !== "function") __typeError("Object expected");
26
+ var dispose, inner;
27
+ if (async) dispose = value[__knownSymbol("asyncDispose")];
28
+ if (dispose === void 0) {
29
+ dispose = value[__knownSymbol("dispose")];
30
+ if (async) inner = dispose;
31
+ }
32
+ if (typeof dispose !== "function") __typeError("Object not disposable");
33
+ if (inner) dispose = function() {
34
+ try {
35
+ inner.call(this);
36
+ } catch (e) {
37
+ return Promise.reject(e);
38
+ }
39
+ };
40
+ stack.push([async, dispose, value]);
41
+ } else if (async) {
42
+ stack.push([async]);
43
+ }
44
+ return value;
45
+ };
46
+ var __callDispose = (stack, error, hasError) => {
47
+ var E = typeof SuppressedError === "function" ? SuppressedError : function(e, s, m, _) {
48
+ return _ = Error(m), _.name = "SuppressedError", _.error = e, _.suppressed = s, _;
49
+ };
50
+ var fail = (e) => error = hasError ? new E(e, error, "An error was suppressed during disposal") : (hasError = true, e);
51
+ var next = (it) => {
52
+ while (it = stack.pop()) {
53
+ try {
54
+ var result = it[1] && it[1].call(it[2]);
55
+ if (it[0]) return Promise.resolve(result).then(next, (e) => (fail(e), next()));
56
+ } catch (e) {
57
+ fail(e);
58
+ }
59
+ }
60
+ if (hasError) throw error;
61
+ };
62
+ return next();
63
+ };
19
64
  var GeneralDiagnosticsServer_exports = {};
20
65
  __export(GeneralDiagnosticsServer_exports, {
21
66
  GeneralDiagnosticsServer: () => GeneralDiagnosticsServer
@@ -252,42 +297,51 @@ class GeneralDiagnosticsServer extends Base {
252
297
  this.internal.lastTotalOperationalHoursCounterUpdateTime = now;
253
298
  }
254
299
  async #updateNetworkList() {
255
- const mdnsService = this.env.get(import_protocol.MdnsService);
256
- const mdnsLimitedToNetworkInterfaces = mdnsService.limitedToNetInterface;
257
- const networkRuntime = this.env.get(import_NetworkRuntime.NetworkRuntime);
258
- const systemNetworkInterfaces = await networkRuntime.getNetworkInterfaces();
259
- let networkType = import_general_diagnostics.GeneralDiagnostics.InterfaceType.Ethernet;
260
- if (this.endpoint.behaviors.has(import_network_commissioning.NetworkCommissioningServer)) {
261
- const networkCommissioning = this.agent.get(import_network_commissioning.NetworkCommissioningServer);
262
- if ("wiFiNetworkInterface" in networkCommissioning.features && networkCommissioning.features.wiFiNetworkInterface) {
263
- networkType = import_general_diagnostics.GeneralDiagnostics.InterfaceType.WiFi;
264
- } else if ("threadNetworkInterface" in networkCommissioning.features && networkCommissioning.features.threadNetworkInterface) {
265
- networkType = import_general_diagnostics.GeneralDiagnostics.InterfaceType.Thread;
300
+ var _stack = [];
301
+ try {
302
+ const services = __using(_stack, this.env.asDependent(), true);
303
+ const mdnsService = services.get(import_protocol.MdnsService);
304
+ const mdnsLimitedToNetworkInterfaces = mdnsService.limitedToNetInterface;
305
+ const networkRuntime = this.env.get(import_NetworkRuntime.NetworkRuntime);
306
+ const systemNetworkInterfaces = await networkRuntime.getNetworkInterfaces();
307
+ let networkType = import_general_diagnostics.GeneralDiagnostics.InterfaceType.Ethernet;
308
+ if (this.endpoint.behaviors.has(import_network_commissioning.NetworkCommissioningServer)) {
309
+ const networkCommissioning = this.agent.get(import_network_commissioning.NetworkCommissioningServer);
310
+ if ("wiFiNetworkInterface" in networkCommissioning.features && networkCommissioning.features.wiFiNetworkInterface) {
311
+ networkType = import_general_diagnostics.GeneralDiagnostics.InterfaceType.WiFi;
312
+ } else if ("threadNetworkInterface" in networkCommissioning.features && networkCommissioning.features.threadNetworkInterface) {
313
+ networkType = import_general_diagnostics.GeneralDiagnostics.InterfaceType.Thread;
314
+ }
266
315
  }
316
+ const isOperationalReachable = mdnsLimitedToNetworkInterfaces === void 0 ? () => true : (name) => {
317
+ return name === mdnsLimitedToNetworkInterfaces;
318
+ };
319
+ this.state.networkInterfaces = systemNetworkInterfaces.filter(({ mac }) => mac !== "00:00:00:00:00:00").sort(({ name: nameA }, { name: nameB }) => {
320
+ if (isOperationalReachable(nameA) && !isOperationalReachable(nameB)) {
321
+ return -1;
322
+ }
323
+ if (!isOperationalReachable(nameA) && isOperationalReachable(nameB)) {
324
+ return 1;
325
+ }
326
+ return 0;
327
+ }).slice(0, 8).map(({ name, mac, ipV4, ipV6, type }) => ({
328
+ name: name.substring(0, 32),
329
+ isOperational: isOperationalReachable(name),
330
+ offPremiseServicesReachableIPv4: null,
331
+ // null means unknown or not supported
332
+ offPremiseServicesReachableIPv6: null,
333
+ // null means unknown or not supported
334
+ hardwareAddress: import_general.Bytes.fromHex(mac.replace(/[^\da-f]/gi, "")),
335
+ iPv4Addresses: ipV4.slice(0, 4).map((ip) => (0, import_general.ipv4ToBytes)(ip)),
336
+ iPv6Addresses: ipV6.slice(0, 8).map((ip) => (0, import_general.ipv4ToBytes)(ip)),
337
+ type: type ?? networkType
338
+ }));
339
+ } catch (_) {
340
+ var _error = _, _hasError = true;
341
+ } finally {
342
+ var _promise = __callDispose(_stack, _error, _hasError);
343
+ _promise && await _promise;
267
344
  }
268
- const isOperationalReachable = mdnsLimitedToNetworkInterfaces === void 0 ? () => true : (name) => {
269
- return name === mdnsLimitedToNetworkInterfaces;
270
- };
271
- this.state.networkInterfaces = systemNetworkInterfaces.filter(({ mac }) => mac !== "00:00:00:00:00:00").sort(({ name: nameA }, { name: nameB }) => {
272
- if (isOperationalReachable(nameA) && !isOperationalReachable(nameB)) {
273
- return -1;
274
- }
275
- if (!isOperationalReachable(nameA) && isOperationalReachable(nameB)) {
276
- return 1;
277
- }
278
- return 0;
279
- }).slice(0, 8).map(({ name, mac, ipV4, ipV6, type }) => ({
280
- name: name.substring(0, 32),
281
- isOperational: isOperationalReachable(name),
282
- offPremiseServicesReachableIPv4: null,
283
- // null means unknown or not supported
284
- offPremiseServicesReachableIPv6: null,
285
- // null means unknown or not supported
286
- hardwareAddress: import_general.Bytes.fromHex(mac.replace(/[^\da-f]/gi, "")),
287
- iPv4Addresses: ipV4.slice(0, 4).map((ip) => (0, import_general.ipv4ToBytes)(ip)),
288
- iPv6Addresses: ipV6.slice(0, 8).map((ip) => (0, import_general.ipv4ToBytes)(ip)),
289
- type: type ?? networkType
290
- }));
291
345
  }
292
346
  }
293
347
  ((GeneralDiagnosticsServer2) => {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts"],
4
- "mappings": "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",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,4BAA+B;AAE/B,mCAA2C;AAC3C,kCAA4C;AAC5C,iCAAmC;AAEnC,qBAcO;AACP,mBAA4C;AAE5C,sBAAoD;AACpD,mBAA8E;AAC9E,wCAA2C;AAhC3C;AAAA;AAAA;AAAA;AAAA;AAkCA,MAAM,SAAS,sBAAO,IAAI,0BAA0B;AAGpD,MAAM,OAAO,6DAA2B,KAAK,8CAAmB,QAAQ,aAAa;AAGrF,MAAM,SAAS,KAAK,OAAO;AAAA,EACvB,CAAC;AAAA,MACD,2BAAa,EAAE,MAAM,gCAAgC,MAAM,UAAU,SAAS,KAAK,aAAa,IAAI,CAAC;AACzG;AAkBO,MAAM,iCAAiC,KAAK;AAAA,EAG/C,OAAyB,SAAS;AAAA,EAEzB,aAA2B;AAChC,QAAI,KAAK,MAAM,6BAA6B,QAAW;AACnD,WAAK,MAAM,2BAA2B;AAAA,IAC1C,WAAW,KAAK,MAAM,0BAA0B;AAC5C,YAAM,YAAY,qBAAM,GAAG,KAAK,MAAM,mBAAmB;AACzD,UAAI,UAAU,MAAM,UAAQ,SAAS,CAAC,GAAG;AACrC,cAAM,IAAI,mCAAoB,oEAAoE;AAAA,MACtG;AACA,aAAO,KAAK,2EAA2E;AAAA,IAC3F;AAEA,QAAI,KAAK,MAAM,gBAAgB,QAAW;AACtC,WAAK,MAAM,cAAc;AAAA,IAC7B,OAAO;AACH,WAAK,MAAM;AAAA,IACf;AAEA,UAAM,YAAY,KAAK,SAAS;AAChC,SAAK,QAAQ,UAAU,QAAQ,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AAC3D,SAAK,QAAQ,UAAU,cAAc,KAAK,eAAe,EAAE,MAAM,KAAK,CAAC;AAEvE,SAAK,aAAa,KAAK,OAAO,8BAA8B,KAAK,wCAAwC;AAEzG,SAAK,aAAa,KAAK,OAAO,2BAA2B,KAAK,qCAAqC;AAEnG,SAAK,aAAa,KAAK,OAAO,6BAA6B,KAAK,uCAAuC;AAAA,EAC3G;AAAA,EAEA,wBAAwB,WAAkB;AACtC,UAAM,UAAU,qBAAM,GAAG,SAAS;AAClC,QAAI,QAAQ,MAAM,UAAQ,SAAS,CAAC,GAAG;AACnC,YAAM,IAAI,iCAAoB,sCAAsC,wBAAW,eAAe;AAAA,IAClG;AACA,UAAM,kBAAkB,qBAAM,GAAG,KAAK,MAAM,mBAAmB;AAC/D,YAAQ,QAAQ,CAAC,MAAM,UAAU;AAC7B,UAAI,SAAS,gBAAgB,KAAK,GAAG;AACjC,cAAM,IAAI,iCAAoB,2BAA2B,wBAAW,eAAe;AAAA,MACvF;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAES,iBAAiB,EAAE,cAAc,UAAU,GAA6D;AAC7G,SAAK,wBAAwB,SAAS;AAEtC,SAAK,iBAAiB,YAAY;AAAA,EACtC;AAAA,EAEU,iBAAiB,cAA+B;AACtD,UAAM,IAAI,iCAAoB,kCAAkC,YAAY,IAAI,wBAAW,cAAc;AAAA,EAC7G;AAAA,EAES,eAAsE;AAC3E,UAAM,OAAO,oBAAK;AAKlB,UAAM,cACF,KAAK,MAAM,IAAI,uDAA2B,KAC1C,KAAK,MAAM,IAAI,uDAA2B,EAAE,MAAM,YAAY,OACxD,OACA;AAEV,WAAO;AAAA,MACH,cAAc,OAAO,oBAAK,QAAQ;AAAA,MAClC;AAAA,IACJ;AAAA,EACJ;AAAA,EAES,mBAAmB;AAAA,IACxB;AAAA,IACA;AAAA,IACA;AAAA,EACJ,GAAgG;AAC5F,SAAK,wBAAwB,SAAS;AAEtC,QAAI,CAAC,KAAK,MAAM,0BAA0B;AACtC,YAAM,IAAI,iCAAoB,oCAAoC,wBAAW,eAAe;AAAA,IAChG;AAEA,UAAM,UAAU,IAAI,WAAW,KAAK,EAAE,KAAK,KAAK;AAKhD,UAAM,eAAe,+BAAkB,OAAO;AAAA,MAC1C,kBAAkB;AAAA,MAClB,0BAA0B,2BAAc;AAAA,MACxC,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,QACb;AAAA,UACI,SAAS;AAAA,YACL,aAAa;AAAA,cACT,YAAY,KAAK,SAAS;AAAA,cAC1B,WAAW,8CAAmB,SAAS;AAAA,cACvC,eAAW,wBAAU,CAAI;AAAA;AAAA,YAC7B;AAAA,YACA,YAAY;AAAA,YACZ,eAAe,8CAAmB,uBAAuB,UAAU;AAAA,cAC/D;AAAA,YACJ,CAAC;AAAA,UACL;AAAA,QACJ;AAAA,MACJ;AAAA,IACJ,CAAC,EAAE;AAEH,2CAAkB,KAAK,OAAO;AAC9B,UAAM,EAAE,SAAS,IAAI,KAAK;AAE1B,QAAI,eAAe,SAAS,gBAAgB;AACxC,YAAM,IAAI,iCAAoB,sBAAsB,wBAAW,iBAAiB;AAAA,IACpF;AAEA,WAAO;AAAA,MACH;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,sBAAsB,WAA6C;AAC/D,UAAM,gBAAgB,KAAK,wBAAwB,sBAAsB;AACzE,UAAM,OAAO,cAAc,OAAO,WAAS,UAAU,SAAS;AAC9D,SAAK,KAAK,SAAS;AACnB,SAAK,MAAM,uBAAuB;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,mBAAmB,WAA6C;AAC5D,UAAM,gBAAgB,KAAK,wBAAwB,sBAAsB;AACzE,SAAK,MAAM,uBAAuB,cAAc,OAAO,WAAS,UAAU,SAAS;AAAA,EACvF;AAAA,EAEA,yCACI,SACA,UACF;AACE,SAAK,OAAO,qBAAqB;AAAA,MAC7B;AAAA,QACI;AAAA,QACA;AAAA,MACJ;AAAA,MACA,KAAK;AAAA,IACT;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,mBAAmB,WAA0C;AACzD,UAAM,gBAAgB,KAAK,wBAAwB,mBAAmB;AACtE,UAAM,OAAO,cAAc,OAAO,WAAS,UAAU,SAAS;AAC9D,SAAK,KAAK,SAAS;AACnB,SAAK,MAAM,oBAAoB;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,gBAAgB,WAA0C;AACtD,UAAM,gBAAgB,KAAK,wBAAwB,mBAAmB;AACtE,SAAK,MAAM,oBAAoB,cAAc,OAAO,WAAS,UAAU,SAAS;AAAA,EACpF;AAAA,EAEA,sCACI,SACA,UACF;AACE,SAAK,OAAO,kBAAkB;AAAA,MAC1B;AAAA,QACI;AAAA,QACA;AAAA,MACJ;AAAA,MACA,KAAK;AAAA,IACT;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,qBAAqB,WAA4C;AAC7D,UAAM,gBAAgB,KAAK,wBAAwB,qBAAqB;AACxE,UAAM,OAAO,cAAc,OAAO,WAAS,UAAU,SAAS;AAC9D,SAAK,KAAK,SAAS;AACnB,SAAK,MAAM,sBAAsB;AAAA,EACrC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,kBAAkB,WAA4C;AAC1D,UAAM,gBAAgB,KAAK,wBAAwB,qBAAqB;AACxE,SAAK,MAAM,sBAAsB,cAAc,OAAO,WAAS,UAAU,SAAS;AAAA,EACtF;AAAA,EAEA,wCACI,SACA,UACF;AACE,SAAK,OAAO,oBAAoB;AAAA,MAC5B;AAAA,QACI;AAAA,QACA;AAAA,MACJ;AAAA,MACA,KAAK;AAAA,IACT;AAAA,EACJ;AAAA,EAEA,MAAM,UAAU;AACZ,SAAK,OAAO,WAAW;AAAA,MACnB,EAAE,YAAY,KAAK,MAAM,cAAc,8CAAmB,WAAW,YAAY;AAAA,MACjF,KAAK;AAAA,IACT;AAGA,SAAK,SAAS,6CAA6C,oBAAK;AAEhE,SAAK,SAAS,iCAAiC,oBAAK;AAAA,MAChD;AAAA,UACA,wBAAQ,CAAC;AAAA,MACT,KAAK,SAAS,KAAK,mCAAmC;AAAA,IAC1D,EAAE,MAAM;AAER,UAAM,KAAK,mBAAmB;AAAA,EAClC;AAAA,EAEA,gBAAgB;AACZ,SAAK,SAAS,gCAAgC,KAAK;AACnD,SAAK,oCAAoC;AAAA,EAC7C;AAAA,EAEA,sCAAsC;AAClC,UAAM,MAAM,oBAAK;AACjB,UAAM,kBAAc,yBAAS,KAAK,SAAS,4CAA4C,GAAG,EAAE;AAC5F,SAAK,MAAM,mCAA+B,uBAAO,KAAK,MAAM,+BAA+B,WAAW;AACtG,SAAK,SAAS,6CAA6C;AAAA,EAC/D;AAAA,EAEA,MAAM,qBAAqB;AACvB;AAAA;AAAA,YAAY,WAAW,qBAAK,IAAI,YAAY,GAArB;AACvB,YAAM,cAAc,SAAS,IAAI,2BAAW;AAC5C,YAAM,iCAAiC,YAAY;AAEnD,YAAM,iBAAiB,KAAK,IAAI,IAAI,oCAAc;AAClD,YAAM,0BAA0B,MAAM,eAAe,qBAAqB;AAK1E,UAAI,cAAc,8CAAmB,cAAc;AACnD,UAAI,KAAK,SAAS,UAAU,IAAI,uDAA0B,GAAG;AACzD,cAAM,uBAAuB,KAAK,MAAM,IAAI,uDAA0B;AACtE,YACI,0BAA0B,qBAAqB,YAC/C,qBAAqB,SAAS,sBAChC;AACE,wBAAc,8CAAmB,cAAc;AAAA,QACnD,WACI,4BAA4B,qBAAqB,YACjD,qBAAqB,SAAS,wBAChC;AACE,wBAAc,8CAAmB,cAAc;AAAA,QACnD;AAAA,MACJ;AAIA,YAAM,yBACF,mCAAmC,SAC7B,MAAM,OACN,CAAC,SAAiB;AACd,eAAO,SAAS;AAAA,MACpB;AAGV,WAAK,MAAM,oBAAoB,wBAC1B,OAAO,CAAC,EAAE,IAAI,MAAM,QAAQ,mBAAmB,EAC/C,KAAK,CAAC,EAAE,MAAM,MAAM,GAAG,EAAE,MAAM,MAAM,MAAM;AAExC,YAAI,uBAAuB,KAAK,KAAK,CAAC,uBAAuB,KAAK,GAAG;AACjE,iBAAO;AAAA,QACX;AACA,YAAI,CAAC,uBAAuB,KAAK,KAAK,uBAAuB,KAAK,GAAG;AACjE,iBAAO;AAAA,QACX;AACA,eAAO;AAAA,MACX,CAAC,EACA,MAAM,GAAG,CAAC,EACV,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,MAAM,KAAK,OAAO;AAAA,QACvC,MAAM,KAAK,UAAU,GAAG,EAAE;AAAA,QAC1B,eAAe,uBAAuB,IAAI;AAAA,QAC1C,iCAAiC;AAAA;AAAA,QACjC,iCAAiC;AAAA;AAAA,QACjC,iBAAiB,qBAAM,QAAQ,IAAI,QAAQ,cAAc,EAAE,CAAC;AAAA,QAC5D,eAAe,KAAK,MAAM,GAAG,CAAC,EAAE,IAAI,YAAM,4BAAY,EAAE,CAAC;AAAA,QACzD,eAAe,KAAK,MAAM,GAAG,CAAC,EAAE,IAAI,YAAM,4BAAY,EAAE,CAAC;AAAA,QACzD,MAAM,QAAQ;AAAA,MAClB,EAAE;AAAA,aA1DN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA2DJ;AACJ;AAAA,CAEO,CAAUA,8BAAV;AAAA,EACI,MAAM,SAAS;AAAA;AAAA,IAElB,6CAA6C,oBAAK;AAAA;AAAA,IAGlD;AAAA,EACJ;AANO,EAAAA,0BAAM;AAAA,EAQN,MAAM,cAAc,KAAK,MAAM;AAAA;AAAA,IAElC,+BAAyC;AAAA;AAAA,IAGzC,sBAA6B,IAAI,WAAW,EAAE,EAAE,KAAK,CAAC;AAAA,IAEtD,CAAC,oBAAI,UAAU,EAAE,UAAoB,UAAmC;AACpE,aAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAaH,IAAI,SAAS;AACT,gBAAM,WAAY,SAAS,UAA4B;AACvD,cAAI,aAAa,QAAW;AACxB,mBAAO;AAAA,UACX;AAEA,iBAAO,uBAAQ,OAAG,yBAAS,UAAU,oBAAK,KAAK,EAAE,QAAQ;AAAA,QAC7D;AAAA;AAAA;AAAA;AAAA;AAAA,QAMA,IAAI,wBAAwB;AACxB,gBAAM,EAAE,2CAA2C,IAC/C,SAAS,UAAU,YAAYA,yBAAwB;AAE3D,gBAAM,0BAAsB;AAAA,YACxB;AAAA,YACA,oBAAK;AAAA,UACT,EAAE;AAEF,gBAAM,qBAAqB,SAAS,QAAQA,yBAAwB,EAAE;AAEtE,gBAAM,2BAAuB,uBAAO,qBAAqB,mBAAmB;AAE5E,iBAAO,qBAAM,GAAG,oBAAoB;AAAA,QACxC;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAnDO,EAAAA,0BAAM;AAAA,GATA;",
5
5
  "names": ["GeneralDiagnosticsServer"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"GroupKeyManagementServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/group-key-management/GroupKeyManagementServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAyC,YAAY,EAAE,MAAM,UAAU,CAAC;AAG/E,OAAO,EAAqB,MAAM,EAAiC,MAAM,WAAW,CAAC;AACrF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAmC,MAAM,QAAQ,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AA6B7E;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,0BAA0B;;IAC5D,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC;IAC9C,gBAAyB,MAAM,gCAAU;IAEhC,UAAU,IAAI,YAAY;IAiNpB,WAAW,CAAC,EAAE,WAAW,EAAE,EAAE,kBAAkB,CAAC,kBAAkB;IAsGxE,UAAU,CAAC,EAChB,aAAa,GAChB,EAAE,kBAAkB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,kBAAkB;IAqBhE,YAAY,CAAC,EAAE,aAAa,EAAE,EAAE,kBAAkB,CAAC,mBAAmB;IA6B5E,oBAAoB,IAAI,kBAAkB,CAAC,4BAA4B;IAgBhF,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAsC1G;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO;CA4BzF;AAED,yBAAiB,wBAAwB,CAAC;IACtC,MAAa,KAAM,SAAQ,0BAA0B,CAAC,KAAK;QACvD;;;WAGG;QACH,YAAY,EAAE,CAAC,kBAAkB,CAAC,WAAW,GAAG;YAAE,WAAW,EAAE,WAAW,CAAA;SAAE,CAAC,EAAE,CAAM;QAG5E,qBAAqB,SAAM;QAC3B,kBAAkB,SAAM;KACpC;CACJ"}
1
+ {"version":3,"file":"GroupKeyManagementServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/group-key-management/GroupKeyManagementServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAyC,YAAY,EAAE,MAAM,UAAU,CAAC;AAG/E,OAAO,EAAqB,MAAM,EAA+D,MAAM,WAAW,CAAC;AACnH,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAmC,MAAM,QAAQ,CAAC;AAC/F,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AA6B7E;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,0BAA0B;;IAC5D,KAAK,EAAE,wBAAwB,CAAC,KAAK,CAAC;IAC9C,gBAAyB,MAAM,gCAAU;IAEhC,UAAU,IAAI,YAAY;IAgOpB,WAAW,CAAC,EAAE,WAAW,EAAE,EAAE,kBAAkB,CAAC,kBAAkB;IAuGxE,UAAU,CAAC,EAChB,aAAa,GAChB,EAAE,kBAAkB,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,kBAAkB;IAqBhE,YAAY,CAAC,EAAE,aAAa,EAAE,EAAE,kBAAkB,CAAC,mBAAmB;IA6B5E,oBAAoB,IAAI,kBAAkB,CAAC,4BAA4B;IAgBhF,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAsC1G;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO;CA4BzF;AAED,yBAAiB,wBAAwB,CAAC;IACtC,MAAa,KAAM,SAAQ,0BAA0B,CAAC,KAAK;QACvD;;;WAGG;QACH,YAAY,EAAE,CAAC,kBAAkB,CAAC,WAAW,GAAG;YAAE,WAAW,EAAE,WAAW,CAAA;SAAE,CAAC,EAAE,CAAM;QAG5E,qBAAqB,SAAM;QAC3B,kBAAkB,SAAM;KACpC;CACJ"}
@@ -85,12 +85,25 @@ class GroupKeyManagementServer extends import_GroupKeyManagementBehavior.GroupKe
85
85
  this.reactTo(fabrics.events.updated, this.#handleFabricUpdate);
86
86
  if (this.state.groupKeySets.length) {
87
87
  const groupKeysForFabric = /* @__PURE__ */ new Map();
88
- for (const groupKeySet of this.state.groupKeySets) {
88
+ const groupKeySets = (0, import_general.deepCopy)(this.state.groupKeySets);
89
+ for (let i = 0; i < groupKeySets.length; i++) {
90
+ const groupKeySet = groupKeySets[i];
89
91
  const fabricIndex = groupKeySet.fabricIndex;
90
92
  const keys = groupKeysForFabric.get(fabricIndex) ?? [];
93
+ if (keys.length === 0 && !fabrics.has(fabricIndex)) {
94
+ logger.warn(
95
+ `Stored GroupKeySets for FabricIndex ${fabricIndex}, but no such fabric exists anymore. Cleaning up stale entries.`
96
+ );
97
+ groupKeySets.splice(i, 1);
98
+ i--;
99
+ continue;
100
+ }
91
101
  keys.push(groupKeySet);
92
102
  groupKeysForFabric.set(fabricIndex, keys);
93
103
  }
104
+ if (groupKeySets.length !== this.state.groupKeySets.length) {
105
+ this.state.groupKeySets = groupKeySets;
106
+ }
94
107
  for (const [fabricIndex, keys] of groupKeysForFabric.entries()) {
95
108
  const fabric = fabrics.for(fabricIndex);
96
109
  for (const groupKeySet of keys) {
@@ -246,7 +259,7 @@ class GroupKeyManagementServer extends import_GroupKeyManagementBehavior.GroupKe
246
259
  if (epochKey0 === null || epochStartTime0 === null) {
247
260
  throw new import_types.StatusResponseError("EpochKey0 and EpochStartTime0 must be set", import_types.StatusCode.InvalidCommand);
248
261
  }
249
- if (epochStartTime0 === 0) {
262
+ if (epochStartTime0 <= import_protocol.IPK_DEFAULT_EPOCH_START_TIME) {
250
263
  throw new import_types.StatusResponseError("EpochStartTime0 must not be 0", import_types.StatusCode.InvalidCommand);
251
264
  }
252
265
  if (epochKey1 !== null && (epochStartTime1 === null || epochStartTime1 <= epochStartTime0)) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/behaviors/group-key-management/GroupKeyManagementServer.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["groupId", "GroupKeyManagementServer"]
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IdentifyServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/identify/IdentifyServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAiB,KAAK,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;;IAChD,UAAkB,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;IAC5C,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;IAC5B,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;IAE7B,UAAU,IAAI,YAAY;IAyCpB,CAAC,MAAM,CAAC,YAAY,CAAC;IAa3B,QAAQ,CAAC,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,eAAe,GAAG,YAAY;IAIlE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,GAAG,YAAY;CAG9E;AAED,yBAAiB,cAAc,CAAC;IAC5B,MAAa,QAAQ;QACjB,aAAa,CAAC,EAAE,KAAK,CAAC;KACzB;IAED,MAAa,KAAM,SAAQ,gBAAgB,CAAC,KAAK;QAC7C,aAAa,EAAE,OAAO,CAAS;KAClC;IAED,MAAa,MAAO,SAAQ,gBAAgB,CAAC,MAAM;QAC/C,gBAAgB,0BAAgB;QAChC,eAAe,0BAAgB;QAC/B,eAAe,4DAAyD;KAC3E;CACJ"}
1
+ {"version":3,"file":"IdentifyServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/identify/IdentifyServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAiB,KAAK,EAAE,MAAM,UAAU,CAAC;AAE1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;;IAChD,UAAkB,QAAQ,EAAE,cAAc,CAAC,QAAQ,CAAC;IAC5C,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;IAC5B,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC;IAE7B,UAAU,IAAI,YAAY;IAiDpB,CAAC,MAAM,CAAC,YAAY,CAAC;IAa3B,QAAQ,CAAC,EAAE,YAAY,EAAE,EAAE,QAAQ,CAAC,eAAe,GAAG,YAAY;IAIlE,aAAa,CAAC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,GAAG,YAAY;CAG9E;AAED,yBAAiB,cAAc,CAAC;IAC5B,MAAa,QAAQ;QACjB,aAAa,CAAC,EAAE,KAAK,CAAC;KACzB;IAED,MAAa,KAAM,SAAQ,gBAAgB,CAAC,KAAK;QAC7C,aAAa,EAAE,OAAO,CAAS;KAClC;IAED,MAAa,MAAO,SAAQ,gBAAgB,CAAC,MAAM;QAC/C,gBAAgB,0BAAgB;QAChC,eAAe,0BAAgB;QAC/B,eAAe,4DAAyD;KAC3E;CACJ"}
@@ -23,6 +23,7 @@ __export(IdentifyServer_exports, {
23
23
  module.exports = __toCommonJS(IdentifyServer_exports);
24
24
  var import_identify = require("#clusters/identify");
25
25
  var import_general = require("#general");
26
+ var import_protocol = require("@matter/protocol");
26
27
  var import_IdentifyBehavior = require("./IdentifyBehavior.js");
27
28
  /**
28
29
  * @license
@@ -34,6 +35,10 @@ class IdentifyServer extends import_IdentifyBehavior.IdentifyBehavior {
34
35
  if (this.state.identifyType === void 0) {
35
36
  this.state.identifyType = import_identify.Identify.IdentifyType.None;
36
37
  }
38
+ this.events.identifyTime$Changed.quiet.config = {
39
+ shouldEmit: (newValue, oldValue, context) => (0, import_protocol.hasRemoteActor)(context) || (oldValue === 0 || newValue === 0) && newValue !== oldValue ? "now" : false,
40
+ suppressionEnabled: false
41
+ };
37
42
  this.internal.identifyTimer = import_general.Time.getPeriodicTimer(
38
43
  "Identify time update",
39
44
  import_general.Seconds.one,
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/behaviors/identify/IdentifyServer.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,sBAAyB;AACzB,qBAA+D;AAC/D,8BAAiC;AARjC;AAAA;AAAA;AAAA;AAAA;AAyBO,MAAM,uBAAuB,yCAAiB;AAAA,EAKxC,aAA2B;AAChC,QAAI,KAAK,MAAM,iBAAiB,QAAW;AACvC,WAAK,MAAM,eAAe,yBAAS,aAAa;AAAA,IACpD;AAIA,SAAK,SAAS,gBAAgB,oBAAK;AAAA,MAC/B;AAAA,MACA,uBAAQ;AAAA,MACR,KAAK,SAAS,KAAK,eAAe,EAAE,MAAM,KAAK,CAAC;AAAA,IACpD;AAGA,SAAK,QAAQ,KAAK,OAAO,sBAAsB,KAAK,2BAA2B;AAAA,EACnF;AAAA,EAEA,oBAAoB;AAChB,QAAI,CAAC,KAAK,SAAS,eAAe,WAAW;AACzC,WAAK,SAAS,eAAe,MAAM;AACnC,WAAK,MAAM,gBAAgB;AAC3B,WAAK,OAAO,iBAAiB,KAAK;AAAA,IACtC;AAAA,EACJ;AAAA,EAEA,mBAAmB;AACf,QAAI,KAAK,SAAS,eAAe,WAAW;AACxC,WAAK,SAAS,eAAe,KAAK;AAClC,WAAK,MAAM,gBAAgB;AAC3B,WAAK,OAAO,gBAAgB,KAAK;AAAA,IACrC;AAAA,EACJ;AAAA,EAEA,8BAA8B;AAC1B,QAAI,KAAK,MAAM,iBAAiB,GAAG;AAC/B,WAAK,iBAAiB;AAAA,IAC1B,OAAO;AACH,WAAK,kBAAkB;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,OAAgB,OAAO,YAAY,IAAI;AACnC,SAAK,iBAAiB;AACtB,UAAM,MAAM,OAAO,YAAY,IAAI;AAAA,EACvC;AAAA,EAEA,gBAAgB;AACZ,QAAI,QAAQ,KAAK,MAAM,gBAAgB,KAAK;AAC5C,QAAI,QAAQ,GAAG;AACX,aAAO;AAAA,IACX;AACA,SAAK,MAAM,eAAe;AAAA,EAC9B;AAAA,EAES,SAAS,EAAE,aAAa,GAA2C;AACxE,SAAK,MAAM,eAAe;AAAA,EAC9B;AAAA,EAES,cAAc,QAAqD;AACxE,SAAK,OAAO,gBAAgB,KAAK,MAAM;AAAA,EAC3C;AACJ;AAAA,CAEO,CAAUA,oBAAV;AAAA,EACI,MAAM,SAAS;AAAA,IAClB;AAAA,EACJ;AAFO,EAAAA,gBAAM;AAAA,EAIN,MAAM,cAAc,yCAAiB,MAAM;AAAA,IAC9C,gBAAyB;AAAA,EAC7B;AAFO,EAAAA,gBAAM;AAAA,EAIN,MAAM,eAAe,yCAAiB,OAAO;AAAA,IAChD,uBAAmB,2BAAW;AAAA,IAC9B,sBAAkB,2BAAW;AAAA,IAC7B,sBAAkB,2BAAoD;AAAA,EAC1E;AAJO,EAAAA,gBAAM;AAAA,GATA;",
4
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,sBAAyB;AACzB,qBAA+D;AAC/D,sBAA+B;AAC/B,8BAAiC;AATjC;AAAA;AAAA;AAAA;AAAA;AA0BO,MAAM,uBAAuB,yCAAiB;AAAA,EAKxC,aAA2B;AAChC,QAAI,KAAK,MAAM,iBAAiB,QAAW;AACvC,WAAK,MAAM,eAAe,yBAAS,aAAa;AAAA,IACpD;AAEA,SAAK,OAAO,qBAAqB,MAAM,SAAS;AAAA,MAC5C,YAAY,CAAC,UAAU,UAAU,gBAC7B,gCAAe,OAAO,MAAO,aAAa,KAAK,aAAa,MAAM,aAAa,WACzE,QACA;AAAA,MACV,oBAAoB;AAAA,IACxB;AAIA,SAAK,SAAS,gBAAgB,oBAAK;AAAA,MAC/B;AAAA,MACA,uBAAQ;AAAA,MACR,KAAK,SAAS,KAAK,eAAe,EAAE,MAAM,KAAK,CAAC;AAAA,IACpD;AAGA,SAAK,QAAQ,KAAK,OAAO,sBAAsB,KAAK,2BAA2B;AAAA,EACnF;AAAA,EAEA,oBAAoB;AAChB,QAAI,CAAC,KAAK,SAAS,eAAe,WAAW;AACzC,WAAK,SAAS,eAAe,MAAM;AACnC,WAAK,MAAM,gBAAgB;AAC3B,WAAK,OAAO,iBAAiB,KAAK;AAAA,IACtC;AAAA,EACJ;AAAA,EAEA,mBAAmB;AACf,QAAI,KAAK,SAAS,eAAe,WAAW;AACxC,WAAK,SAAS,eAAe,KAAK;AAClC,WAAK,MAAM,gBAAgB;AAC3B,WAAK,OAAO,gBAAgB,KAAK;AAAA,IACrC;AAAA,EACJ;AAAA,EAEA,8BAA8B;AAC1B,QAAI,KAAK,MAAM,iBAAiB,GAAG;AAC/B,WAAK,iBAAiB;AAAA,IAC1B,OAAO;AACH,WAAK,kBAAkB;AAAA,IAC3B;AAAA,EACJ;AAAA,EAEA,OAAgB,OAAO,YAAY,IAAI;AACnC,SAAK,iBAAiB;AACtB,UAAM,MAAM,OAAO,YAAY,IAAI;AAAA,EACvC;AAAA,EAEA,gBAAgB;AACZ,QAAI,QAAQ,KAAK,MAAM,gBAAgB,KAAK;AAC5C,QAAI,QAAQ,GAAG;AACX,aAAO;AAAA,IACX;AACA,SAAK,MAAM,eAAe;AAAA,EAC9B;AAAA,EAES,SAAS,EAAE,aAAa,GAA2C;AACxE,SAAK,MAAM,eAAe;AAAA,EAC9B;AAAA,EAES,cAAc,QAAqD;AACxE,SAAK,OAAO,gBAAgB,KAAK,MAAM;AAAA,EAC3C;AACJ;AAAA,CAEO,CAAUA,oBAAV;AAAA,EACI,MAAM,SAAS;AAAA,IAClB;AAAA,EACJ;AAFO,EAAAA,gBAAM;AAAA,EAIN,MAAM,cAAc,yCAAiB,MAAM;AAAA,IAC9C,gBAAyB;AAAA,EAC7B;AAFO,EAAAA,gBAAM;AAAA,EAIN,MAAM,eAAe,yCAAiB,OAAO;AAAA,IAChD,uBAAmB,2BAAW;AAAA,IAC9B,sBAAkB,2BAAW;AAAA,IAC7B,sBAAkB,2BAAoD;AAAA,EAC1E;AAJO,EAAAA,gBAAM;AAAA,GATA;",
5
5
  "names": ["IdentifyServer"]
6
6
  }
@@ -53,7 +53,7 @@ class ServiceAreaBaseServer extends ServiceAreaBase {
53
53
  this.state.estimatedEndTime = null;
54
54
  }
55
55
  if (this.events.estimatedEndTime$Changed !== void 0) {
56
- this.events.estimatedEndTime$Changed.quiet.shouldEmit = (oldValue, newValue) => {
56
+ this.events.estimatedEndTime$Changed.quiet.shouldEmit = (newValue, oldValue) => {
57
57
  return oldValue === null || oldValue === 0 || newValue === null || newValue === 0 || newValue < oldValue ? "now" : true;
58
58
  };
59
59
  }
@@ -47,13 +47,13 @@ const schema = SwitchServerBase.schema.extend({
47
47
  children: [
48
48
  (0, import_model.FieldElement)({
49
49
  name: "longPressDelay",
50
- type: "epoch-s",
50
+ type: "duration",
51
51
  conformance: "MSL",
52
52
  default: DEFAULT_LONG_PRESS_DELAY
53
53
  }),
54
54
  (0, import_model.FieldElement)({
55
55
  name: "multiPressDelay",
56
- type: "epoch-s",
56
+ type: "duration",
57
57
  conformance: "MSM",
58
58
  default: DEFAULT_MULTIPRESS_DELAY
59
59
  }),
@@ -475,12 +475,22 @@ export declare namespace ThermostatBaseServer {
475
475
  * local temperature measurement cluster.
476
476
  */
477
477
  externalMeasuredIndoorTemperature?: number;
478
+ /**
479
+ * Endpoint (Number or string-Id) where to find the indoor temperature measurement cluster to use as
480
+ * local temperature measurement for the thermostat behavior.
481
+ */
482
+ localIndoorTemperatureMeasurementEndpoint?: number | string;
478
483
  /**
479
484
  * Otherwise measured occupancy as boolean.
480
485
  * Use this if you have an external occupancy sensor that should be used for thermostat control instead of a
481
486
  * internal occupancy sensing cluster.
482
487
  */
483
488
  externallyMeasuredOccupancy?: boolean;
489
+ /**
490
+ * Endpoint (Number or string-Id) where to find the occupancy sensing cluster to use as
491
+ * local occupancy measurement for the thermostat behavior.
492
+ */
493
+ localOccupancyMeasurementEndpoint?: number | string;
484
494
  /**
485
495
  * Use to enable the automatic mode management, implemented by this standard implementation. This is beyond
486
496
  * Matter specification! It reacts to temperature changes to adjust system running mode automatically. It also
@@ -1 +1 @@
1
- {"version":3,"file":"ThermostatServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/thermostat/ThermostatServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAI3E,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAQH,UAAU,EACb,MAAM,UAAU,CAAC;AAElB,OAAO,EAAiB,GAAG,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAkB,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAO/E,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uRAMhC,CAAC;AAeF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,oBAAqB,SAAQ,2BAA2B;;IACjE,UAAkB,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC;IAClD,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;IAClC,MAAM,EAAE,oBAAoB,CAAC,MAAM,CAAC;IAC5C,gBAAyB,MAAM,gCAAU;IAE1B,UAAU;IA0CzB;;;OAGG;IACM,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,yBAAyB;IAwFlF;;;;OAIG;IACH,SAAS,CAAC,4BAA4B,CAAC,EAAE,YAAY,EAAE,EAAE,UAAU,CAAC,sBAAsB;IAgB1F;;;;;;OAMG;IACM,sBAAsB,CAAC,EAAE,YAAY,EAAE,EAAE,UAAU,CAAC,sBAAsB;IAmBnF;;;OAGG;IACH,SAAS,KAAK,QAAQ,YAErB;IAED,0DAA0D;IAC1D,SAAS,KAAK,eAAe,IAOQ,MAAM,CAF1C;IAED,SAAS,KAAK,eAAe,CAAC,KAAK,EAAE,MAAM,EAM1C;IAED,0DAA0D;IAC1D,SAAS,KAAK,eAAe,IAOQ,MAAM,CAF1C;IAED,SAAS,KAAK,eAAe,CAAC,KAAK,EAAE,MAAM,EAM1C;IAyCD,wFAAwF;IACxF,SAAS,KAAK,cAAc,YAQ3B;IAED,wFAAwF;IACxF,SAAS,KAAK,cAAc,YAQ3B;IAED;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,qBAAqB;IAkWtE;;OAEG;IACH,SAAS,KAAK,wBAAwB,IAAI,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,CAmC/F;IAqDD,IAAI,mBAAmB,WAItB;IAED,IAAI,mBAAmB,WAItB;IAED,IAAI,mBAAmB,WAItB;IAED,IAAI,mBAAmB,WAItB;IAED,IAAI,gBAAgB,WAEnB;IAodc,CAAC,MAAM,CAAC,YAAY,CAAC;IAKpC,oDAAoD;IACrC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;CAkBtG;AAED,yBAAiB,oBAAoB,CAAC;IAClC,MAAa,KAAM,SAAQ,2BAA2B,CAAC,KAAK;QACxD;;;;;WAKG;QACH,iCAAiC,CAAC,EAAE,MAAM,CAAC;QAE3C;;;;WAIG;QACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;QAEtC;;;;WAIG;QACH,0BAA0B,EAAE,OAAO,CAAS;QAE5C;;WAEG;QACH,gBAAgB,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;QAEvC;;WAEG;QACH,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,CAAC,OAAO;KA6DxE;IAED,MAAa,MAAO,SAAQ,2BAA2B,CAAC,MAAM;QAC1D,yCAAyC,8EACmC;QAC5E,mCAAmC,gFAA6E;QAChH,wBAAwB,wGAC8E;QACtG,yBAAyB,wGAC6E;QAEtG;;WAEG;QACH,6BAA6B,4FAC6D;QAE1F;;;;WAIG;QACH,sBAAsB,wGACgF;QAEtG;;;;WAIG;QACH,qBAAqB,wGACiF;QAEtG;;WAEG;QACH,aAAa,iDAA8C;KAC9D;IAED,MAAa,QAAQ;QACjB;;;;;WAKG;QACH,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;QAEvC;;;WAGG;QACH,mBAAmB,EAAE,MAAM,CAAK;QAEhC;;;WAGG;QACH,0BAA0B,EAAG,UAAU,CAAC,0BAA0B,CAAC;KACtE;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAID,qBAAa,gBAAiB,SAAQ,qBAAsD;CAAG"}
1
+ {"version":3,"file":"ThermostatServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/thermostat/ThermostatServer.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,8 @@ var import_temperature_measurement = require("#behaviors/temperature-measurement
27
27
  var import_thermostat = require("#clusters/thermostat");
28
28
  var import_general = require("#general");
29
29
  var import_model = require("#model");
30
+ var import_node = require("#node/index.js");
31
+ var import_ServerNode = require("#node/ServerNode.js");
30
32
  var import_protocol = require("#protocol");
31
33
  var import_types = require("#types");
32
34
  var import_AtomicWriteHandler = require("./AtomicWriteHandler.js");
@@ -77,15 +79,19 @@ class ThermostatBaseServer extends ThermostatBehaviorLogicBase {
77
79
  if (this.state.minSetpointDeadBand < 0 || this.state.minSetpointDeadBand > 127) {
78
80
  throw new import_general.ImplementationError("minSetpointDeadBand is out of valid range 0..127");
79
81
  }
82
+ const node = import_node.Node.forEndpoint(this.endpoint);
83
+ this.reactTo(node.lifecycle.online, this.#nodeOnline);
80
84
  this.#setupValidations();
81
- this.#setupTemperatureMeasurementIntegration();
82
- this.#setupOccupancyIntegration();
83
85
  this.#setupModeHandling();
84
86
  this.#setupThermostatLogic();
85
87
  this.#setupPresets();
86
88
  this.internal.minSetpointDeadBand = this.state.minSetpointDeadBand;
87
89
  this.internal.controlSequenceOfOperation = this.state.controlSequenceOfOperation;
88
90
  }
91
+ #nodeOnline() {
92
+ this.#setupTemperatureMeasurementIntegration();
93
+ this.#setupOccupancyIntegration();
94
+ }
89
95
  /**
90
96
  * The default implementation of the SetpointRaiseLower command. It handles all validation and setpoint adjustments
91
97
  * required by the Matter specification. This method only changes the Occupied setpoints.
@@ -324,20 +330,29 @@ class ThermostatBaseServer extends ThermostatBehaviorLogicBase {
324
330
  this.state.localTemperature = null;
325
331
  }
326
332
  let localTemperature = null;
327
- if (!preferRemoteTemperature && this.agent.has(import_temperature_measurement.TemperatureMeasurementServer)) {
328
- logger.debug(
329
- "Using existing TemperatureMeasurement cluster on same endpoint for local temperature measurement"
330
- );
331
- if (this.state.externalMeasuredIndoorTemperature !== void 0) {
333
+ const localTempEndpoint = this.state.localIndoorTemperatureMeasurementEndpoint;
334
+ if (!preferRemoteTemperature && localTempEndpoint !== void 0) {
335
+ const endpoints = this.env.get(import_ServerNode.ServerNode).endpoints;
336
+ const endpoint = endpoints.has(localTempEndpoint) ? endpoints.for(localTempEndpoint) : void 0;
337
+ if (endpoint !== void 0 && endpoint.behaviors.has(import_temperature_measurement.TemperatureMeasurementServer)) {
338
+ logger.debug(
339
+ `Using existing TemperatureMeasurement cluster on endpoint #${localTempEndpoint} for local temperature measurement`
340
+ );
341
+ if (this.state.externalMeasuredIndoorTemperature !== void 0) {
342
+ logger.warn(
343
+ "Both local TemperatureMeasurement cluster and externalMeasuredIndoorTemperature state are set, using local cluster"
344
+ );
345
+ }
346
+ this.reactTo(
347
+ endpoint.eventsOf(import_temperature_measurement.TemperatureMeasurementServer).measuredValue$Changed,
348
+ this.#handleMeasuredTemperatureChange
349
+ );
350
+ localTemperature = endpoint.stateOf(import_temperature_measurement.TemperatureMeasurementServer).measuredValue;
351
+ } else {
332
352
  logger.warn(
333
- "Both local TemperatureMeasurement cluster and externalMeasuredIndoorTemperature state are set, using local cluster"
353
+ `No TemperatureMeasurement cluster found on endpoint #${localTempEndpoint}, falling back to externalMeasuredIndoorTemperature state if set`
334
354
  );
335
355
  }
336
- this.reactTo(
337
- this.agent.get(import_temperature_measurement.TemperatureMeasurementServer).events.measuredValue$Changed,
338
- this.#handleMeasuredTemperatureChange
339
- );
340
- localTemperature = this.endpoint.stateOf(import_temperature_measurement.TemperatureMeasurementServer).measuredValue;
341
356
  } else {
342
357
  if (this.state.externalMeasuredIndoorTemperature === void 0) {
343
358
  logger.warn(
@@ -349,7 +364,9 @@ class ThermostatBaseServer extends ThermostatBehaviorLogicBase {
349
364
  }
350
365
  this.reactTo(this.events.externalMeasuredIndoorTemperature$Changed, this.#handleMeasuredTemperatureChange);
351
366
  }
352
- this.#handleMeasuredTemperatureChange(localTemperature);
367
+ if (localTemperature !== null) {
368
+ this.#handleMeasuredTemperatureChange(localTemperature);
369
+ }
353
370
  }
354
371
  /**
355
372
  * Handles changes to the measured temperature, applies calibration and update internal and official state.
@@ -375,20 +392,30 @@ class ThermostatBaseServer extends ThermostatBehaviorLogicBase {
375
392
  if (!this.features.occupancy) {
376
393
  return;
377
394
  }
378
- let currentOccupancy;
395
+ let currentOccupancy = true;
379
396
  const preferRemoteOccupancy = !!this.state.remoteSensing?.occupancy;
380
- if (!preferRemoteOccupancy && this.agent.has(import_occupancy_sensing.OccupancySensingServer)) {
381
- logger.debug("Using existing OccupancySensing cluster on same endpoint for local occupancy sensing");
382
- if (this.state.externallyMeasuredOccupancy !== void 0) {
397
+ const localOccupancyEndpoint = this.state.localOccupancyMeasurementEndpoint;
398
+ if (!preferRemoteOccupancy && localOccupancyEndpoint !== void 0) {
399
+ const endpoints = this.env.get(import_ServerNode.ServerNode).endpoints;
400
+ const endpoint = endpoints.has(localOccupancyEndpoint) ? endpoints.for(localOccupancyEndpoint) : void 0;
401
+ if (endpoint !== void 0 && endpoint.behaviors.has(import_occupancy_sensing.OccupancySensingServer)) {
402
+ logger.debug(
403
+ `Using existing OccupancySensing cluster on endpoint ${localOccupancyEndpoint} for local occupancy sensing`
404
+ );
405
+ if (this.state.externallyMeasuredOccupancy !== void 0) {
406
+ logger.warn(
407
+ "Both local OccupancySensing cluster and externallyMeasuredOccupancy state are set, using local cluster"
408
+ );
409
+ }
410
+ this.reactTo(endpoint.eventsOf(import_occupancy_sensing.OccupancySensingServer).occupancy$Changed, this.#handleOccupancyChange);
411
+ currentOccupancy = !!endpoint.stateOf(import_occupancy_sensing.OccupancySensingServer).occupancy.occupied;
412
+ } else {
383
413
  logger.warn(
384
- "Both local OccupancySensing cluster and externallyMeasuredOccupancy state are set, using local cluster"
414
+ `No OccupancySensing cluster found on endpoint ${localOccupancyEndpoint}, falling back to externallyMeasuredOccupancy state if set`
385
415
  );
386
416
  }
387
- this.reactTo(this.agent.get(import_occupancy_sensing.OccupancySensingServer).events.occupancy$Changed, this.#handleOccupancyChange);
388
- currentOccupancy = !!this.endpoint.stateOf(import_occupancy_sensing.OccupancySensingServer).occupancy.occupied;
389
417
  } else {
390
418
  if (this.state.externallyMeasuredOccupancy === void 0) {
391
- currentOccupancy = true;
392
419
  logger.warn(
393
420
  "No local OccupancySensing cluster available and externallyMeasuredOccupancy state not set"
394
421
  );
@@ -1130,12 +1157,22 @@ class ThermostatBaseServer extends ThermostatBehaviorLogicBase {
1130
1157
  * local temperature measurement cluster.
1131
1158
  */
1132
1159
  externalMeasuredIndoorTemperature;
1160
+ /**
1161
+ * Endpoint (Number or string-Id) where to find the indoor temperature measurement cluster to use as
1162
+ * local temperature measurement for the thermostat behavior.
1163
+ */
1164
+ localIndoorTemperatureMeasurementEndpoint;
1133
1165
  /**
1134
1166
  * Otherwise measured occupancy as boolean.
1135
1167
  * Use this if you have an external occupancy sensor that should be used for thermostat control instead of a
1136
1168
  * internal occupancy sensing cluster.
1137
1169
  */
1138
1170
  externallyMeasuredOccupancy;
1171
+ /**
1172
+ * Endpoint (Number or string-Id) where to find the occupancy sensing cluster to use as
1173
+ * local occupancy measurement for the thermostat behavior.
1174
+ */
1175
+ localOccupancyMeasurementEndpoint;
1139
1176
  /**
1140
1177
  * Use to enable the automatic mode management, implemented by this standard implementation. This is beyond
1141
1178
  * Matter specification! It reacts to temperature changes to adjust system running mode automatically. It also