@matter-server/ws-controller 0.2.2 → 0.2.4-alpha.0-20260116-d0b21f3
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/esm/controller/AttributeDataCache.d.ts.map +1 -1
- package/dist/esm/controller/AttributeDataCache.js +6 -0
- package/dist/esm/controller/AttributeDataCache.js.map +1 -1
- package/dist/esm/controller/ControllerCommandHandler.d.ts +2 -3
- package/dist/esm/controller/ControllerCommandHandler.d.ts.map +1 -1
- package/dist/esm/controller/ControllerCommandHandler.js +46 -103
- package/dist/esm/controller/ControllerCommandHandler.js.map +2 -2
- package/dist/esm/controller/CustomClusterPoller.d.ts +47 -0
- package/dist/esm/controller/CustomClusterPoller.d.ts.map +1 -0
- package/dist/esm/controller/CustomClusterPoller.js +171 -0
- package/dist/esm/controller/CustomClusterPoller.js.map +6 -0
- package/dist/esm/controller/TestNodeCommandHandler.d.ts +1 -6
- package/dist/esm/controller/TestNodeCommandHandler.d.ts.map +1 -1
- package/dist/esm/controller/TestNodeCommandHandler.js +0 -41
- package/dist/esm/controller/TestNodeCommandHandler.js.map +1 -1
- package/dist/esm/server/WebSocketControllerHandler.d.ts +1 -1
- package/dist/esm/server/WebSocketControllerHandler.d.ts.map +1 -1
- package/dist/esm/server/WebSocketControllerHandler.js +4 -2
- package/dist/esm/server/WebSocketControllerHandler.js.map +1 -1
- package/dist/esm/types/CommandHandler.d.ts +0 -4
- package/dist/esm/types/CommandHandler.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/controller/AttributeDataCache.ts +6 -0
- package/src/controller/ControllerCommandHandler.ts +59 -128
- package/src/controller/CustomClusterPoller.ts +250 -0
- package/src/controller/TestNodeCommandHandler.ts +0 -56
- package/src/server/WebSocketControllerHandler.ts +4 -2
- package/src/types/CommandHandler.ts +0 -5
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/controller/CustomClusterPoller.ts"],
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { NodeId, Observable } from "@matter/main";
|
|
7
|
-
import { AttributeResponseStatus, AttributesData, InvokeRequest, MatterNodeData, NodeCommandHandler,
|
|
7
|
+
import { AttributeResponseStatus, AttributesData, InvokeRequest, MatterNodeData, NodeCommandHandler, WriteAttributeRequest } from "../types/CommandHandler.js";
|
|
8
8
|
import { MatterNode } from "../types/WebSocketMessageTypes.js";
|
|
9
9
|
/**
|
|
10
10
|
* Command handler for test nodes (imported diagnostic dumps).
|
|
@@ -51,11 +51,6 @@ export declare class TestNodeCommandHandler implements NodeCommandHandler {
|
|
|
51
51
|
* @returns Array of imported node IDs
|
|
52
52
|
*/
|
|
53
53
|
importTestNodes(dump: string): NodeId[];
|
|
54
|
-
/**
|
|
55
|
-
* Read attributes from a test node.
|
|
56
|
-
* Returns values from the stored attributes map.
|
|
57
|
-
*/
|
|
58
|
-
handleReadAttribute(data: ReadAttributeRequest): Promise<ReadAttributeResponse>;
|
|
59
54
|
/**
|
|
60
55
|
* Write an attribute to a test node.
|
|
61
56
|
* Logs the write and returns success (no actual write occurs).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TestNodeCommandHandler.d.ts","sourceRoot":"","sources":["../../../src/controller/TestNodeCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAU,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EACH,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"TestNodeCommandHandler.d.ts","sourceRoot":"","sources":["../../../src/controller/TestNodeCommandHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAU,MAAM,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EACH,uBAAuB,EACvB,cAAc,EACd,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,qBAAqB,EACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAmB,MAAM,mCAAmC,CAAC;AAIhF;;;GAGG;AACH,qBAAa,sBAAuB,YAAW,kBAAkB;;IAG7D,uCAAuC;IACvC,QAAQ,CAAC,SAAS,uDAAwD;IAE1E,yCAAyC;IACzC,QAAQ,CAAC,WAAW,qCAAsC;IAE1D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAKrD;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIhC;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;IAItB;;OAEG;IACH,QAAQ,IAAI,UAAU,EAAE;IAIxB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAI/C;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ7D;;;OAGG;IACG,oBAAoB,CACtB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EAAE,EACxB,eAAe,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,cAAc,CAAC;IA6B1B;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IA6DvC;;;OAGG;IACG,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAezF;;;OAGG;IACG,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAWzD;;;OAGG;IACG,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAIpF;;;OAGG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIrF;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAYlD"}
|
|
@@ -123,47 +123,6 @@ class TestNodeCommandHandler {
|
|
|
123
123
|
}
|
|
124
124
|
return importedNodeIds;
|
|
125
125
|
}
|
|
126
|
-
/**
|
|
127
|
-
* Read attributes from a test node.
|
|
128
|
-
* Returns values from the stored attributes map.
|
|
129
|
-
*/
|
|
130
|
-
async handleReadAttribute(data) {
|
|
131
|
-
const { nodeId, endpointId, clusterId, attributeId } = data;
|
|
132
|
-
const testNode = this.#testNodes.get(BigInt(nodeId));
|
|
133
|
-
if (testNode === void 0) {
|
|
134
|
-
throw new Error(`Test node ${nodeId} not found`);
|
|
135
|
-
}
|
|
136
|
-
const values = [];
|
|
137
|
-
const hasWildcards = endpointId === void 0 || clusterId === void 0 || attributeId === void 0;
|
|
138
|
-
if (hasWildcards) {
|
|
139
|
-
for (const [attrPath, value] of Object.entries(testNode.attributes)) {
|
|
140
|
-
const parts = attrPath.split("/").map(Number);
|
|
141
|
-
if ((endpointId === void 0 || parts[0] === endpointId) && (clusterId === void 0 || parts[1] === clusterId) && (attributeId === void 0 || parts[2] === attributeId)) {
|
|
142
|
-
values.push({
|
|
143
|
-
endpointId: parts[0],
|
|
144
|
-
clusterId: parts[1],
|
|
145
|
-
attributeId: parts[2],
|
|
146
|
-
dataVersion: 0,
|
|
147
|
-
value
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
} else {
|
|
152
|
-
const path = `${endpointId}/${clusterId}/${attributeId}`;
|
|
153
|
-
const value = testNode.attributes[path];
|
|
154
|
-
if (value !== void 0) {
|
|
155
|
-
values.push({
|
|
156
|
-
endpointId,
|
|
157
|
-
clusterId,
|
|
158
|
-
attributeId,
|
|
159
|
-
dataVersion: 0,
|
|
160
|
-
value
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
logger.debug(`read_attribute for test node ${nodeId}: ${values.length} values`);
|
|
165
|
-
return { values };
|
|
166
|
-
}
|
|
167
126
|
/**
|
|
168
127
|
* Write an attribute to a test node.
|
|
169
128
|
* Logs the write and returns success (no actual write occurs).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/controller/TestNodeCommandHandler.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,QAAQ,QAAQ,kBAAkB;AAC3C,SAAS,sBAAsB,0BAA0B;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -10,7 +10,7 @@ import { ConfigStorage } from "./ConfigStorage.js";
|
|
|
10
10
|
/** WebSocket Server compatible with Schema version 11 */
|
|
11
11
|
export declare class WebSocketControllerHandler implements WebServerHandler {
|
|
12
12
|
#private;
|
|
13
|
-
constructor(controller: MatterController, config: ConfigStorage);
|
|
13
|
+
constructor(controller: MatterController, config: ConfigStorage, serverVersion: string);
|
|
14
14
|
/**
|
|
15
15
|
* Get the event history (last 25 events).
|
|
16
16
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketControllerHandler.d.ts","sourceRoot":"","sources":["../../../src/server/WebSocketControllerHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAKrE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAKH,eAAe,EAMlB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAenD,yDAAyD;AACzD,qBAAa,0BAA2B,YAAW,gBAAgB;;
|
|
1
|
+
{"version":3,"file":"WebSocketControllerHandler.d.ts","sourceRoot":"","sources":["../../../src/server/WebSocketControllerHandler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAKrE,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAKH,eAAe,EAMlB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAenD,yDAAyD;AACzD,qBAAa,0BAA2B,YAAW,gBAAgB;;gBAanD,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM;IA0BtF;;OAEG;IACH,eAAe,IAAI,eAAe,EAAE;IAI9B,QAAQ,CAAC,MAAM,EAAE,UAAU;IA4KjC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CA4oB9B"}
|
|
@@ -30,17 +30,19 @@ class WebSocketControllerHandler {
|
|
|
30
30
|
#commandHandler;
|
|
31
31
|
#testNodeHandler;
|
|
32
32
|
#config;
|
|
33
|
+
#serverVersion;
|
|
33
34
|
#wss;
|
|
34
35
|
#closed = false;
|
|
35
36
|
/** Circular buffer for recent node events (max 25) */
|
|
36
37
|
#eventHistory = [];
|
|
37
38
|
/** Track when each node was last interviewed (connected) - keyed by nodeId */
|
|
38
39
|
#lastInterviewDates = /* @__PURE__ */ new Map();
|
|
39
|
-
constructor(controller, config) {
|
|
40
|
+
constructor(controller, config, serverVersion) {
|
|
40
41
|
this.#controller = controller;
|
|
41
42
|
this.#commandHandler = controller.commandHandler;
|
|
42
43
|
this.#testNodeHandler = new TestNodeCommandHandler();
|
|
43
44
|
this.#config = config;
|
|
45
|
+
this.#serverVersion = serverVersion;
|
|
44
46
|
}
|
|
45
47
|
/**
|
|
46
48
|
* Get the appropriate command handler for a node ID.
|
|
@@ -369,7 +371,7 @@ class WebSocketControllerHandler {
|
|
|
369
371
|
compressed_fabric_id,
|
|
370
372
|
schema_version: SCHEMA_VERSION,
|
|
371
373
|
min_supported_schema_version: SCHEMA_VERSION,
|
|
372
|
-
sdk_version: `matter.js/${MATTER_VERSION}`,
|
|
374
|
+
sdk_version: `matter-server/${this.#serverVersion} (matter.js/${MATTER_VERSION})`,
|
|
373
375
|
wifi_credentials_set: !!(this.#config.wifiSsid && this.#config.wifiCredentials),
|
|
374
376
|
thread_credentials_set: !!this.#config.threadDataset,
|
|
375
377
|
bluetooth_enabled: this.#commandHandler.bleEnabled
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/server/WebSocketControllerHandler.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -230,10 +230,6 @@ export interface NodeCommandHandler {
|
|
|
230
230
|
* Handles wildcards in paths (e.g., asterisk/29/asterisk for all descriptor attributes).
|
|
231
231
|
*/
|
|
232
232
|
handleReadAttributes(nodeId: NodeId, attributePaths: string[], fabricFiltered?: boolean): Promise<AttributesData>;
|
|
233
|
-
/**
|
|
234
|
-
* Read attributes from a node.
|
|
235
|
-
*/
|
|
236
|
-
handleReadAttribute(data: ReadAttributeRequest): Promise<ReadAttributeResponse>;
|
|
237
233
|
/**
|
|
238
234
|
* Write an attribute to a node.
|
|
239
235
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandHandler.d.ts","sourceRoot":"","sources":["../../../src/types/CommandHandler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CommandHandler.d.ts","sourceRoot":"","sources":["../../../src/types/CommandHandler.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter-server/ws-controller",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4-alpha.0-20260116-d0b21f3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "matter.js based Matter controller library",
|
|
6
6
|
"bugs": {
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
"node": ">=20.19.0 <22.0.0 || >=22.13.0"
|
|
23
23
|
},
|
|
24
24
|
"optionalDependencies": {
|
|
25
|
-
"@matter/nodejs-ble": "0.16.
|
|
25
|
+
"@matter/nodejs-ble": "0.16.4"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@matter/main": "0.16.
|
|
29
|
-
"@project-chip/matter.js": "0.16.
|
|
28
|
+
"@matter/main": "0.16.4",
|
|
29
|
+
"@project-chip/matter.js": "0.16.4",
|
|
30
30
|
"ws": "^8.18.3"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
@@ -87,6 +87,9 @@ export class AttributeDataCache {
|
|
|
87
87
|
clusterData?.attributes[attributeId],
|
|
88
88
|
clusterData?.model,
|
|
89
89
|
);
|
|
90
|
+
if (convertedValue === undefined) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
90
93
|
clusterCache.set(attributeId, convertedValue);
|
|
91
94
|
}
|
|
92
95
|
|
|
@@ -174,6 +177,9 @@ export class AttributeDataCache {
|
|
|
174
177
|
clusterData?.attributes[attribute.id],
|
|
175
178
|
clusterData?.model,
|
|
176
179
|
);
|
|
180
|
+
if (convertedValue === undefined) {
|
|
181
|
+
continue;
|
|
182
|
+
}
|
|
177
183
|
clusterCache.set(attribute.id, convertedValue);
|
|
178
184
|
}
|
|
179
185
|
|
|
@@ -8,7 +8,6 @@ import { AsyncObservable, isObject } from "@matter/general";
|
|
|
8
8
|
import {
|
|
9
9
|
Bytes,
|
|
10
10
|
ClientNodeInteraction,
|
|
11
|
-
ClusterBehavior,
|
|
12
11
|
FabricId,
|
|
13
12
|
FabricIndex,
|
|
14
13
|
ipv4BytesToString,
|
|
@@ -40,6 +39,7 @@ import {
|
|
|
40
39
|
} from "@matter/main/protocol";
|
|
41
40
|
import {
|
|
42
41
|
Attribute,
|
|
42
|
+
AttributeId,
|
|
43
43
|
ClusterId,
|
|
44
44
|
Command,
|
|
45
45
|
DeviceTypeId,
|
|
@@ -62,7 +62,7 @@ import {
|
|
|
62
62
|
VendorId,
|
|
63
63
|
} from "@matter/main/types";
|
|
64
64
|
import { CommissioningController, NodeCommissioningOptions } from "@project-chip/matter.js";
|
|
65
|
-
import {
|
|
65
|
+
import { NodeStates } from "@project-chip/matter.js/device";
|
|
66
66
|
import { ClusterMap, ClusterMapEntry } from "../model/ModelMapper.js";
|
|
67
67
|
import {
|
|
68
68
|
buildAttributePath,
|
|
@@ -83,8 +83,6 @@ import {
|
|
|
83
83
|
MatterNodeData,
|
|
84
84
|
OpenCommissioningWindowRequest,
|
|
85
85
|
OpenCommissioningWindowResponse,
|
|
86
|
-
ReadAttributeRequest,
|
|
87
|
-
ReadAttributeResponse,
|
|
88
86
|
ReadEventRequest,
|
|
89
87
|
ReadEventResponse,
|
|
90
88
|
SubscribeAttributeRequest,
|
|
@@ -104,6 +102,7 @@ import {
|
|
|
104
102
|
UpdateSource,
|
|
105
103
|
} from "../types/WebSocketMessageTypes.js";
|
|
106
104
|
import { pingIp } from "../util/network.js";
|
|
105
|
+
import { CustomClusterPoller } from "./CustomClusterPoller.js";
|
|
107
106
|
import { Nodes } from "./Nodes.js";
|
|
108
107
|
|
|
109
108
|
const logger = Logger.get("ControllerCommandHandler");
|
|
@@ -118,6 +117,8 @@ export class ControllerCommandHandler {
|
|
|
118
117
|
#nodes = new Nodes();
|
|
119
118
|
/** Cache of available updates keyed by nodeId */
|
|
120
119
|
#availableUpdates = new Map<NodeId, SoftwareUpdateInfo>();
|
|
120
|
+
/** Poller for custom cluster attributes (Eve energy, etc.) */
|
|
121
|
+
#customClusterPoller: CustomClusterPoller;
|
|
121
122
|
events = {
|
|
122
123
|
started: new AsyncObservable(),
|
|
123
124
|
attributeChanged: new Observable<[nodeId: NodeId, data: DecodedAttributeReportValue<any>]>(),
|
|
@@ -135,6 +136,13 @@ export class ControllerCommandHandler {
|
|
|
135
136
|
|
|
136
137
|
this.#bleEnabled = bleEnabled;
|
|
137
138
|
this.#otaEnabled = otaEnabled;
|
|
139
|
+
|
|
140
|
+
// Initialize custom cluster poller for Eve energy attributes etc.
|
|
141
|
+
// Reads automatically trigger change events through the normal attribute flow
|
|
142
|
+
this.#customClusterPoller = new CustomClusterPoller({
|
|
143
|
+
handleReadAttributes: (nodeId, paths, fabricFiltered) =>
|
|
144
|
+
this.handleReadAttributes(nodeId, paths, fabricFiltered),
|
|
145
|
+
});
|
|
138
146
|
}
|
|
139
147
|
|
|
140
148
|
get started() {
|
|
@@ -206,6 +214,7 @@ export class ControllerCommandHandler {
|
|
|
206
214
|
|
|
207
215
|
close() {
|
|
208
216
|
if (!this.#started) return;
|
|
217
|
+
this.#customClusterPoller.stop();
|
|
209
218
|
return this.#controller.close();
|
|
210
219
|
}
|
|
211
220
|
|
|
@@ -225,6 +234,11 @@ export class ControllerCommandHandler {
|
|
|
225
234
|
// Only refresh cache on Connected state (not Reconnecting, WaitingForDiscovery, etc.)
|
|
226
235
|
if (state === NodeStates.Connected) {
|
|
227
236
|
attributeCache.update(node);
|
|
237
|
+
// Register for custom cluster polling (e.g., Eve energy) after cache is updated
|
|
238
|
+
const attributes = attributeCache.get(nodeId);
|
|
239
|
+
if (attributes) {
|
|
240
|
+
this.#customClusterPoller.registerNode(nodeId, attributes);
|
|
241
|
+
}
|
|
228
242
|
}
|
|
229
243
|
this.events.nodeStateChanged.emit(nodeId, state);
|
|
230
244
|
});
|
|
@@ -245,6 +259,11 @@ export class ControllerCommandHandler {
|
|
|
245
259
|
// Initialize attribute cache if node is already initialized
|
|
246
260
|
if (node.initialized) {
|
|
247
261
|
attributeCache.add(node);
|
|
262
|
+
// Register for custom cluster polling (e.g., Eve energy)
|
|
263
|
+
const attributes = attributeCache.get(nodeId);
|
|
264
|
+
if (attributes) {
|
|
265
|
+
this.#customClusterPoller.registerNode(nodeId, attributes);
|
|
266
|
+
}
|
|
248
267
|
}
|
|
249
268
|
|
|
250
269
|
return node;
|
|
@@ -359,114 +378,55 @@ export class ControllerCommandHandler {
|
|
|
359
378
|
|
|
360
379
|
/**
|
|
361
380
|
* Read multiple attributes from a node by path strings.
|
|
362
|
-
*
|
|
381
|
+
* Supports wildcards in paths. Batches up to 9 paths per read call.
|
|
363
382
|
*/
|
|
364
383
|
async handleReadAttributes(
|
|
365
384
|
nodeId: NodeId,
|
|
366
385
|
attributePaths: string[],
|
|
367
386
|
fabricFiltered = false,
|
|
368
387
|
): Promise<AttributesData> {
|
|
369
|
-
const node = this.#nodes.get(nodeId);
|
|
370
|
-
|
|
371
388
|
const result: AttributesData = {};
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
const
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
for (const path of attributePaths) {
|
|
391
|
-
const { endpointId, clusterId, attributeId } = splitAttributePath(path);
|
|
392
|
-
|
|
393
|
-
// For wildcard paths, filter from collected attributes
|
|
394
|
-
if (path.includes("*") && allAttributes !== undefined) {
|
|
395
|
-
for (const [attrPath, value] of Object.entries(allAttributes)) {
|
|
396
|
-
const parts = attrPath.split("/").map(Number);
|
|
397
|
-
if (
|
|
398
|
-
(endpointId === undefined || parts[0] === endpointId) &&
|
|
399
|
-
(clusterId === undefined || parts[1] === clusterId) &&
|
|
400
|
-
(attributeId === undefined || parts[2] === attributeId)
|
|
401
|
-
) {
|
|
402
|
-
result[attrPath] = value;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
continue;
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
// For non-wildcard paths, use the SDK to read the specific attribute
|
|
409
|
-
const { values, status } = await this.handleReadAttribute({
|
|
410
|
-
nodeId,
|
|
411
|
-
endpointId,
|
|
412
|
-
clusterId,
|
|
413
|
-
attributeId,
|
|
414
|
-
fabricFiltered,
|
|
389
|
+
const client = await this.#nodes.interactionClientFor(nodeId);
|
|
390
|
+
const batchSize = 9;
|
|
391
|
+
|
|
392
|
+
// Parse all paths (wildcards become undefined for that component)
|
|
393
|
+
const parsedPaths = attributePaths.map(path => splitAttributePath(path));
|
|
394
|
+
|
|
395
|
+
// Process in batches of up to 9
|
|
396
|
+
for (let i = 0; i < parsedPaths.length; i += batchSize) {
|
|
397
|
+
const batch = parsedPaths.slice(i, i + batchSize);
|
|
398
|
+
const attributes = batch.map(({ endpointId, clusterId, attributeId }) => ({
|
|
399
|
+
endpointId: endpointId !== undefined ? EndpointNumber(endpointId) : undefined,
|
|
400
|
+
clusterId: clusterId !== undefined ? ClusterId(clusterId) : undefined,
|
|
401
|
+
attributeId: attributeId !== undefined ? AttributeId(attributeId) : undefined,
|
|
402
|
+
}));
|
|
403
|
+
|
|
404
|
+
const { attributeData, attributeStatus } = await client.getMultipleAttributesAndStatus({
|
|
405
|
+
attributes,
|
|
406
|
+
isFabricFiltered: fabricFiltered,
|
|
415
407
|
});
|
|
416
408
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
result[pathStr] = value;
|
|
428
|
-
}
|
|
429
|
-
} else if (status && status.length > 0) {
|
|
430
|
-
logger.warn(`Failed to read attribute ${path}: status=${JSON.stringify(status)}`);
|
|
409
|
+
for (const { path: attrPath, value } of attributeData) {
|
|
410
|
+
const { pathStr, value: wsValue } = this.#convertAttributeToWebSocket(
|
|
411
|
+
{
|
|
412
|
+
endpointId: EndpointNumber(attrPath.endpointId),
|
|
413
|
+
clusterId: ClusterId(attrPath.clusterId),
|
|
414
|
+
attributeId: attrPath.attributeId,
|
|
415
|
+
},
|
|
416
|
+
value,
|
|
417
|
+
);
|
|
418
|
+
result[pathStr] = wsValue;
|
|
431
419
|
}
|
|
432
|
-
}
|
|
433
|
-
|
|
434
|
-
return result;
|
|
435
|
-
}
|
|
436
420
|
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
const endpointId = endpoint.number!;
|
|
442
|
-
for (const behavior of endpoint.endpoint.behaviors.active) {
|
|
443
|
-
if (!ClusterBehavior.is(behavior)) {
|
|
444
|
-
continue;
|
|
445
|
-
}
|
|
446
|
-
const cluster = behavior.cluster;
|
|
447
|
-
const clusterId = cluster.id;
|
|
448
|
-
const clusterData = ClusterMap[cluster.name.toLowerCase()];
|
|
449
|
-
const clusterState = endpoint.endpoint.stateOf(behavior);
|
|
450
|
-
|
|
451
|
-
for (const attributeName in cluster.attributes) {
|
|
452
|
-
const attribute = cluster.attributes[attributeName];
|
|
453
|
-
if (attribute === undefined) {
|
|
454
|
-
continue;
|
|
421
|
+
if (attributeStatus && attributeStatus.length > 0) {
|
|
422
|
+
for (const { path: attrPath, status } of attributeStatus) {
|
|
423
|
+
const pathStr = buildAttributePath(attrPath.endpointId, attrPath.clusterId, attrPath.attributeId);
|
|
424
|
+
logger.warn(`Failed to read attribute ${pathStr}: status=${status}`);
|
|
455
425
|
}
|
|
456
|
-
const attributeValue = (clusterState as Record<string, unknown>)[attributeName];
|
|
457
|
-
const { pathStr, value } = this.#convertAttributeToWebSocket(
|
|
458
|
-
{ endpointId, clusterId, attributeId: attribute.id },
|
|
459
|
-
attributeValue,
|
|
460
|
-
clusterData,
|
|
461
|
-
);
|
|
462
|
-
attributesData[pathStr] = value;
|
|
463
426
|
}
|
|
464
427
|
}
|
|
465
428
|
|
|
466
|
-
|
|
467
|
-
for (const childEndpoint of endpoint.getChildEndpoints()) {
|
|
468
|
-
this.#collectAttributesFromEndpoint(childEndpoint, attributesData);
|
|
469
|
-
}
|
|
429
|
+
return result;
|
|
470
430
|
}
|
|
471
431
|
|
|
472
432
|
/**
|
|
@@ -501,37 +461,6 @@ export class ControllerCommandHandler {
|
|
|
501
461
|
return this.#controller.disconnectNode(nodeId, true);
|
|
502
462
|
}
|
|
503
463
|
|
|
504
|
-
async handleReadAttribute(data: ReadAttributeRequest): Promise<ReadAttributeResponse> {
|
|
505
|
-
const { nodeId, endpointId, clusterId, attributeId, fabricFiltered = true } = data;
|
|
506
|
-
const client = await this.#nodes.interactionClientFor(nodeId);
|
|
507
|
-
|
|
508
|
-
// Note: This method is for direct SDK reads with explicit paths.
|
|
509
|
-
// Wildcard handling is done at the WebSocket layer before calling this method.
|
|
510
|
-
const { attributeData, attributeStatus } = await client.getMultipleAttributesAndStatus({
|
|
511
|
-
attributes: [{ endpointId, clusterId, attributeId }],
|
|
512
|
-
isFabricFiltered: fabricFiltered,
|
|
513
|
-
});
|
|
514
|
-
|
|
515
|
-
return {
|
|
516
|
-
values: attributeData.map(
|
|
517
|
-
({ path: { endpointId, clusterId, attributeId }, value, version: dataVersion }) => ({
|
|
518
|
-
attributeId,
|
|
519
|
-
clusterId,
|
|
520
|
-
dataVersion,
|
|
521
|
-
endpointId,
|
|
522
|
-
value,
|
|
523
|
-
}),
|
|
524
|
-
),
|
|
525
|
-
status: attributeStatus?.map(({ path: { endpointId, clusterId, attributeId }, status, clusterStatus }) => ({
|
|
526
|
-
attributeId,
|
|
527
|
-
clusterId,
|
|
528
|
-
endpointId,
|
|
529
|
-
status,
|
|
530
|
-
clusterStatus,
|
|
531
|
-
})),
|
|
532
|
-
};
|
|
533
|
-
}
|
|
534
|
-
|
|
535
464
|
async handleReadEvent(data: ReadEventRequest): Promise<ReadEventResponse> {
|
|
536
465
|
const { nodeId, endpointId, clusterId, eventId, eventMin } = data;
|
|
537
466
|
const client = await this.#nodes.interactionClientFor(nodeId);
|
|
@@ -999,6 +928,8 @@ export class ControllerCommandHandler {
|
|
|
999
928
|
await this.#controller.removeNode(nodeId, !!node?.isConnected);
|
|
1000
929
|
// Remove node from storage (also clears attribute cache)
|
|
1001
930
|
this.#nodes.delete(nodeId);
|
|
931
|
+
// Unregister from custom cluster polling
|
|
932
|
+
this.#customClusterPoller.unregisterNode(nodeId);
|
|
1002
933
|
// Emit nodeDecommissioned event after successful removal
|
|
1003
934
|
this.events.nodeDecommissioned.emit(nodeId);
|
|
1004
935
|
}
|