@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.
- package/dist/cjs/behavior/Events.js +1 -1
- package/dist/cjs/behavior/cluster/ClientBehavior.d.ts +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehavior.d.ts +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorType.d.ts +1 -1
- package/dist/cjs/behavior/cluster/ClusterBehaviorType.js +3 -3
- package/dist/cjs/behavior/cluster/ClusterBehaviorType.js.map +1 -1
- package/dist/cjs/behavior/state/validation/ValueValidator.js +14 -4
- package/dist/cjs/behavior/state/validation/ValueValidator.js.map +1 -1
- package/dist/cjs/behavior/state/validation/assertions.d.ts.map +1 -1
- package/dist/cjs/behavior/state/validation/assertions.js +21 -0
- package/dist/cjs/behavior/state/validation/assertions.js.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.js +1 -3
- package/dist/cjs/behavior/system/commissioning/CommissioningClient.js.map +1 -1
- package/dist/cjs/behavior/system/controller/ControllerBehavior.d.ts +2 -0
- package/dist/cjs/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
- package/dist/cjs/behavior/system/controller/ControllerBehavior.js +5 -2
- package/dist/cjs/behavior/system/controller/ControllerBehavior.js.map +1 -1
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts +1 -0
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js +8 -2
- package/dist/cjs/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +88 -34
- package/dist/cjs/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
- package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js +15 -2
- package/dist/cjs/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
- package/dist/cjs/behaviors/identify/IdentifyServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/identify/IdentifyServer.js +5 -0
- package/dist/cjs/behaviors/identify/IdentifyServer.js.map +1 -1
- package/dist/cjs/behaviors/service-area/ServiceAreaServer.js +1 -1
- package/dist/cjs/behaviors/switch/SwitchServer.js +2 -2
- package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts +10 -0
- package/dist/cjs/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/thermostat/ThermostatServer.js +59 -22
- package/dist/cjs/behaviors/thermostat/ThermostatServer.js.map +1 -1
- package/dist/cjs/endpoint/Endpoint.d.ts +2 -2
- package/dist/cjs/endpoint/Endpoint.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/Endpoints.d.ts +2 -2
- package/dist/cjs/endpoint/properties/Endpoints.d.ts.map +1 -1
- package/dist/cjs/endpoint/properties/Endpoints.js +12 -1
- package/dist/cjs/endpoint/properties/Endpoints.js.map +1 -1
- package/dist/cjs/node/ClientNode.d.ts +7 -2
- package/dist/cjs/node/ClientNode.d.ts.map +1 -1
- package/dist/cjs/node/ClientNode.js +10 -3
- package/dist/cjs/node/ClientNode.js.map +1 -1
- package/dist/cjs/node/Node.d.ts.map +1 -1
- package/dist/cjs/node/Node.js +9 -3
- package/dist/cjs/node/Node.js.map +1 -1
- package/dist/cjs/node/NodeLifecycle.d.ts +1 -1
- package/dist/cjs/node/NodeLifecycle.js +1 -1
- package/dist/cjs/node/ServerNode.d.ts.map +1 -1
- package/dist/cjs/node/ServerNode.js +11 -4
- package/dist/cjs/node/ServerNode.js.map +1 -1
- package/dist/cjs/node/client/ClientEndpointInitializer.js +1 -1
- package/dist/cjs/node/client/ClientEndpointInitializer.js.map +1 -1
- package/dist/cjs/node/client/ClientEventEmitter.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientEventEmitter.js +8 -3
- package/dist/cjs/node/client/ClientEventEmitter.js.map +1 -1
- package/dist/cjs/node/client/ClientStructure.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientStructure.js +80 -96
- package/dist/cjs/node/client/ClientStructure.js.map +1 -1
- package/dist/cjs/node/client/Peers.d.ts.map +1 -1
- package/dist/cjs/node/client/Peers.js +22 -4
- package/dist/cjs/node/client/Peers.js.map +1 -1
- package/dist/cjs/node/server/ServerEnvironment.d.ts.map +1 -1
- package/dist/cjs/node/server/ServerEnvironment.js +0 -3
- package/dist/cjs/node/server/ServerEnvironment.js.map +1 -1
- package/dist/esm/behavior/Events.js +1 -1
- package/dist/esm/behavior/cluster/ClientBehavior.d.ts +1 -1
- package/dist/esm/behavior/cluster/ClusterBehavior.d.ts +1 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorType.d.ts +1 -1
- package/dist/esm/behavior/cluster/ClusterBehaviorType.js +3 -3
- package/dist/esm/behavior/cluster/ClusterBehaviorType.js.map +1 -1
- package/dist/esm/behavior/state/validation/ValueValidator.js +14 -4
- package/dist/esm/behavior/state/validation/ValueValidator.js.map +1 -1
- package/dist/esm/behavior/state/validation/assertions.d.ts.map +1 -1
- package/dist/esm/behavior/state/validation/assertions.js +22 -1
- package/dist/esm/behavior/state/validation/assertions.js.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningClient.d.ts.map +1 -1
- package/dist/esm/behavior/system/commissioning/CommissioningClient.js +1 -3
- package/dist/esm/behavior/system/commissioning/CommissioningClient.js.map +1 -1
- package/dist/esm/behavior/system/controller/ControllerBehavior.d.ts +2 -0
- package/dist/esm/behavior/system/controller/ControllerBehavior.d.ts.map +1 -1
- package/dist/esm/behavior/system/controller/ControllerBehavior.js +5 -2
- package/dist/esm/behavior/system/controller/ControllerBehavior.js.map +1 -1
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts +1 -0
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.d.ts.map +1 -1
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.js +8 -2
- package/dist/esm/behavior/system/network/ServerNetworkRuntime.js.map +1 -1
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.d.ts.map +1 -1
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js +88 -34
- package/dist/esm/behaviors/general-diagnostics/GeneralDiagnosticsServer.js.map +1 -1
- package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.d.ts.map +1 -1
- package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js +16 -3
- package/dist/esm/behaviors/group-key-management/GroupKeyManagementServer.js.map +1 -1
- package/dist/esm/behaviors/identify/IdentifyServer.d.ts.map +1 -1
- package/dist/esm/behaviors/identify/IdentifyServer.js +5 -0
- package/dist/esm/behaviors/identify/IdentifyServer.js.map +1 -1
- package/dist/esm/behaviors/service-area/ServiceAreaServer.js +1 -1
- package/dist/esm/behaviors/switch/SwitchServer.js +2 -2
- package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts +10 -0
- package/dist/esm/behaviors/thermostat/ThermostatServer.d.ts.map +1 -1
- package/dist/esm/behaviors/thermostat/ThermostatServer.js +59 -22
- package/dist/esm/behaviors/thermostat/ThermostatServer.js.map +1 -1
- package/dist/esm/endpoint/Endpoint.d.ts +2 -2
- package/dist/esm/endpoint/Endpoint.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/Endpoints.d.ts +2 -2
- package/dist/esm/endpoint/properties/Endpoints.d.ts.map +1 -1
- package/dist/esm/endpoint/properties/Endpoints.js +12 -1
- package/dist/esm/endpoint/properties/Endpoints.js.map +1 -1
- package/dist/esm/node/ClientNode.d.ts +7 -2
- package/dist/esm/node/ClientNode.d.ts.map +1 -1
- package/dist/esm/node/ClientNode.js +10 -3
- package/dist/esm/node/ClientNode.js.map +1 -1
- package/dist/esm/node/Node.d.ts.map +1 -1
- package/dist/esm/node/Node.js +9 -3
- package/dist/esm/node/Node.js.map +1 -1
- package/dist/esm/node/NodeLifecycle.d.ts +1 -1
- package/dist/esm/node/NodeLifecycle.js +1 -1
- package/dist/esm/node/ServerNode.d.ts.map +1 -1
- package/dist/esm/node/ServerNode.js +11 -4
- package/dist/esm/node/ServerNode.js.map +1 -1
- package/dist/esm/node/client/ClientEndpointInitializer.js +1 -1
- package/dist/esm/node/client/ClientEndpointInitializer.js.map +1 -1
- package/dist/esm/node/client/ClientEventEmitter.d.ts.map +1 -1
- package/dist/esm/node/client/ClientEventEmitter.js +9 -4
- package/dist/esm/node/client/ClientEventEmitter.js.map +1 -1
- package/dist/esm/node/client/ClientStructure.d.ts.map +1 -1
- package/dist/esm/node/client/ClientStructure.js +80 -96
- package/dist/esm/node/client/ClientStructure.js.map +1 -1
- package/dist/esm/node/client/Peers.d.ts.map +1 -1
- package/dist/esm/node/client/Peers.js +24 -5
- package/dist/esm/node/client/Peers.js.map +1 -1
- package/dist/esm/node/server/ServerEnvironment.d.ts.map +1 -1
- package/dist/esm/node/server/ServerEnvironment.js +1 -4
- package/dist/esm/node/server/ServerEnvironment.js.map +1 -1
- package/package.json +7 -7
- package/src/behavior/Events.ts +1 -1
- package/src/behavior/cluster/ClientBehavior.ts +1 -1
- package/src/behavior/cluster/ClusterBehavior.ts +1 -1
- package/src/behavior/cluster/ClusterBehaviorType.ts +4 -5
- package/src/behavior/cluster/ValidatedElements.ts +1 -1
- package/src/behavior/state/validation/ValueValidator.ts +16 -4
- package/src/behavior/state/validation/assertions.ts +27 -1
- package/src/behavior/system/commissioning/CommissioningClient.ts +2 -4
- package/src/behavior/system/controller/ControllerBehavior.ts +8 -3
- package/src/behavior/system/network/ServerNetworkRuntime.ts +11 -2
- package/src/behaviors/general-diagnostics/GeneralDiagnosticsServer.ts +2 -1
- package/src/behaviors/group-key-management/GroupKeyManagementServer.ts +19 -3
- package/src/behaviors/identify/IdentifyServer.ts +9 -0
- package/src/behaviors/service-area/ServiceAreaServer.ts +1 -1
- package/src/behaviors/switch/SwitchServer.ts +2 -2
- package/src/behaviors/thermostat/ThermostatServer.ts +65 -22
- package/src/endpoint/Endpoint.ts +2 -2
- package/src/endpoint/properties/Endpoints.ts +16 -3
- package/src/node/ClientNode.ts +11 -4
- package/src/node/Node.ts +10 -3
- package/src/node/NodeLifecycle.ts +1 -1
- package/src/node/ServerNode.ts +12 -4
- package/src/node/client/ClientEndpointInitializer.ts +1 -1
- package/src/node/client/ClientEventEmitter.ts +9 -4
- package/src/node/client/ClientStructure.ts +67 -22
- package/src/node/client/Peers.ts +31 -4
- 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
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
const
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
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": "
|
|
4
|
+
"mappings": "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",
|
|
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,
|
|
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
|
-
|
|
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
|
|
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": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,kCAAmC;AACnC,qBAAoE;AACpE,mBAA4C;AAE5C,
|
|
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;
|
|
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;
|
|
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 = (
|
|
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: "
|
|
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: "
|
|
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;
|
|
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
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
);
|
|
331
|
-
if (
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
381
|
-
|
|
382
|
-
|
|
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
|
-
|
|
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
|