@matter/node 0.17.0 → 0.17.1-alpha.0-20260523-3fd1cc4b8
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/behaviors/descriptor/DescriptorServer.d.ts.map +1 -1
- package/dist/cjs/behaviors/descriptor/DescriptorServer.js +5 -8
- package/dist/cjs/behaviors/descriptor/DescriptorServer.js.map +1 -1
- package/dist/cjs/node/NodePhysicalProperties.js +6 -5
- package/dist/cjs/node/NodePhysicalProperties.js.map +1 -1
- package/dist/cjs/node/client/ClientNodePhysicalProperties.d.ts.map +1 -1
- package/dist/cjs/node/client/ClientNodePhysicalProperties.js +17 -1
- package/dist/cjs/node/client/ClientNodePhysicalProperties.js.map +1 -1
- package/dist/esm/behaviors/descriptor/DescriptorServer.d.ts.map +1 -1
- package/dist/esm/behaviors/descriptor/DescriptorServer.js +5 -8
- package/dist/esm/behaviors/descriptor/DescriptorServer.js.map +1 -1
- package/dist/esm/node/NodePhysicalProperties.js +6 -5
- package/dist/esm/node/NodePhysicalProperties.js.map +1 -1
- package/dist/esm/node/client/ClientNodePhysicalProperties.d.ts.map +1 -1
- package/dist/esm/node/client/ClientNodePhysicalProperties.js +17 -1
- package/dist/esm/node/client/ClientNodePhysicalProperties.js.map +1 -1
- package/package.json +6 -6
- package/src/behaviors/descriptor/DescriptorServer.ts +5 -8
- package/src/node/NodePhysicalProperties.ts +6 -5
- package/src/node/client/ClientNodePhysicalProperties.ts +21 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DescriptorServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/descriptor/DescriptorServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAKxE,OAAO,EAAa,YAAY,EAAkB,MAAM,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;;IACpD,OAAgB,YAAY,2BAAmB;IAEhC,UAAU,
|
|
1
|
+
{"version":3,"file":"DescriptorServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/descriptor/DescriptorServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAKxE,OAAO,EAAa,YAAY,EAAkB,MAAM,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;;IACpD,OAAgB,YAAY,2BAAmB;IAEhC,UAAU,kBA4BxB;IAgCD;;;;OAIG;IACH,cAAc,CAAC,GAAG,WAAW,EAAE,CAAC,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,QAoBtE;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,QAwBxB;IAED;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,YAAY,WAE/B;CAuIJ;AAED,yBAAiB,gBAAgB,CAAC,CAAC;IAC/B,KAAY,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;CAClD"}
|
|
@@ -47,14 +47,11 @@ class DescriptorServer extends import_DescriptorBehavior.DescriptorBehavior {
|
|
|
47
47
|
this.reactTo(this.endpoint.lifecycle.changed, this.#updateDescriptor);
|
|
48
48
|
this.state.serverList = this.#serverList;
|
|
49
49
|
this.state.clientList = this.#clientList;
|
|
50
|
-
const
|
|
51
|
-
if (
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
`Active mandatory client cluster(s) [${active.join(", ")}] for endpoint ${this.endpoint.id} (device type ${this.endpoint.type.name})`
|
|
56
|
-
);
|
|
57
|
-
}
|
|
50
|
+
const enabledClientClusters = Object.keys(this.endpoint.type.clientClusters ?? {});
|
|
51
|
+
if (enabledClientClusters.length) {
|
|
52
|
+
logger.debug(
|
|
53
|
+
`Enabled client cluster(s) [${enabledClientClusters.join(", ")}] for endpoint ${this.endpoint.id} (device type ${this.endpoint.type.name})`
|
|
54
|
+
);
|
|
58
55
|
}
|
|
59
56
|
this.#initializeDeviceTypeList();
|
|
60
57
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/behaviors/descriptor/DescriptorServer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,2BAA8B;AAE9B,+BAAkC;AAClC,qBAAyD;AACzD,mBAAuB;AACvB,mBAAgE;AAEhE,gCAAmC;AAbnC;AAAA;AAAA;AAAA;AAAA;AAeA,MAAM,SAAS,sBAAO,IAAI,kBAAkB;AAKrC,MAAM,yBAAyB,6CAAmB;AAAA,EACrD,OAAgB,eAAe,CAAC,kCAAa;AAAA,EAE7C,MAAe,aAAa;AAExB,QAAI,KAAK,SAAS,UAAU,IAAI,kCAAa,GAAG;AAG5C,WAAK,QAAQ,KAAK,MAAM,IAAI,kCAAa,EAAE,OAAO,QAAQ,KAAK,gBAAgB;AAAA,IACnF,WAAW,KAAK,SAAS,UAAU;AAC/B,iBAAW,YAAY,KAAK,SAAS,OAAO;AACxC,aAAK,oBAAoB,QAAQ;AAAA,MACrC;AAAA,IACJ;AACA,UAAM,KAAK,iBAAiB;AAG5B,SAAK,QAAQ,KAAK,SAAS,UAAU,SAAS,KAAK,iBAAiB;AAEpE,SAAK,MAAM,aAAa,KAAK;AAC7B,SAAK,MAAM,aAAa,KAAK;AAE7B,UAAM,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,2BAA8B;AAE9B,+BAAkC;AAClC,qBAAyD;AACzD,mBAAuB;AACvB,mBAAgE;AAEhE,gCAAmC;AAbnC;AAAA;AAAA;AAAA;AAAA;AAeA,MAAM,SAAS,sBAAO,IAAI,kBAAkB;AAKrC,MAAM,yBAAyB,6CAAmB;AAAA,EACrD,OAAgB,eAAe,CAAC,kCAAa;AAAA,EAE7C,MAAe,aAAa;AAExB,QAAI,KAAK,SAAS,UAAU,IAAI,kCAAa,GAAG;AAG5C,WAAK,QAAQ,KAAK,MAAM,IAAI,kCAAa,EAAE,OAAO,QAAQ,KAAK,gBAAgB;AAAA,IACnF,WAAW,KAAK,SAAS,UAAU;AAC/B,iBAAW,YAAY,KAAK,SAAS,OAAO;AACxC,aAAK,oBAAoB,QAAQ;AAAA,MACrC;AAAA,IACJ;AACA,UAAM,KAAK,iBAAiB;AAG5B,SAAK,QAAQ,KAAK,SAAS,UAAU,SAAS,KAAK,iBAAiB;AAEpE,SAAK,MAAM,aAAa,KAAK;AAC7B,SAAK,MAAM,aAAa,KAAK;AAE7B,UAAM,wBAAwB,OAAO,KAAK,KAAK,SAAS,KAAK,kBAAkB,CAAC,CAAC;AACjF,QAAI,sBAAsB,QAAQ;AAC9B,aAAO;AAAA,QACH,8BAA8B,sBAAsB,KAAK,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,iBAAiB,KAAK,SAAS,KAAK,IAAI;AAAA,MAC5I;AAAA,IACJ;AAGA,SAAK,0BAA0B;AAAA,EACnC;AAAA;AAAA,EAGA,4BAA4B;AACxB,QAAI,CAAC,KAAK,MAAM,eAAe,QAAQ;AACnC,YAAM,WAAW,KAAK,SAAS;AAC/B,WAAK,MAAM,iBAAiB;AAAA,QACxB;AAAA,UACI,YAAY,SAAS;AAAA,UACrB,UAAU,SAAS;AAAA,QACvB;AAAA,MACJ;AAAA,IAkBJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,kBAAkB,aAAuD;AACrE,SAAK,0BAA0B;AAC/B,UAAM,OAAO,KAAK,MAAM;AAExB,cAAW,UAAS,iBAAiB,aAAa;AAC9C,UAAI,OAAO,kBAAkB,UAAU;AACnC,cAAM,KAAK,oBAAO,YAAY,aAAa;AAC3C,YAAI,OAAO,QAAW;AAClB,gBAAM,IAAI,mCAAoB,eAAe,aAAa,YAAY;AAAA,QAC1E;AACA,wBAAgB,EAAE,gBAAY,2BAAa,GAAG,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,MAC7E;AAEA,iBAAW,sBAAsB,MAAM;AACnC,gBAAI,4BAAY,eAAe,kBAAkB,GAAG;AAChD,mBAAS;AAAA,QACb;AAAA,MACJ;AACA,WAAK,KAAK,aAAa;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAW,MAAgB;AAEvB,QAAI,CAAC,KAAK,SAAS,SAAS;AACxB,YAAM,IAAI,mCAAoB,8DAA8D;AAAA,IAChG;AAEA,UAAM,OAAQ,KAAK,MAA2C;AAE9D,cAAW,YAAW,UAAU,MAAM;AAClC,iBAAW,eAAe,MAAM;AAC5B,YACI,YAAY,YAAY,OAAO,WAC/B,YAAY,gBAAgB,OAAO,eACnC,YAAY,QAAQ,OAAO,KAC7B;AACE,cAAI,YAAY,UAAU,OAAO,SAAS,OAAO,UAAU,QAAQ,OAAO,UAAU,QAAW;AAC3F,wBAAY,QAAQ,OAAO;AAC3B,qBAAS;AAAA,UACb;AAAA,QACJ;AAAA,MACJ;AAEA,WAAK,KAAK,MAAM;AAAA,IACpB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,MAAoB;AAC9B,WAAO,KAAK,MAAM,eAAe,UAAU,QAAM,GAAG,eAAe,IAAI,MAAM;AAAA,EACjF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,kBAAkB,MAAgC,UAAoB;AACxE,YAAQ,MAAM;AAAA,MACV,KAAK,2CAAkB,OAAO;AAC1B,YAAI,CAAC,KAAK,SAAS,MAAM,IAAI,QAAQ,GAAG;AACpC;AAAA,QACJ;AACA,cAAM,KAAK,iBAAiB;AAC5B,YAAI,CAAC,KAAK,SAAS,UAAU,IAAI,kCAAa,GAAG;AAC7C,eAAK,oBAAoB,QAAQ;AAAA,QACrC;AACA;AAAA,MAEJ,KAAK,2CAAkB,OAAO;AAC1B,YAAI,aAAa,KAAK,UAAU;AAC5B;AAAA,QACJ;AAEA,cAAM,KAAK,QAAQ,YAAY,aAAa,IAAI;AAChD,cAAM,KAAK,QAAQ,YAAY,MAAM;AACrC,aAAK,MAAM,aAAa,KAAK;AAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAeJ,KAAK,2CAAkB,OAAO;AAC1B,YAAI,aAAa,KAAK,UAAU;AAC5B;AAAA,QACJ;AAEA,cAAM,KAAK,aAAa,EAAE,SAAS,KAAK,iBAAiB,CAAC;AAC1D;AAAA,IACR;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB,UAAoB;AACpC,SAAK,QAAQ,SAAS,UAAU,WAAW,KAAK,gBAAgB;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,mBAAmB;AACrB,UAAM,WAAW,KAAK;AAEtB,QAAI;AAIJ,QAAI,KAAK,MAAM,IAAI,kCAAa,GAAG;AAC/B,YAAM,QAAQ,KAAK,MAAM,IAAI,kCAAa;AAC1C,gBAAU,OAAO,KAAK,MAAM,aAAa,EAAE,IAAI,OAAK,OAAO,SAAS,CAAC,CAAC;AAGtE,YAAM,MAAM,QAAQ,QAAQ,KAAK,SAAS,MAAM;AAChD,UAAI,QAAQ,IAAI;AACZ,gBAAQ,OAAO,KAAK,CAAC;AAAA,MACzB;AAAA,IACJ,WAAW,SAAS,UAAU;AAE1B,gBAAU,CAAC,GAAG,SAAS,KAAK,EACvB,IAAI,CAAAA,cAAaA,UAAS,UAAU,YAAYA,UAAS,SAAS,MAAU,EAC5E,OAAO,OAAK,MAAM,MAAS;AAAA,IACpC,OAAO;AAEH,gBAAU,CAAC;AAAA,IACf;AAEA,YAAQ,KAAK;AAIb,QAAI,KAAK,MAAM,UAAU,WAAW,QAAQ,QAAQ;AAChD,UAAI,IAAI,QAAQ;AAChB,aAAO,IAAI,QAAQ,QAAQ,KAAK;AAC5B,YAAI,KAAK,MAAM,UAAU,CAAC,MAAM,QAAQ,CAAC,GAAG;AACxC;AAAA,QACJ;AAAA,MACJ;AACA,UAAI,MAAM,QAAQ,QAAQ;AACtB;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,KAAK,QAAQ,YAAY,aAAa,IAAI;AAChD,UAAM,KAAK,QAAQ,YAAY,MAAM;AAErC,SAAK,MAAM,YAAY;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,cAAc;AACd,UAAM,OAAO,IAAI,MAAiB;AAClC,eAAW,QAAQ,OAAO,OAAO,KAAK,SAAS,UAAU,SAAS,GAAG;AACjE,YAAM,YAAa,KAA0C,SAAS;AACtE,UAAI,WAAW;AACX,aAAK,KAAK,SAAS;AAAA,MACvB;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,cAAc;AACd,UAAM,OAAO,IAAI,MAAiB;AAClC,eAAW,QAAQ,OAAO,OAAO,KAAK,SAAS,KAAK,kBAAkB,CAAC,CAAC,GAAG;AACvE,YAAM,YAAa,KAA0C,SAAS;AACtE,UAAI,WAAW;AACX,aAAK,KAAK,SAAS;AAAA,MACvB;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACJ;",
|
|
5
5
|
"names": ["endpoint"]
|
|
6
6
|
}
|
|
@@ -63,8 +63,9 @@ function inspectEndpoint(endpoint, properties) {
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
const powerSourceFeatures = endpoint.maybeFeaturesOf(import_power_source.PowerSourceClient);
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
const powerSourceState = powerSourceFeatures ? endpoint.maybeStateOf(import_power_source.PowerSourceClient) : void 0;
|
|
67
|
+
if (powerSourceFeatures && powerSourceState) {
|
|
68
|
+
const { status } = powerSourceState;
|
|
68
69
|
if (powerSourceFeatures.wired) {
|
|
69
70
|
if (status === import_power_source2.PowerSource.PowerSourceStatus.Active) {
|
|
70
71
|
properties.isMainsPowered = true;
|
|
@@ -78,14 +79,14 @@ function inspectEndpoint(endpoint, properties) {
|
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
const threadNetworkDiagnostics = endpoint.behaviors.typeFor(import_thread_network_diagnostics.ThreadNetworkDiagnosticsClient);
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
const tnd = threadNetworkDiagnostics ? endpoint.maybeStateOf(threadNetworkDiagnostics) : void 0;
|
|
83
|
+
if (tnd) {
|
|
83
84
|
if (tnd.routingRole === import_thread_network_diagnostics2.ThreadNetworkDiagnostics.RoutingRole.SleepyEndDevice) {
|
|
84
85
|
properties.isThreadSleepyEndDevice = true;
|
|
85
86
|
}
|
|
86
87
|
if (tnd.extendedPanId !== void 0 && tnd.extendedPanId !== null) {
|
|
87
88
|
properties.threadActive = true;
|
|
88
|
-
properties.threadPan =
|
|
89
|
+
properties.threadPan = BigInt(tnd.extendedPanId);
|
|
89
90
|
properties.threadChannel = tnd.channel ?? void 0;
|
|
90
91
|
} else {
|
|
91
92
|
properties.threadActive = false;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/node/NodePhysicalProperties.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,wBAAiC;AACjC,mCAA2C;AAC3C,0BAAkC;AAClC,wCAA+C;AAE/C,wBAAmC;AAEnC,mBAA8B;AAG9B,IAAAA,uBAA4B;AAC5B,IAAAC,qCAAyC;AAjBzC;AAAA;AAAA;AAAA;AAAA;AAsBO,SAAS,uBAAuB,MAAY;AAC/C,QAAM,yBAAyB,CAAC,GAAI,KAAK,aAAa,kCAAgB,GAAG,cAAc,CAAC,CAAE;AAE1F,QAAM,aAAuC;AAAA,IACzC,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,kBAAkB;AAAA,IAClB;AAAA,IACA,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,2BAA2B,uBAAuB,SAAS,2BAAc,EAAe;AAAA,IACxF,yBAAyB;AAAA,EAC7B;AAEA,kBAAgB,MAAM,UAAU;AAEhC,SAAO;AACX;AAEA,SAAS,gBAAgB,UAAoB,YAAsC;AAE/E,QAAM,kBAAkB,SAAS,gBAAgB,uDAA0B;AAC3E,MAAI,iBAAiB;AACjB,QAAI,gBAAgB,sBAAsB;AACtC,iBAAW,eAAe;AAAA,IAC9B;AACA,QAAI,gBAAgB,wBAAwB;AACxC,iBAAW,iBAAiB;AAAA,IAChC;AACA,QAAI,gBAAgB,0BAA0B;AAC1C,iBAAW,mBAAmB;AAAA,IAClC;AAAA,EACJ;AAGA,QAAM,sBAAsB,SAAS,gBAAgB,qCAAiB;AACtE,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,wBAAiC;AACjC,mCAA2C;AAC3C,0BAAkC;AAClC,wCAA+C;AAE/C,wBAAmC;AAEnC,mBAA8B;AAG9B,IAAAA,uBAA4B;AAC5B,IAAAC,qCAAyC;AAjBzC;AAAA;AAAA;AAAA;AAAA;AAsBO,SAAS,uBAAuB,MAAY;AAC/C,QAAM,yBAAyB,CAAC,GAAI,KAAK,aAAa,kCAAgB,GAAG,cAAc,CAAC,CAAE;AAE1F,QAAM,aAAuC;AAAA,IACzC,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,kBAAkB;AAAA,IAClB;AAAA,IACA,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,2BAA2B,uBAAuB,SAAS,2BAAc,EAAe;AAAA,IACxF,yBAAyB;AAAA,EAC7B;AAEA,kBAAgB,MAAM,UAAU;AAEhC,SAAO;AACX;AAEA,SAAS,gBAAgB,UAAoB,YAAsC;AAE/E,QAAM,kBAAkB,SAAS,gBAAgB,uDAA0B;AAC3E,MAAI,iBAAiB;AACjB,QAAI,gBAAgB,sBAAsB;AACtC,iBAAW,eAAe;AAAA,IAC9B;AACA,QAAI,gBAAgB,wBAAwB;AACxC,iBAAW,iBAAiB;AAAA,IAChC;AACA,QAAI,gBAAgB,0BAA0B;AAC1C,iBAAW,mBAAmB;AAAA,IAClC;AAAA,EACJ;AAGA,QAAM,sBAAsB,SAAS,gBAAgB,qCAAiB;AACtE,QAAM,mBAAmB,sBAAsB,SAAS,aAAa,qCAAiB,IAAI;AAC1F,MAAI,uBAAuB,kBAAkB;AACzC,UAAM,EAAE,OAAO,IAAI;AACnB,QAAI,oBAAoB,OAAO;AAC3B,UAAI,WAAW,iCAAY,kBAAkB,QAAQ;AAGjD,mBAAW,iBAAiB;AAAA,MAChC;AAAA,IACJ,WACI,oBAAoB;AAAA,IAEpB,CAAC,oBAAoB,SACrB,SAAS,UAAU,WAAW,qCAAiB,EAAE,WAAW,IAAI,gBAAgB,GAClF;AACE,UACI,WAAW,iCAAY,kBAAkB;AAAA,MAEzC,WAAW,iCAAY,kBAAkB,aAC3C;AACE,mBAAW,mBAAmB;AAAA,MAClC;AAAA,IACJ;AAAA,EACJ;AAGA,QAAM,2BAA2B,SAAS,UAAU,QAAQ,gEAA8B;AAC1F,QAAM,MAAM,2BAA2B,SAAS,aAAa,wBAAwB,IAAI;AACzF,MAAI,KAAK;AACL,QAAI,IAAI,gBAAgB,4DAAyB,YAAY,iBAAiB;AAC1E,iBAAW,0BAA0B;AAAA,IACzC;AACA,QAAI,IAAI,kBAAkB,UAAa,IAAI,kBAAkB,MAAM;AAC/D,iBAAW,eAAe;AAC1B,iBAAW,YAAY,OAAO,IAAI,aAAa;AAC/C,iBAAW,gBAAgB,IAAI,WAAW;AAAA,IAC9C,OAAO;AACH,iBAAW,eAAe;AAAA,IAC9B;AAAA,EACJ;AAiBA,aAAW,QAAQ,SAAS,OAAO;AAC/B,QAAI,KAAK,WAAW,KAAK,KAAK,KAAK,eAAe,qCAAmB,YAAY;AAC7E;AAAA,IACJ;AACA,oBAAgB,MAAM,UAAU;AAAA,EACpC;AACJ;",
|
|
5
5
|
"names": ["import_power_source", "import_thread_network_diagnostics"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientNodePhysicalProperties.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientNodePhysicalProperties.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ClientNodePhysicalProperties.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientNodePhysicalProperties.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAK5D;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,UAAU,4BA2F5D"}
|
|
@@ -23,6 +23,7 @@ __export(ClientNodePhysicalProperties_exports, {
|
|
|
23
23
|
module.exports = __toCommonJS(ClientNodePhysicalProperties_exports);
|
|
24
24
|
var import_EndpointInitializer = require("#endpoint/properties/EndpointInitializer.js");
|
|
25
25
|
var import_NodePhysicalProperties = require("#node/NodePhysicalProperties.js");
|
|
26
|
+
var import_general = require("@matter/general");
|
|
26
27
|
/**
|
|
27
28
|
* @license
|
|
28
29
|
* Copyright 2022-2026 Matter.js Authors
|
|
@@ -35,6 +36,7 @@ function ClientNodePhysicalProperties(node) {
|
|
|
35
36
|
return existing;
|
|
36
37
|
}
|
|
37
38
|
let properties;
|
|
39
|
+
let frozen = false;
|
|
38
40
|
const result = {
|
|
39
41
|
get supportsThread() {
|
|
40
42
|
return props().supportsThread;
|
|
@@ -72,8 +74,17 @@ function ClientNodePhysicalProperties(node) {
|
|
|
72
74
|
};
|
|
73
75
|
cache.set(node, result);
|
|
74
76
|
const structure = node.env.get(import_EndpointInitializer.EndpointInitializer).structure;
|
|
75
|
-
structure.changed.on(() =>
|
|
77
|
+
structure.changed.on(() => {
|
|
78
|
+
if (frozen) return;
|
|
79
|
+
properties = void 0;
|
|
80
|
+
});
|
|
81
|
+
node.lifecycle.goingOffline.on(() => freeze());
|
|
82
|
+
node.lifecycle.online.on(() => {
|
|
83
|
+
frozen = false;
|
|
84
|
+
properties = void 0;
|
|
85
|
+
});
|
|
76
86
|
node.lifecycle.destroyed.once(() => {
|
|
87
|
+
freeze();
|
|
77
88
|
cache.delete(node);
|
|
78
89
|
});
|
|
79
90
|
return result;
|
|
@@ -83,5 +94,10 @@ function ClientNodePhysicalProperties(node) {
|
|
|
83
94
|
}
|
|
84
95
|
return properties;
|
|
85
96
|
}
|
|
97
|
+
function freeze() {
|
|
98
|
+
if (frozen) return;
|
|
99
|
+
properties = (0, import_general.deepCopy)(props());
|
|
100
|
+
frozen = true;
|
|
101
|
+
}
|
|
86
102
|
}
|
|
87
103
|
//# sourceMappingURL=ClientNodePhysicalProperties.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/client/ClientNodePhysicalProperties.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,iCAAoC;AAEpC,oCAAuC;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,iCAAoC;AAEpC,oCAAuC;AACvC,qBAAyB;AATzB;AAAA;AAAA;AAAA;AAAA;AAaA,MAAM,QAAQ,oBAAI,QAA8C;AAKzD,SAAS,6BAA6B,MAAkB;AAC3D,QAAM,WAAW,MAAM,IAAI,IAAI;AAC/B,MAAI,UAAU;AACV,WAAO;AAAA,EACX;AAEA,MAAI;AACJ,MAAI,SAAS;AAEb,QAAM,SAAmC;AAAA,IACrC,IAAI,iBAAiB;AACjB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,eAAe;AACf,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,mBAAmB;AACnB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,yBAAyB;AACzB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,iBAAiB;AACjB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,mBAAmB;AACnB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,4BAA4B;AAC5B,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,0BAA0B;AAC1B,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,eAAe;AACf,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,YAAY;AACZ,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,gBAAgB;AAChB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,EACJ;AAEA,QAAM,IAAI,MAAM,MAAM;AAEtB,QAAM,YAAa,KAAK,IAAI,IAAI,8CAAmB,EAAgC;AACnF,YAAU,QAAQ,GAAG,MAAM;AACvB,QAAI,OAAQ;AACZ,iBAAa;AAAA,EACjB,CAAC;AAGD,OAAK,UAAU,aAAa,GAAG,MAAM,OAAO,CAAC;AAC7C,OAAK,UAAU,OAAO,GAAG,MAAM;AAC3B,aAAS;AACT,iBAAa;AAAA,EACjB,CAAC;AAID,OAAK,UAAU,UAAU,KAAK,MAAM;AAChC,WAAO;AACP,UAAM,OAAO,IAAI;AAAA,EACrB,CAAC;AAED,SAAO;AAEP,WAAS,QAAQ;AACb,QAAI,eAAe,QAAW;AAC1B,uBAAa,sDAAuB,IAAI;AAAA,IAC5C;AACA,WAAO;AAAA,EACX;AAEA,WAAS,SAAS;AACd,QAAI,OAAQ;AACZ,qBAAa,yBAAS,MAAM,CAAC;AAC7B,aAAS;AAAA,EACb;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DescriptorServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/descriptor/DescriptorServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAKxE,OAAO,EAAa,YAAY,EAAkB,MAAM,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;;IACpD,OAAgB,YAAY,2BAAmB;IAEhC,UAAU,
|
|
1
|
+
{"version":3,"file":"DescriptorServer.d.ts","sourceRoot":"","sources":["../../../../src/behaviors/descriptor/DescriptorServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAKxE,OAAO,EAAa,YAAY,EAAkB,MAAM,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAI7D;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,kBAAkB;;IACpD,OAAgB,YAAY,2BAAmB;IAEhC,UAAU,kBA4BxB;IAgCD;;;;OAIG;IACH,cAAc,CAAC,GAAG,WAAW,EAAE,CAAC,gBAAgB,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,QAoBtE;IAED;;;;OAIG;IACH,OAAO,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,QAwBxB;IAED;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,YAAY,WAE/B;CAuIJ;AAED,yBAAiB,gBAAgB,CAAC,CAAC;IAC/B,KAAY,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;CAClD"}
|
|
@@ -24,14 +24,11 @@ class DescriptorServer extends DescriptorBehavior {
|
|
|
24
24
|
this.reactTo(this.endpoint.lifecycle.changed, this.#updateDescriptor);
|
|
25
25
|
this.state.serverList = this.#serverList;
|
|
26
26
|
this.state.clientList = this.#clientList;
|
|
27
|
-
const
|
|
28
|
-
if (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
`Active mandatory client cluster(s) [${active.join(", ")}] for endpoint ${this.endpoint.id} (device type ${this.endpoint.type.name})`
|
|
33
|
-
);
|
|
34
|
-
}
|
|
27
|
+
const enabledClientClusters = Object.keys(this.endpoint.type.clientClusters ?? {});
|
|
28
|
+
if (enabledClientClusters.length) {
|
|
29
|
+
logger.debug(
|
|
30
|
+
`Enabled client cluster(s) [${enabledClientClusters.join(", ")}] for endpoint ${this.endpoint.id} (device type ${this.endpoint.type.name})`
|
|
31
|
+
);
|
|
35
32
|
}
|
|
36
33
|
this.#initializeDeviceTypeList();
|
|
37
34
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/behaviors/descriptor/DescriptorServer.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAClC,SAAS,qBAAqB,aAAa,cAAc;AACzD,SAAS,cAAc;AACvB,SAAoB,oBAA4C;AAEhE,SAAS,0BAA0B;AAEnC,MAAM,SAAS,OAAO,IAAI,kBAAkB;AAKrC,MAAM,yBAAyB,mBAAmB;AAAA,EACrD,OAAgB,eAAe,CAAC,aAAa;AAAA,EAE7C,MAAe,aAAa;AAExB,QAAI,KAAK,SAAS,UAAU,IAAI,aAAa,GAAG;AAG5C,WAAK,QAAQ,KAAK,MAAM,IAAI,aAAa,EAAE,OAAO,QAAQ,KAAK,gBAAgB;AAAA,IACnF,WAAW,KAAK,SAAS,UAAU;AAC/B,iBAAW,YAAY,KAAK,SAAS,OAAO;AACxC,aAAK,oBAAoB,QAAQ;AAAA,MACrC;AAAA,IACJ;AACA,UAAM,KAAK,iBAAiB;AAG5B,SAAK,QAAQ,KAAK,SAAS,UAAU,SAAS,KAAK,iBAAiB;AAEpE,SAAK,MAAM,aAAa,KAAK;AAC7B,SAAK,MAAM,aAAa,KAAK;AAE7B,UAAM,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB;AAE9B,SAAS,yBAAyB;AAClC,SAAS,qBAAqB,aAAa,cAAc;AACzD,SAAS,cAAc;AACvB,SAAoB,oBAA4C;AAEhE,SAAS,0BAA0B;AAEnC,MAAM,SAAS,OAAO,IAAI,kBAAkB;AAKrC,MAAM,yBAAyB,mBAAmB;AAAA,EACrD,OAAgB,eAAe,CAAC,aAAa;AAAA,EAE7C,MAAe,aAAa;AAExB,QAAI,KAAK,SAAS,UAAU,IAAI,aAAa,GAAG;AAG5C,WAAK,QAAQ,KAAK,MAAM,IAAI,aAAa,EAAE,OAAO,QAAQ,KAAK,gBAAgB;AAAA,IACnF,WAAW,KAAK,SAAS,UAAU;AAC/B,iBAAW,YAAY,KAAK,SAAS,OAAO;AACxC,aAAK,oBAAoB,QAAQ;AAAA,MACrC;AAAA,IACJ;AACA,UAAM,KAAK,iBAAiB;AAG5B,SAAK,QAAQ,KAAK,SAAS,UAAU,SAAS,KAAK,iBAAiB;AAEpE,SAAK,MAAM,aAAa,KAAK;AAC7B,SAAK,MAAM,aAAa,KAAK;AAE7B,UAAM,wBAAwB,OAAO,KAAK,KAAK,SAAS,KAAK,kBAAkB,CAAC,CAAC;AACjF,QAAI,sBAAsB,QAAQ;AAC9B,aAAO;AAAA,QACH,8BAA8B,sBAAsB,KAAK,IAAI,CAAC,kBAAkB,KAAK,SAAS,EAAE,iBAAiB,KAAK,SAAS,KAAK,IAAI;AAAA,MAC5I;AAAA,IACJ;AAGA,SAAK,0BAA0B;AAAA,EACnC;AAAA;AAAA,EAGA,4BAA4B;AACxB,QAAI,CAAC,KAAK,MAAM,eAAe,QAAQ;AACnC,YAAM,WAAW,KAAK,SAAS;AAC/B,WAAK,MAAM,iBAAiB;AAAA,QACxB;AAAA,UACI,YAAY,SAAS;AAAA,UACrB,UAAU,SAAS;AAAA,QACvB;AAAA,MACJ;AAAA,IAkBJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,kBAAkB,aAAuD;AACrE,SAAK,0BAA0B;AAC/B,UAAM,OAAO,KAAK,MAAM;AAExB,cAAW,UAAS,iBAAiB,aAAa;AAC9C,UAAI,OAAO,kBAAkB,UAAU;AACnC,cAAM,KAAK,OAAO,YAAY,aAAa;AAC3C,YAAI,OAAO,QAAW;AAClB,gBAAM,IAAI,oBAAoB,eAAe,aAAa,YAAY;AAAA,QAC1E;AACA,wBAAgB,EAAE,YAAY,aAAa,GAAG,EAAE,GAAG,UAAU,GAAG,SAAS;AAAA,MAC7E;AAEA,iBAAW,sBAAsB,MAAM;AACnC,YAAI,YAAY,eAAe,kBAAkB,GAAG;AAChD,mBAAS;AAAA,QACb;AAAA,MACJ;AACA,WAAK,KAAK,aAAa;AAAA,IAC3B;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAW,MAAgB;AAEvB,QAAI,CAAC,KAAK,SAAS,SAAS;AACxB,YAAM,IAAI,oBAAoB,8DAA8D;AAAA,IAChG;AAEA,UAAM,OAAQ,KAAK,MAA2C;AAE9D,cAAW,YAAW,UAAU,MAAM;AAClC,iBAAW,eAAe,MAAM;AAC5B,YACI,YAAY,YAAY,OAAO,WAC/B,YAAY,gBAAgB,OAAO,eACnC,YAAY,QAAQ,OAAO,KAC7B;AACE,cAAI,YAAY,UAAU,OAAO,SAAS,OAAO,UAAU,QAAQ,OAAO,UAAU,QAAW;AAC3F,wBAAY,QAAQ,OAAO;AAC3B,qBAAS;AAAA,UACb;AAAA,QACJ;AAAA,MACJ;AAEA,WAAK,KAAK,MAAM;AAAA,IACpB;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,MAAoB;AAC9B,WAAO,KAAK,MAAM,eAAe,UAAU,QAAM,GAAG,eAAe,IAAI,MAAM;AAAA,EACjF;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,kBAAkB,MAAgC,UAAoB;AACxE,YAAQ,MAAM;AAAA,MACV,KAAK,kBAAkB,OAAO;AAC1B,YAAI,CAAC,KAAK,SAAS,MAAM,IAAI,QAAQ,GAAG;AACpC;AAAA,QACJ;AACA,cAAM,KAAK,iBAAiB;AAC5B,YAAI,CAAC,KAAK,SAAS,UAAU,IAAI,aAAa,GAAG;AAC7C,eAAK,oBAAoB,QAAQ;AAAA,QACrC;AACA;AAAA,MAEJ,KAAK,kBAAkB,OAAO;AAC1B,YAAI,aAAa,KAAK,UAAU;AAC5B;AAAA,QACJ;AAEA,cAAM,KAAK,QAAQ,YAAY,aAAa,IAAI;AAChD,cAAM,KAAK,QAAQ,YAAY,MAAM;AACrC,aAAK,MAAM,aAAa,KAAK;AAC7B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAeJ,KAAK,kBAAkB,OAAO;AAC1B,YAAI,aAAa,KAAK,UAAU;AAC5B;AAAA,QACJ;AAEA,cAAM,KAAK,aAAa,EAAE,SAAS,KAAK,iBAAiB,CAAC;AAC1D;AAAA,IACR;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB,UAAoB;AACpC,SAAK,QAAQ,SAAS,UAAU,WAAW,KAAK,gBAAgB;AAAA,EACpE;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,mBAAmB;AACrB,UAAM,WAAW,KAAK;AAEtB,QAAI;AAIJ,QAAI,KAAK,MAAM,IAAI,aAAa,GAAG;AAC/B,YAAM,QAAQ,KAAK,MAAM,IAAI,aAAa;AAC1C,gBAAU,OAAO,KAAK,MAAM,aAAa,EAAE,IAAI,OAAK,OAAO,SAAS,CAAC,CAAC;AAGtE,YAAM,MAAM,QAAQ,QAAQ,KAAK,SAAS,MAAM;AAChD,UAAI,QAAQ,IAAI;AACZ,gBAAQ,OAAO,KAAK,CAAC;AAAA,MACzB;AAAA,IACJ,WAAW,SAAS,UAAU;AAE1B,gBAAU,CAAC,GAAG,SAAS,KAAK,EACvB,IAAI,CAAAA,cAAaA,UAAS,UAAU,YAAYA,UAAS,SAAS,MAAU,EAC5E,OAAO,OAAK,MAAM,MAAS;AAAA,IACpC,OAAO;AAEH,gBAAU,CAAC;AAAA,IACf;AAEA,YAAQ,KAAK;AAIb,QAAI,KAAK,MAAM,UAAU,WAAW,QAAQ,QAAQ;AAChD,UAAI,IAAI,QAAQ;AAChB,aAAO,IAAI,QAAQ,QAAQ,KAAK;AAC5B,YAAI,KAAK,MAAM,UAAU,CAAC,MAAM,QAAQ,CAAC,GAAG;AACxC;AAAA,QACJ;AAAA,MACJ;AACA,UAAI,MAAM,QAAQ,QAAQ;AACtB;AAAA,MACJ;AAAA,IACJ;AAEA,UAAM,KAAK,QAAQ,YAAY,aAAa,IAAI;AAChD,UAAM,KAAK,QAAQ,YAAY,MAAM;AAErC,SAAK,MAAM,YAAY;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,cAAc;AACd,UAAM,OAAO,IAAI,MAAiB;AAClC,eAAW,QAAQ,OAAO,OAAO,KAAK,SAAS,UAAU,SAAS,GAAG;AACjE,YAAM,YAAa,KAA0C,SAAS;AACtE,UAAI,WAAW;AACX,aAAK,KAAK,SAAS;AAAA,MACvB;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,cAAc;AACd,UAAM,OAAO,IAAI,MAAiB;AAClC,eAAW,QAAQ,OAAO,OAAO,KAAK,SAAS,KAAK,kBAAkB,CAAC,CAAC,GAAG;AACvE,YAAM,YAAa,KAA0C,SAAS;AACtE,UAAI,WAAW;AACX,aAAK,KAAK,SAAS;AAAA,MACvB;AAAA,IACJ;AACA,WAAO;AAAA,EACX;AACJ;",
|
|
5
5
|
"names": ["endpoint"]
|
|
6
6
|
}
|
|
@@ -40,8 +40,9 @@ function inspectEndpoint(endpoint, properties) {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
const powerSourceFeatures = endpoint.maybeFeaturesOf(PowerSourceClient);
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
const powerSourceState = powerSourceFeatures ? endpoint.maybeStateOf(PowerSourceClient) : void 0;
|
|
44
|
+
if (powerSourceFeatures && powerSourceState) {
|
|
45
|
+
const { status } = powerSourceState;
|
|
45
46
|
if (powerSourceFeatures.wired) {
|
|
46
47
|
if (status === PowerSource.PowerSourceStatus.Active) {
|
|
47
48
|
properties.isMainsPowered = true;
|
|
@@ -55,14 +56,14 @@ function inspectEndpoint(endpoint, properties) {
|
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
58
|
const threadNetworkDiagnostics = endpoint.behaviors.typeFor(ThreadNetworkDiagnosticsClient);
|
|
58
|
-
|
|
59
|
-
|
|
59
|
+
const tnd = threadNetworkDiagnostics ? endpoint.maybeStateOf(threadNetworkDiagnostics) : void 0;
|
|
60
|
+
if (tnd) {
|
|
60
61
|
if (tnd.routingRole === ThreadNetworkDiagnostics.RoutingRole.SleepyEndDevice) {
|
|
61
62
|
properties.isThreadSleepyEndDevice = true;
|
|
62
63
|
}
|
|
63
64
|
if (tnd.extendedPanId !== void 0 && tnd.extendedPanId !== null) {
|
|
64
65
|
properties.threadActive = true;
|
|
65
|
-
properties.threadPan =
|
|
66
|
+
properties.threadPan = BigInt(tnd.extendedPanId);
|
|
66
67
|
properties.threadChannel = tnd.channel ?? void 0;
|
|
67
68
|
} else {
|
|
68
69
|
properties.threadActive = false;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/node/NodePhysicalProperties.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,wBAAwB;AACjC,SAAS,kCAAkC;AAC3C,SAAS,yBAAyB;AAClC,SAAS,sCAAsC;AAE/C,SAAS,0BAA0B;AAEnC,SAAS,qBAAqB;AAG9B,SAAS,mBAAmB;AAC5B,SAAS,gCAAgC;AAKlC,SAAS,uBAAuB,MAAY;AAC/C,QAAM,yBAAyB,CAAC,GAAI,KAAK,aAAa,gBAAgB,GAAG,cAAc,CAAC,CAAE;AAE1F,QAAM,aAAuC;AAAA,IACzC,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,kBAAkB;AAAA,IAClB;AAAA,IACA,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,2BAA2B,uBAAuB,SAAS,cAAc,EAAe;AAAA,IACxF,yBAAyB;AAAA,EAC7B;AAEA,kBAAgB,MAAM,UAAU;AAEhC,SAAO;AACX;AAEA,SAAS,gBAAgB,UAAoB,YAAsC;AAE/E,QAAM,kBAAkB,SAAS,gBAAgB,0BAA0B;AAC3E,MAAI,iBAAiB;AACjB,QAAI,gBAAgB,sBAAsB;AACtC,iBAAW,eAAe;AAAA,IAC9B;AACA,QAAI,gBAAgB,wBAAwB;AACxC,iBAAW,iBAAiB;AAAA,IAChC;AACA,QAAI,gBAAgB,0BAA0B;AAC1C,iBAAW,mBAAmB;AAAA,IAClC;AAAA,EACJ;AAGA,QAAM,sBAAsB,SAAS,gBAAgB,iBAAiB;AACtE,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,wBAAwB;AACjC,SAAS,kCAAkC;AAC3C,SAAS,yBAAyB;AAClC,SAAS,sCAAsC;AAE/C,SAAS,0BAA0B;AAEnC,SAAS,qBAAqB;AAG9B,SAAS,mBAAmB;AAC5B,SAAS,gCAAgC;AAKlC,SAAS,uBAAuB,MAAY;AAC/C,QAAM,yBAAyB,CAAC,GAAI,KAAK,aAAa,gBAAgB,GAAG,cAAc,CAAC,CAAE;AAE1F,QAAM,aAAuC;AAAA,IACzC,gBAAgB;AAAA,IAChB,cAAc;AAAA,IACd,kBAAkB;AAAA,IAClB;AAAA,IACA,gBAAgB;AAAA,IAChB,kBAAkB;AAAA,IAClB,2BAA2B,uBAAuB,SAAS,cAAc,EAAe;AAAA,IACxF,yBAAyB;AAAA,EAC7B;AAEA,kBAAgB,MAAM,UAAU;AAEhC,SAAO;AACX;AAEA,SAAS,gBAAgB,UAAoB,YAAsC;AAE/E,QAAM,kBAAkB,SAAS,gBAAgB,0BAA0B;AAC3E,MAAI,iBAAiB;AACjB,QAAI,gBAAgB,sBAAsB;AACtC,iBAAW,eAAe;AAAA,IAC9B;AACA,QAAI,gBAAgB,wBAAwB;AACxC,iBAAW,iBAAiB;AAAA,IAChC;AACA,QAAI,gBAAgB,0BAA0B;AAC1C,iBAAW,mBAAmB;AAAA,IAClC;AAAA,EACJ;AAGA,QAAM,sBAAsB,SAAS,gBAAgB,iBAAiB;AACtE,QAAM,mBAAmB,sBAAsB,SAAS,aAAa,iBAAiB,IAAI;AAC1F,MAAI,uBAAuB,kBAAkB;AACzC,UAAM,EAAE,OAAO,IAAI;AACnB,QAAI,oBAAoB,OAAO;AAC3B,UAAI,WAAW,YAAY,kBAAkB,QAAQ;AAGjD,mBAAW,iBAAiB;AAAA,MAChC;AAAA,IACJ,WACI,oBAAoB;AAAA,IAEpB,CAAC,oBAAoB,SACrB,SAAS,UAAU,WAAW,iBAAiB,EAAE,WAAW,IAAI,gBAAgB,GAClF;AACE,UACI,WAAW,YAAY,kBAAkB;AAAA,MAEzC,WAAW,YAAY,kBAAkB,aAC3C;AACE,mBAAW,mBAAmB;AAAA,MAClC;AAAA,IACJ;AAAA,EACJ;AAGA,QAAM,2BAA2B,SAAS,UAAU,QAAQ,8BAA8B;AAC1F,QAAM,MAAM,2BAA2B,SAAS,aAAa,wBAAwB,IAAI;AACzF,MAAI,KAAK;AACL,QAAI,IAAI,gBAAgB,yBAAyB,YAAY,iBAAiB;AAC1E,iBAAW,0BAA0B;AAAA,IACzC;AACA,QAAI,IAAI,kBAAkB,UAAa,IAAI,kBAAkB,MAAM;AAC/D,iBAAW,eAAe;AAC1B,iBAAW,YAAY,OAAO,IAAI,aAAa;AAC/C,iBAAW,gBAAgB,IAAI,WAAW;AAAA,IAC9C,OAAO;AACH,iBAAW,eAAe;AAAA,IAC9B;AAAA,EACJ;AAiBA,aAAW,QAAQ,SAAS,OAAO;AAC/B,QAAI,KAAK,WAAW,KAAK,KAAK,KAAK,eAAe,mBAAmB,YAAY;AAC7E;AAAA,IACJ;AACA,oBAAgB,MAAM,UAAU;AAAA,EACpC;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientNodePhysicalProperties.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientNodePhysicalProperties.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"ClientNodePhysicalProperties.d.ts","sourceRoot":"","sources":["../../../../src/node/client/ClientNodePhysicalProperties.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAK5D;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,UAAU,4BA2F5D"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { EndpointInitializer } from "#endpoint/properties/EndpointInitializer.js";
|
|
7
7
|
import { NodePhysicalProperties } from "#node/NodePhysicalProperties.js";
|
|
8
|
+
import { deepCopy } from "@matter/general";
|
|
8
9
|
const cache = /* @__PURE__ */ new WeakMap();
|
|
9
10
|
function ClientNodePhysicalProperties(node) {
|
|
10
11
|
const existing = cache.get(node);
|
|
@@ -12,6 +13,7 @@ function ClientNodePhysicalProperties(node) {
|
|
|
12
13
|
return existing;
|
|
13
14
|
}
|
|
14
15
|
let properties;
|
|
16
|
+
let frozen = false;
|
|
15
17
|
const result = {
|
|
16
18
|
get supportsThread() {
|
|
17
19
|
return props().supportsThread;
|
|
@@ -49,8 +51,17 @@ function ClientNodePhysicalProperties(node) {
|
|
|
49
51
|
};
|
|
50
52
|
cache.set(node, result);
|
|
51
53
|
const structure = node.env.get(EndpointInitializer).structure;
|
|
52
|
-
structure.changed.on(() =>
|
|
54
|
+
structure.changed.on(() => {
|
|
55
|
+
if (frozen) return;
|
|
56
|
+
properties = void 0;
|
|
57
|
+
});
|
|
58
|
+
node.lifecycle.goingOffline.on(() => freeze());
|
|
59
|
+
node.lifecycle.online.on(() => {
|
|
60
|
+
frozen = false;
|
|
61
|
+
properties = void 0;
|
|
62
|
+
});
|
|
53
63
|
node.lifecycle.destroyed.once(() => {
|
|
64
|
+
freeze();
|
|
54
65
|
cache.delete(node);
|
|
55
66
|
});
|
|
56
67
|
return result;
|
|
@@ -60,6 +71,11 @@ function ClientNodePhysicalProperties(node) {
|
|
|
60
71
|
}
|
|
61
72
|
return properties;
|
|
62
73
|
}
|
|
74
|
+
function freeze() {
|
|
75
|
+
if (frozen) return;
|
|
76
|
+
properties = deepCopy(props());
|
|
77
|
+
frozen = true;
|
|
78
|
+
}
|
|
63
79
|
}
|
|
64
80
|
export {
|
|
65
81
|
ClientNodePhysicalProperties
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/node/client/ClientNodePhysicalProperties.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AAEpC,SAAS,8BAA8B;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,2BAA2B;AAEpC,SAAS,8BAA8B;AACvC,SAAS,gBAAgB;AAIzB,MAAM,QAAQ,oBAAI,QAA8C;AAKzD,SAAS,6BAA6B,MAAkB;AAC3D,QAAM,WAAW,MAAM,IAAI,IAAI;AAC/B,MAAI,UAAU;AACV,WAAO;AAAA,EACX;AAEA,MAAI;AACJ,MAAI,SAAS;AAEb,QAAM,SAAmC;AAAA,IACrC,IAAI,iBAAiB;AACjB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,eAAe;AACf,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,mBAAmB;AACnB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,yBAAyB;AACzB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,iBAAiB;AACjB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,mBAAmB;AACnB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,4BAA4B;AAC5B,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,0BAA0B;AAC1B,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,eAAe;AACf,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,YAAY;AACZ,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,IAEA,IAAI,gBAAgB;AAChB,aAAO,MAAM,EAAE;AAAA,IACnB;AAAA,EACJ;AAEA,QAAM,IAAI,MAAM,MAAM;AAEtB,QAAM,YAAa,KAAK,IAAI,IAAI,mBAAmB,EAAgC;AACnF,YAAU,QAAQ,GAAG,MAAM;AACvB,QAAI,OAAQ;AACZ,iBAAa;AAAA,EACjB,CAAC;AAGD,OAAK,UAAU,aAAa,GAAG,MAAM,OAAO,CAAC;AAC7C,OAAK,UAAU,OAAO,GAAG,MAAM;AAC3B,aAAS;AACT,iBAAa;AAAA,EACjB,CAAC;AAID,OAAK,UAAU,UAAU,KAAK,MAAM;AAChC,WAAO;AACP,UAAM,OAAO,IAAI;AAAA,EACrB,CAAC;AAED,SAAO;AAEP,WAAS,QAAQ;AACb,QAAI,eAAe,QAAW;AAC1B,mBAAa,uBAAuB,IAAI;AAAA,IAC5C;AACA,WAAO;AAAA,EACX;AAEA,WAAS,SAAS;AACd,QAAI,OAAQ;AACZ,iBAAa,SAAS,MAAM,CAAC;AAC7B,aAAS;AAAA,EACb;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/node",
|
|
3
|
-
"version": "0.17.0",
|
|
3
|
+
"version": "0.17.1-alpha.0-20260523-3fd1cc4b8",
|
|
4
4
|
"description": "API for building Matter nodes",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -36,14 +36,14 @@
|
|
|
36
36
|
"#*": "./src/*"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@matter/general": "0.17.0",
|
|
40
|
-
"@matter/model": "0.17.0",
|
|
41
|
-
"@matter/types": "0.17.0",
|
|
42
|
-
"@matter/protocol": "0.17.0"
|
|
39
|
+
"@matter/general": "0.17.1-alpha.0-20260523-3fd1cc4b8",
|
|
40
|
+
"@matter/model": "0.17.1-alpha.0-20260523-3fd1cc4b8",
|
|
41
|
+
"@matter/types": "0.17.1-alpha.0-20260523-3fd1cc4b8",
|
|
42
|
+
"@matter/protocol": "0.17.1-alpha.0-20260523-3fd1cc4b8"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@nacho-iot/js-tools": "^0.1.5",
|
|
46
|
-
"@matter/testing": "0.17.0"
|
|
46
|
+
"@matter/testing": "0.17.1-alpha.0-20260523-3fd1cc4b8"
|
|
47
47
|
},
|
|
48
48
|
"files": [
|
|
49
49
|
"dist/**/*",
|
|
@@ -40,14 +40,11 @@ export class DescriptorServer extends DescriptorBehavior {
|
|
|
40
40
|
this.state.serverList = this.#serverList;
|
|
41
41
|
this.state.clientList = this.#clientList;
|
|
42
42
|
|
|
43
|
-
const
|
|
44
|
-
if (
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
`Active mandatory client cluster(s) [${active.join(", ")}] for endpoint ${this.endpoint.id} (device type ${this.endpoint.type.name})`,
|
|
49
|
-
);
|
|
50
|
-
}
|
|
43
|
+
const enabledClientClusters = Object.keys(this.endpoint.type.clientClusters ?? {});
|
|
44
|
+
if (enabledClientClusters.length) {
|
|
45
|
+
logger.debug(
|
|
46
|
+
`Enabled client cluster(s) [${enabledClientClusters.join(", ")}] for endpoint ${this.endpoint.id} (device type ${this.endpoint.type.name})`,
|
|
47
|
+
);
|
|
51
48
|
}
|
|
52
49
|
|
|
53
50
|
// Initialize DeviceTypeList
|
|
@@ -56,8 +56,9 @@ function inspectEndpoint(endpoint: Endpoint, properties: PhysicalDevicePropertie
|
|
|
56
56
|
|
|
57
57
|
// Battery power
|
|
58
58
|
const powerSourceFeatures = endpoint.maybeFeaturesOf(PowerSourceClient);
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
const powerSourceState = powerSourceFeatures ? endpoint.maybeStateOf(PowerSourceClient) : undefined;
|
|
60
|
+
if (powerSourceFeatures && powerSourceState) {
|
|
61
|
+
const { status } = powerSourceState;
|
|
61
62
|
if (powerSourceFeatures.wired) {
|
|
62
63
|
if (status === PowerSource.PowerSourceStatus.Active) {
|
|
63
64
|
// Should we only consider A/C "mains" powered? What is a DC adapter? What is an external battery?
|
|
@@ -82,14 +83,14 @@ function inspectEndpoint(endpoint: Endpoint, properties: PhysicalDevicePropertie
|
|
|
82
83
|
|
|
83
84
|
// Sleepy thread device
|
|
84
85
|
const threadNetworkDiagnostics = endpoint.behaviors.typeFor(ThreadNetworkDiagnosticsClient);
|
|
85
|
-
|
|
86
|
-
|
|
86
|
+
const tnd = threadNetworkDiagnostics ? endpoint.maybeStateOf(threadNetworkDiagnostics) : undefined;
|
|
87
|
+
if (tnd) {
|
|
87
88
|
if (tnd.routingRole === ThreadNetworkDiagnostics.RoutingRole.SleepyEndDevice) {
|
|
88
89
|
properties.isThreadSleepyEndDevice = true;
|
|
89
90
|
}
|
|
90
91
|
if (tnd.extendedPanId !== undefined && tnd.extendedPanId !== null) {
|
|
91
92
|
properties.threadActive = true;
|
|
92
|
-
properties.threadPan =
|
|
93
|
+
properties.threadPan = BigInt(tnd.extendedPanId);
|
|
93
94
|
properties.threadChannel = tnd.channel ?? undefined;
|
|
94
95
|
} else {
|
|
95
96
|
properties.threadActive = false;
|
|
@@ -7,6 +7,7 @@
|
|
|
7
7
|
import { EndpointInitializer } from "#endpoint/properties/EndpointInitializer.js";
|
|
8
8
|
import { ClientNode } from "#node/ClientNode.js";
|
|
9
9
|
import { NodePhysicalProperties } from "#node/NodePhysicalProperties.js";
|
|
10
|
+
import { deepCopy } from "@matter/general";
|
|
10
11
|
import { PhysicalDeviceProperties } from "@matter/protocol";
|
|
11
12
|
import { ClientEndpointInitializer } from "./ClientEndpointInitializer.js";
|
|
12
13
|
|
|
@@ -22,6 +23,7 @@ export function ClientNodePhysicalProperties(node: ClientNode) {
|
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
let properties: PhysicalDeviceProperties | undefined;
|
|
26
|
+
let frozen = false;
|
|
25
27
|
|
|
26
28
|
const result: PhysicalDeviceProperties = {
|
|
27
29
|
get supportsThread() {
|
|
@@ -72,11 +74,22 @@ export function ClientNodePhysicalProperties(node: ClientNode) {
|
|
|
72
74
|
cache.set(node, result);
|
|
73
75
|
|
|
74
76
|
const structure = (node.env.get(EndpointInitializer) as ClientEndpointInitializer).structure;
|
|
75
|
-
structure.changed.on(() =>
|
|
77
|
+
structure.changed.on(() => {
|
|
78
|
+
if (frozen) return;
|
|
79
|
+
properties = undefined;
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
// Snapshot before runtime close detaches behavior state; cleared again if the node comes back online.
|
|
83
|
+
node.lifecycle.goingOffline.on(() => freeze());
|
|
84
|
+
node.lifecycle.online.on(() => {
|
|
85
|
+
frozen = false;
|
|
86
|
+
properties = undefined;
|
|
87
|
+
});
|
|
76
88
|
|
|
77
89
|
// WeakMap entries are GC'd automatically but appear as strong references in heap snapshots, causing false
|
|
78
|
-
// positives in leak detection. Explicit deletion avoids this
|
|
90
|
+
// positives in leak detection. Explicit deletion avoids this.
|
|
79
91
|
node.lifecycle.destroyed.once(() => {
|
|
92
|
+
freeze();
|
|
80
93
|
cache.delete(node);
|
|
81
94
|
});
|
|
82
95
|
|
|
@@ -88,4 +101,10 @@ export function ClientNodePhysicalProperties(node: ClientNode) {
|
|
|
88
101
|
}
|
|
89
102
|
return properties;
|
|
90
103
|
}
|
|
104
|
+
|
|
105
|
+
function freeze() {
|
|
106
|
+
if (frozen) return;
|
|
107
|
+
properties = deepCopy(props());
|
|
108
|
+
frozen = true;
|
|
109
|
+
}
|
|
91
110
|
}
|