@matter-server/ws-controller 0.5.7 → 0.5.9
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/ControllerCommandHandler.d.ts +3 -3
- package/dist/esm/controller/ControllerCommandHandler.d.ts.map +1 -1
- package/dist/esm/controller/ControllerCommandHandler.js +2 -2
- package/dist/esm/controller/ControllerCommandHandler.js.map +1 -1
- package/dist/esm/controller/CustomClusterPoller.d.ts +2 -2
- package/dist/esm/controller/CustomClusterPoller.d.ts.map +1 -1
- package/dist/esm/controller/CustomClusterPoller.js +21 -5
- package/dist/esm/controller/CustomClusterPoller.js.map +1 -1
- package/dist/esm/controller/LegacyDataInjector.d.ts +3 -3
- package/dist/esm/controller/LegacyDataInjector.d.ts.map +1 -1
- package/dist/esm/controller/LegacyDataInjector.js +5 -1
- package/dist/esm/controller/LegacyDataInjector.js.map +1 -1
- package/dist/esm/controller/MatterController.d.ts.map +1 -1
- package/dist/esm/controller/MatterController.js +3 -3
- package/dist/esm/controller/MatterController.js.map +1 -1
- package/dist/esm/controller/TestNodeCommandHandler.d.ts +1 -1
- package/dist/esm/controller/TestNodeCommandHandler.d.ts.map +1 -1
- package/dist/esm/model/ModelMapper.js +2 -2
- package/dist/esm/model/ModelMapper.js.map +1 -1
- package/dist/esm/server/ConfigStorage.d.ts +2 -2
- package/dist/esm/server/ConfigStorage.d.ts.map +1 -1
- package/dist/esm/server/ConfigStorage.js.map +1 -1
- package/dist/esm/server/Converters.js +4 -4
- package/dist/esm/server/Converters.js.map +1 -1
- package/dist/esm/server/WebSocketControllerHandler.d.ts.map +1 -1
- package/dist/esm/server/WebSocketControllerHandler.js +7 -5
- package/dist/esm/server/WebSocketControllerHandler.js.map +1 -1
- package/dist/esm/types/CommandHandler.d.ts +2 -4
- package/dist/esm/types/CommandHandler.d.ts.map +1 -1
- package/dist/esm/types/WebSocketMessageTypes.d.ts +6 -453
- package/dist/esm/types/WebSocketMessageTypes.d.ts.map +1 -1
- package/dist/esm/types/WebSocketMessageTypes.js +4 -7
- package/dist/esm/types/WebSocketMessageTypes.js.map +2 -2
- package/package.json +7 -6
- package/src/controller/ControllerCommandHandler.ts +2 -2
- package/src/controller/CustomClusterPoller.ts +21 -7
- package/src/controller/LegacyDataInjector.ts +8 -4
- package/src/controller/MatterController.ts +4 -3
- package/src/model/ModelMapper.ts +2 -2
- package/src/server/ConfigStorage.ts +2 -2
- package/src/server/Converters.ts +4 -4
- package/src/server/WebSocketControllerHandler.ts +9 -7
- package/src/tsconfig.json +9 -3
- package/src/types/CommandHandler.ts +2 -4
- package/src/types/WebSocketMessageTypes.ts +38 -456
|
@@ -3,460 +3,14 @@
|
|
|
3
3
|
* Copyright 2025-2026 Open Home Foundation
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
export type AttributesData = {
|
|
7
|
-
[key: string]: unknown;
|
|
8
|
-
};
|
|
9
|
-
export interface MatterNode {
|
|
10
|
-
node_id: number | bigint;
|
|
11
|
-
date_commissioned: string;
|
|
12
|
-
last_interview: string;
|
|
13
|
-
interview_version: number;
|
|
14
|
-
available: boolean;
|
|
15
|
-
is_bridge: boolean;
|
|
16
|
-
attributes: AttributesData;
|
|
17
|
-
attribute_subscriptions: [];
|
|
18
|
-
/**
|
|
19
|
-
* Matter specification version of the node (e.g., "1.2.0", "1.3.0", "1.4.0").
|
|
20
|
-
* Determined from the SpecificationVersion attribute (0x15) if available,
|
|
21
|
-
* otherwise estimated from DataModelRevision (0x0) on BasicInformation cluster.
|
|
22
|
-
* Optional - not available in Python Matter Server.
|
|
23
|
-
*/
|
|
24
|
-
matter_version?: string;
|
|
25
|
-
}
|
|
26
|
-
export interface APICommands {
|
|
27
|
-
start_listening: {
|
|
28
|
-
requestArgs: void;
|
|
29
|
-
response: Array<MatterNode>;
|
|
30
|
-
};
|
|
31
|
-
set_default_fabric_label: {
|
|
32
|
-
requestArgs: {
|
|
33
|
-
/** Fabric label (null to clear) */
|
|
34
|
-
label: string | null;
|
|
35
|
-
};
|
|
36
|
-
response: null;
|
|
37
|
-
};
|
|
38
|
-
diagnostics: {
|
|
39
|
-
requestArgs: {};
|
|
40
|
-
response: {
|
|
41
|
-
info: ServerInfoMessage;
|
|
42
|
-
nodes: Array<MatterNode>;
|
|
43
|
-
/** Last 25 node events */
|
|
44
|
-
events: Array<MatterNodeEvent>;
|
|
45
|
-
};
|
|
46
|
-
};
|
|
47
|
-
server_info: {
|
|
48
|
-
requestArgs: {};
|
|
49
|
-
response: ServerInfoMessage;
|
|
50
|
-
};
|
|
51
|
-
get_nodes: {
|
|
52
|
-
requestArgs: {
|
|
53
|
-
only_available?: boolean;
|
|
54
|
-
};
|
|
55
|
-
response: Array<MatterNode>;
|
|
56
|
-
};
|
|
57
|
-
get_node: {
|
|
58
|
-
requestArgs: {
|
|
59
|
-
node_id: number | bigint;
|
|
60
|
-
};
|
|
61
|
-
response: MatterNode;
|
|
62
|
-
};
|
|
63
|
-
commission_with_code: {
|
|
64
|
-
requestArgs: {
|
|
65
|
-
code: string;
|
|
66
|
-
network_only?: boolean;
|
|
67
|
-
};
|
|
68
|
-
response: MatterNode;
|
|
69
|
-
};
|
|
70
|
-
commission_on_network: {
|
|
71
|
-
requestArgs: {
|
|
72
|
-
setup_pin_code: number;
|
|
73
|
-
/** Discovery filter type: 0=None, 1=ShortDiscriminator, 2=LongDiscriminator, 3=VendorId, 4=DeviceType */
|
|
74
|
-
filter_type?: number;
|
|
75
|
-
/** Filter value (discriminator, vendor ID, or device type depending on filter_type) */
|
|
76
|
-
filter?: number;
|
|
77
|
-
/** Direct IP address for commissioning */
|
|
78
|
-
ip_addr?: string;
|
|
79
|
-
};
|
|
80
|
-
response: MatterNode;
|
|
81
|
-
};
|
|
82
|
-
set_wifi_credentials: {
|
|
83
|
-
requestArgs: {
|
|
84
|
-
ssid: string;
|
|
85
|
-
credentials: string;
|
|
86
|
-
};
|
|
87
|
-
response: {};
|
|
88
|
-
};
|
|
89
|
-
set_thread_dataset: {
|
|
90
|
-
requestArgs: {
|
|
91
|
-
dataset: string;
|
|
92
|
-
};
|
|
93
|
-
response: {};
|
|
94
|
-
};
|
|
95
|
-
open_commissioning_window: {
|
|
96
|
-
requestArgs: {
|
|
97
|
-
node_id: number | bigint;
|
|
98
|
-
timeout: number;
|
|
99
|
-
iteration?: number;
|
|
100
|
-
option?: number;
|
|
101
|
-
discriminator?: number | null;
|
|
102
|
-
};
|
|
103
|
-
response: {
|
|
104
|
-
setup_pin_code: number;
|
|
105
|
-
setup_manual_code: string;
|
|
106
|
-
setup_qr_code: string;
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
|
-
discover: {
|
|
110
|
-
requestArgs: {};
|
|
111
|
-
response: CommissionableNodeData[];
|
|
112
|
-
};
|
|
113
|
-
interview_node: {
|
|
114
|
-
requestArgs: {
|
|
115
|
-
node_id: number | bigint;
|
|
116
|
-
};
|
|
117
|
-
response: null;
|
|
118
|
-
};
|
|
119
|
-
device_command: {
|
|
120
|
-
requestArgs: {
|
|
121
|
-
node_id: number | bigint;
|
|
122
|
-
endpoint_id: number;
|
|
123
|
-
cluster_id: number;
|
|
124
|
-
command_name: string;
|
|
125
|
-
payload: unknown;
|
|
126
|
-
response_type: unknown;
|
|
127
|
-
timed_request_timeout_ms?: number | null;
|
|
128
|
-
interaction_timeout_ms?: number | null;
|
|
129
|
-
};
|
|
130
|
-
response: unknown;
|
|
131
|
-
};
|
|
132
|
-
remove_node: {
|
|
133
|
-
requestArgs: {
|
|
134
|
-
node_id: number | bigint;
|
|
135
|
-
};
|
|
136
|
-
response: null;
|
|
137
|
-
};
|
|
138
|
-
get_vendor_names: {
|
|
139
|
-
requestArgs: {
|
|
140
|
-
filter_vendors?: Array<number>;
|
|
141
|
-
};
|
|
142
|
-
response: {
|
|
143
|
-
[key: string]: string;
|
|
144
|
-
};
|
|
145
|
-
};
|
|
146
|
-
subscribe_attribute: {
|
|
147
|
-
requestArgs: {};
|
|
148
|
-
response: {};
|
|
149
|
-
};
|
|
150
|
-
read_attribute: {
|
|
151
|
-
requestArgs: {
|
|
152
|
-
node_id: number | bigint;
|
|
153
|
-
/** Single attribute path or array of paths. Supports wildcards (*) for cluster and attribute IDs. */
|
|
154
|
-
attribute_path: string | string[];
|
|
155
|
-
/** Filter by fabric (default: false) */
|
|
156
|
-
fabric_filtered?: boolean;
|
|
157
|
-
};
|
|
158
|
-
response: AttributesData;
|
|
159
|
-
};
|
|
160
|
-
write_attribute: {
|
|
161
|
-
requestArgs: {
|
|
162
|
-
node_id: number | bigint;
|
|
163
|
-
attribute_path: string;
|
|
164
|
-
value: unknown;
|
|
165
|
-
};
|
|
166
|
-
response: Array<{
|
|
167
|
-
Path: {
|
|
168
|
-
EndpointId: number;
|
|
169
|
-
ClusterId: number;
|
|
170
|
-
AttributeId: number;
|
|
171
|
-
};
|
|
172
|
-
Status: number;
|
|
173
|
-
}>;
|
|
174
|
-
};
|
|
175
|
-
ping_node: {
|
|
176
|
-
requestArgs: {
|
|
177
|
-
node_id: number | bigint;
|
|
178
|
-
/** Number of ping attempts per IP address (default: 1) */
|
|
179
|
-
attempts?: number;
|
|
180
|
-
};
|
|
181
|
-
response: {
|
|
182
|
-
[key: string]: boolean;
|
|
183
|
-
};
|
|
184
|
-
};
|
|
185
|
-
import_test_node: {
|
|
186
|
-
requestArgs: {
|
|
187
|
-
dump: string;
|
|
188
|
-
};
|
|
189
|
-
response: null;
|
|
190
|
-
};
|
|
191
|
-
get_node_ip_addresses: {
|
|
192
|
-
requestArgs: {
|
|
193
|
-
node_id: number | bigint;
|
|
194
|
-
prefer_cache: boolean;
|
|
195
|
-
scoped: boolean;
|
|
196
|
-
};
|
|
197
|
-
response: Array<string>;
|
|
198
|
-
};
|
|
199
|
-
check_node_update: {
|
|
200
|
-
requestArgs: {
|
|
201
|
-
node_id: number | bigint;
|
|
202
|
-
};
|
|
203
|
-
response: MatterSoftwareVersion | null;
|
|
204
|
-
};
|
|
205
|
-
update_node: {
|
|
206
|
-
requestArgs: {
|
|
207
|
-
node_id: number | bigint;
|
|
208
|
-
software_version: number | string;
|
|
209
|
-
};
|
|
210
|
-
response: MatterSoftwareVersion | null;
|
|
211
|
-
};
|
|
212
|
-
discover_commissionable_nodes: {
|
|
213
|
-
requestArgs: {};
|
|
214
|
-
response: CommissionableNodeData[];
|
|
215
|
-
};
|
|
216
|
-
get_matter_fabrics: {
|
|
217
|
-
requestArgs: {
|
|
218
|
-
node_id: number | bigint;
|
|
219
|
-
};
|
|
220
|
-
response: MatterFabricData[];
|
|
221
|
-
};
|
|
222
|
-
remove_matter_fabric: {
|
|
223
|
-
requestArgs: {
|
|
224
|
-
node_id: number | bigint;
|
|
225
|
-
fabric_index: number;
|
|
226
|
-
};
|
|
227
|
-
response: {};
|
|
228
|
-
};
|
|
229
|
-
set_acl_entry: {
|
|
230
|
-
requestArgs: {
|
|
231
|
-
node_id: number | bigint;
|
|
232
|
-
entry: AccessControlEntry[];
|
|
233
|
-
};
|
|
234
|
-
response: AttributeWriteResult[] | null;
|
|
235
|
-
};
|
|
236
|
-
set_node_binding: {
|
|
237
|
-
requestArgs: {
|
|
238
|
-
node_id: number | bigint;
|
|
239
|
-
endpoint: number;
|
|
240
|
-
bindings: BindingTarget[];
|
|
241
|
-
};
|
|
242
|
-
response: AttributeWriteResult[] | null;
|
|
243
|
-
};
|
|
244
|
-
get_loglevel: {
|
|
245
|
-
requestArgs: {};
|
|
246
|
-
response: {
|
|
247
|
-
/** Console log level */
|
|
248
|
-
console_loglevel: LogLevelString;
|
|
249
|
-
/** File log level (null if file logging not enabled) */
|
|
250
|
-
file_loglevel: LogLevelString | null;
|
|
251
|
-
};
|
|
252
|
-
};
|
|
253
|
-
set_loglevel: {
|
|
254
|
-
requestArgs: {
|
|
255
|
-
/** Console log level to set */
|
|
256
|
-
console_loglevel?: LogLevelString;
|
|
257
|
-
/** File log level to set (only applied if file logging is enabled) */
|
|
258
|
-
file_loglevel?: LogLevelString;
|
|
259
|
-
};
|
|
260
|
-
response: {
|
|
261
|
-
/** Console log level after change */
|
|
262
|
-
console_loglevel: LogLevelString;
|
|
263
|
-
/** File log level after change (null if file logging not enabled) */
|
|
264
|
-
file_loglevel: LogLevelString | null;
|
|
265
|
-
};
|
|
266
|
-
};
|
|
267
|
-
}
|
|
268
|
-
/** Log level string values matching CLI options */
|
|
269
|
-
export type LogLevelString = "critical" | "error" | "warning" | "info" | "debug";
|
|
270
|
-
/**
|
|
271
|
-
* Access Control Entry structure for set_acl_entry command.
|
|
272
|
-
* Uses snake_case field names matching our API convention.
|
|
273
|
-
*/
|
|
274
|
-
export interface AccessControlEntry {
|
|
275
|
-
/** 1=View, 3=Operate, 4=Manage, 5=Administer */
|
|
276
|
-
privilege: number;
|
|
277
|
-
/** 1=PASE, 2=CASE, 3=Group */
|
|
278
|
-
auth_mode: number;
|
|
279
|
-
/** List of subject NodeIds or GroupIds */
|
|
280
|
-
subjects: Array<number | bigint> | null;
|
|
281
|
-
/** Optional target restrictions */
|
|
282
|
-
targets: AccessControlTarget[] | null;
|
|
283
|
-
}
|
|
284
|
-
export interface AccessControlTarget {
|
|
285
|
-
cluster: number | null;
|
|
286
|
-
endpoint: number | null;
|
|
287
|
-
device_type: number | null;
|
|
288
|
-
}
|
|
289
|
-
/**
|
|
290
|
-
* Binding target structure for set_node_binding command.
|
|
291
|
-
* Matches Python Matter Server's TargetStruct.
|
|
292
|
-
*/
|
|
293
|
-
export interface BindingTarget {
|
|
294
|
-
/** Target node ID */
|
|
295
|
-
node: number | bigint | null;
|
|
296
|
-
/** Target group ID */
|
|
297
|
-
group: number | null;
|
|
298
|
-
/** Target endpoint */
|
|
299
|
-
endpoint: number | null;
|
|
300
|
-
/** Target cluster */
|
|
301
|
-
cluster: number | null;
|
|
302
|
-
}
|
|
303
|
-
/** Attribute write result for set_acl_entry and set_node_binding responses */
|
|
304
|
-
export interface AttributeWriteResult {
|
|
305
|
-
path: {
|
|
306
|
-
endpoint_id: number;
|
|
307
|
-
cluster_id: number;
|
|
308
|
-
attribute_id: number;
|
|
309
|
-
};
|
|
310
|
-
status: number;
|
|
311
|
-
}
|
|
312
|
-
export interface ServerInfoMessage {
|
|
313
|
-
fabric_id: bigint;
|
|
314
|
-
compressed_fabric_id: bigint;
|
|
315
|
-
fabric_index: number;
|
|
316
|
-
schema_version: number;
|
|
317
|
-
min_supported_schema_version: number;
|
|
318
|
-
sdk_version: string;
|
|
319
|
-
wifi_credentials_set: boolean;
|
|
320
|
-
thread_credentials_set: boolean;
|
|
321
|
-
bluetooth_enabled: boolean;
|
|
322
|
-
}
|
|
323
|
-
/**
|
|
324
|
-
* Matter node event structure for node_event WebSocket event.
|
|
325
|
-
* Matches Python Matter Server's MatterNodeEvent.
|
|
326
|
-
*/
|
|
327
|
-
export interface MatterNodeEvent {
|
|
328
|
-
node_id: number | bigint;
|
|
329
|
-
endpoint_id: number;
|
|
330
|
-
cluster_id: number;
|
|
331
|
-
event_id: number;
|
|
332
|
-
event_number: number | bigint;
|
|
333
|
-
priority: number;
|
|
334
|
-
timestamp: number | bigint;
|
|
335
|
-
timestamp_type: number;
|
|
336
|
-
data: unknown | null;
|
|
337
|
-
}
|
|
338
|
-
interface APIEvents {
|
|
339
|
-
node_added: {
|
|
340
|
-
data: MatterNode;
|
|
341
|
-
};
|
|
342
|
-
node_updated: {
|
|
343
|
-
data: MatterNode;
|
|
344
|
-
};
|
|
345
|
-
node_removed: {
|
|
346
|
-
data: number | bigint;
|
|
347
|
-
};
|
|
348
|
-
node_event: {
|
|
349
|
-
data: MatterNodeEvent;
|
|
350
|
-
};
|
|
351
|
-
attribute_updated: {
|
|
352
|
-
data: [node_id: number | bigint, attribute_path: string, value: unknown];
|
|
353
|
-
};
|
|
354
|
-
server_shutdown: {
|
|
355
|
-
data: Record<string, never>;
|
|
356
|
-
};
|
|
357
|
-
endpoint_added: {
|
|
358
|
-
data: {
|
|
359
|
-
node_id: number | bigint;
|
|
360
|
-
endpoint_id: number;
|
|
361
|
-
};
|
|
362
|
-
};
|
|
363
|
-
endpoint_removed: {
|
|
364
|
-
data: {
|
|
365
|
-
node_id: number | bigint;
|
|
366
|
-
endpoint_id: number;
|
|
367
|
-
};
|
|
368
|
-
};
|
|
369
|
-
server_info_updated: {
|
|
370
|
-
data: ServerInfoMessage;
|
|
371
|
-
};
|
|
372
|
-
}
|
|
373
|
-
export type EventMessage<E extends keyof APIEvents> = {
|
|
374
|
-
event: E;
|
|
375
|
-
data: APIEvents[E]["data"];
|
|
376
|
-
};
|
|
377
|
-
export type EventTypes = keyof APIEvents;
|
|
378
|
-
export interface WebSocketConfig {
|
|
379
|
-
host: string;
|
|
380
|
-
port: string;
|
|
381
|
-
scheme: string;
|
|
382
|
-
path: string;
|
|
383
|
-
}
|
|
384
|
-
export declare enum UpdateSource {
|
|
385
|
-
MAIN_NET_DCL = "main-net-dcl",
|
|
386
|
-
TEST_NET_DCL = "test-net-dcl",
|
|
387
|
-
LOCAL = "local"
|
|
388
|
-
}
|
|
389
|
-
export interface MatterSoftwareVersion {
|
|
390
|
-
vid: number;
|
|
391
|
-
pid: number;
|
|
392
|
-
software_version: number;
|
|
393
|
-
software_version_string: string;
|
|
394
|
-
firmware_information?: string;
|
|
395
|
-
min_applicable_software_version: number;
|
|
396
|
-
max_applicable_software_version: number;
|
|
397
|
-
release_notes_url?: string;
|
|
398
|
-
update_source: UpdateSource;
|
|
399
|
-
}
|
|
400
|
-
export interface CommissioningParameters {
|
|
401
|
-
setup_pin_code: number;
|
|
402
|
-
setup_manual_code: string;
|
|
403
|
-
setup_qr_code: string;
|
|
404
|
-
}
|
|
405
|
-
export interface CommissionableNodeData {
|
|
406
|
-
instance_name?: string;
|
|
407
|
-
host_name?: string;
|
|
408
|
-
port?: number;
|
|
409
|
-
long_discriminator?: number;
|
|
410
|
-
vendor_id?: number;
|
|
411
|
-
product_id?: number;
|
|
412
|
-
commissioning_mode?: number;
|
|
413
|
-
device_type?: number;
|
|
414
|
-
device_name?: string;
|
|
415
|
-
pairing_instruction?: string;
|
|
416
|
-
pairing_hint?: number;
|
|
417
|
-
mrp_retry_interval_idle?: number;
|
|
418
|
-
mrp_retry_interval_active?: number;
|
|
419
|
-
supports_tcp?: boolean;
|
|
420
|
-
addresses?: string[];
|
|
421
|
-
rotating_id?: string;
|
|
422
|
-
}
|
|
423
|
-
export interface MatterFabricData {
|
|
424
|
-
fabric_id?: number | bigint;
|
|
425
|
-
vendor_id?: number;
|
|
426
|
-
fabric_index?: number;
|
|
427
|
-
fabric_label?: string;
|
|
428
|
-
vendor_name?: string;
|
|
429
|
-
}
|
|
430
|
-
export type NotificationType = "success" | "info" | "warning" | "error";
|
|
431
|
-
export type NodePingResult = Record<string, boolean>;
|
|
432
|
-
/**
|
|
433
|
-
* WebSocket Command Message generic type.
|
|
434
|
-
*/
|
|
435
|
-
export interface CommandMessage {
|
|
436
|
-
message_id: string;
|
|
437
|
-
command: keyof APICommands;
|
|
438
|
-
args?: APICommands[keyof APICommands]["requestArgs"];
|
|
439
|
-
}
|
|
440
|
-
/** WebSocket Result Message base fields type */
|
|
441
|
-
interface ResultMessageBase {
|
|
442
|
-
message_id: string;
|
|
443
|
-
}
|
|
444
|
-
/** WebSocket Error Result Message type */
|
|
445
|
-
export interface ErrorResultMessage extends ResultMessageBase {
|
|
446
|
-
error_code: number;
|
|
447
|
-
details?: string;
|
|
448
|
-
}
|
|
449
|
-
/** WebSocket Success Result Message type */
|
|
450
|
-
export interface SuccessResultMessage<T extends keyof APICommands> extends ResultMessageBase {
|
|
451
|
-
result: APICommands[T]["response"];
|
|
452
|
-
}
|
|
453
|
-
export type ArgsOf<R extends keyof APICommands> = APICommands[R]["requestArgs"];
|
|
454
|
-
export type ResponseOf<R extends keyof APICommands> = APICommands[R]["response"];
|
|
455
6
|
/**
|
|
456
|
-
*
|
|
457
|
-
*
|
|
7
|
+
* WebSocket protocol types.
|
|
8
|
+
*
|
|
9
|
+
* Canonical type definitions live in @matter-server/ws-client.
|
|
10
|
+
* This module re-exports them for backward compatibility and adds server-only types.
|
|
458
11
|
*/
|
|
459
|
-
export
|
|
12
|
+
export { type AccessControlEntry, type AccessControlTarget, type APICommands, type APIEvents, type ArgsOf, type AttributesData, type AttributeWriteResult, type BindingTarget, type CommandMessage, type CommissionableNodeData, type CommissioningParameters, type ErrorResultMessage, type EventMessage, type EventTypes, type LogLevelResponse, type LogLevelString, type MatterFabricData, type MatterNodeEvent, type NodePingResult, type NotificationType, type ResponseOf, type ResultMessageBase, type ServerInfoMessage, type SuccessResultMessage, type MatterSoftwareVersion, type WebSocketConfig, TEST_NODE_START, UpdateSource, } from "@matter-server/ws-client";
|
|
13
|
+
export type { MatterNodeData as MatterNode } from "@matter-server/ws-client";
|
|
460
14
|
/**
|
|
461
15
|
* Error codes matching Python Matter Server for API compatibility.
|
|
462
16
|
* @see https://github.com/home-assistant-libs/python-matter-server/blob/main/matter_server/common/errors.py
|
|
@@ -507,5 +61,4 @@ export declare class ServerError extends Error {
|
|
|
507
61
|
static updateCheckError(message: string, cause?: Error): ServerError;
|
|
508
62
|
static updateError(message: string, cause?: Error): ServerError;
|
|
509
63
|
}
|
|
510
|
-
export {};
|
|
511
64
|
//# sourceMappingURL=WebSocketMessageTypes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketMessageTypes.d.ts","sourceRoot":"","sources":["../../../src/types/WebSocketMessageTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebSocketMessageTypes.d.ts","sourceRoot":"","sources":["../../../src/types/WebSocketMessageTypes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AAGH,OAAO,EACH,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,eAAe,EACpB,eAAe,EACf,YAAY,GACf,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAE7E;;;GAGG;AACH,oBAAY,eAAe;IACvB,4BAA4B;IAC5B,YAAY,IAAI;IAChB,gCAAgC;IAChC,oBAAoB,IAAI;IACxB,4BAA4B;IAC5B,mBAAmB,IAAI;IACvB,yDAAyD;IACzD,YAAY,IAAI;IAChB,6DAA6D;IAC7D,gBAAgB,IAAI;IACpB,0BAA0B;IAC1B,aAAa,IAAI;IACjB,2BAA2B;IAC3B,eAAe,IAAI;IACnB,sBAAsB;IACtB,aAAa,IAAI;IACjB,gCAAgC;IAChC,gBAAgB,IAAI;IACpB,8BAA8B;IAC9B,cAAc,IAAI;IAClB,8BAA8B;IAC9B,gBAAgB,KAAK;IACrB,wBAAwB;IACxB,WAAW,KAAK;CACnB;AAED;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;aAEd,IAAI,EAAE,eAAe;gBAArB,IAAI,EAAE,eAAe,EACrC,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,KAAK;IAMjB,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW;IAIhE,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW;IAIxE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW;IAIvE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW;IAIxE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW;IAI5E,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW;IAI1D,MAAM,CAAC,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IAIpD,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW;IAIjE,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IAIrD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW;IAInD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW;IAIpE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW;CAGlE"}
|
|
@@ -3,13 +3,10 @@
|
|
|
3
3
|
* Copyright 2025-2026 Open Home Foundation
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
return UpdateSource2;
|
|
11
|
-
})(UpdateSource || {});
|
|
12
|
-
const TEST_NODE_START = 0xfffffffe00000000n;
|
|
6
|
+
import {
|
|
7
|
+
TEST_NODE_START,
|
|
8
|
+
UpdateSource
|
|
9
|
+
} from "@matter-server/ws-client";
|
|
13
10
|
var ServerErrorCode = /* @__PURE__ */ ((ServerErrorCode2) => {
|
|
14
11
|
ServerErrorCode2[ServerErrorCode2["UnknownError"] = 0] = "UnknownError";
|
|
15
12
|
ServerErrorCode2[ServerErrorCode2["NodeCommissionFailed"] = 1] = "NodeCommissionFailed";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/types/WebSocketMessageTypes.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
5
|
-
"names": ["
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAcA;AAAA,EA2BI;AAAA,EACA;AAAA,OACG;AASA,IAAK,kBAAL,kBAAKA,qBAAL;AAEH,EAAAA,kCAAA,kBAAe,KAAf;AAEA,EAAAA,kCAAA,0BAAuB,KAAvB;AAEA,EAAAA,kCAAA,yBAAsB,KAAtB;AAEA,EAAAA,kCAAA,kBAAe,KAAf;AAEA,EAAAA,kCAAA,sBAAmB,KAAnB;AAEA,EAAAA,kCAAA,mBAAgB,KAAhB;AAEA,EAAAA,kCAAA,qBAAkB,KAAlB;AAEA,EAAAA,kCAAA,mBAAgB,KAAhB;AAEA,EAAAA,kCAAA,sBAAmB,KAAnB;AAEA,EAAAA,kCAAA,oBAAiB,KAAjB;AAEA,EAAAA,kCAAA,sBAAmB,MAAnB;AAEA,EAAAA,kCAAA,iBAAc,MAAd;AAxBQ,SAAAA;AAAA,GAAA;AA+BL,MAAM,oBAAoB,MAAM;AAAA,EACnC,YACoB,MAChB,SACA,OACF;AACE,UAAM,SAAS,EAAE,MAAM,CAAC;AAJR;AAKhB,SAAK,OAAO;AAAA,EAChB;AAAA,EAEA,OAAO,aAAa,SAAiB,OAA4B;AAC7D,WAAO,IAAI,YAAY,sBAA8B,SAAS,KAAK;AAAA,EACvE;AAAA,EAEA,OAAO,qBAAqB,SAAiB,OAA4B;AACrE,WAAO,IAAI,YAAY,8BAAsC,SAAS,KAAK;AAAA,EAC/E;AAAA,EAEA,OAAO,oBAAoB,SAAiB,OAA4B;AACpE,WAAO,IAAI,YAAY,6BAAqC,SAAS,KAAK;AAAA,EAC9E;AAAA,EAEA,OAAO,aAAa,QAAyB,OAA4B;AACrE,WAAO,IAAI,YAAY,sBAA8B,QAAQ,MAAM,iBAAiB,KAAK;AAAA,EAC7F;AAAA,EAEA,OAAO,iBAAiB,QAAyB,OAA4B;AACzE,WAAO,IAAI,YAAY,0BAAkC,QAAQ,MAAM,qBAAqB,KAAK;AAAA,EACrG;AAAA,EAEA,OAAO,cAAc,QAAsC;AACvD,WAAO,IAAI,YAAY,uBAA+B,QAAQ,MAAM,iBAAiB;AAAA,EACzF;AAAA,EAEA,OAAO,gBAAgB,SAA8B;AACjD,WAAO,IAAI,YAAY,yBAAiC,OAAO;AAAA,EACnE;AAAA,EAEA,OAAO,cAAc,SAAiB,OAA4B;AAC9D,WAAO,IAAI,YAAY,uBAA+B,SAAS,KAAK;AAAA,EACxE;AAAA,EAEA,OAAO,iBAAiB,SAA8B;AAClD,WAAO,IAAI,YAAY,0BAAkC,OAAO;AAAA,EACpE;AAAA,EAEA,OAAO,eAAe,SAA8B;AAChD,WAAO,IAAI,YAAY,wBAAgC,oBAAoB,OAAO,EAAE;AAAA,EACxF;AAAA,EAEA,OAAO,iBAAiB,SAAiB,OAA4B;AACjE,WAAO,IAAI,YAAY,2BAAkC,SAAS,KAAK;AAAA,EAC3E;AAAA,EAEA,OAAO,YAAY,SAAiB,OAA4B;AAC5D,WAAO,IAAI,YAAY,sBAA6B,SAAS,KAAK;AAAA,EACtE;AACJ;",
|
|
5
|
+
"names": ["ServerErrorCode"]
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter-server/ws-controller",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.9",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "matter.js based Matter controller library",
|
|
6
6
|
"bugs": {
|
|
@@ -22,15 +22,16 @@
|
|
|
22
22
|
"node": ">=20.19.0 <22.0.0 || >=22.13.0"
|
|
23
23
|
},
|
|
24
24
|
"optionalDependencies": {
|
|
25
|
-
"@matter/nodejs-ble": "0.17.0-alpha.0-
|
|
25
|
+
"@matter/nodejs-ble": "0.17.0-alpha.0-20260326-42b6f59b7"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@matter/main": "0.17.0-alpha.0-
|
|
29
|
-
"@
|
|
30
|
-
"
|
|
28
|
+
"@matter/main": "0.17.0-alpha.0-20260326-42b6f59b7",
|
|
29
|
+
"@matter-server/ws-client": "0.5.9",
|
|
30
|
+
"@project-chip/matter.js": "0.17.0-alpha.0-20260326-42b6f59b7",
|
|
31
|
+
"ws": "^8.20.0"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|
|
33
|
-
"@types/node": "^25.
|
|
34
|
+
"@types/node": "^25.5.0",
|
|
34
35
|
"@types/ws": "^8.18.1"
|
|
35
36
|
},
|
|
36
37
|
"files": [
|
|
@@ -286,9 +286,9 @@ export class ControllerCommandHandler {
|
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
288
|
|
|
289
|
-
close() {
|
|
289
|
+
async close() {
|
|
290
290
|
if (!this.#started) return;
|
|
291
|
-
this.#customClusterPoller.stop();
|
|
291
|
+
await this.#customClusterPoller.stop();
|
|
292
292
|
return this.#controller.close();
|
|
293
293
|
}
|
|
294
294
|
|
|
@@ -32,10 +32,10 @@ const EVE_ENERGY_ATTRIBUTE_IDS = {
|
|
|
32
32
|
// Standard Matter ElectricalPowerMeasurement cluster ID
|
|
33
33
|
const ELECTRICAL_POWER_MEASUREMENT_CLUSTER_ID = 0x0090; // 144
|
|
34
34
|
|
|
35
|
-
// Polling interval in milliseconds (
|
|
36
|
-
const POLLING_INTERVAL_MS =
|
|
35
|
+
// Polling interval in milliseconds (60 seconds)
|
|
36
|
+
const POLLING_INTERVAL_MS = 60_000;
|
|
37
37
|
|
|
38
|
-
// Maximum initial delay in milliseconds (random
|
|
38
|
+
// Maximum initial delay in milliseconds (random 30-60s to stagger startup)
|
|
39
39
|
const MAX_INITIAL_DELAY_MS = 30_000;
|
|
40
40
|
|
|
41
41
|
// Attribute path format: endpoint/cluster/attribute
|
|
@@ -117,11 +117,12 @@ export class CustomClusterPoller {
|
|
|
117
117
|
#attributeReader: NodeAttributeReader;
|
|
118
118
|
#isPolling = false;
|
|
119
119
|
#currentDelayPromise?: CancelablePromise;
|
|
120
|
+
#currentReadPromise?: Promise<void>;
|
|
120
121
|
#closed = false;
|
|
121
122
|
|
|
122
123
|
constructor(attributeReader: NodeAttributeReader) {
|
|
123
124
|
this.#attributeReader = attributeReader;
|
|
124
|
-
const delay = Millis(Math.random() * MAX_INITIAL_DELAY_MS);
|
|
125
|
+
const delay = Millis(MAX_INITIAL_DELAY_MS + Math.random() * MAX_INITIAL_DELAY_MS);
|
|
125
126
|
this.#pollerTimer = Time.getTimer("eve-poller", delay, () => this.#pollAllNodes());
|
|
126
127
|
}
|
|
127
128
|
|
|
@@ -160,13 +161,16 @@ export class CustomClusterPoller {
|
|
|
160
161
|
}
|
|
161
162
|
|
|
162
163
|
/**
|
|
163
|
-
* Stop all polling and cleanup.
|
|
164
|
+
* Stop all polling and cleanup. Awaits any in-flight read operation.
|
|
164
165
|
*/
|
|
165
|
-
stop(): void {
|
|
166
|
+
async stop(): Promise<void> {
|
|
166
167
|
this.#closed = true;
|
|
167
168
|
this.#currentDelayPromise?.cancel(new Error("Close"));
|
|
168
169
|
this.#pollerTimer?.stop();
|
|
169
170
|
this.#polledAttributes.clear();
|
|
171
|
+
if (this.#currentReadPromise) {
|
|
172
|
+
await this.#currentReadPromise;
|
|
173
|
+
}
|
|
170
174
|
logger.info("Custom attribute poller stopped");
|
|
171
175
|
}
|
|
172
176
|
|
|
@@ -210,6 +214,9 @@ export class CustomClusterPoller {
|
|
|
210
214
|
try {
|
|
211
215
|
const entries = Array.from(this.#polledAttributes.entries());
|
|
212
216
|
for (let i = 0; i < entries.length; i++) {
|
|
217
|
+
if (this.#closed) {
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
213
220
|
const [nodeId, attributePaths] = entries[i];
|
|
214
221
|
if (!this.#polledAttributes.has(nodeId)) {
|
|
215
222
|
// Node was removed, so skip it
|
|
@@ -253,9 +260,16 @@ export class CustomClusterPoller {
|
|
|
253
260
|
try {
|
|
254
261
|
// Read with fabricFiltered=true as per Eve's requirements
|
|
255
262
|
// This automatically updates the attribute cache and triggers change events
|
|
256
|
-
|
|
263
|
+
const readPromise = this.#attributeReader.handleReadAttributes(nodeId, paths, true);
|
|
264
|
+
this.#currentReadPromise = readPromise.then(
|
|
265
|
+
() => {},
|
|
266
|
+
() => {},
|
|
267
|
+
);
|
|
268
|
+
await readPromise;
|
|
257
269
|
} catch (error) {
|
|
258
270
|
logger.warn(`Failed to poll custom attributes for node ${nodeId}: `, error);
|
|
271
|
+
} finally {
|
|
272
|
+
this.#currentReadPromise = undefined;
|
|
259
273
|
}
|
|
260
274
|
}
|
|
261
275
|
}
|