@matter/node 0.16.0-alpha.0-20251013-89bb7099d → 0.16.0-alpha.0-20251018-dd1ea6a8a
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/system/http/HttpInterface.js +1 -5
- package/dist/cjs/behavior/system/http/HttpInterface.js.map +1 -1
- package/dist/cjs/behavior/system/remote/api/Api.d.ts.map +1 -1
- package/dist/cjs/behavior/system/remote/api/Api.js +1 -2
- package/dist/cjs/behavior/system/remote/api/Api.js.map +1 -1
- package/dist/cjs/node/client/ClientBehavior.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientBehavior.js +13 -12
- package/dist/cjs/node/client/ClientBehavior.js.map +1 -1
- package/dist/cjs/node/client/ClientNodeInteraction.d.ts +16 -2
- package/dist/cjs/node/client/ClientNodeInteraction.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientNodeInteraction.js +14 -0
- package/dist/cjs/node/client/ClientNodeInteraction.js.map +1 -1
- package/dist/cjs/node/integration/ProtocolService.d.ts.map +1 -1
- package/dist/cjs/node/integration/ProtocolService.js +10 -16
- package/dist/cjs/node/integration/ProtocolService.js.map +1 -1
- package/dist/cjs/node/server/InteractionServer.d.ts.map +1 -1
- package/dist/cjs/node/server/InteractionServer.js +87 -39
- package/dist/cjs/node/server/InteractionServer.js.map +1 -1
- package/dist/cjs/node/server/OnlineServerInteraction.js +1 -1
- package/dist/cjs/node/server/OnlineServerInteraction.js.map +1 -1
- package/dist/cjs/node/server/ServerEnvironment.d.ts.map +1 -1
- package/dist/cjs/node/server/ServerEnvironment.js +1 -0
- package/dist/cjs/node/server/ServerEnvironment.js.map +1 -1
- package/dist/cjs/node/server/ServerSubscription.js +1 -1
- package/dist/cjs/node/server/ServerSubscription.js.map +1 -1
- package/dist/esm/behavior/system/http/HttpInterface.js +1 -5
- package/dist/esm/behavior/system/http/HttpInterface.js.map +1 -1
- package/dist/esm/behavior/system/remote/api/Api.d.ts.map +1 -1
- package/dist/esm/behavior/system/remote/api/Api.js +1 -2
- package/dist/esm/behavior/system/remote/api/Api.js.map +1 -1
- package/dist/esm/node/client/ClientBehavior.d.ts.map +1 -1
- package/dist/esm/node/client/ClientBehavior.js +13 -12
- package/dist/esm/node/client/ClientBehavior.js.map +1 -1
- package/dist/esm/node/client/ClientNodeInteraction.d.ts +16 -2
- package/dist/esm/node/client/ClientNodeInteraction.d.ts.map +1 -1
- package/dist/esm/node/client/ClientNodeInteraction.js +17 -1
- package/dist/esm/node/client/ClientNodeInteraction.js.map +1 -1
- package/dist/esm/node/integration/ProtocolService.d.ts.map +1 -1
- package/dist/esm/node/integration/ProtocolService.js +16 -17
- package/dist/esm/node/integration/ProtocolService.js.map +1 -1
- package/dist/esm/node/server/InteractionServer.d.ts.map +1 -1
- package/dist/esm/node/server/InteractionServer.js +88 -39
- package/dist/esm/node/server/InteractionServer.js.map +1 -1
- package/dist/esm/node/server/OnlineServerInteraction.js +1 -1
- package/dist/esm/node/server/OnlineServerInteraction.js.map +1 -1
- package/dist/esm/node/server/ServerEnvironment.d.ts.map +1 -1
- package/dist/esm/node/server/ServerEnvironment.js +2 -1
- package/dist/esm/node/server/ServerEnvironment.js.map +1 -1
- package/dist/esm/node/server/ServerSubscription.js +1 -1
- package/dist/esm/node/server/ServerSubscription.js.map +1 -1
- package/package.json +7 -7
- package/src/behavior/system/http/HttpInterface.ts +1 -5
- package/src/behavior/system/remote/api/Api.ts +1 -2
- package/src/node/client/ClientBehavior.ts +17 -17
- package/src/node/client/ClientNodeInteraction.ts +19 -5
- package/src/node/integration/ProtocolService.ts +18 -18
- package/src/node/server/InteractionServer.ts +108 -57
- package/src/node/server/OnlineServerInteraction.ts +1 -1
- package/src/node/server/ServerEnvironment.ts +2 -1
- package/src/node/server/ServerSubscription.ts +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/server/ServerSubscription.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["ServerSubscriptionConfig"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/node",
|
|
3
|
-
"version": "0.16.0-alpha.0-
|
|
3
|
+
"version": "0.16.0-alpha.0-20251018-dd1ea6a8a",
|
|
4
4
|
"description": "API for building Matter nodes",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -42,14 +42,14 @@
|
|
|
42
42
|
"#*": "./src/*"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@matter/general": "0.16.0-alpha.0-
|
|
46
|
-
"@matter/model": "0.16.0-alpha.0-
|
|
47
|
-
"@matter/types": "0.16.0-alpha.0-
|
|
48
|
-
"@matter/protocol": "0.16.0-alpha.0-
|
|
45
|
+
"@matter/general": "0.16.0-alpha.0-20251018-dd1ea6a8a",
|
|
46
|
+
"@matter/model": "0.16.0-alpha.0-20251018-dd1ea6a8a",
|
|
47
|
+
"@matter/types": "0.16.0-alpha.0-20251018-dd1ea6a8a",
|
|
48
|
+
"@matter/protocol": "0.16.0-alpha.0-20251018-dd1ea6a8a"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@matter/tools": "0.16.0-alpha.0-
|
|
52
|
-
"@matter/testing": "0.16.0-alpha.0-
|
|
51
|
+
"@matter/tools": "0.16.0-alpha.0-20251018-dd1ea6a8a",
|
|
52
|
+
"@matter/testing": "0.16.0-alpha.0-20251018-dd1ea6a8a"
|
|
53
53
|
},
|
|
54
54
|
"files": [
|
|
55
55
|
"dist/**/*",
|
|
@@ -292,11 +292,7 @@ function logError(request: Request, response: Response, error: unknown) {
|
|
|
292
292
|
if (response.status >= 500 && response.status < 600) {
|
|
293
293
|
logger.error(diagnosticHeaderFor(request, response), error);
|
|
294
294
|
} else if (error instanceof MatterError) {
|
|
295
|
-
logger.error(
|
|
296
|
-
diagnosticHeaderFor(request, response),
|
|
297
|
-
Diagnostic.squash("[", Diagnostic.strong(error.id), "]"),
|
|
298
|
-
error.message,
|
|
299
|
-
);
|
|
295
|
+
logger.error(diagnosticHeaderFor(request, response), Diagnostic.errorMessage(error), error.message);
|
|
300
296
|
} else {
|
|
301
297
|
logger.warn(diagnosticHeaderFor(request, response), asError(error).message);
|
|
302
298
|
}
|
|
@@ -75,8 +75,7 @@ export namespace Api {
|
|
|
75
75
|
let level: "error" | "info";
|
|
76
76
|
switch (response.kind) {
|
|
77
77
|
case "error":
|
|
78
|
-
message.push(Diagnostic.
|
|
79
|
-
message.push(response.message);
|
|
78
|
+
message.push(Diagnostic.errorMessage({ id: response.code, message: response.message }));
|
|
80
79
|
level = "error";
|
|
81
80
|
break;
|
|
82
81
|
|
|
@@ -10,14 +10,13 @@ import { camelize, capitalize, InternalError } from "#general";
|
|
|
10
10
|
import { AttributeModel, ClusterModel, CommandModel, FeatureBitmap, Matter } from "#model";
|
|
11
11
|
import type { ClientNode } from "#node/ClientNode.js";
|
|
12
12
|
import { Node } from "#node/Node.js";
|
|
13
|
-
import { Invoke } from "#protocol";
|
|
13
|
+
import { ClientInteraction, Invoke } from "#protocol";
|
|
14
14
|
import {
|
|
15
15
|
Attribute,
|
|
16
16
|
AttributeId,
|
|
17
17
|
ClusterComposer,
|
|
18
18
|
ClusterId,
|
|
19
19
|
ClusterRegistry,
|
|
20
|
-
ClusterType,
|
|
21
20
|
Command,
|
|
22
21
|
CommandId,
|
|
23
22
|
MutableCluster,
|
|
@@ -137,8 +136,7 @@ function generateType(analysis: ShapeAnalysis, baseType: Behavior.Type): Cluster
|
|
|
137
136
|
// Add command implementations
|
|
138
137
|
for (const id of analysis.shape.commands) {
|
|
139
138
|
const name = schema.get(CommandModel, id)?.name ?? createUnknownName("command", id);
|
|
140
|
-
|
|
141
|
-
type.prototype[camelize(name, false)] = implementCommand(command);
|
|
139
|
+
type.prototype[camelize(name, false)] = implementCommand(camelize(name));
|
|
142
140
|
}
|
|
143
141
|
|
|
144
142
|
return type;
|
|
@@ -152,33 +150,35 @@ function generateType(analysis: ShapeAnalysis, baseType: Behavior.Type): Cluster
|
|
|
152
150
|
isCloned = true;
|
|
153
151
|
}
|
|
154
152
|
|
|
155
|
-
function implementCommand(command:
|
|
153
|
+
function implementCommand(command: string) {
|
|
156
154
|
return async function (this: ClusterBehavior, fields?: {}) {
|
|
157
155
|
const node = this.env.get(Node) as ClientNode;
|
|
158
156
|
|
|
159
|
-
const chunks = node.interaction.invoke(
|
|
160
|
-
Invoke(
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
157
|
+
const chunks = (node.interaction as ClientInteraction).invoke(
|
|
158
|
+
Invoke({
|
|
159
|
+
commands: [
|
|
160
|
+
Invoke.ConcreteCommandRequest<any>({
|
|
161
|
+
endpoint: this.endpoint,
|
|
162
|
+
cluster,
|
|
163
|
+
command,
|
|
164
|
+
fields,
|
|
165
|
+
}),
|
|
166
|
+
],
|
|
167
|
+
}),
|
|
168
168
|
);
|
|
169
169
|
|
|
170
170
|
for await (const chunk of chunks) {
|
|
171
171
|
for (const entry of chunk) {
|
|
172
|
-
//
|
|
172
|
+
// We send only one command, so we only get one response back
|
|
173
173
|
switch (entry.kind) {
|
|
174
174
|
case "cmd-status":
|
|
175
175
|
if (entry.status !== Status.Success) {
|
|
176
176
|
throw StatusResponseError.create(entry.status, undefined, entry.clusterStatus);
|
|
177
177
|
}
|
|
178
|
-
|
|
178
|
+
return;
|
|
179
179
|
|
|
180
180
|
case "cmd-response":
|
|
181
|
-
return
|
|
181
|
+
return entry.data;
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
184
|
}
|
|
@@ -7,10 +7,11 @@
|
|
|
7
7
|
import type { ActionContext } from "#behavior/context/ActionContext.js";
|
|
8
8
|
import { EndpointInitializer } from "#endpoint/properties/EndpointInitializer.js";
|
|
9
9
|
import type { ClientNode } from "#node/ClientNode.js";
|
|
10
|
-
import
|
|
10
|
+
import {
|
|
11
|
+
ClientInteraction,
|
|
12
|
+
ClientInvoke,
|
|
13
|
+
DecodedInvokeResult,
|
|
11
14
|
Interactable,
|
|
12
|
-
InvokeRequest,
|
|
13
|
-
InvokeResult,
|
|
14
15
|
Read,
|
|
15
16
|
ReadResult,
|
|
16
17
|
Subscribe,
|
|
@@ -18,7 +19,6 @@ import type {
|
|
|
18
19
|
Write,
|
|
19
20
|
WriteResult,
|
|
20
21
|
} from "#protocol";
|
|
21
|
-
import { ClientInteraction } from "#protocol";
|
|
22
22
|
import { ClientEndpointInitializer } from "./ClientEndpointInitializer.js";
|
|
23
23
|
|
|
24
24
|
/**
|
|
@@ -31,6 +31,12 @@ export class ClientNodeInteraction implements Interactable<ActionContext> {
|
|
|
31
31
|
this.#node = node;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
+
/**
|
|
35
|
+
* Read chosen attributes remotely from the node. Known data versions are automatically injected into the request to
|
|
36
|
+
* optimize the read.
|
|
37
|
+
* Therefore, the returned data only contains attributes that have changed since the last read or subscription.
|
|
38
|
+
* TODO: Allow control of data version injection and enrich response with attribute data missing in response due to data versioning.
|
|
39
|
+
*/
|
|
34
40
|
async *read(request: Read, context?: ActionContext): ReadResult {
|
|
35
41
|
request = this.structure.injectVersionFilters(request);
|
|
36
42
|
const interaction = await this.#connect();
|
|
@@ -38,6 +44,10 @@ export class ClientNodeInteraction implements Interactable<ActionContext> {
|
|
|
38
44
|
yield* this.structure.mutate(request, response);
|
|
39
45
|
}
|
|
40
46
|
|
|
47
|
+
/**
|
|
48
|
+
* Subscribe to chosen attributes remotely from the node. Data are automatically updated in the storage and not
|
|
49
|
+
* returned. The subscription response message with the subscription id and the maxInterval is returned.
|
|
50
|
+
*/
|
|
41
51
|
async subscribe(request: Subscribe, context?: ActionContext): SubscribeResult {
|
|
42
52
|
const intermediateRequest: Subscribe = {
|
|
43
53
|
...this.structure.injectVersionFilters(request),
|
|
@@ -67,11 +77,15 @@ export class ClientNodeInteraction implements Interactable<ActionContext> {
|
|
|
67
77
|
this.#node.env.get(ClientInteraction).cancelSubscription(id);
|
|
68
78
|
}
|
|
69
79
|
|
|
80
|
+
/**
|
|
81
|
+
* Write chosen attributes remotely to the node.
|
|
82
|
+
* The returned attribute write status information is returned.
|
|
83
|
+
*/
|
|
70
84
|
async write<T extends Write>(request: T, context?: ActionContext): WriteResult<T> {
|
|
71
85
|
return (await this.#connect()).write(request, context);
|
|
72
86
|
}
|
|
73
87
|
|
|
74
|
-
async *invoke(request:
|
|
88
|
+
async *invoke(request: ClientInvoke, context?: ActionContext): DecodedInvokeResult {
|
|
75
89
|
yield* (await this.#connect()).invoke(request, context);
|
|
76
90
|
}
|
|
77
91
|
|
|
@@ -35,7 +35,14 @@ import type {
|
|
|
35
35
|
InteractionSession,
|
|
36
36
|
NodeProtocol,
|
|
37
37
|
} from "#protocol";
|
|
38
|
-
import {
|
|
38
|
+
import {
|
|
39
|
+
EventTypeProtocol,
|
|
40
|
+
FabricManager,
|
|
41
|
+
hasRemoteActor,
|
|
42
|
+
OccurrenceManager,
|
|
43
|
+
toWildcardOrHexPath,
|
|
44
|
+
Val,
|
|
45
|
+
} from "#protocol";
|
|
39
46
|
import {
|
|
40
47
|
AttributeId,
|
|
41
48
|
AttributePath,
|
|
@@ -554,7 +561,7 @@ function invokeCommand(
|
|
|
554
561
|
const context = session as ActionContext;
|
|
555
562
|
|
|
556
563
|
logger.info(
|
|
557
|
-
"Invoke",
|
|
564
|
+
"Invoke «",
|
|
558
565
|
Diagnostic.strong(`${path.toString()}.${command.name}`),
|
|
559
566
|
session.transaction.via,
|
|
560
567
|
requestDiagnostic,
|
|
@@ -629,13 +636,6 @@ function invokeCommand(
|
|
|
629
636
|
return result as MaybePromise<Val.Struct | undefined>;
|
|
630
637
|
}
|
|
631
638
|
|
|
632
|
-
function toWildcardOrHex(name: string, value: number | bigint | undefined) {
|
|
633
|
-
if (value === undefined) {
|
|
634
|
-
return "*";
|
|
635
|
-
}
|
|
636
|
-
return `${name}:0x${value.toString(16)}`;
|
|
637
|
-
}
|
|
638
|
-
|
|
639
639
|
/**
|
|
640
640
|
* Resolve a path into a human readable textual form for logging
|
|
641
641
|
* TODO: Add a Diagnostic display formatter for this
|
|
@@ -656,35 +656,35 @@ function resolvePathForNode(node: NodeProtocol, path: AttributePath | EventPath
|
|
|
656
656
|
: undefined;
|
|
657
657
|
|
|
658
658
|
if (endpointId === undefined) {
|
|
659
|
-
return `*.${
|
|
659
|
+
return `*.${toWildcardOrHexPath("", clusterId)}.${toWildcardOrHexPath("", elementId)}${postString}`;
|
|
660
660
|
}
|
|
661
661
|
|
|
662
662
|
const endpoint = node[endpointId];
|
|
663
663
|
if (endpoint === undefined) {
|
|
664
|
-
return `${
|
|
664
|
+
return `${toWildcardOrHexPath("?", endpointId)}.${toWildcardOrHexPath("", clusterId)}.${toWildcardOrHexPath("", elementId)}${postString}`;
|
|
665
665
|
}
|
|
666
|
-
const endpointName =
|
|
666
|
+
const endpointName = toWildcardOrHexPath(endpoint.name, endpointId);
|
|
667
667
|
|
|
668
668
|
if (clusterId === undefined) {
|
|
669
|
-
return `${endpointName}.*.${
|
|
669
|
+
return `${endpointName}.*.${toWildcardOrHexPath("", elementId)}${postString}`;
|
|
670
670
|
}
|
|
671
671
|
|
|
672
672
|
const cluster = endpoint[clusterId];
|
|
673
673
|
if (cluster === undefined) {
|
|
674
|
-
return `${endpointName}.${
|
|
674
|
+
return `${endpointName}.${toWildcardOrHexPath("?", clusterId)}.${toWildcardOrHexPath("", elementId)}${postString}`;
|
|
675
675
|
}
|
|
676
|
-
const clusterName =
|
|
676
|
+
const clusterName = toWildcardOrHexPath(cluster.type.name, clusterId);
|
|
677
677
|
|
|
678
678
|
if (elementId !== undefined) {
|
|
679
679
|
if ("eventId" in path) {
|
|
680
680
|
const event = cluster.type.events[elementId];
|
|
681
|
-
return `${endpointName}.${clusterName}.${
|
|
681
|
+
return `${endpointName}.${clusterName}.${toWildcardOrHexPath(event?.name ?? "?", elementId)}${postString}`;
|
|
682
682
|
} else if ("attributeId" in path) {
|
|
683
683
|
const attribute = cluster.type.attributes[elementId];
|
|
684
|
-
return `${endpointName}.${clusterName}.${
|
|
684
|
+
return `${endpointName}.${clusterName}.${toWildcardOrHexPath(attribute?.name ?? "?", elementId)}${postString}`;
|
|
685
685
|
} else if ("commandId" in path) {
|
|
686
686
|
const command = cluster.type.commands[elementId];
|
|
687
|
-
return `${endpointName}.${clusterName}.${
|
|
687
|
+
return `${endpointName}.${clusterName}.${toWildcardOrHexPath(command?.name ?? "?", elementId)}${postString}`;
|
|
688
688
|
} else {
|
|
689
689
|
throw new ImplementationError("Invalid path");
|
|
690
690
|
}
|
|
@@ -46,6 +46,7 @@ import {
|
|
|
46
46
|
DEFAULT_MAX_PATHS_PER_INVOKE,
|
|
47
47
|
INTERACTION_PROTOCOL_ID,
|
|
48
48
|
ReceivedStatusResponseError,
|
|
49
|
+
Status,
|
|
49
50
|
StatusCode,
|
|
50
51
|
StatusResponseError,
|
|
51
52
|
TlvAny,
|
|
@@ -256,14 +257,20 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
256
257
|
eventFilters,
|
|
257
258
|
interactionModelRevision,
|
|
258
259
|
} = readRequest;
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
260
|
+
|
|
261
|
+
logger.debug(() => [
|
|
262
|
+
"Read «",
|
|
263
|
+
exchange.via,
|
|
264
|
+
Diagnostic.asFlags({ fabricFiltered: isFabricFiltered }),
|
|
265
|
+
Diagnostic.dict({
|
|
266
|
+
attributes: `${
|
|
262
267
|
attributeRequests?.map(path => this.#node.protocol.inspectPath(path)).join(", ") ?? "none"
|
|
263
|
-
}${dataVersionFilters?.length ? ` with ${dataVersionFilters?.length} filters` : ""}
|
|
268
|
+
}${dataVersionFilters?.length ? ` with ${dataVersionFilters?.length} filters` : ""}`,
|
|
269
|
+
events: `${
|
|
264
270
|
eventRequests?.map(path => this.#node.protocol.inspectPath(path)).join(", ") ?? "none"
|
|
265
|
-
}${eventFilters?.length ? `, ${eventFilters?.length} filters` : ""}
|
|
266
|
-
|
|
271
|
+
}${eventFilters?.length ? `, ${eventFilters?.length} filters` : ""}`,
|
|
272
|
+
}),
|
|
273
|
+
]);
|
|
267
274
|
|
|
268
275
|
if (interactionModelRevision > Specification.INTERACTION_MODEL_REVISION) {
|
|
269
276
|
logger.debug(
|
|
@@ -303,12 +310,13 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
303
310
|
const { suppressResponse, timedRequest, writeRequests, interactionModelRevision, moreChunkedMessages } =
|
|
304
311
|
writeRequest;
|
|
305
312
|
const sessionType = message.packetHeader.sessionType;
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
313
|
+
|
|
314
|
+
logger.info(() => [
|
|
315
|
+
"Write «",
|
|
316
|
+
exchange.via,
|
|
317
|
+
Diagnostic.asFlags({ suppressResponse, moreChunkedMessages }),
|
|
318
|
+
Diagnostic.weak(writeRequests.map(req => this.#node.protocol.inspectPath(req.path)).join(", ")),
|
|
319
|
+
]);
|
|
312
320
|
|
|
313
321
|
if (moreChunkedMessages && suppressResponse) {
|
|
314
322
|
throw new StatusResponseError(
|
|
@@ -345,9 +353,7 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
345
353
|
}
|
|
346
354
|
|
|
347
355
|
if (receivedWithinTimedInteraction) {
|
|
348
|
-
logger.debug(
|
|
349
|
-
`Write request from ${exchange.channel.name} successfully received while timed interaction is running.`,
|
|
350
|
-
);
|
|
356
|
+
logger.debug("Write request for timed interaction on", exchange.channel.name);
|
|
351
357
|
exchange.clearTimedInteraction();
|
|
352
358
|
if (sessionType !== SessionType.Unicast) {
|
|
353
359
|
throw new StatusResponseError(
|
|
@@ -402,9 +408,16 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
402
408
|
isFabricFiltered,
|
|
403
409
|
interactionModelRevision,
|
|
404
410
|
} = request;
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
411
|
+
|
|
412
|
+
logger.info(() => [
|
|
413
|
+
"Subscribe «",
|
|
414
|
+
exchange.via,
|
|
415
|
+
Diagnostic.asFlags({ fabricFiltered: isFabricFiltered, keepSubscriptions }),
|
|
416
|
+
Diagnostic.dict({
|
|
417
|
+
attributePaths: attributeRequests?.length,
|
|
418
|
+
eventPaths: eventRequests?.length,
|
|
419
|
+
}),
|
|
420
|
+
]);
|
|
408
421
|
|
|
409
422
|
if (interactionModelRevision > Specification.INTERACTION_MODEL_REVISION) {
|
|
410
423
|
logger.debug(
|
|
@@ -442,27 +455,29 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
442
455
|
throw new StatusResponseError("No attributes or events requested", StatusCode.InvalidAction);
|
|
443
456
|
}
|
|
444
457
|
|
|
445
|
-
logger.debug(
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
458
|
+
logger.debug(() => [
|
|
459
|
+
"Subscribe request details «",
|
|
460
|
+
exchange.via,
|
|
461
|
+
Diagnostic.dict({
|
|
462
|
+
attributes: attributeRequests?.length
|
|
463
|
+
? attributeRequests?.map(path => this.#node.protocol.inspectPath(path)).join(", ")
|
|
464
|
+
: undefined,
|
|
465
|
+
dataVersionFilters: dataVersionFilters?.length
|
|
466
|
+
? dataVersionFilters
|
|
467
|
+
.map(
|
|
468
|
+
({ path: { nodeId, endpointId, clusterId }, dataVersion }) =>
|
|
469
|
+
`${clusterPathToId({ nodeId, endpointId, clusterId })}=${dataVersion}`,
|
|
470
|
+
)
|
|
471
|
+
.join(", ")
|
|
472
|
+
: undefined,
|
|
473
|
+
events: eventRequests?.length
|
|
474
|
+
? eventRequests.map(path => this.#node.protocol.inspectPath(path)).join(", ")
|
|
475
|
+
: undefined,
|
|
476
|
+
eventFilters: eventFilters?.length
|
|
477
|
+
? eventFilters.map(filter => `${filter.nodeId}/${filter.eventMin}`).join(", ")
|
|
478
|
+
: undefined,
|
|
479
|
+
}),
|
|
480
|
+
]);
|
|
466
481
|
|
|
467
482
|
// Validate of the paths before proceeding
|
|
468
483
|
attributeRequests?.forEach(path => validateReadAttributesPath(path));
|
|
@@ -507,7 +522,14 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
507
522
|
error instanceof MatterError ? error.message : error,
|
|
508
523
|
);
|
|
509
524
|
if (error instanceof StatusResponseError && !(error instanceof ReceivedStatusResponseError)) {
|
|
510
|
-
logger.info(
|
|
525
|
+
logger.info(
|
|
526
|
+
"Status",
|
|
527
|
+
Diagnostic.strong(`${Status[error.code]}(${error.code})`),
|
|
528
|
+
"»",
|
|
529
|
+
exchange.via,
|
|
530
|
+
"Error:",
|
|
531
|
+
Diagnostic.errorMessage(error),
|
|
532
|
+
);
|
|
511
533
|
await messenger.sendStatus(error.code, {
|
|
512
534
|
logContext: {
|
|
513
535
|
for: "I/SubscriptionSeed-Status",
|
|
@@ -588,10 +610,15 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
588
610
|
}
|
|
589
611
|
|
|
590
612
|
logger.info(
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
613
|
+
"Subscribe successful »",
|
|
614
|
+
exchange.via,
|
|
615
|
+
Diagnostic.dict({
|
|
616
|
+
subId: id,
|
|
617
|
+
timing: `${Duration.format(Seconds(minIntervalFloorSeconds))} - ${Duration.format(Seconds(maxIntervalCeilingSeconds))} => ${Duration.format(subscription.maxInterval)}`,
|
|
618
|
+
sendInterval: Duration.format(subscription.sendInterval),
|
|
619
|
+
}),
|
|
594
620
|
);
|
|
621
|
+
|
|
595
622
|
return subscription;
|
|
596
623
|
}
|
|
597
624
|
|
|
@@ -610,10 +637,18 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
610
637
|
) {
|
|
611
638
|
const exchange = this.#context.exchangeManager.initiateExchange(session.peerAddress, INTERACTION_PROTOCOL_ID);
|
|
612
639
|
const message = {} as Message;
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
640
|
+
|
|
641
|
+
logger.info(
|
|
642
|
+
`Reestablish subscription »`,
|
|
643
|
+
exchange.via,
|
|
644
|
+
Diagnostic.dict({
|
|
645
|
+
subId: subscriptionId,
|
|
646
|
+
isFabricFiltered,
|
|
647
|
+
maxInterval: Duration.format(maxInterval),
|
|
648
|
+
sendInterval: Duration.format(sendInterval),
|
|
649
|
+
}),
|
|
616
650
|
);
|
|
651
|
+
|
|
617
652
|
const context: ServerSubscriptionContext = {
|
|
618
653
|
session,
|
|
619
654
|
node: this.#node,
|
|
@@ -645,10 +680,15 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
645
680
|
true, // Do not send status responses because we simulate that the subscription is still established
|
|
646
681
|
);
|
|
647
682
|
subscription.activate();
|
|
683
|
+
|
|
648
684
|
logger.info(
|
|
649
|
-
`
|
|
650
|
-
|
|
651
|
-
|
|
685
|
+
`Subscription successfully reestablished »`,
|
|
686
|
+
exchange.via,
|
|
687
|
+
Diagnostic.dict({
|
|
688
|
+
subId: subscriptionId,
|
|
689
|
+
timing: `${Duration.format(minIntervalFloor)} - ${Duration.format(maxIntervalCeiling)} => ${Duration.format(subscription.maxInterval)}`,
|
|
690
|
+
sendInterval: Duration.format(subscription.sendInterval),
|
|
691
|
+
}),
|
|
652
692
|
);
|
|
653
693
|
} catch (error) {
|
|
654
694
|
await subscription.close(); // Cleanup
|
|
@@ -664,14 +704,18 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
664
704
|
message: Message,
|
|
665
705
|
): Promise<void> {
|
|
666
706
|
const { invokeRequests, timedRequest, suppressResponse, interactionModelRevision } = request;
|
|
667
|
-
logger.
|
|
668
|
-
|
|
669
|
-
|
|
707
|
+
logger.info(() => [
|
|
708
|
+
"Invoke «",
|
|
709
|
+
exchange.via,
|
|
710
|
+
Diagnostic.asFlags({ suppressResponse, timedRequest }),
|
|
711
|
+
Diagnostic.dict({
|
|
712
|
+
invokes: invokeRequests
|
|
670
713
|
.map(({ commandPath: { endpointId, clusterId, commandId } }) =>
|
|
671
714
|
this.#node.protocol.inspectPath({ endpointId, clusterId, commandId }),
|
|
672
715
|
)
|
|
673
|
-
.join(", ")
|
|
674
|
-
|
|
716
|
+
.join(", "),
|
|
717
|
+
}),
|
|
718
|
+
]);
|
|
675
719
|
|
|
676
720
|
if (interactionModelRevision > Specification.INTERACTION_MODEL_REVISION) {
|
|
677
721
|
logger.debug(
|
|
@@ -693,7 +737,7 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
693
737
|
}
|
|
694
738
|
|
|
695
739
|
if (receivedWithinTimedInteraction) {
|
|
696
|
-
logger.debug(
|
|
740
|
+
logger.debug("Invoke request for timed interaction on", exchange.channel.name);
|
|
697
741
|
exchange.clearTimedInteraction();
|
|
698
742
|
if (message.packetHeader.sessionType !== SessionType.Unicast) {
|
|
699
743
|
throw new StatusResponseError(
|
|
@@ -750,7 +794,8 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
750
794
|
if (invokeResponseMessage.invokeResponses.length > 0) {
|
|
751
795
|
if (invokeRequests.length > 1) {
|
|
752
796
|
logger.debug(
|
|
753
|
-
|
|
797
|
+
`${lastMessageProcessed ? "Final " : ""}Invoke response »`,
|
|
798
|
+
Diagnostic.dict({ commands: invokeResponseMessage.invokeResponses.length }),
|
|
754
799
|
);
|
|
755
800
|
}
|
|
756
801
|
const moreChunkedMessages = lastMessageProcessed ? undefined : true;
|
|
@@ -817,7 +862,13 @@ export class InteractionServer implements ProtocolHandler, InteractionRecipient
|
|
|
817
862
|
handleTimedRequest(exchange: MessageExchange, { timeout, interactionModelRevision }: TimedRequest) {
|
|
818
863
|
const interval = Millis(timeout);
|
|
819
864
|
|
|
820
|
-
logger.debug(
|
|
865
|
+
logger.debug(() => [
|
|
866
|
+
"Timed request «",
|
|
867
|
+
exchange.via,
|
|
868
|
+
Diagnostic.dict({
|
|
869
|
+
interval: Duration.format(interval),
|
|
870
|
+
}),
|
|
871
|
+
]);
|
|
821
872
|
|
|
822
873
|
if (interactionModelRevision > Specification.INTERACTION_MODEL_REVISION) {
|
|
823
874
|
logger.debug(
|
|
@@ -10,7 +10,7 @@ import { Crypto, Observable } from "#general";
|
|
|
10
10
|
import { ChangeNotificationService } from "#node/integration/ChangeNotificationService.js";
|
|
11
11
|
import { ServerEndpointInitializer } from "#node/server/ServerEndpointInitializer.js";
|
|
12
12
|
import type { ServerNode } from "#node/ServerNode.js";
|
|
13
|
-
import { FabricManager, MdnsService, SessionManager } from "#protocol";
|
|
13
|
+
import { FabricManager, MdnsService, OccurrenceManager, SessionManager } from "#protocol";
|
|
14
14
|
import { ServerNodeStore } from "#storage/server/ServerNodeStore.js";
|
|
15
15
|
import { IdentityService } from "./IdentityService.js";
|
|
16
16
|
|
|
@@ -53,6 +53,7 @@ export namespace ServerEnvironment {
|
|
|
53
53
|
env.close(FabricManager);
|
|
54
54
|
await env.close(ChangeNotificationService);
|
|
55
55
|
await env.close(SessionManager);
|
|
56
|
+
await env.close(OccurrenceManager);
|
|
56
57
|
await env.close(ServerNodeStore);
|
|
57
58
|
|
|
58
59
|
// TODO verify how to handle closing down Mdns Server because it normally installs itself on the Root Environment
|
|
@@ -223,7 +223,7 @@ export class ServerSubscription extends Subscription {
|
|
|
223
223
|
if (sendInterval < subscriptionMinInterval) {
|
|
224
224
|
// But not faster than once every 2s
|
|
225
225
|
logger.warn(
|
|
226
|
-
`Determined subscription send interval of ${Duration.format(sendInterval)} is too low. Using maxInterval (${maxInterval}) instead.`,
|
|
226
|
+
`Determined subscription send interval of ${Duration.format(sendInterval)} is too low. Using maxInterval (${Duration.format(maxInterval)}) instead.`,
|
|
227
227
|
);
|
|
228
228
|
sendInterval = subscriptionMinInterval;
|
|
229
229
|
}
|