@matter/nodejs-ble 0.13.0-alpha.0-20250415-475996bb5 → 0.13.0-alpha.0-20250420-9f45e4f77
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/BleScanner.d.ts.map +1 -1
- package/dist/cjs/BleScanner.js +0 -3
- package/dist/cjs/BleScanner.js.map +1 -1
- package/dist/cjs/BlenoBleServer.d.ts +1 -1
- package/dist/cjs/BlenoBleServer.d.ts.map +1 -1
- package/dist/cjs/BlenoBleServer.js +17 -8
- package/dist/cjs/BlenoBleServer.js.map +1 -1
- package/dist/cjs/NobleBleChannel.d.ts.map +1 -1
- package/dist/cjs/NobleBleChannel.js +10 -4
- package/dist/cjs/NobleBleChannel.js.map +1 -1
- package/dist/cjs/NobleBleClient.d.ts +1 -0
- package/dist/cjs/NobleBleClient.d.ts.map +1 -1
- package/dist/cjs/NobleBleClient.js +5 -0
- package/dist/cjs/NobleBleClient.js.map +1 -1
- package/dist/cjs/NodeJsBle.d.ts +3 -3
- package/dist/cjs/NodeJsBle.d.ts.map +1 -1
- package/dist/cjs/NodeJsBle.js +7 -6
- package/dist/cjs/NodeJsBle.js.map +1 -1
- package/dist/esm/BleScanner.d.ts.map +1 -1
- package/dist/esm/BleScanner.js +0 -3
- package/dist/esm/BleScanner.js.map +1 -1
- package/dist/esm/BlenoBleServer.d.ts +1 -1
- package/dist/esm/BlenoBleServer.d.ts.map +1 -1
- package/dist/esm/BlenoBleServer.js +17 -8
- package/dist/esm/BlenoBleServer.js.map +1 -1
- package/dist/esm/NobleBleChannel.d.ts.map +1 -1
- package/dist/esm/NobleBleChannel.js +10 -4
- package/dist/esm/NobleBleChannel.js.map +1 -1
- package/dist/esm/NobleBleClient.d.ts +1 -0
- package/dist/esm/NobleBleClient.d.ts.map +1 -1
- package/dist/esm/NobleBleClient.js +5 -0
- package/dist/esm/NobleBleClient.js.map +1 -1
- package/dist/esm/NodeJsBle.d.ts +3 -3
- package/dist/esm/NodeJsBle.d.ts.map +1 -1
- package/dist/esm/NodeJsBle.js +7 -6
- package/dist/esm/NodeJsBle.js.map +1 -1
- package/package.json +7 -7
- package/src/BleScanner.ts +0 -6
- package/src/BlenoBleServer.ts +22 -8
- package/src/NobleBleChannel.ts +15 -4
- package/src/NobleBleClient.ts +9 -2
- package/src/NodeJsBle.ts +7 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BleScanner.d.ts","sourceRoot":"","sources":["../../src/BleScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,WAAW,EAAkD,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAsB,oBAAoB,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEtH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,8BAA8B,EAAE,OAAO,CAAC;CAC3C,CAAC;AAEF,KAAK,wBAAwB,GAAG,oBAAoB,GAAG;IACnD,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,UAAW,YAAW,OAAO;IAe1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAdxC,IAAI,IAAI,gBAEP;IAED,OAAO,CAAC,QAAQ,CAAC,aAAa,CAO1B;IACJ,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0C;gBAErD,WAAW,EAAE,cAAc;IAMjD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAQhE;;;OAGG;YACW,qBAAqB;IAiBnC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAapB,mCAAmC,CAAC,UAAU,EAAE,+BAA+B;IAK/E,OAAO,CAAC,sBAAsB;
|
|
1
|
+
{"version":3,"file":"BleScanner.d.ts","sourceRoot":"","sources":["../../src/BleScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,WAAW,EAAkD,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAsB,oBAAoB,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEtH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,8BAA8B,EAAE,OAAO,CAAC;CAC3C,CAAC;AAEF,KAAK,wBAAwB,GAAG,oBAAoB,GAAG;IACnD,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,UAAW,YAAW,OAAO;IAe1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAdxC,IAAI,IAAI,gBAEP;IAED,OAAO,CAAC,QAAQ,CAAC,aAAa,CAO1B;IACJ,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0C;gBAErD,WAAW,EAAE,cAAc;IAMjD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAQhE;;;OAGG;YACW,qBAAqB;IAiBnC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAapB,mCAAmC,CAAC,UAAU,EAAE,+BAA+B;IAK/E,OAAO,CAAC,sBAAsB;IAuC9B,OAAO,CAAC,iCAAiC;IAmCzC;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,wBAAwB;IA4B1B,qBAAqB,IAAI,OAAO,CAAC,SAAS,CAAC;IAKjD,8BAA8B,IAAI,SAAS;IAKrC,yBAAyB,CAC3B,UAAU,EAAE,+BAA+B,EAC3C,cAAc,SAAK,EACnB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqB5B,qCAAqC,CACvC,UAAU,EAAE,+BAA+B,EAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EAChD,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA0ClC,kCAAkC,CAAC,UAAU,EAAE,+BAA+B,GAAG,oBAAoB,EAAE;IAIjG,KAAK;CAMd"}
|
package/dist/cjs/BleScanner.js
CHANGED
|
@@ -109,9 +109,6 @@ class BleScanner {
|
|
|
109
109
|
logger.debug(
|
|
110
110
|
`${deviceExisting ? "Re-" : ""}Discovered device ${address} data: ${import_general.Diagnostic.json(deviceData)}`
|
|
111
111
|
);
|
|
112
|
-
if (deviceExisting) {
|
|
113
|
-
peripheral.state = "disconnected";
|
|
114
|
-
}
|
|
115
112
|
this.discoveredMatterDevices.set(address, {
|
|
116
113
|
deviceData,
|
|
117
114
|
peripheral,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/BleScanner.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAmF;AACnF,sBAAmG;AACnG,mBAAyB;AARzB;AAAA;AAAA;AAAA;AAAA;AAYA,MAAM,SAAS,sBAAO,IAAI,YAAY;AAY/B,MAAM,WAA8B;AAAA,EAevC,YAA6B,aAA6B;AAA7B;AACzB,SAAK,YAAY;AAAA,MAAqB,CAAC,SAAS,qBAC5C,KAAK,uBAAuB,SAAS,gBAAgB;AAAA,IACzD;AAAA,EACJ;AAAA,EAlBA,IAAI,OAAO;AACP,WAAO,2BAAY;AAAA,EACvB;AAAA,EAEiB,gBAAgB,oBAAI,IAOnC;AAAA,EACe,0BAA0B,oBAAI,IAAiC;AAAA,EAQzE,oBAAoB,SAAsC;AAC7D,UAAM,SAAS,KAAK,wBAAwB,IAAI,OAAO;AACvD,QAAI,WAAW,QAAW;AACtB,YAAM,IAAI,yBAAS,+BAA+B,OAAO,EAAE;AAAA,IAC/D;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAc,sBAAsB,SAAiB,gBAAyB,0BAA0B,MAAM;AAC1G,UAAM,EAAE,SAAS,SAAS,QAAI,8BAAoB;AAClD,QAAI;AACJ,QAAI,mBAAmB,QAAW;AAC9B,cAAQ,oBAAK;AAAA,QAAS;AAAA,QAAqB,iBAAiB;AAAA,QAAM,MAC9D,KAAK,aAAa,SAAS,IAAI;AAAA,MACnC,EAAE,MAAM;AAAA,IACZ;AACA,SAAK,cAAc,IAAI,SAAS,EAAE,UAAU,OAAO,wBAAwB,CAAC;AAC5E,WAAO;AAAA,MACH,+BAA+B,OAAO,iBAAiB,cAAc,WACjE,0BAA0B,KAAK,qCACnC;AAAA,IACJ;AACA,UAAM;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,aAAa,SAAiB,gBAAyB,kBAAkB,OAAO;AACpF,UAAM,SAAS,KAAK,cAAc,IAAI,OAAO;AAC7C,QAAI,WAAW,OAAW;AAC1B,UAAM,EAAE,OAAO,UAAU,wBAAwB,IAAI;AACrD,QAAI,mBAAmB,CAAC,wBAAyB;AACjD,WAAO,MAAM,8BAA8B,OAAO,gBAAgB,cAAc,EAAE;AAClF,WAAO,KAAK;AACZ,QAAI,gBAAgB;AAChB,eAAS;AAAA,IACb;AACA,SAAK,cAAc,OAAO,OAAO;AAAA,EACrC;AAAA,EAEA,oCAAoC,YAA6C;AAC7E,UAAM,WAAW,KAAK,mCAAmC,UAAU;AACnE,SAAK,aAAa,UAAU,IAAI;AAAA,EACpC;AAAA,EAEQ,uBAAuB,YAAwB,yBAAqC;AACxF,UAAM,UAAU,WAAW;AAC3B,WAAO;AAAA,MACH,qBAAqB,OAAO,IAAI,4BAA4B,SAAY,SAAY,qBAAM,MAAM,uBAAuB,CAAC;AAAA,IAC5H;AAEA,QAAI;AACA,YAAM,EAAE,eAAe,UAAU,WAAW,+BAA+B,IACvE,yBAAS,kCAAkC,uBAAuB;AAEtE,YAAM,aAAuC;AAAA,QACzC,kBAAkB;AAAA,QAClB,GAAG;AAAA,QACH,IAAK,iBAAiB,IAAK;AAAA,QAC3B,IAAI,GAAG,QAAQ,IAAI,SAAS;AAAA,QAC5B,IAAI;AAAA;AAAA,QACJ,WAAW,CAAC,EAAE,MAAM,OAAO,mBAAmB,QAAQ,CAAC;AAAA,MAC3D;AACA,YAAM,iBAAiB,KAAK,wBAAwB,IAAI,OAAO;AAE/D,aAAO;AAAA,QACH,GAAG,iBAAiB,QAAQ,EAAE,qBAAqB,OAAO,UAAU,0BAAW,KAAK,UAAU,CAAC;AAAA,MACnG;AAEA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["remainingTime"]
|
|
6
6
|
}
|
|
@@ -34,7 +34,7 @@ export declare class BlenoBleServer extends BleChannel<Uint8Array> {
|
|
|
34
34
|
* @param offset
|
|
35
35
|
* @param withoutResponse
|
|
36
36
|
*/
|
|
37
|
-
handleC1WriteRequest(data: Buffer
|
|
37
|
+
handleC1WriteRequest(data: Buffer<ArrayBufferLike>, offset: number, withoutResponse: boolean): void;
|
|
38
38
|
/**
|
|
39
39
|
* Process a Subscribe request on characteristic C2 from the Matter service.
|
|
40
40
|
* This is expected directly after a handshake request and initializes the BTP session handler with the stored
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlenoBleServer.d.ts","sourceRoot":"","sources":["../../src/BlenoBleServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAA8C,MAAM,iBAAiB,CAAC;AAEtF,OAAO,EAMH,UAAU,EAKb,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"BlenoBleServer.d.ts","sourceRoot":"","sources":["../../src/BlenoBleServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAA8C,MAAM,iBAAiB,CAAC;AAEtF,OAAO,EAMH,UAAU,EAKb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA4G5C;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,UAAU,CAAC,UAAU,CAAC;IACtD,OAAO,CAAC,KAAK,CAAa;IAC1B,aAAa,UAAS;IACtB,OAAO,CAAC,yBAAyB,CAA2B;IAC5D,OAAO,CAAC,eAAe,CAAqB;IAE5C,OAAO,CAAC,sBAAsB,CAAqB;IACnD,OAAO,CAAC,UAAU,CAAgC;IAElD,OAAO,CAAC,uBAAuB,CAAwE;IACvG,OAAO,CAAC,yBAAyB,CAAsC;IAEhE,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAEtB,OAAO,CAAC,EAAE,UAAU;IAsEhC;;;;;;;;OAQG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO;IA0B5F;;;;;;;;OAQG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;IAsChG,gBAAgB;IAShB;;;;;OAKG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAQ5B,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,2BAA2B,CAAC,EAAE,UAAU;IAyB7E,eAAe;IAYrB,wBAAwB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI;IAOpF,4BAA4B;IAK5B,KAAK;IAUL,UAAU;IAchB;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,UAAU;IAQ3B,IAAI,IAAI,WAEP;CACJ"}
|
|
@@ -40,10 +40,11 @@ function initializeBleno(server, hciId) {
|
|
|
40
40
|
constructor() {
|
|
41
41
|
super({
|
|
42
42
|
uuid: import_protocol.BLE_MATTER_C1_CHARACTERISTIC_UUID,
|
|
43
|
-
properties: ["write"]
|
|
43
|
+
properties: ["write"],
|
|
44
|
+
onWriteRequest: (_handle, data, offset, withoutResponse, callback) => this.#onWriteRequest(data, offset, withoutResponse, callback)
|
|
44
45
|
});
|
|
45
46
|
}
|
|
46
|
-
onWriteRequest(data, offset, withoutResponse, callback) {
|
|
47
|
+
#onWriteRequest(data, offset, withoutResponse, callback) {
|
|
47
48
|
logger.debug(`C1 write request: ${data.toString("hex")} ${offset} ${withoutResponse}`);
|
|
48
49
|
try {
|
|
49
50
|
server.handleC1WriteRequest(data, offset, withoutResponse);
|
|
@@ -58,18 +59,21 @@ function initializeBleno(server, hciId) {
|
|
|
58
59
|
constructor() {
|
|
59
60
|
super({
|
|
60
61
|
uuid: import_protocol.BLE_MATTER_C2_CHARACTERISTIC_UUID,
|
|
61
|
-
properties: ["indicate"]
|
|
62
|
+
properties: ["indicate"],
|
|
63
|
+
onSubscribe: (_handle, maxValueSize, updateValueCallback) => this.#onSubscribe(maxValueSize, updateValueCallback),
|
|
64
|
+
onUnsubscribe: () => this.#onUnsubscribe(),
|
|
65
|
+
onIndicate: () => this.#onIndicate()
|
|
62
66
|
});
|
|
63
67
|
}
|
|
64
|
-
onSubscribe(maxValueSize, updateValueCallback) {
|
|
68
|
+
#onSubscribe(maxValueSize, updateValueCallback) {
|
|
65
69
|
logger.debug(`C2 subscribe ${maxValueSize}`);
|
|
66
70
|
server.handleC2SubscribeRequest(maxValueSize, updateValueCallback).catch((e) => logger.warn("Error happened in when handling C2 subscribe", e));
|
|
67
71
|
}
|
|
68
|
-
onUnsubscribe() {
|
|
72
|
+
#onUnsubscribe() {
|
|
69
73
|
logger.debug("C2 unsubscribe");
|
|
70
74
|
server.close().catch((e) => logger.warn("Error happened when closing server for C2 unsubscribe", e));
|
|
71
75
|
}
|
|
72
|
-
onIndicate() {
|
|
76
|
+
#onIndicate() {
|
|
73
77
|
logger.debug("C2 indicate");
|
|
74
78
|
server.handleC2Indicate();
|
|
75
79
|
}
|
|
@@ -78,10 +82,11 @@ function initializeBleno(server, hciId) {
|
|
|
78
82
|
constructor() {
|
|
79
83
|
super({
|
|
80
84
|
uuid: import_protocol.BLE_MATTER_C3_CHARACTERISTIC_UUID,
|
|
81
|
-
properties: ["read"]
|
|
85
|
+
properties: ["read"],
|
|
86
|
+
onReadRequest: (_handle, offset, callback) => this.#onReadRequest(offset, callback)
|
|
82
87
|
});
|
|
83
88
|
}
|
|
84
|
-
onReadRequest(offset, callback) {
|
|
89
|
+
#onReadRequest(offset, callback) {
|
|
85
90
|
try {
|
|
86
91
|
const data = server.handleC3ReadRequest(offset);
|
|
87
92
|
logger.debug(`C3 read request: ${data.toString("hex")} ${offset}`);
|
|
@@ -124,6 +129,8 @@ class BlenoBleServer extends import_protocol.BleChannel {
|
|
|
124
129
|
matterBleService;
|
|
125
130
|
constructor(options) {
|
|
126
131
|
super();
|
|
132
|
+
const { environment } = options ?? {};
|
|
133
|
+
environment?.runtime.add(this);
|
|
127
134
|
this.matterBleService = initializeBleno(this, options?.hciId);
|
|
128
135
|
Bleno.on("stateChange", (state) => {
|
|
129
136
|
if (state === this.state) return;
|
|
@@ -143,6 +150,7 @@ class BlenoBleServer extends import_protocol.BleChannel {
|
|
|
143
150
|
});
|
|
144
151
|
Bleno.on("disconnect", (clientAddress) => {
|
|
145
152
|
logger.debug(`disconnect, client: ${clientAddress}`);
|
|
153
|
+
this.isAdvertising = false;
|
|
146
154
|
if (this.btpSession !== void 0) {
|
|
147
155
|
this.btpSession.close().then(() => {
|
|
148
156
|
this.btpSession = void 0;
|
|
@@ -314,6 +322,7 @@ class BlenoBleServer extends import_protocol.BleChannel {
|
|
|
314
322
|
this.onMatterMessageListener = void 0;
|
|
315
323
|
}
|
|
316
324
|
async disconnect() {
|
|
325
|
+
this.isAdvertising = false;
|
|
317
326
|
Bleno.disconnect();
|
|
318
327
|
}
|
|
319
328
|
// Channel<Uint8Array>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/BlenoBleServer.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAoE;AACpE,qBAAwB;AACxB,sBAWO;AAnBP;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NobleBleChannel.d.ts","sourceRoot":"","sources":["../../src/NobleBleChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,OAAO,EACP,WAAW,EAIX,YAAY,EAEZ,aAAa,EAGb,kBAAkB,EAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EASH,UAAU,EAIV,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAkC7C,qBAAa,wBAAyB,YAAW,YAAY;;gBAQ7C,UAAU,EAAE,UAAU;IAIlC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"NobleBleChannel.d.ts","sourceRoot":"","sources":["../../src/NobleBleChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,OAAO,EACP,WAAW,EAIX,YAAY,EAEZ,aAAa,EAGb,kBAAkB,EAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EASH,UAAU,EAIV,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAkC7C,qBAAa,wBAAyB,YAAW,YAAY;;gBAQ7C,UAAU,EAAE,UAAU;IAIlC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAmR/E,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,kBAAkB,CAAC,QAAQ;IAOhG,KAAK;IAUX,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM;CAMhD;AAED,qBAAa,eAAgB,SAAQ,UAAU,CAAC,UAAU,CAAC;IAkHnD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAlHlB,MAAM,CACf,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,cAAc,EACxC,4BAA4B,EAAE,cAAc,EAC5C,uBAAuB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChF,mCAAmC,CAAC,EAAE,UAAU,GACjD,OAAO,CAAC,eAAe,CAAC;IAwG3B,OAAO,CAAC,SAAS,CAAQ;gBAGJ,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,iBAAiB;IAUlD;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,UAAU;IAgB3B,IAAI,IAAI,WAEP;IAEK,KAAK;CAMd"}
|
|
@@ -237,7 +237,9 @@ class NobleBleCentralInterface {
|
|
|
237
237
|
} catch (error2) {
|
|
238
238
|
this.#connectionsInProgress.delete(address);
|
|
239
239
|
this.#openChannels.delete(address);
|
|
240
|
-
await peripheral.disconnectAsync()
|
|
240
|
+
await peripheral.disconnectAsync().catch(
|
|
241
|
+
(error3) => logger.debug(`Peripheral ${peripheral.address}: Error while disconnecting`, error3)
|
|
242
|
+
);
|
|
241
243
|
reTryHandler(error2);
|
|
242
244
|
return;
|
|
243
245
|
}
|
|
@@ -262,7 +264,6 @@ class NobleBleCentralInterface {
|
|
|
262
264
|
} else {
|
|
263
265
|
if (peripheral.state === "connecting") {
|
|
264
266
|
peripheral.cancelConnect();
|
|
265
|
-
peripheral.state = "disconnected";
|
|
266
267
|
}
|
|
267
268
|
connectionGuard.connectTimeout.start();
|
|
268
269
|
peripheral.once("connect", connectHandler);
|
|
@@ -338,9 +339,9 @@ class NobleBleChannel extends import_protocol.BleChannel {
|
|
|
338
339
|
};
|
|
339
340
|
const btpHandshakeTimeout = import_general.Time.getTimer("BLE handshake timeout", import_protocol.BTP_CONN_RSP_TIMEOUT_MS, async () => {
|
|
340
341
|
characteristicC2ForSubscribe.removeListener("data", handshakeHandler);
|
|
341
|
-
characteristicC2ForSubscribe.unsubscribeAsync().catch((error) => logger.error(`Peripheral ${peripheralAddress}: Error while unsubscribing`, error));
|
|
342
|
+
await characteristicC2ForSubscribe.unsubscribeAsync().catch((error) => logger.error(`Peripheral ${peripheralAddress}: Error while unsubscribing`, error));
|
|
342
343
|
logger.debug(
|
|
343
|
-
`Peripheral ${peripheralAddress}: Handshake Response not received.
|
|
344
|
+
`Peripheral ${peripheralAddress}: Handshake Response not received. Disconnect from peripheral`
|
|
344
345
|
);
|
|
345
346
|
handshakeRejecter(new import_protocol.BleError(`Peripheral ${peripheralAddress}: Handshake Response not received`));
|
|
346
347
|
}).start();
|
|
@@ -366,6 +367,11 @@ class NobleBleChannel extends import_protocol.BleChannel {
|
|
|
366
367
|
// callback to disconnect the BLE connection
|
|
367
368
|
async () => void characteristicC2ForSubscribe.unsubscribeAsync().then(
|
|
368
369
|
() => peripheral.disconnectAsync().then(() => logger.debug(`Peripheral ${peripheralAddress}: Disconnected from peripheral`))
|
|
370
|
+
).catch(
|
|
371
|
+
(error) => logger.debug(
|
|
372
|
+
`Peripheral ${peripheralAddress}: Error while unsubscribing or disconnecting`,
|
|
373
|
+
error
|
|
374
|
+
)
|
|
369
375
|
),
|
|
370
376
|
// callback to forward decoded and de-assembled Matter messages to ExchangeManager
|
|
371
377
|
async (data) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NobleBleChannel.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["error"]
|
|
6
6
|
}
|
|
@@ -12,6 +12,7 @@ export declare class NobleBleClient {
|
|
|
12
12
|
private nobleState;
|
|
13
13
|
private deviceDiscoveredCallback;
|
|
14
14
|
constructor(options?: BleOptions);
|
|
15
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
15
16
|
setDiscoveryCallback(callback: (peripheral: Peripheral, manufacturerData: Uint8Array) => void): void;
|
|
16
17
|
startScanning(): Promise<void>;
|
|
17
18
|
stopScanning(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NobleBleClient.d.ts","sourceRoot":"","sources":["../../src/NobleBleClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"NobleBleClient.d.ts","sourceRoot":"","sources":["../../src/NobleBleClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAS,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkB5C,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAGlC;IACJ,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,wBAAwB,CAA+E;gBAEnG,OAAO,CAAC,EAAE,UAAU;IAqChC,CAAC,MAAM,CAAC,YAAY,CAAC;IAId,oBAAoB,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,KAAK,IAAI;IAOvF,aAAa;IAgBb,YAAY;IAQzB,OAAO,CAAC,sBAAsB;CAqCjC"}
|
|
@@ -47,6 +47,8 @@ class NobleBleClient {
|
|
|
47
47
|
nobleState = "unknown";
|
|
48
48
|
deviceDiscoveredCallback;
|
|
49
49
|
constructor(options) {
|
|
50
|
+
const { environment } = options ?? {};
|
|
51
|
+
environment?.runtime.add(this);
|
|
50
52
|
loadNoble(options?.hciId);
|
|
51
53
|
noble.on("stateChange", (state) => {
|
|
52
54
|
this.nobleState = state;
|
|
@@ -68,6 +70,9 @@ class NobleBleClient {
|
|
|
68
70
|
});
|
|
69
71
|
noble.on("scanStop", () => this.isScanning = false);
|
|
70
72
|
}
|
|
73
|
+
[Symbol.asyncDispose]() {
|
|
74
|
+
return this.stopScanning();
|
|
75
|
+
}
|
|
71
76
|
setDiscoveryCallback(callback) {
|
|
72
77
|
this.deviceDiscoveredCallback = callback;
|
|
73
78
|
for (const { peripheral, matterServiceData } of this.discoveredPeripherals.values()) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NobleBleClient.ts"],
|
|
4
|
-
"mappings": "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",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/cjs/NodeJsBle.d.ts
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { NetInterface, TransportInterface } from "@matter/general";
|
|
6
|
+
import { Environment, NetInterface, TransportInterface } from "@matter/general";
|
|
7
7
|
import { Ble, InstanceBroadcaster, Scanner } from "@matter/protocol";
|
|
8
8
|
export type BleOptions = {
|
|
9
9
|
hciId?: number;
|
|
10
|
+
environment?: Environment;
|
|
10
11
|
};
|
|
11
12
|
export declare class NodeJsBle extends Ble {
|
|
12
13
|
#private;
|
|
13
|
-
|
|
14
|
-
constructor(options?: BleOptions | undefined);
|
|
14
|
+
constructor(options?: BleOptions);
|
|
15
15
|
getBlePeripheralInterface(): TransportInterface;
|
|
16
16
|
getBleCentralInterface(): NetInterface;
|
|
17
17
|
getBleBroadcaster(additionalAdvertisementData?: Uint8Array): InstanceBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeJsBle.d.ts","sourceRoot":"","sources":["../../src/NodeJsBle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"NodeJsBle.d.ts","sourceRoot":"","sources":["../../src/NodeJsBle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAQrE,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,qBAAa,SAAU,SAAQ,GAAG;;gBASlB,OAAO,CAAC,EAAE,UAAU;IAmBhC,yBAAyB,IAAI,kBAAkB;IAO/C,sBAAsB,IAAI,YAAY;IAOtC,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,UAAU,GAAG,mBAAmB;IAOhF,aAAa,IAAI,OAAO;CAM3B"}
|
package/dist/cjs/NodeJsBle.js
CHANGED
|
@@ -34,25 +34,26 @@ var import_NobleBleClient = require("./NobleBleClient.js");
|
|
|
34
34
|
* SPDX-License-Identifier: Apache-2.0
|
|
35
35
|
*/
|
|
36
36
|
class NodeJsBle extends import_protocol.Ble {
|
|
37
|
-
|
|
38
|
-
super();
|
|
39
|
-
this.options = options;
|
|
40
|
-
}
|
|
37
|
+
#options;
|
|
41
38
|
#blePeripheralInstance;
|
|
42
39
|
#bleCentralInstance;
|
|
43
40
|
#bleScanner;
|
|
44
41
|
#bleBroadcaster;
|
|
45
42
|
#bleCentralInterface;
|
|
46
43
|
#blePeripheralInterface;
|
|
44
|
+
constructor(options) {
|
|
45
|
+
super();
|
|
46
|
+
this.#options = options;
|
|
47
|
+
}
|
|
47
48
|
get #blePeripheralServer() {
|
|
48
49
|
if (this.#blePeripheralInstance === void 0) {
|
|
49
|
-
this.#blePeripheralInstance = new import_BlenoBleServer.BlenoBleServer(this
|
|
50
|
+
this.#blePeripheralInstance = new import_BlenoBleServer.BlenoBleServer(this.#options);
|
|
50
51
|
}
|
|
51
52
|
return this.#blePeripheralInstance;
|
|
52
53
|
}
|
|
53
54
|
get #bleCentralClient() {
|
|
54
55
|
if (this.#bleCentralInstance === void 0) {
|
|
55
|
-
this.#bleCentralInstance = new import_NobleBleClient.NobleBleClient(this
|
|
56
|
+
this.#bleCentralInstance = new import_NobleBleClient.NobleBleClient(this.#options);
|
|
56
57
|
}
|
|
57
58
|
return this.#bleCentralInstance;
|
|
58
59
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NodeJsBle.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAAkD;AAClD,4BAA+B;AAC/B,oCAAuC;AACvC,wBAA2B;AAC3B,4BAA+B;AAC/B,6BAAyC;AACzC,4BAA+B;AAb/B;AAAA;AAAA;AAAA;AAAA;
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAAkD;AAClD,4BAA+B;AAC/B,oCAAuC;AACvC,wBAA2B;AAC3B,4BAA+B;AAC/B,6BAAyC;AACzC,4BAA+B;AAb/B;AAAA;AAAA;AAAA;AAAA;AAoBO,MAAM,kBAAkB,oBAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,SAAsB;AAC9B,UAAM;AACN,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,IAAI,uBAAuB;AACvB,QAAI,KAAK,2BAA2B,QAAW;AAC3C,WAAK,yBAAyB,IAAI,qCAAe,KAAK,QAAQ;AAAA,IAClE;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,oBAAoB;AACpB,QAAI,KAAK,wBAAwB,QAAW;AACxC,WAAK,sBAAsB,IAAI,qCAAe,KAAK,QAAQ;AAAA,IAC/D;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,4BAAgD;AAC5C,QAAI,KAAK,4BAA4B,QAAW;AAC5C,WAAK,0BAA0B,IAAI,qDAAuB,KAAK,oBAAoB;AAAA,IACvF;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,yBAAuC;AACnC,QAAI,KAAK,yBAAyB,QAAW;AACzC,WAAK,uBAAuB,IAAI,gDAAyB,KAAK,cAAc,CAAe;AAAA,IAC/F;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,kBAAkB,6BAA+D;AAC7E,QAAI,KAAK,oBAAoB,QAAW;AACpC,WAAK,kBAAkB,IAAI,qCAAe,KAAK,sBAAsB,2BAA2B;AAAA,IACpG;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,gBAAyB;AACrB,QAAI,KAAK,gBAAgB,QAAW;AAChC,WAAK,cAAc,IAAI,6BAAW,KAAK,iBAAiB;AAAA,IAC5D;AACA,WAAO,KAAK;AAAA,EAChB;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BleScanner.d.ts","sourceRoot":"","sources":["../../src/BleScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,WAAW,EAAkD,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAsB,oBAAoB,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEtH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,8BAA8B,EAAE,OAAO,CAAC;CAC3C,CAAC;AAEF,KAAK,wBAAwB,GAAG,oBAAoB,GAAG;IACnD,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,UAAW,YAAW,OAAO;IAe1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAdxC,IAAI,IAAI,gBAEP;IAED,OAAO,CAAC,QAAQ,CAAC,aAAa,CAO1B;IACJ,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0C;gBAErD,WAAW,EAAE,cAAc;IAMjD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAQhE;;;OAGG;YACW,qBAAqB;IAiBnC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAapB,mCAAmC,CAAC,UAAU,EAAE,+BAA+B;IAK/E,OAAO,CAAC,sBAAsB;
|
|
1
|
+
{"version":3,"file":"BleScanner.d.ts","sourceRoot":"","sources":["../../src/BleScanner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAS,WAAW,EAAkD,MAAM,iBAAiB,CAAC;AACrG,OAAO,EAAsB,oBAAoB,EAAE,+BAA+B,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEtH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,MAAM,MAAM,mBAAmB,GAAG;IAC9B,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,EAAE,UAAU,CAAC;IACvB,8BAA8B,EAAE,OAAO,CAAC;CAC3C,CAAC;AAEF,KAAK,wBAAwB,GAAG,oBAAoB,GAAG;IACnD,EAAE,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,UAAW,YAAW,OAAO;IAe1B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAdxC,IAAI,IAAI,gBAEP;IAED,OAAO,CAAC,QAAQ,CAAC,aAAa,CAO1B;IACJ,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAA0C;gBAErD,WAAW,EAAE,cAAc;IAMjD,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,mBAAmB;IAQhE;;;OAGG;YACW,qBAAqB;IAiBnC;;;OAGG;IACH,OAAO,CAAC,YAAY;IAapB,mCAAmC,CAAC,UAAU,EAAE,+BAA+B;IAK/E,OAAO,CAAC,sBAAsB;IAuC9B,OAAO,CAAC,iCAAiC;IAmCzC;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IAa1C,OAAO,CAAC,wBAAwB;IA4B1B,qBAAqB,IAAI,OAAO,CAAC,SAAS,CAAC;IAKjD,8BAA8B,IAAI,SAAS;IAKrC,yBAAyB,CAC3B,UAAU,EAAE,+BAA+B,EAC3C,cAAc,SAAK,EACnB,qBAAqB,UAAQ,GAC9B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAqB5B,qCAAqC,CACvC,UAAU,EAAE,+BAA+B,EAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EAChD,cAAc,CAAC,EAAE,MAAM,EACvB,YAAY,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,GAC7B,OAAO,CAAC,oBAAoB,EAAE,CAAC;IA0ClC,kCAAkC,CAAC,UAAU,EAAE,+BAA+B,GAAG,oBAAoB,EAAE;IAIjG,KAAK;CAMd"}
|
package/dist/esm/BleScanner.js
CHANGED
|
@@ -86,9 +86,6 @@ class BleScanner {
|
|
|
86
86
|
logger.debug(
|
|
87
87
|
`${deviceExisting ? "Re-" : ""}Discovered device ${address} data: ${Diagnostic.json(deviceData)}`
|
|
88
88
|
);
|
|
89
|
-
if (deviceExisting) {
|
|
90
|
-
peripheral.state = "disconnected";
|
|
91
|
-
}
|
|
92
89
|
this.discoveredMatterDevices.set(address, {
|
|
93
90
|
deviceData,
|
|
94
91
|
peripheral,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/BleScanner.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAO,aAAa,eAAe,YAAY,QAAQ,YAAmB;AACnF,SAAS,UAAU,gBAAgF;AACnG,SAAS,gBAAgB;AAIzB,MAAM,SAAS,OAAO,IAAI,YAAY;AAY/B,MAAM,WAA8B;AAAA,EAevC,YAA6B,aAA6B;AAA7B;AACzB,SAAK,YAAY;AAAA,MAAqB,CAAC,SAAS,qBAC5C,KAAK,uBAAuB,SAAS,gBAAgB;AAAA,IACzD;AAAA,EACJ;AAAA,EAlBA,IAAI,OAAO;AACP,WAAO,YAAY;AAAA,EACvB;AAAA,EAEiB,gBAAgB,oBAAI,IAOnC;AAAA,EACe,0BAA0B,oBAAI,IAAiC;AAAA,EAQzE,oBAAoB,SAAsC;AAC7D,UAAM,SAAS,KAAK,wBAAwB,IAAI,OAAO;AACvD,QAAI,WAAW,QAAW;AACtB,YAAM,IAAI,SAAS,+BAA+B,OAAO,EAAE;AAAA,IAC/D;AACA,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAc,sBAAsB,SAAiB,gBAAyB,0BAA0B,MAAM;AAC1G,UAAM,EAAE,SAAS,SAAS,IAAI,cAAoB;AAClD,QAAI;AACJ,QAAI,mBAAmB,QAAW;AAC9B,cAAQ,KAAK;AAAA,QAAS;AAAA,QAAqB,iBAAiB;AAAA,QAAM,MAC9D,KAAK,aAAa,SAAS,IAAI;AAAA,MACnC,EAAE,MAAM;AAAA,IACZ;AACA,SAAK,cAAc,IAAI,SAAS,EAAE,UAAU,OAAO,wBAAwB,CAAC;AAC5E,WAAO;AAAA,MACH,+BAA+B,OAAO,iBAAiB,cAAc,WACjE,0BAA0B,KAAK,qCACnC;AAAA,IACJ;AACA,UAAM;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,aAAa,SAAiB,gBAAyB,kBAAkB,OAAO;AACpF,UAAM,SAAS,KAAK,cAAc,IAAI,OAAO;AAC7C,QAAI,WAAW,OAAW;AAC1B,UAAM,EAAE,OAAO,UAAU,wBAAwB,IAAI;AACrD,QAAI,mBAAmB,CAAC,wBAAyB;AACjD,WAAO,MAAM,8BAA8B,OAAO,gBAAgB,cAAc,EAAE;AAClF,WAAO,KAAK;AACZ,QAAI,gBAAgB;AAChB,eAAS;AAAA,IACb;AACA,SAAK,cAAc,OAAO,OAAO;AAAA,EACrC;AAAA,EAEA,oCAAoC,YAA6C;AAC7E,UAAM,WAAW,KAAK,mCAAmC,UAAU;AACnE,SAAK,aAAa,UAAU,IAAI;AAAA,EACpC;AAAA,EAEQ,uBAAuB,YAAwB,yBAAqC;AACxF,UAAM,UAAU,WAAW;AAC3B,WAAO;AAAA,MACH,qBAAqB,OAAO,IAAI,4BAA4B,SAAY,SAAY,MAAM,MAAM,uBAAuB,CAAC;AAAA,IAC5H;AAEA,QAAI;AACA,YAAM,EAAE,eAAe,UAAU,WAAW,+BAA+B,IACvE,SAAS,kCAAkC,uBAAuB;AAEtE,YAAM,aAAuC;AAAA,QACzC,kBAAkB;AAAA,QAClB,GAAG;AAAA,QACH,IAAK,iBAAiB,IAAK;AAAA,QAC3B,IAAI,GAAG,QAAQ,IAAI,SAAS;AAAA,QAC5B,IAAI;AAAA;AAAA,QACJ,WAAW,CAAC,EAAE,MAAM,OAAO,mBAAmB,QAAQ,CAAC;AAAA,MAC3D;AACA,YAAM,iBAAiB,KAAK,wBAAwB,IAAI,OAAO;AAE/D,aAAO;AAAA,QACH,GAAG,iBAAiB,QAAQ,EAAE,qBAAqB,OAAO,UAAU,WAAW,KAAK,UAAU,CAAC;AAAA,MACnG;AAEA,
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["remainingTime"]
|
|
6
6
|
}
|
|
@@ -34,7 +34,7 @@ export declare class BlenoBleServer extends BleChannel<Uint8Array> {
|
|
|
34
34
|
* @param offset
|
|
35
35
|
* @param withoutResponse
|
|
36
36
|
*/
|
|
37
|
-
handleC1WriteRequest(data: Buffer
|
|
37
|
+
handleC1WriteRequest(data: Buffer<ArrayBufferLike>, offset: number, withoutResponse: boolean): void;
|
|
38
38
|
/**
|
|
39
39
|
* Process a Subscribe request on characteristic C2 from the Matter service.
|
|
40
40
|
* This is expected directly after a handshake request and initializes the BTP session handler with the stored
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlenoBleServer.d.ts","sourceRoot":"","sources":["../../src/BlenoBleServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAA8C,MAAM,iBAAiB,CAAC;AAEtF,OAAO,EAMH,UAAU,EAKb,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"BlenoBleServer.d.ts","sourceRoot":"","sources":["../../src/BlenoBleServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAA8C,MAAM,iBAAiB,CAAC;AAEtF,OAAO,EAMH,UAAU,EAKb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AA4G5C;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,UAAU,CAAC,UAAU,CAAC;IACtD,OAAO,CAAC,KAAK,CAAa;IAC1B,aAAa,UAAS;IACtB,OAAO,CAAC,yBAAyB,CAA2B;IAC5D,OAAO,CAAC,eAAe,CAAqB;IAE5C,OAAO,CAAC,sBAAsB,CAAqB;IACnD,OAAO,CAAC,UAAU,CAAgC;IAElD,OAAO,CAAC,uBAAuB,CAAwE;IACvG,OAAO,CAAC,yBAAyB,CAAsC;IAEhE,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAEtB,OAAO,CAAC,EAAE,UAAU;IAsEhC;;;;;;;;OAQG;IACH,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO;IA0B5F;;;;;;;;OAQG;IACG,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;IAsChG,gBAAgB;IAShB;;;;;OAKG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM;IAQ5B,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,2BAA2B,CAAC,EAAE,UAAU;IAyB7E,eAAe;IAYrB,wBAAwB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI;IAOpF,4BAA4B;IAK5B,KAAK;IAUL,UAAU;IAchB;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,UAAU;IAQ3B,IAAI,IAAI,WAEP;CACJ"}
|
|
@@ -28,10 +28,11 @@ function initializeBleno(server, hciId) {
|
|
|
28
28
|
constructor() {
|
|
29
29
|
super({
|
|
30
30
|
uuid: BLE_MATTER_C1_CHARACTERISTIC_UUID,
|
|
31
|
-
properties: ["write"]
|
|
31
|
+
properties: ["write"],
|
|
32
|
+
onWriteRequest: (_handle, data, offset, withoutResponse, callback) => this.#onWriteRequest(data, offset, withoutResponse, callback)
|
|
32
33
|
});
|
|
33
34
|
}
|
|
34
|
-
onWriteRequest(data, offset, withoutResponse, callback) {
|
|
35
|
+
#onWriteRequest(data, offset, withoutResponse, callback) {
|
|
35
36
|
logger.debug(`C1 write request: ${data.toString("hex")} ${offset} ${withoutResponse}`);
|
|
36
37
|
try {
|
|
37
38
|
server.handleC1WriteRequest(data, offset, withoutResponse);
|
|
@@ -46,18 +47,21 @@ function initializeBleno(server, hciId) {
|
|
|
46
47
|
constructor() {
|
|
47
48
|
super({
|
|
48
49
|
uuid: BLE_MATTER_C2_CHARACTERISTIC_UUID,
|
|
49
|
-
properties: ["indicate"]
|
|
50
|
+
properties: ["indicate"],
|
|
51
|
+
onSubscribe: (_handle, maxValueSize, updateValueCallback) => this.#onSubscribe(maxValueSize, updateValueCallback),
|
|
52
|
+
onUnsubscribe: () => this.#onUnsubscribe(),
|
|
53
|
+
onIndicate: () => this.#onIndicate()
|
|
50
54
|
});
|
|
51
55
|
}
|
|
52
|
-
onSubscribe(maxValueSize, updateValueCallback) {
|
|
56
|
+
#onSubscribe(maxValueSize, updateValueCallback) {
|
|
53
57
|
logger.debug(`C2 subscribe ${maxValueSize}`);
|
|
54
58
|
server.handleC2SubscribeRequest(maxValueSize, updateValueCallback).catch((e) => logger.warn("Error happened in when handling C2 subscribe", e));
|
|
55
59
|
}
|
|
56
|
-
onUnsubscribe() {
|
|
60
|
+
#onUnsubscribe() {
|
|
57
61
|
logger.debug("C2 unsubscribe");
|
|
58
62
|
server.close().catch((e) => logger.warn("Error happened when closing server for C2 unsubscribe", e));
|
|
59
63
|
}
|
|
60
|
-
onIndicate() {
|
|
64
|
+
#onIndicate() {
|
|
61
65
|
logger.debug("C2 indicate");
|
|
62
66
|
server.handleC2Indicate();
|
|
63
67
|
}
|
|
@@ -66,10 +70,11 @@ function initializeBleno(server, hciId) {
|
|
|
66
70
|
constructor() {
|
|
67
71
|
super({
|
|
68
72
|
uuid: BLE_MATTER_C3_CHARACTERISTIC_UUID,
|
|
69
|
-
properties: ["read"]
|
|
73
|
+
properties: ["read"],
|
|
74
|
+
onReadRequest: (_handle, offset, callback) => this.#onReadRequest(offset, callback)
|
|
70
75
|
});
|
|
71
76
|
}
|
|
72
|
-
onReadRequest(offset, callback) {
|
|
77
|
+
#onReadRequest(offset, callback) {
|
|
73
78
|
try {
|
|
74
79
|
const data = server.handleC3ReadRequest(offset);
|
|
75
80
|
logger.debug(`C3 read request: ${data.toString("hex")} ${offset}`);
|
|
@@ -112,6 +117,8 @@ class BlenoBleServer extends BleChannel {
|
|
|
112
117
|
matterBleService;
|
|
113
118
|
constructor(options) {
|
|
114
119
|
super();
|
|
120
|
+
const { environment } = options ?? {};
|
|
121
|
+
environment?.runtime.add(this);
|
|
115
122
|
this.matterBleService = initializeBleno(this, options?.hciId);
|
|
116
123
|
Bleno.on("stateChange", (state) => {
|
|
117
124
|
if (state === this.state) return;
|
|
@@ -131,6 +138,7 @@ class BlenoBleServer extends BleChannel {
|
|
|
131
138
|
});
|
|
132
139
|
Bleno.on("disconnect", (clientAddress) => {
|
|
133
140
|
logger.debug(`disconnect, client: ${clientAddress}`);
|
|
141
|
+
this.isAdvertising = false;
|
|
134
142
|
if (this.btpSession !== void 0) {
|
|
135
143
|
this.btpSession.close().then(() => {
|
|
136
144
|
this.btpSession = void 0;
|
|
@@ -302,6 +310,7 @@ class BlenoBleServer extends BleChannel {
|
|
|
302
310
|
this.onMatterMessageListener = void 0;
|
|
303
311
|
}
|
|
304
312
|
async disconnect() {
|
|
313
|
+
this.isAdvertising = false;
|
|
305
314
|
Bleno.disconnect();
|
|
306
315
|
}
|
|
307
316
|
// Channel<Uint8Array>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/BlenoBleServer.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAkB,eAAe,QAAQ,MAAM,qBAAqB;AACpE,SAAS,WAAAA,gBAAe;AACxB;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["require"]
|
|
6
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NobleBleChannel.d.ts","sourceRoot":"","sources":["../../src/NobleBleChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,OAAO,EACP,WAAW,EAIX,YAAY,EAEZ,aAAa,EAGb,kBAAkB,EAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EASH,UAAU,EAIV,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAkC7C,qBAAa,wBAAyB,YAAW,YAAY;;gBAQ7C,UAAU,EAAE,UAAU;IAIlC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"NobleBleChannel.d.ts","sourceRoot":"","sources":["../../src/NobleBleChannel.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACH,OAAO,EACP,WAAW,EAIX,YAAY,EAEZ,aAAa,EAGb,kBAAkB,EAErB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EASH,UAAU,EAIV,iBAAiB,EACpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAkC7C,qBAAa,wBAAyB,YAAW,YAAY;;gBAQ7C,UAAU,EAAE,UAAU;IAIlC,WAAW,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,SAAI,GAAG,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAmR/E,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,kBAAkB,CAAC,QAAQ;IAOhG,KAAK;IAUX,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM;CAMhD;AAED,qBAAa,eAAgB,SAAQ,UAAU,CAAC,UAAU,CAAC;IAkHnD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU;WAlHlB,MAAM,CACf,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,cAAc,EACxC,4BAA4B,EAAE,cAAc,EAC5C,uBAAuB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,EAChF,mCAAmC,CAAC,EAAE,UAAU,GACjD,OAAO,CAAC,eAAe,CAAC;IAwG3B,OAAO,CAAC,SAAS,CAAQ;gBAGJ,UAAU,EAAE,UAAU,EACtB,UAAU,EAAE,iBAAiB;IAUlD;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,UAAU;IAgB3B,IAAI,IAAI,WAEP;IAEK,KAAK;CAMd"}
|
|
@@ -235,7 +235,9 @@ class NobleBleCentralInterface {
|
|
|
235
235
|
} catch (error2) {
|
|
236
236
|
this.#connectionsInProgress.delete(address);
|
|
237
237
|
this.#openChannels.delete(address);
|
|
238
|
-
await peripheral.disconnectAsync()
|
|
238
|
+
await peripheral.disconnectAsync().catch(
|
|
239
|
+
(error3) => logger.debug(`Peripheral ${peripheral.address}: Error while disconnecting`, error3)
|
|
240
|
+
);
|
|
239
241
|
reTryHandler(error2);
|
|
240
242
|
return;
|
|
241
243
|
}
|
|
@@ -260,7 +262,6 @@ class NobleBleCentralInterface {
|
|
|
260
262
|
} else {
|
|
261
263
|
if (peripheral.state === "connecting") {
|
|
262
264
|
peripheral.cancelConnect();
|
|
263
|
-
peripheral.state = "disconnected";
|
|
264
265
|
}
|
|
265
266
|
connectionGuard.connectTimeout.start();
|
|
266
267
|
peripheral.once("connect", connectHandler);
|
|
@@ -336,9 +337,9 @@ class NobleBleChannel extends BleChannel {
|
|
|
336
337
|
};
|
|
337
338
|
const btpHandshakeTimeout = Time.getTimer("BLE handshake timeout", BTP_CONN_RSP_TIMEOUT_MS, async () => {
|
|
338
339
|
characteristicC2ForSubscribe.removeListener("data", handshakeHandler);
|
|
339
|
-
characteristicC2ForSubscribe.unsubscribeAsync().catch((error) => logger.error(`Peripheral ${peripheralAddress}: Error while unsubscribing`, error));
|
|
340
|
+
await characteristicC2ForSubscribe.unsubscribeAsync().catch((error) => logger.error(`Peripheral ${peripheralAddress}: Error while unsubscribing`, error));
|
|
340
341
|
logger.debug(
|
|
341
|
-
`Peripheral ${peripheralAddress}: Handshake Response not received.
|
|
342
|
+
`Peripheral ${peripheralAddress}: Handshake Response not received. Disconnect from peripheral`
|
|
342
343
|
);
|
|
343
344
|
handshakeRejecter(new BleError(`Peripheral ${peripheralAddress}: Handshake Response not received`));
|
|
344
345
|
}).start();
|
|
@@ -364,6 +365,11 @@ class NobleBleChannel extends BleChannel {
|
|
|
364
365
|
// callback to disconnect the BLE connection
|
|
365
366
|
async () => void characteristicC2ForSubscribe.unsubscribeAsync().then(
|
|
366
367
|
() => peripheral.disconnectAsync().then(() => logger.debug(`Peripheral ${peripheralAddress}: Disconnected from peripheral`))
|
|
368
|
+
).catch(
|
|
369
|
+
(error) => logger.debug(
|
|
370
|
+
`Peripheral ${peripheralAddress}: Error while unsubscribing or disconnecting`,
|
|
371
|
+
error
|
|
372
|
+
)
|
|
367
373
|
),
|
|
368
374
|
// callback to forward decoded and de-assembled Matter messages to ExchangeManager
|
|
369
375
|
async (data) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NobleBleChannel.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["error"]
|
|
6
6
|
}
|
|
@@ -12,6 +12,7 @@ export declare class NobleBleClient {
|
|
|
12
12
|
private nobleState;
|
|
13
13
|
private deviceDiscoveredCallback;
|
|
14
14
|
constructor(options?: BleOptions);
|
|
15
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
15
16
|
setDiscoveryCallback(callback: (peripheral: Peripheral, manufacturerData: Uint8Array) => void): void;
|
|
16
17
|
startScanning(): Promise<void>;
|
|
17
18
|
stopScanning(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NobleBleClient.d.ts","sourceRoot":"","sources":["../../src/NobleBleClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"NobleBleClient.d.ts","sourceRoot":"","sources":["../../src/NobleBleClient.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAS,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAkB5C,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAGlC;IACJ,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,wBAAwB,CAA+E;gBAEnG,OAAO,CAAC,EAAE,UAAU;IAqChC,CAAC,MAAM,CAAC,YAAY,CAAC;IAId,oBAAoB,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,KAAK,IAAI;IAOvF,aAAa;IAgBb,YAAY;IAQzB,OAAO,CAAC,sBAAsB;CAqCjC"}
|
|
@@ -24,6 +24,8 @@ class NobleBleClient {
|
|
|
24
24
|
nobleState = "unknown";
|
|
25
25
|
deviceDiscoveredCallback;
|
|
26
26
|
constructor(options) {
|
|
27
|
+
const { environment } = options ?? {};
|
|
28
|
+
environment?.runtime.add(this);
|
|
27
29
|
loadNoble(options?.hciId);
|
|
28
30
|
noble.on("stateChange", (state) => {
|
|
29
31
|
this.nobleState = state;
|
|
@@ -45,6 +47,9 @@ class NobleBleClient {
|
|
|
45
47
|
});
|
|
46
48
|
noble.on("scanStop", () => this.isScanning = false);
|
|
47
49
|
}
|
|
50
|
+
[Symbol.asyncDispose]() {
|
|
51
|
+
return this.stopScanning();
|
|
52
|
+
}
|
|
48
53
|
setDiscoveryCallback(callback) {
|
|
49
54
|
this.deviceDiscoveredCallback = callback;
|
|
50
55
|
for (const { peripheral, matterServiceData } of this.discoveredPeripherals.values()) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NobleBleClient.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,YAAY,cAAc;AACnC,SAAS,WAAAA,gBAAe;AACxB,SAAS,+BAA+B;AAIxC,MAAM,SAAS,OAAO,IAAI,gBAAgB;AAC1C,IAAI;AAEJ,SAAS,UAAU,OAAgB;AAE/B,MAAI,UAAU,QAAW;AACrB,YAAQ,IAAI,sBAAsB,MAAM,SAAS;AAAA,EACrD;AACA,UAAQA,SAAQ,mBAAmB;AACnC,MAAI,OAAO,MAAM,OAAO,YAAY;AAGhC,YAAS,MAAc,EAAE,UAAU,MAAM,CAAC;AAAA,EAC9C;AACJ;AAEO,MAAM,eAAe;AAAA,EACP,wBAAwB,oBAAI,IAG3C;AAAA,EACM,aAAa;AAAA,EACb,aAAa;AAAA,EACb,aAAa;AAAA,EACb;AAAA,EAER,YAAY,SAAsB;AAC9B,cAAU,SAAS,KAAK;AAUxB,UAAM,GAAG,eAAe,WAAS;AAC7B,WAAK,aAAa;AAClB,aAAO,MAAM,0BAA0B,KAAK,EAAE;AAC9C,UAAI,UAAU,aAAa;AACvB,YAAI,KAAK,YAAY;AACjB,eAAK,KAAK,cAAc;AAAA,QAC5B;AAAA,MACJ,OAAO;AACH,aAAK,KAAK,aAAa;AAAA,MAC3B;AAAA,IACJ,CAAC;AACD,UAAM,GAAG,YAAY,gBAAc,KAAK,uBAAuB,UAAU,CAAC;AAC1E,UAAM,GAAG,aAAa,MAAM;AACxB,UAAI,CAAC,KAAK,YAAY;AAGlB;AAAA,MACJ;AACA,WAAK,aAAa;AAAA,IACtB,CAAC;AACD,UAAM,GAAG,YAAY,MAAO,KAAK,aAAa,KAAM;AAAA,EACxD;AAAA,EAEO,qBAAqB,UAA0E;AAClG,SAAK,2BAA2B;AAChC,eAAW,EAAE,YAAY,kBAAkB,KAAK,KAAK,sBAAsB,OAAO,GAAG;AACjF,WAAK,yBAAyB,YAAY,iBAAiB;AAAA,IAC/D;AAAA,EACJ;AAAA,EAEA,MAAa,gBAAgB;AACzB,QAAI,KAAK,YAAY;AACjB;AAAA,IACJ;AAEA,SAAK,aAAa;AAClB,QAAI,KAAK,eAAe,aAAa;AACjC,aAAO,MAAM,4CAA4C;AAGzD,YAAM,MAAM,mBAAmB,QAAQ,aAAa,UAAU,CAAC,uBAAuB,IAAI,QAAW,IAAI;AAAA,IAC7G,OAAO;AACH,aAAO,MAAM,gEAAgE;AAAA,IACjF;AAAA,EACJ;AAAA,EAEA,MAAa,eAAe;AACxB,SAAK,aAAa;AAClB,QAAI,KAAK,YAAY;AACjB,aAAO,MAAM,2CAA2C;AACxD,YAAM,MAAM,kBAAkB;AAAA,IAClC;AAAA,EACJ;AAAA,EAEQ,uBAAuB,YAAwB;AAOnD,QACI,QAAQ,aAAa,WACrB,CAAC,WAAW,cAAc,YAAY,KAAK,CAAC,EAAE,KAAK,MAAM,SAAS,uBAAuB,GAC3F;AACE;AAAA,IACJ;AAEA,UAAM,UAAU,WAAW;AAC3B,WAAO;AAAA,MACH,oBAAoB,OAAO,KAAK,WAAW,cAAc,SAAS,MAAM,WAAW;AAAA,QAC/E,WAAW;AAAA,MACf,CAAC;AAAA,IACL;AAEA,QAAI,CAAC,WAAW,aAAa;AACzB,aAAO,KAAK,cAAc,OAAO,kCAAkC;AACnE;AAAA,IACJ;AACA,UAAM,oBAAoB,WAAW,cAAc,YAAY;AAAA,MAC3D,CAAC,EAAE,KAAK,MAAM,SAAS;AAAA,IAC3B;AACA,QAAI,sBAAsB,UAAa,kBAAkB,KAAK,WAAW,GAAG;AACxE,aAAO,KAAK,cAAc,OAAO,iDAAiD;AAClF;AAAA,IACJ;AAEA,SAAK,sBAAsB,IAAI,SAAS,EAAE,YAAY,mBAAmB,kBAAkB,KAAK,CAAC;AAEjG,SAAK,2BAA2B,YAAY,kBAAkB,IAAI;AAAA,EACtE;AACJ;",
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["require"]
|
|
6
6
|
}
|
package/dist/esm/NodeJsBle.d.ts
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { NetInterface, TransportInterface } from "@matter/general";
|
|
6
|
+
import { Environment, NetInterface, TransportInterface } from "@matter/general";
|
|
7
7
|
import { Ble, InstanceBroadcaster, Scanner } from "@matter/protocol";
|
|
8
8
|
export type BleOptions = {
|
|
9
9
|
hciId?: number;
|
|
10
|
+
environment?: Environment;
|
|
10
11
|
};
|
|
11
12
|
export declare class NodeJsBle extends Ble {
|
|
12
13
|
#private;
|
|
13
|
-
|
|
14
|
-
constructor(options?: BleOptions | undefined);
|
|
14
|
+
constructor(options?: BleOptions);
|
|
15
15
|
getBlePeripheralInterface(): TransportInterface;
|
|
16
16
|
getBleCentralInterface(): NetInterface;
|
|
17
17
|
getBleBroadcaster(additionalAdvertisementData?: Uint8Array): InstanceBroadcaster;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeJsBle.d.ts","sourceRoot":"","sources":["../../src/NodeJsBle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"NodeJsBle.d.ts","sourceRoot":"","sources":["../../src/NodeJsBle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAChF,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAQrE,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,qBAAa,SAAU,SAAQ,GAAG;;gBASlB,OAAO,CAAC,EAAE,UAAU;IAmBhC,yBAAyB,IAAI,kBAAkB;IAO/C,sBAAsB,IAAI,YAAY;IAOtC,iBAAiB,CAAC,2BAA2B,CAAC,EAAE,UAAU,GAAG,mBAAmB;IAOhF,aAAa,IAAI,OAAO;CAM3B"}
|
package/dist/esm/NodeJsBle.js
CHANGED
|
@@ -11,25 +11,26 @@ import { BlenoBleServer } from "./BlenoBleServer.js";
|
|
|
11
11
|
import { NobleBleCentralInterface } from "./NobleBleChannel.js";
|
|
12
12
|
import { NobleBleClient } from "./NobleBleClient.js";
|
|
13
13
|
class NodeJsBle extends Ble {
|
|
14
|
-
|
|
15
|
-
super();
|
|
16
|
-
this.options = options;
|
|
17
|
-
}
|
|
14
|
+
#options;
|
|
18
15
|
#blePeripheralInstance;
|
|
19
16
|
#bleCentralInstance;
|
|
20
17
|
#bleScanner;
|
|
21
18
|
#bleBroadcaster;
|
|
22
19
|
#bleCentralInterface;
|
|
23
20
|
#blePeripheralInterface;
|
|
21
|
+
constructor(options) {
|
|
22
|
+
super();
|
|
23
|
+
this.#options = options;
|
|
24
|
+
}
|
|
24
25
|
get #blePeripheralServer() {
|
|
25
26
|
if (this.#blePeripheralInstance === void 0) {
|
|
26
|
-
this.#blePeripheralInstance = new BlenoBleServer(this
|
|
27
|
+
this.#blePeripheralInstance = new BlenoBleServer(this.#options);
|
|
27
28
|
}
|
|
28
29
|
return this.#blePeripheralInstance;
|
|
29
30
|
}
|
|
30
31
|
get #bleCentralClient() {
|
|
31
32
|
if (this.#bleCentralInstance === void 0) {
|
|
32
|
-
this.#bleCentralInstance = new NobleBleClient(this
|
|
33
|
+
this.#bleCentralInstance = new NobleBleClient(this.#options);
|
|
33
34
|
}
|
|
34
35
|
return this.#bleCentralInstance;
|
|
35
36
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NodeJsBle.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,WAAyC;AAClD,SAAS,sBAAsB;AAC/B,SAAS,8BAA8B;AACvC,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,gCAAgC;AACzC,SAAS,sBAAsB;
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,WAAyC;AAClD,SAAS,sBAAsB;AAC/B,SAAS,8BAA8B;AACvC,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAC/B,SAAS,gCAAgC;AACzC,SAAS,sBAAsB;AAOxB,MAAM,kBAAkB,IAAI;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,SAAsB;AAC9B,UAAM;AACN,SAAK,WAAW;AAAA,EACpB;AAAA,EAEA,IAAI,uBAAuB;AACvB,QAAI,KAAK,2BAA2B,QAAW;AAC3C,WAAK,yBAAyB,IAAI,eAAe,KAAK,QAAQ;AAAA,IAClE;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,oBAAoB;AACpB,QAAI,KAAK,wBAAwB,QAAW;AACxC,WAAK,sBAAsB,IAAI,eAAe,KAAK,QAAQ;AAAA,IAC/D;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,4BAAgD;AAC5C,QAAI,KAAK,4BAA4B,QAAW;AAC5C,WAAK,0BAA0B,IAAI,uBAAuB,KAAK,oBAAoB;AAAA,IACvF;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,yBAAuC;AACnC,QAAI,KAAK,yBAAyB,QAAW;AACzC,WAAK,uBAAuB,IAAI,yBAAyB,KAAK,cAAc,CAAe;AAAA,IAC/F;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,kBAAkB,6BAA+D;AAC7E,QAAI,KAAK,oBAAoB,QAAW;AACpC,WAAK,kBAAkB,IAAI,eAAe,KAAK,sBAAsB,2BAA2B;AAAA,IACpG;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,gBAAyB;AACrB,QAAI,KAAK,gBAAgB,QAAW;AAChC,WAAK,cAAc,IAAI,WAAW,KAAK,iBAAiB;AAAA,IAC5D;AACA,WAAO,KAAK;AAAA,EAChB;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/nodejs-ble",
|
|
3
|
-
"version": "0.13.0-alpha.0-
|
|
3
|
+
"version": "0.13.0-alpha.0-20250420-9f45e4f77",
|
|
4
4
|
"description": "Matter BLE support for node.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -28,16 +28,16 @@
|
|
|
28
28
|
"build-clean": "matter-build --clean"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@matter/general": "0.13.0-alpha.0-
|
|
32
|
-
"@matter/types": "0.13.0-alpha.0-
|
|
33
|
-
"@matter/protocol": "0.13.0-alpha.0-
|
|
31
|
+
"@matter/general": "0.13.0-alpha.0-20250420-9f45e4f77",
|
|
32
|
+
"@matter/types": "0.13.0-alpha.0-20250420-9f45e4f77",
|
|
33
|
+
"@matter/protocol": "0.13.0-alpha.0-20250420-9f45e4f77"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@matter/tools": "0.13.0-alpha.0-
|
|
36
|
+
"@matter/tools": "0.13.0-alpha.0-20250420-9f45e4f77"
|
|
37
37
|
},
|
|
38
38
|
"optionalDependencies": {
|
|
39
|
-
"@stoprocent/bleno": "^0.
|
|
40
|
-
"@stoprocent/noble": "^1.
|
|
39
|
+
"@stoprocent/bleno": "^0.10.2",
|
|
40
|
+
"@stoprocent/noble": "^2.1.3"
|
|
41
41
|
},
|
|
42
42
|
"engines": {
|
|
43
43
|
"node": ">=18.0.0"
|
package/src/BleScanner.ts
CHANGED
|
@@ -118,12 +118,6 @@ export class BleScanner implements Scanner {
|
|
|
118
118
|
`${deviceExisting ? "Re-" : ""}Discovered device ${address} data: ${Diagnostic.json(deviceData)}`,
|
|
119
119
|
);
|
|
120
120
|
|
|
121
|
-
if (deviceExisting) {
|
|
122
|
-
// Device got rediscovered, so clear the state
|
|
123
|
-
// TODO: Remove once noble does that by itself
|
|
124
|
-
peripheral.state = "disconnected";
|
|
125
|
-
}
|
|
126
|
-
|
|
127
121
|
this.discoveredMatterDevices.set(address, {
|
|
128
122
|
deviceData,
|
|
129
123
|
peripheral,
|
package/src/BlenoBleServer.ts
CHANGED
|
@@ -18,10 +18,11 @@ import {
|
|
|
18
18
|
BtpSessionHandler,
|
|
19
19
|
ChannelNotConnectedError,
|
|
20
20
|
} from "@matter/protocol";
|
|
21
|
+
import type { Bleno as BlenoType } from "@stoprocent/bleno";
|
|
21
22
|
import { BleOptions } from "./NodeJsBle.js";
|
|
22
23
|
|
|
23
24
|
const logger = Logger.get("BlenoBleServer");
|
|
24
|
-
let Bleno:
|
|
25
|
+
let Bleno: BlenoType;
|
|
25
26
|
|
|
26
27
|
function initializeBleno(server: BlenoBleServer, hciId?: number) {
|
|
27
28
|
// load Bleno driver with the correct device selected
|
|
@@ -35,11 +36,13 @@ function initializeBleno(server: BlenoBleServer, hciId?: number) {
|
|
|
35
36
|
super({
|
|
36
37
|
uuid: BLE_MATTER_C1_CHARACTERISTIC_UUID,
|
|
37
38
|
properties: ["write"],
|
|
39
|
+
onWriteRequest: (_handle, data, offset, withoutResponse, callback) =>
|
|
40
|
+
this.#onWriteRequest(data, offset, withoutResponse, callback),
|
|
38
41
|
});
|
|
39
42
|
}
|
|
40
43
|
|
|
41
|
-
|
|
42
|
-
data: Buffer
|
|
44
|
+
#onWriteRequest(
|
|
45
|
+
data: Buffer<ArrayBufferLike>,
|
|
43
46
|
offset: number,
|
|
44
47
|
withoutResponse: boolean,
|
|
45
48
|
callback: (result: number) => void,
|
|
@@ -61,10 +64,14 @@ function initializeBleno(server: BlenoBleServer, hciId?: number) {
|
|
|
61
64
|
super({
|
|
62
65
|
uuid: BLE_MATTER_C2_CHARACTERISTIC_UUID,
|
|
63
66
|
properties: ["indicate"],
|
|
67
|
+
onSubscribe: (_handle, maxValueSize, updateValueCallback) =>
|
|
68
|
+
this.#onSubscribe(maxValueSize, updateValueCallback),
|
|
69
|
+
onUnsubscribe: () => this.#onUnsubscribe(),
|
|
70
|
+
onIndicate: () => this.#onIndicate(),
|
|
64
71
|
});
|
|
65
72
|
}
|
|
66
73
|
|
|
67
|
-
|
|
74
|
+
#onSubscribe(maxValueSize: number, updateValueCallback: (data: Buffer) => void) {
|
|
68
75
|
logger.debug(`C2 subscribe ${maxValueSize}`);
|
|
69
76
|
|
|
70
77
|
server
|
|
@@ -72,12 +79,12 @@ function initializeBleno(server: BlenoBleServer, hciId?: number) {
|
|
|
72
79
|
.catch(e => logger.warn("Error happened in when handling C2 subscribe", e));
|
|
73
80
|
}
|
|
74
81
|
|
|
75
|
-
|
|
82
|
+
#onUnsubscribe() {
|
|
76
83
|
logger.debug("C2 unsubscribe");
|
|
77
84
|
server.close().catch(e => logger.warn("Error happened when closing server for C2 unsubscribe", e));
|
|
78
85
|
}
|
|
79
86
|
|
|
80
|
-
|
|
87
|
+
#onIndicate() {
|
|
81
88
|
logger.debug("C2 indicate");
|
|
82
89
|
server.handleC2Indicate();
|
|
83
90
|
}
|
|
@@ -88,10 +95,11 @@ function initializeBleno(server: BlenoBleServer, hciId?: number) {
|
|
|
88
95
|
super({
|
|
89
96
|
uuid: BLE_MATTER_C3_CHARACTERISTIC_UUID,
|
|
90
97
|
properties: ["read"],
|
|
98
|
+
onReadRequest: (_handle, offset, callback) => this.#onReadRequest(offset, callback),
|
|
91
99
|
});
|
|
92
100
|
}
|
|
93
101
|
|
|
94
|
-
|
|
102
|
+
#onReadRequest(offset: number, callback: (result: number, data?: Buffer) => void) {
|
|
95
103
|
try {
|
|
96
104
|
const data = server.handleC3ReadRequest(offset);
|
|
97
105
|
logger.debug(`C3 read request: ${data.toString("hex")} ${offset}`);
|
|
@@ -146,6 +154,10 @@ export class BlenoBleServer extends BleChannel<Uint8Array> {
|
|
|
146
154
|
|
|
147
155
|
constructor(options?: BleOptions) {
|
|
148
156
|
super();
|
|
157
|
+
|
|
158
|
+
const { environment } = options ?? {};
|
|
159
|
+
environment?.runtime.add(this);
|
|
160
|
+
|
|
149
161
|
this.matterBleService = initializeBleno(this, options?.hciId);
|
|
150
162
|
|
|
151
163
|
// Write Bleno into this class
|
|
@@ -170,6 +182,7 @@ export class BlenoBleServer extends BleChannel<Uint8Array> {
|
|
|
170
182
|
|
|
171
183
|
Bleno.on("disconnect", clientAddress => {
|
|
172
184
|
logger.debug(`disconnect, client: ${clientAddress}`);
|
|
185
|
+
this.isAdvertising = false;
|
|
173
186
|
if (this.btpSession !== undefined) {
|
|
174
187
|
this.btpSession
|
|
175
188
|
.close()
|
|
@@ -218,7 +231,7 @@ export class BlenoBleServer extends BleChannel<Uint8Array> {
|
|
|
218
231
|
* @param offset
|
|
219
232
|
* @param withoutResponse
|
|
220
233
|
*/
|
|
221
|
-
handleC1WriteRequest(data: Buffer
|
|
234
|
+
handleC1WriteRequest(data: Buffer<ArrayBufferLike>, offset: number, withoutResponse: boolean) {
|
|
222
235
|
if (offset !== 0 || withoutResponse) {
|
|
223
236
|
throw new BleError(`Offset ${offset} or withoutResponse ${withoutResponse} not supported`);
|
|
224
237
|
}
|
|
@@ -374,6 +387,7 @@ export class BlenoBleServer extends BleChannel<Uint8Array> {
|
|
|
374
387
|
}
|
|
375
388
|
|
|
376
389
|
async disconnect() {
|
|
390
|
+
this.isAdvertising = false;
|
|
377
391
|
Bleno.disconnect();
|
|
378
392
|
/*
|
|
379
393
|
TODO: This is not working as expected, the disconnect event is not triggered, seems issue in Bleno
|
package/src/NobleBleChannel.ts
CHANGED
|
@@ -305,7 +305,11 @@ export class NobleBleCentralInterface implements NetInterface {
|
|
|
305
305
|
} catch (error) {
|
|
306
306
|
this.#connectionsInProgress.delete(address);
|
|
307
307
|
this.#openChannels.delete(address);
|
|
308
|
-
await peripheral
|
|
308
|
+
await peripheral
|
|
309
|
+
.disconnectAsync()
|
|
310
|
+
.catch(error =>
|
|
311
|
+
logger.debug(`Peripheral ${peripheral.address}: Error while disconnecting`, error),
|
|
312
|
+
);
|
|
309
313
|
reTryHandler(error);
|
|
310
314
|
return;
|
|
311
315
|
}
|
|
@@ -332,7 +336,6 @@ export class NobleBleCentralInterface implements NetInterface {
|
|
|
332
336
|
} else {
|
|
333
337
|
if (peripheral.state === "connecting") {
|
|
334
338
|
peripheral.cancelConnect(); // Send cancel to noble to make sure we can connect
|
|
335
|
-
peripheral.state = "disconnected"; // Manually fix status because noble does not do it
|
|
336
339
|
}
|
|
337
340
|
// connecting, disconnected
|
|
338
341
|
connectionGuard.connectTimeout.start();
|
|
@@ -417,11 +420,13 @@ export class NobleBleChannel extends BleChannel<Uint8Array> {
|
|
|
417
420
|
|
|
418
421
|
const btpHandshakeTimeout = Time.getTimer("BLE handshake timeout", BTP_CONN_RSP_TIMEOUT_MS, async () => {
|
|
419
422
|
characteristicC2ForSubscribe.removeListener("data", handshakeHandler);
|
|
420
|
-
|
|
423
|
+
|
|
424
|
+
await characteristicC2ForSubscribe
|
|
421
425
|
.unsubscribeAsync()
|
|
422
426
|
.catch(error => logger.error(`Peripheral ${peripheralAddress}: Error while unsubscribing`, error));
|
|
427
|
+
|
|
423
428
|
logger.debug(
|
|
424
|
-
`Peripheral ${peripheralAddress}: Handshake Response not received.
|
|
429
|
+
`Peripheral ${peripheralAddress}: Handshake Response not received. Disconnect from peripheral`,
|
|
425
430
|
);
|
|
426
431
|
|
|
427
432
|
handshakeRejecter(new BleError(`Peripheral ${peripheralAddress}: Handshake Response not received`));
|
|
@@ -458,6 +463,12 @@ export class NobleBleChannel extends BleChannel<Uint8Array> {
|
|
|
458
463
|
peripheral
|
|
459
464
|
.disconnectAsync()
|
|
460
465
|
.then(() => logger.debug(`Peripheral ${peripheralAddress}: Disconnected from peripheral`)),
|
|
466
|
+
)
|
|
467
|
+
.catch(error =>
|
|
468
|
+
logger.debug(
|
|
469
|
+
`Peripheral ${peripheralAddress}: Error while unsubscribing or disconnecting`,
|
|
470
|
+
error,
|
|
471
|
+
),
|
|
461
472
|
),
|
|
462
473
|
// callback to forward decoded and de-assembled Matter messages to ExchangeManager
|
|
463
474
|
async (data: Uint8Array) => {
|
package/src/NobleBleClient.ts
CHANGED
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
import { Diagnostic, Logger } from "@matter/general";
|
|
8
8
|
import { require } from "@matter/nodejs-ble/require";
|
|
9
9
|
import { BLE_MATTER_SERVICE_UUID } from "@matter/protocol";
|
|
10
|
-
import type { Peripheral } from "@stoprocent/noble";
|
|
10
|
+
import type { Noble, Peripheral } from "@stoprocent/noble";
|
|
11
11
|
import { BleOptions } from "./NodeJsBle.js";
|
|
12
12
|
|
|
13
13
|
const logger = Logger.get("NobleBleClient");
|
|
14
|
-
let noble:
|
|
14
|
+
let noble: Noble;
|
|
15
15
|
|
|
16
16
|
function loadNoble(hciId?: number) {
|
|
17
17
|
// load noble driver with the correct device selected
|
|
@@ -37,6 +37,9 @@ export class NobleBleClient {
|
|
|
37
37
|
private deviceDiscoveredCallback: ((peripheral: Peripheral, manufacturerData: Uint8Array) => void) | undefined;
|
|
38
38
|
|
|
39
39
|
constructor(options?: BleOptions) {
|
|
40
|
+
const { environment } = options ?? {};
|
|
41
|
+
environment?.runtime.add(this);
|
|
42
|
+
|
|
40
43
|
loadNoble(options?.hciId);
|
|
41
44
|
/*try {
|
|
42
45
|
noble.reset();
|
|
@@ -70,6 +73,10 @@ export class NobleBleClient {
|
|
|
70
73
|
noble.on("scanStop", () => (this.isScanning = false));
|
|
71
74
|
}
|
|
72
75
|
|
|
76
|
+
[Symbol.asyncDispose]() {
|
|
77
|
+
return this.stopScanning();
|
|
78
|
+
}
|
|
79
|
+
|
|
73
80
|
public setDiscoveryCallback(callback: (peripheral: Peripheral, manufacturerData: Uint8Array) => void) {
|
|
74
81
|
this.deviceDiscoveredCallback = callback;
|
|
75
82
|
for (const { peripheral, matterServiceData } of this.discoveredPeripherals.values()) {
|
package/src/NodeJsBle.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { NetInterface, TransportInterface } from "@matter/general";
|
|
7
|
+
import { Environment, NetInterface, TransportInterface } from "@matter/general";
|
|
8
8
|
import { Ble, InstanceBroadcaster, Scanner } from "@matter/protocol";
|
|
9
9
|
import { BleBroadcaster } from "./BleBroadcaster.js";
|
|
10
10
|
import { BlePeripheralInterface } from "./BlePeripheralInterface.js";
|
|
@@ -15,9 +15,11 @@ import { NobleBleClient } from "./NobleBleClient.js";
|
|
|
15
15
|
|
|
16
16
|
export type BleOptions = {
|
|
17
17
|
hciId?: number;
|
|
18
|
+
environment?: Environment;
|
|
18
19
|
};
|
|
19
20
|
|
|
20
21
|
export class NodeJsBle extends Ble {
|
|
22
|
+
#options?: BleOptions;
|
|
21
23
|
#blePeripheralInstance?: BlenoBleServer;
|
|
22
24
|
#bleCentralInstance?: NobleBleClient;
|
|
23
25
|
#bleScanner?: BleScanner;
|
|
@@ -25,20 +27,21 @@ export class NodeJsBle extends Ble {
|
|
|
25
27
|
#bleCentralInterface?: NobleBleCentralInterface;
|
|
26
28
|
#blePeripheralInterface?: BlePeripheralInterface;
|
|
27
29
|
|
|
28
|
-
constructor(
|
|
30
|
+
constructor(options?: BleOptions) {
|
|
29
31
|
super();
|
|
32
|
+
this.#options = options;
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
get #blePeripheralServer() {
|
|
33
36
|
if (this.#blePeripheralInstance === undefined) {
|
|
34
|
-
this.#blePeripheralInstance = new BlenoBleServer(this
|
|
37
|
+
this.#blePeripheralInstance = new BlenoBleServer(this.#options);
|
|
35
38
|
}
|
|
36
39
|
return this.#blePeripheralInstance;
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
get #bleCentralClient() {
|
|
40
43
|
if (this.#bleCentralInstance === undefined) {
|
|
41
|
-
this.#bleCentralInstance = new NobleBleClient(this
|
|
44
|
+
this.#bleCentralInstance = new NobleBleClient(this.#options);
|
|
42
45
|
}
|
|
43
46
|
return this.#bleCentralInstance;
|
|
44
47
|
}
|