@matter/nodejs-ble 0.16.0-alpha.0-20250809-ee8375bcb → 0.16.0-alpha.0-20250810-5c91a95d2
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/BlenoBleServer.d.ts +1 -1
- package/dist/cjs/BlenoBleServer.d.ts.map +1 -1
- package/dist/cjs/BlenoBleServer.js +2 -1
- package/dist/cjs/BlenoBleServer.js.map +1 -1
- package/dist/cjs/{BlePeripheralInterface.d.ts → BlenoPeripheralInterface.d.ts} +5 -2
- package/dist/cjs/BlenoPeripheralInterface.d.ts.map +1 -0
- package/dist/cjs/{BlePeripheralInterface.js → BlenoPeripheralInterface.js} +12 -6
- package/dist/cjs/{BlePeripheralInterface.js.map → BlenoPeripheralInterface.js.map} +2 -2
- package/dist/cjs/NodeJsBle.d.ts +6 -6
- package/dist/cjs/NodeJsBle.d.ts.map +1 -1
- package/dist/cjs/NodeJsBle.js +7 -15
- package/dist/cjs/NodeJsBle.js.map +1 -1
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.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 +2 -1
- package/dist/esm/BlenoBleServer.js.map +1 -1
- package/dist/esm/{BlePeripheralInterface.d.ts → BlenoPeripheralInterface.d.ts} +5 -2
- package/dist/esm/BlenoPeripheralInterface.d.ts.map +1 -0
- package/dist/esm/{BlePeripheralInterface.js → BlenoPeripheralInterface.js} +9 -3
- package/dist/esm/{BlePeripheralInterface.js.map → BlenoPeripheralInterface.js.map} +2 -2
- package/dist/esm/NodeJsBle.d.ts +6 -6
- package/dist/esm/NodeJsBle.d.ts.map +1 -1
- package/dist/esm/NodeJsBle.js +7 -15
- package/dist/esm/NodeJsBle.js.map +1 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/package.json +5 -5
- package/src/BlenoBleServer.ts +3 -1
- package/src/{BlePeripheralInterface.ts → BlenoPeripheralInterface.ts} +10 -1
- package/src/NodeJsBle.ts +10 -19
- package/src/index.ts +0 -1
- package/dist/cjs/BleBroadcaster.d.ts +0 -20
- package/dist/cjs/BleBroadcaster.d.ts.map +0 -1
- package/dist/cjs/BleBroadcaster.js +0 -121
- package/dist/cjs/BleBroadcaster.js.map +0 -6
- package/dist/cjs/BlePeripheralInterface.d.ts.map +0 -1
- package/dist/esm/BleBroadcaster.d.ts +0 -20
- package/dist/esm/BleBroadcaster.d.ts.map +0 -1
- package/dist/esm/BleBroadcaster.js +0 -104
- package/dist/esm/BleBroadcaster.js.map +0 -6
- package/dist/esm/BlePeripheralInterface.d.ts.map +0 -1
- package/src/BleBroadcaster.ts +0 -127
|
@@ -54,7 +54,7 @@ export declare class BlenoBleServer extends BleChannel<Uint8Array> {
|
|
|
54
54
|
* @param offset
|
|
55
55
|
*/
|
|
56
56
|
handleC3ReadRequest(offset: number): Buffer<ArrayBufferLike>;
|
|
57
|
-
advertise(advertiseData: Uint8Array, additionalAdvertisementData?: Uint8Array): Promise<void>;
|
|
57
|
+
advertise(advertiseData: Uint8Array, additionalAdvertisementData?: Uint8Array, intervalMs?: number): Promise<void>;
|
|
58
58
|
stopAdvertising(): Promise<void>;
|
|
59
59
|
setMatterMessageListener(listener: (socket: Channel<Uint8Array>, data: Uint8Array) => void): void;
|
|
60
60
|
btpHandshakeTimeoutTriggered(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlenoBleServer.d.ts","sourceRoot":"","sources":["../../src/BlenoBleServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAA8C,MAAM,UAAU,CAAC;AAC/E,OAAO,EAMH,UAAU,EAKb,MAAM,WAAW,CAAC;AAGnB,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;IAIF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAEtB,OAAO,CAAC,EAAE,UAAU;IAwEhC;;;;;;;;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;
|
|
1
|
+
{"version":3,"file":"BlenoBleServer.d.ts","sourceRoot":"","sources":["../../src/BlenoBleServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAA8C,MAAM,UAAU,CAAC;AAC/E,OAAO,EAMH,UAAU,EAKb,MAAM,WAAW,CAAC;AAGnB,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;IAIF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAEtB,OAAO,CAAC,EAAE,UAAU;IAwEhC;;;;;;;;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,EAAE,UAAU,SAAM;IA2B/F,eAAe;IAYrB,wBAAwB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI;IAOpF,4BAA4B;IAK5B,KAAK;IAcL,UAAU;IAqBhB;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,UAAU;IAQ3B,IAAI,IAAI,WAEP;CACJ"}
|
|
@@ -273,7 +273,8 @@ class BlenoBleServer extends import_protocol.BleChannel {
|
|
|
273
273
|
return this.additionalAdvertisingData.subarray(offset);
|
|
274
274
|
}
|
|
275
275
|
}
|
|
276
|
-
async advertise(advertiseData, additionalAdvertisementData) {
|
|
276
|
+
async advertise(advertiseData, additionalAdvertisementData, intervalMs = 100) {
|
|
277
|
+
process.env["BLENO_ADVERTISING_INTERVAL"] = intervalMs.toString();
|
|
277
278
|
this.advertisingData = Buffer.from(advertiseData.buffer);
|
|
278
279
|
if (additionalAdvertisementData) {
|
|
279
280
|
this.additionalAdvertisingData = Buffer.from(additionalAdvertisementData.buffer);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/BlenoBleServer.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -4,12 +4,15 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Channel, ChannelType, TransportInterface } from "#general";
|
|
7
|
+
import { BlePeripheralInterface } from "@matter/protocol";
|
|
7
8
|
import { BlenoBleServer } from "./BlenoBleServer.js";
|
|
8
|
-
export declare class
|
|
9
|
+
export declare class BlenoPeripheralInterface implements BlePeripheralInterface {
|
|
9
10
|
private readonly blenoServer;
|
|
10
11
|
constructor(blenoServer: BlenoBleServer);
|
|
11
12
|
onData(listener: (socket: Channel<Uint8Array>, data: Uint8Array) => void): TransportInterface.Listener;
|
|
12
13
|
close(): Promise<void>;
|
|
13
14
|
supports(type: ChannelType, address?: string): boolean;
|
|
15
|
+
advertise(advertiseData: Uint8Array, additionalAdvertisementData?: Uint8Array, intervalMs?: number): Promise<void>;
|
|
16
|
+
stopAdvertising(): Promise<void>;
|
|
14
17
|
}
|
|
15
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=BlenoPeripheralInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlenoPeripheralInterface.d.ts","sourceRoot":"","sources":["../../src/BlenoPeripheralInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBAAa,wBAAyB,YAAW,sBAAsB;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,cAAc;IAGxD,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,kBAAkB,CAAC,QAAQ;IAOhG,KAAK;IAIX,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM;IAY5C,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,2BAA2B,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM;IAIlG,eAAe;CAGlB"}
|
|
@@ -16,18 +16,18 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var
|
|
20
|
-
__export(
|
|
21
|
-
|
|
19
|
+
var BlenoPeripheralInterface_exports = {};
|
|
20
|
+
__export(BlenoPeripheralInterface_exports, {
|
|
21
|
+
BlenoPeripheralInterface: () => BlenoPeripheralInterface
|
|
22
22
|
});
|
|
23
|
-
module.exports = __toCommonJS(
|
|
23
|
+
module.exports = __toCommonJS(BlenoPeripheralInterface_exports);
|
|
24
24
|
var import_general = require("#general");
|
|
25
25
|
/**
|
|
26
26
|
* @license
|
|
27
27
|
* Copyright 2022-2025 Matter.js Authors
|
|
28
28
|
* SPDX-License-Identifier: Apache-2.0
|
|
29
29
|
*/
|
|
30
|
-
class
|
|
30
|
+
class BlenoPeripheralInterface {
|
|
31
31
|
constructor(blenoServer) {
|
|
32
32
|
this.blenoServer = blenoServer;
|
|
33
33
|
}
|
|
@@ -50,5 +50,11 @@ class BlePeripheralInterface {
|
|
|
50
50
|
}
|
|
51
51
|
return this.blenoServer.clientAddress === address;
|
|
52
52
|
}
|
|
53
|
+
advertise(advertiseData, additionalAdvertisementData, intervalMs) {
|
|
54
|
+
return this.blenoServer.advertise(advertiseData, additionalAdvertisementData, intervalMs);
|
|
55
|
+
}
|
|
56
|
+
stopAdvertising() {
|
|
57
|
+
return this.blenoServer.stopAdvertising();
|
|
58
|
+
}
|
|
53
59
|
}
|
|
54
|
-
//# sourceMappingURL=
|
|
60
|
+
//# sourceMappingURL=BlenoPeripheralInterface.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAyD;AANzD;AAAA;AAAA;AAAA;AAAA;
|
|
3
|
+
"sources": ["../../src/BlenoPeripheralInterface.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAyD;AANzD;AAAA;AAAA;AAAA;AAAA;AAUO,MAAM,yBAA2D;AAAA,EACpE,YAA6B,aAA6B;AAA7B;AAAA,EAA8B;AAAA;AAAA,EAG3D,OAAO,UAAgG;AACnG,SAAK,YAAY,yBAAyB,QAAQ;AAClD,WAAO;AAAA,MACH,OAAO,YAAY,MAAM,KAAK,MAAM;AAAA,IACxC;AAAA,EACJ;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,KAAK,YAAY,MAAM;AAAA,EACjC;AAAA,EAEA,SAAS,MAAmB,SAAkB;AAC1C,QAAI,SAAS,2BAAY,KAAK;AAC1B,aAAO;AAAA,IACX;AAEA,QAAI,YAAY,QAAW;AACvB,aAAO;AAAA,IACX;AAEA,WAAO,KAAK,YAAY,kBAAkB;AAAA,EAC9C;AAAA,EAEA,UAAU,eAA2B,6BAA0C,YAAqB;AAChG,WAAO,KAAK,YAAY,UAAU,eAAe,6BAA6B,UAAU;AAAA,EAC5F;AAAA,EAEA,kBAAkB;AACd,WAAO,KAAK,YAAY,gBAAgB;AAAA,EAC5C;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/cjs/NodeJsBle.d.ts
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { Environment, NetInterface
|
|
7
|
-
import { Ble,
|
|
6
|
+
import { Environment, NetInterface } from "#general";
|
|
7
|
+
import { Ble, Scanner } from "#protocol";
|
|
8
|
+
import { BlenoPeripheralInterface } from "./BlenoPeripheralInterface.js";
|
|
8
9
|
export type BleOptions = {
|
|
9
10
|
hciId?: number;
|
|
10
11
|
environment?: Environment;
|
|
@@ -12,9 +13,8 @@ export type BleOptions = {
|
|
|
12
13
|
export declare class NodeJsBle extends Ble {
|
|
13
14
|
#private;
|
|
14
15
|
constructor(options?: BleOptions);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
getBleScanner(): Scanner;
|
|
16
|
+
get peripheralInterface(): BlenoPeripheralInterface;
|
|
17
|
+
get centralInterface(): NetInterface;
|
|
18
|
+
get scanner(): Scanner;
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=NodeJsBle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeJsBle.d.ts","sourceRoot":"","sources":["../../src/NodeJsBle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"NodeJsBle.d.ts","sourceRoot":"","sources":["../../src/NodeJsBle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAKzE,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,qBAAa,SAAU,SAAQ,GAAG;;gBAQlB,OAAO,CAAC,EAAE,UAAU;IAmBhC,IAAI,mBAAmB,IAAI,wBAAwB,CAKlD;IAED,IAAI,gBAAgB,IAAI,YAAY,CAKnC;IAED,IAAI,OAAO,IAAI,OAAO,CAKrB;CACJ"}
|
package/dist/cjs/NodeJsBle.js
CHANGED
|
@@ -22,10 +22,9 @@ __export(NodeJsBle_exports, {
|
|
|
22
22
|
});
|
|
23
23
|
module.exports = __toCommonJS(NodeJsBle_exports);
|
|
24
24
|
var import_protocol = require("#protocol");
|
|
25
|
-
var import_BleBroadcaster = require("./BleBroadcaster.js");
|
|
26
|
-
var import_BlePeripheralInterface = require("./BlePeripheralInterface.js");
|
|
27
|
-
var import_BleScanner = require("./BleScanner.js");
|
|
28
25
|
var import_BlenoBleServer = require("./BlenoBleServer.js");
|
|
26
|
+
var import_BlenoPeripheralInterface = require("./BlenoPeripheralInterface.js");
|
|
27
|
+
var import_BleScanner = require("./BleScanner.js");
|
|
29
28
|
var import_NobleBleChannel = require("./NobleBleChannel.js");
|
|
30
29
|
var import_NobleBleClient = require("./NobleBleClient.js");
|
|
31
30
|
/**
|
|
@@ -38,7 +37,6 @@ class NodeJsBle extends import_protocol.Ble {
|
|
|
38
37
|
#blePeripheralInstance;
|
|
39
38
|
#bleCentralInstance;
|
|
40
39
|
#bleScanner;
|
|
41
|
-
#bleBroadcaster;
|
|
42
40
|
#bleCentralInterface;
|
|
43
41
|
#blePeripheralInterface;
|
|
44
42
|
constructor(options) {
|
|
@@ -57,25 +55,19 @@ class NodeJsBle extends import_protocol.Ble {
|
|
|
57
55
|
}
|
|
58
56
|
return this.#bleCentralInstance;
|
|
59
57
|
}
|
|
60
|
-
|
|
58
|
+
get peripheralInterface() {
|
|
61
59
|
if (this.#blePeripheralInterface === void 0) {
|
|
62
|
-
this.#blePeripheralInterface = new
|
|
60
|
+
this.#blePeripheralInterface = new import_BlenoPeripheralInterface.BlenoPeripheralInterface(this.#blePeripheralServer);
|
|
63
61
|
}
|
|
64
62
|
return this.#blePeripheralInterface;
|
|
65
63
|
}
|
|
66
|
-
|
|
64
|
+
get centralInterface() {
|
|
67
65
|
if (this.#bleCentralInterface === void 0) {
|
|
68
|
-
this.#bleCentralInterface = new import_NobleBleChannel.NobleBleCentralInterface(this.
|
|
66
|
+
this.#bleCentralInterface = new import_NobleBleChannel.NobleBleCentralInterface(this.scanner);
|
|
69
67
|
}
|
|
70
68
|
return this.#bleCentralInterface;
|
|
71
69
|
}
|
|
72
|
-
|
|
73
|
-
if (this.#bleBroadcaster === void 0) {
|
|
74
|
-
this.#bleBroadcaster = new import_BleBroadcaster.BleBroadcaster(this.#blePeripheralServer, additionalAdvertisementData);
|
|
75
|
-
}
|
|
76
|
-
return this.#bleBroadcaster;
|
|
77
|
-
}
|
|
78
|
-
getBleScanner() {
|
|
70
|
+
get scanner() {
|
|
79
71
|
if (this.#bleScanner === void 0) {
|
|
80
72
|
this.#bleScanner = new import_BleScanner.BleScanner(this.#bleCentralClient);
|
|
81
73
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/NodeJsBle.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,sBAA6B;AAC7B,4BAA+B;AAC/B,sCAAyC;AACzC,wBAA2B;AAC3B,6BAAyC;AACzC,4BAA+B;AAZ/B;AAAA;AAAA;AAAA;AAAA;AAmBO,MAAM,kBAAkB,oBAAI;AAAA,EAC/B;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,IAAI,sBAAgD;AAChD,QAAI,KAAK,4BAA4B,QAAW;AAC5C,WAAK,0BAA0B,IAAI,yDAAyB,KAAK,oBAAoB;AAAA,IACzF;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,mBAAiC;AACjC,QAAI,KAAK,yBAAyB,QAAW;AACzC,WAAK,uBAAuB,IAAI,gDAAyB,KAAK,OAAqB;AAAA,IACvF;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAmB;AACnB,QAAI,KAAK,gBAAgB,QAAW;AAChC,WAAK,cAAc,IAAI,6BAAW,KAAK,iBAAiB;AAAA,IAC5D;AACA,WAAO,KAAK;AAAA,EAChB;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/cjs/index.d.ts
CHANGED
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -15,7 +15,6 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
|
|
|
15
15
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
16
|
var src_exports = {};
|
|
17
17
|
module.exports = __toCommonJS(src_exports);
|
|
18
|
-
__reExport(src_exports, require("./BleBroadcaster.js"), module.exports);
|
|
19
18
|
__reExport(src_exports, require("./BleScanner.js"), module.exports);
|
|
20
19
|
__reExport(src_exports, require("./NodeJsBle.js"), module.exports);
|
|
21
20
|
/**
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/index.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,wBAAc,
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,wBAAc,4BANd;AAOA,wBAAc,2BAPd;AAAA;AAAA;AAAA;AAAA;AAAA;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -54,7 +54,7 @@ export declare class BlenoBleServer extends BleChannel<Uint8Array> {
|
|
|
54
54
|
* @param offset
|
|
55
55
|
*/
|
|
56
56
|
handleC3ReadRequest(offset: number): Buffer<ArrayBufferLike>;
|
|
57
|
-
advertise(advertiseData: Uint8Array, additionalAdvertisementData?: Uint8Array): Promise<void>;
|
|
57
|
+
advertise(advertiseData: Uint8Array, additionalAdvertisementData?: Uint8Array, intervalMs?: number): Promise<void>;
|
|
58
58
|
stopAdvertising(): Promise<void>;
|
|
59
59
|
setMatterMessageListener(listener: (socket: Channel<Uint8Array>, data: Uint8Array) => void): void;
|
|
60
60
|
btpHandshakeTimeoutTriggered(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlenoBleServer.d.ts","sourceRoot":"","sources":["../../src/BlenoBleServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAA8C,MAAM,UAAU,CAAC;AAC/E,OAAO,EAMH,UAAU,EAKb,MAAM,WAAW,CAAC;AAGnB,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;IAIF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAEtB,OAAO,CAAC,EAAE,UAAU;IAwEhC;;;;;;;;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;
|
|
1
|
+
{"version":3,"file":"BlenoBleServer.d.ts","sourceRoot":"","sources":["../../src/BlenoBleServer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAA8C,MAAM,UAAU,CAAC;AAC/E,OAAO,EAMH,UAAU,EAKb,MAAM,WAAW,CAAC;AAGnB,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;IAIF,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;gBAEtB,OAAO,CAAC,EAAE,UAAU;IAwEhC;;;;;;;;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,EAAE,UAAU,SAAM;IA2B/F,eAAe;IAYrB,wBAAwB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI;IAOpF,4BAA4B;IAK5B,KAAK;IAcL,UAAU;IAqBhB;;;;OAIG;IACG,IAAI,CAAC,IAAI,EAAE,UAAU;IAQ3B,IAAI,IAAI,WAEP;CACJ"}
|
|
@@ -261,7 +261,8 @@ class BlenoBleServer extends BleChannel {
|
|
|
261
261
|
return this.additionalAdvertisingData.subarray(offset);
|
|
262
262
|
}
|
|
263
263
|
}
|
|
264
|
-
async advertise(advertiseData, additionalAdvertisementData) {
|
|
264
|
+
async advertise(advertiseData, additionalAdvertisementData, intervalMs = 100) {
|
|
265
|
+
process.env["BLENO_ADVERTISING_INTERVAL"] = intervalMs.toString();
|
|
265
266
|
this.advertisingData = Buffer.from(advertiseData.buffer);
|
|
266
267
|
if (additionalAdvertisementData) {
|
|
267
268
|
this.additionalAdvertisingData = Buffer.from(additionalAdvertisementData.buffer);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/BlenoBleServer.ts"],
|
|
4
|
-
"mappings": "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
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": ["require"]
|
|
6
6
|
}
|
|
@@ -4,12 +4,15 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Channel, ChannelType, TransportInterface } from "#general";
|
|
7
|
+
import { BlePeripheralInterface } from "@matter/protocol";
|
|
7
8
|
import { BlenoBleServer } from "./BlenoBleServer.js";
|
|
8
|
-
export declare class
|
|
9
|
+
export declare class BlenoPeripheralInterface implements BlePeripheralInterface {
|
|
9
10
|
private readonly blenoServer;
|
|
10
11
|
constructor(blenoServer: BlenoBleServer);
|
|
11
12
|
onData(listener: (socket: Channel<Uint8Array>, data: Uint8Array) => void): TransportInterface.Listener;
|
|
12
13
|
close(): Promise<void>;
|
|
13
14
|
supports(type: ChannelType, address?: string): boolean;
|
|
15
|
+
advertise(advertiseData: Uint8Array, additionalAdvertisementData?: Uint8Array, intervalMs?: number): Promise<void>;
|
|
16
|
+
stopAdvertising(): Promise<void>;
|
|
14
17
|
}
|
|
15
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=BlenoPeripheralInterface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BlenoPeripheralInterface.d.ts","sourceRoot":"","sources":["../../src/BlenoPeripheralInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBAAa,wBAAyB,YAAW,sBAAsB;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,cAAc;IAGxD,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,kBAAkB,CAAC,QAAQ;IAOhG,KAAK;IAIX,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM;IAY5C,SAAS,CAAC,aAAa,EAAE,UAAU,EAAE,2BAA2B,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM;IAIlG,eAAe;CAGlB"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { ChannelType } from "#general";
|
|
7
|
-
class
|
|
7
|
+
class BlenoPeripheralInterface {
|
|
8
8
|
constructor(blenoServer) {
|
|
9
9
|
this.blenoServer = blenoServer;
|
|
10
10
|
}
|
|
@@ -27,8 +27,14 @@ class BlePeripheralInterface {
|
|
|
27
27
|
}
|
|
28
28
|
return this.blenoServer.clientAddress === address;
|
|
29
29
|
}
|
|
30
|
+
advertise(advertiseData, additionalAdvertisementData, intervalMs) {
|
|
31
|
+
return this.blenoServer.advertise(advertiseData, additionalAdvertisementData, intervalMs);
|
|
32
|
+
}
|
|
33
|
+
stopAdvertising() {
|
|
34
|
+
return this.blenoServer.stopAdvertising();
|
|
35
|
+
}
|
|
30
36
|
}
|
|
31
37
|
export {
|
|
32
|
-
|
|
38
|
+
BlenoPeripheralInterface
|
|
33
39
|
};
|
|
34
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=BlenoPeripheralInterface.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../src/
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAkB,mBAAuC;
|
|
3
|
+
"sources": ["../../src/BlenoPeripheralInterface.ts"],
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAkB,mBAAuC;AAIlD,MAAM,yBAA2D;AAAA,EACpE,YAA6B,aAA6B;AAA7B;AAAA,EAA8B;AAAA;AAAA,EAG3D,OAAO,UAAgG;AACnG,SAAK,YAAY,yBAAyB,QAAQ;AAClD,WAAO;AAAA,MACH,OAAO,YAAY,MAAM,KAAK,MAAM;AAAA,IACxC;AAAA,EACJ;AAAA,EAEA,MAAM,QAAQ;AACV,UAAM,KAAK,YAAY,MAAM;AAAA,EACjC;AAAA,EAEA,SAAS,MAAmB,SAAkB;AAC1C,QAAI,SAAS,YAAY,KAAK;AAC1B,aAAO;AAAA,IACX;AAEA,QAAI,YAAY,QAAW;AACvB,aAAO;AAAA,IACX;AAEA,WAAO,KAAK,YAAY,kBAAkB;AAAA,EAC9C;AAAA,EAEA,UAAU,eAA2B,6BAA0C,YAAqB;AAChG,WAAO,KAAK,YAAY,UAAU,eAAe,6BAA6B,UAAU;AAAA,EAC5F;AAAA,EAEA,kBAAkB;AACd,WAAO,KAAK,YAAY,gBAAgB;AAAA,EAC5C;AACJ;",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/NodeJsBle.d.ts
CHANGED
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
* Copyright 2022-2025 Matter.js Authors
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { Environment, NetInterface
|
|
7
|
-
import { Ble,
|
|
6
|
+
import { Environment, NetInterface } from "#general";
|
|
7
|
+
import { Ble, Scanner } from "#protocol";
|
|
8
|
+
import { BlenoPeripheralInterface } from "./BlenoPeripheralInterface.js";
|
|
8
9
|
export type BleOptions = {
|
|
9
10
|
hciId?: number;
|
|
10
11
|
environment?: Environment;
|
|
@@ -12,9 +13,8 @@ export type BleOptions = {
|
|
|
12
13
|
export declare class NodeJsBle extends Ble {
|
|
13
14
|
#private;
|
|
14
15
|
constructor(options?: BleOptions);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
getBleScanner(): Scanner;
|
|
16
|
+
get peripheralInterface(): BlenoPeripheralInterface;
|
|
17
|
+
get centralInterface(): NetInterface;
|
|
18
|
+
get scanner(): Scanner;
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=NodeJsBle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeJsBle.d.ts","sourceRoot":"","sources":["../../src/NodeJsBle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"NodeJsBle.d.ts","sourceRoot":"","sources":["../../src/NodeJsBle.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAKzE,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,qBAAa,SAAU,SAAQ,GAAG;;gBAQlB,OAAO,CAAC,EAAE,UAAU;IAmBhC,IAAI,mBAAmB,IAAI,wBAAwB,CAKlD;IAED,IAAI,gBAAgB,IAAI,YAAY,CAKnC;IAED,IAAI,OAAO,IAAI,OAAO,CAKrB;CACJ"}
|
package/dist/esm/NodeJsBle.js
CHANGED
|
@@ -4,10 +4,9 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { Ble } from "#protocol";
|
|
7
|
-
import { BleBroadcaster } from "./BleBroadcaster.js";
|
|
8
|
-
import { BlePeripheralInterface } from "./BlePeripheralInterface.js";
|
|
9
|
-
import { BleScanner } from "./BleScanner.js";
|
|
10
7
|
import { BlenoBleServer } from "./BlenoBleServer.js";
|
|
8
|
+
import { BlenoPeripheralInterface } from "./BlenoPeripheralInterface.js";
|
|
9
|
+
import { BleScanner } from "./BleScanner.js";
|
|
11
10
|
import { NobleBleCentralInterface } from "./NobleBleChannel.js";
|
|
12
11
|
import { NobleBleClient } from "./NobleBleClient.js";
|
|
13
12
|
class NodeJsBle extends Ble {
|
|
@@ -15,7 +14,6 @@ class NodeJsBle extends Ble {
|
|
|
15
14
|
#blePeripheralInstance;
|
|
16
15
|
#bleCentralInstance;
|
|
17
16
|
#bleScanner;
|
|
18
|
-
#bleBroadcaster;
|
|
19
17
|
#bleCentralInterface;
|
|
20
18
|
#blePeripheralInterface;
|
|
21
19
|
constructor(options) {
|
|
@@ -34,25 +32,19 @@ class NodeJsBle extends Ble {
|
|
|
34
32
|
}
|
|
35
33
|
return this.#bleCentralInstance;
|
|
36
34
|
}
|
|
37
|
-
|
|
35
|
+
get peripheralInterface() {
|
|
38
36
|
if (this.#blePeripheralInterface === void 0) {
|
|
39
|
-
this.#blePeripheralInterface = new
|
|
37
|
+
this.#blePeripheralInterface = new BlenoPeripheralInterface(this.#blePeripheralServer);
|
|
40
38
|
}
|
|
41
39
|
return this.#blePeripheralInterface;
|
|
42
40
|
}
|
|
43
|
-
|
|
41
|
+
get centralInterface() {
|
|
44
42
|
if (this.#bleCentralInterface === void 0) {
|
|
45
|
-
this.#bleCentralInterface = new NobleBleCentralInterface(this.
|
|
43
|
+
this.#bleCentralInterface = new NobleBleCentralInterface(this.scanner);
|
|
46
44
|
}
|
|
47
45
|
return this.#bleCentralInterface;
|
|
48
46
|
}
|
|
49
|
-
|
|
50
|
-
if (this.#bleBroadcaster === void 0) {
|
|
51
|
-
this.#bleBroadcaster = new BleBroadcaster(this.#blePeripheralServer, additionalAdvertisementData);
|
|
52
|
-
}
|
|
53
|
-
return this.#bleBroadcaster;
|
|
54
|
-
}
|
|
55
|
-
getBleScanner() {
|
|
47
|
+
get scanner() {
|
|
56
48
|
if (this.#bleScanner === void 0) {
|
|
57
49
|
this.#bleScanner = new BleScanner(this.#bleCentralClient);
|
|
58
50
|
}
|
|
@@ -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,
|
|
4
|
+
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,SAAS,WAAoB;AAC7B,SAAS,sBAAsB;AAC/B,SAAS,gCAAgC;AACzC,SAAS,kBAAkB;AAC3B,SAAS,gCAAgC;AACzC,SAAS,sBAAsB;AAOxB,MAAM,kBAAkB,IAAI;AAAA,EAC/B;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,IAAI,sBAAgD;AAChD,QAAI,KAAK,4BAA4B,QAAW;AAC5C,WAAK,0BAA0B,IAAI,yBAAyB,KAAK,oBAAoB;AAAA,IACzF;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,mBAAiC;AACjC,QAAI,KAAK,yBAAyB,QAAW;AACzC,WAAK,uBAAuB,IAAI,yBAAyB,KAAK,OAAqB;AAAA,IACvF;AACA,WAAO,KAAK;AAAA,EAChB;AAAA,EAEA,IAAI,UAAmB;AACnB,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/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC"}
|
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@matter/nodejs-ble",
|
|
3
|
-
"version": "0.16.0-alpha.0-
|
|
3
|
+
"version": "0.16.0-alpha.0-20250810-5c91a95d2",
|
|
4
4
|
"description": "Matter BLE support for node.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"iot",
|
|
@@ -28,12 +28,12 @@
|
|
|
28
28
|
"build-clean": "matter-build --clean"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@matter/general": "0.16.0-alpha.0-
|
|
32
|
-
"@matter/protocol": "0.16.0-alpha.0-
|
|
33
|
-
"@matter/types": "0.16.0-alpha.0-
|
|
31
|
+
"@matter/general": "0.16.0-alpha.0-20250810-5c91a95d2",
|
|
32
|
+
"@matter/protocol": "0.16.0-alpha.0-20250810-5c91a95d2",
|
|
33
|
+
"@matter/types": "0.16.0-alpha.0-20250810-5c91a95d2"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@matter/tools": "0.16.0-alpha.0-
|
|
36
|
+
"@matter/tools": "0.16.0-alpha.0-20250810-5c91a95d2"
|
|
37
37
|
},
|
|
38
38
|
"optionalDependencies": {
|
|
39
39
|
"@stoprocent/bleno": "^0.11.4",
|
package/src/BlenoBleServer.ts
CHANGED
|
@@ -331,7 +331,9 @@ export class BlenoBleServer extends BleChannel<Uint8Array> {
|
|
|
331
331
|
}
|
|
332
332
|
}
|
|
333
333
|
|
|
334
|
-
async advertise(advertiseData: Uint8Array, additionalAdvertisementData?: Uint8Array) {
|
|
334
|
+
async advertise(advertiseData: Uint8Array, additionalAdvertisementData?: Uint8Array, intervalMs = 100) {
|
|
335
|
+
process.env["BLENO_ADVERTISING_INTERVAL"] = intervalMs.toString();
|
|
336
|
+
|
|
335
337
|
this.advertisingData = Buffer.from(advertiseData.buffer);
|
|
336
338
|
|
|
337
339
|
if (additionalAdvertisementData) {
|
|
@@ -5,9 +5,10 @@
|
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
7
|
import { Channel, ChannelType, TransportInterface } from "#general";
|
|
8
|
+
import { BlePeripheralInterface } from "@matter/protocol";
|
|
8
9
|
import { BlenoBleServer } from "./BlenoBleServer.js";
|
|
9
10
|
|
|
10
|
-
export class
|
|
11
|
+
export class BlenoPeripheralInterface implements BlePeripheralInterface {
|
|
11
12
|
constructor(private readonly blenoServer: BlenoBleServer) {}
|
|
12
13
|
|
|
13
14
|
// TransportInterface
|
|
@@ -33,4 +34,12 @@ export class BlePeripheralInterface implements TransportInterface {
|
|
|
33
34
|
|
|
34
35
|
return this.blenoServer.clientAddress === address;
|
|
35
36
|
}
|
|
37
|
+
|
|
38
|
+
advertise(advertiseData: Uint8Array, additionalAdvertisementData?: Uint8Array, intervalMs?: number) {
|
|
39
|
+
return this.blenoServer.advertise(advertiseData, additionalAdvertisementData, intervalMs);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
stopAdvertising() {
|
|
43
|
+
return this.blenoServer.stopAdvertising();
|
|
44
|
+
}
|
|
36
45
|
}
|
package/src/NodeJsBle.ts
CHANGED
|
@@ -4,12 +4,11 @@
|
|
|
4
4
|
* SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { Environment, NetInterface
|
|
8
|
-
import { Ble,
|
|
9
|
-
import { BleBroadcaster } from "./BleBroadcaster.js";
|
|
10
|
-
import { BlePeripheralInterface } from "./BlePeripheralInterface.js";
|
|
11
|
-
import { BleScanner } from "./BleScanner.js";
|
|
7
|
+
import { Environment, NetInterface } from "#general";
|
|
8
|
+
import { Ble, Scanner } from "#protocol";
|
|
12
9
|
import { BlenoBleServer } from "./BlenoBleServer.js";
|
|
10
|
+
import { BlenoPeripheralInterface } from "./BlenoPeripheralInterface.js";
|
|
11
|
+
import { BleScanner } from "./BleScanner.js";
|
|
13
12
|
import { NobleBleCentralInterface } from "./NobleBleChannel.js";
|
|
14
13
|
import { NobleBleClient } from "./NobleBleClient.js";
|
|
15
14
|
|
|
@@ -23,9 +22,8 @@ export class NodeJsBle extends Ble {
|
|
|
23
22
|
#blePeripheralInstance?: BlenoBleServer;
|
|
24
23
|
#bleCentralInstance?: NobleBleClient;
|
|
25
24
|
#bleScanner?: BleScanner;
|
|
26
|
-
#bleBroadcaster?: BleBroadcaster;
|
|
27
25
|
#bleCentralInterface?: NobleBleCentralInterface;
|
|
28
|
-
#blePeripheralInterface?:
|
|
26
|
+
#blePeripheralInterface?: BlenoPeripheralInterface;
|
|
29
27
|
|
|
30
28
|
constructor(options?: BleOptions) {
|
|
31
29
|
super();
|
|
@@ -46,28 +44,21 @@ export class NodeJsBle extends Ble {
|
|
|
46
44
|
return this.#bleCentralInstance;
|
|
47
45
|
}
|
|
48
46
|
|
|
49
|
-
|
|
47
|
+
get peripheralInterface(): BlenoPeripheralInterface {
|
|
50
48
|
if (this.#blePeripheralInterface === undefined) {
|
|
51
|
-
this.#blePeripheralInterface = new
|
|
49
|
+
this.#blePeripheralInterface = new BlenoPeripheralInterface(this.#blePeripheralServer);
|
|
52
50
|
}
|
|
53
51
|
return this.#blePeripheralInterface;
|
|
54
52
|
}
|
|
55
53
|
|
|
56
|
-
|
|
54
|
+
get centralInterface(): NetInterface {
|
|
57
55
|
if (this.#bleCentralInterface === undefined) {
|
|
58
|
-
this.#bleCentralInterface = new NobleBleCentralInterface(this.
|
|
56
|
+
this.#bleCentralInterface = new NobleBleCentralInterface(this.scanner as BleScanner);
|
|
59
57
|
}
|
|
60
58
|
return this.#bleCentralInterface;
|
|
61
59
|
}
|
|
62
60
|
|
|
63
|
-
|
|
64
|
-
if (this.#bleBroadcaster === undefined) {
|
|
65
|
-
this.#bleBroadcaster = new BleBroadcaster(this.#blePeripheralServer, additionalAdvertisementData);
|
|
66
|
-
}
|
|
67
|
-
return this.#bleBroadcaster;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
getBleScanner(): Scanner {
|
|
61
|
+
get scanner(): Scanner {
|
|
71
62
|
if (this.#bleScanner === undefined) {
|
|
72
63
|
this.#bleScanner = new BleScanner(this.#bleCentralClient);
|
|
73
64
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { CommissionerInstanceData, CommissioningModeInstanceData, InstanceBroadcaster } from "#protocol";
|
|
7
|
-
import { BlenoBleServer } from "./BlenoBleServer.js";
|
|
8
|
-
export declare class BleBroadcaster implements InstanceBroadcaster {
|
|
9
|
-
#private;
|
|
10
|
-
constructor(blenoServer: BlenoBleServer, additionalAdvertisementData?: Uint8Array);
|
|
11
|
-
setCommissionMode(mode: number, { name: deviceName, deviceType, vendorId, productId, discriminator }: CommissioningModeInstanceData): Promise<void>;
|
|
12
|
-
setFabrics(): Promise<void>;
|
|
13
|
-
setCommissionerInfo(_commissionerData: CommissionerInstanceData): Promise<void>;
|
|
14
|
-
announce(): Promise<void>;
|
|
15
|
-
expireCommissioningAnnouncement(): Promise<void>;
|
|
16
|
-
expireFabricAnnouncement(): Promise<void>;
|
|
17
|
-
expireAllAnnouncements(): Promise<void>;
|
|
18
|
-
close(): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=BleBroadcaster.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BleBroadcaster.d.ts","sourceRoot":"","sources":["../../src/BleBroadcaster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAEH,wBAAwB,EAExB,6BAA6B,EAC7B,mBAAmB,EACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,qBAAa,cAAe,YAAW,mBAAmB;;gBAS1C,WAAW,EAAE,cAAc,EAAE,2BAA2B,CAAC,EAAE,UAAU;IAK3E,iBAAiB,CACnB,IAAI,EAAE,MAAM,EACZ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,6BAA6B;IAqBjG,UAAU;IAQV,mBAAmB,CAAC,iBAAiB,EAAE,wBAAwB;IAM/D,QAAQ;IA0BR,+BAA+B;IAM/B,wBAAwB;IAIxB,sBAAsB;IAMtB,KAAK;CAcd"}
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
-
};
|
|
10
|
-
var __copyProps = (to, from, except, desc) => {
|
|
11
|
-
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
-
for (let key of __getOwnPropNames(from))
|
|
13
|
-
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
-
}
|
|
16
|
-
return to;
|
|
17
|
-
};
|
|
18
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
var BleBroadcaster_exports = {};
|
|
20
|
-
__export(BleBroadcaster_exports, {
|
|
21
|
-
BleBroadcaster: () => BleBroadcaster
|
|
22
|
-
});
|
|
23
|
-
module.exports = __toCommonJS(BleBroadcaster_exports);
|
|
24
|
-
var import_general = require("#general");
|
|
25
|
-
var import_protocol = require("#protocol");
|
|
26
|
-
/**
|
|
27
|
-
* @license
|
|
28
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
29
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
30
|
-
*/
|
|
31
|
-
const logger = import_general.Logger.get("BleBroadcaster");
|
|
32
|
-
class BleBroadcaster {
|
|
33
|
-
#blenoServer;
|
|
34
|
-
#additionalAdvertisementData;
|
|
35
|
-
#vendorId;
|
|
36
|
-
#productId;
|
|
37
|
-
#discriminator;
|
|
38
|
-
#advertise = false;
|
|
39
|
-
#isClosed = false;
|
|
40
|
-
constructor(blenoServer, additionalAdvertisementData) {
|
|
41
|
-
this.#blenoServer = blenoServer;
|
|
42
|
-
this.#additionalAdvertisementData = additionalAdvertisementData;
|
|
43
|
-
}
|
|
44
|
-
async setCommissionMode(mode, { name: deviceName, deviceType, vendorId, productId, discriminator }) {
|
|
45
|
-
this.#assertOpen();
|
|
46
|
-
if (mode !== import_protocol.CommissioningMode.Basic) {
|
|
47
|
-
this.#advertise = false;
|
|
48
|
-
logger.info(
|
|
49
|
-
`skip BLE announce because of commissioning mode ${mode} ${deviceName} ${deviceType} ${vendorId} ${productId} ${discriminator}`
|
|
50
|
-
);
|
|
51
|
-
await this.#blenoServer.stopAdvertising();
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
logger.debug(
|
|
55
|
-
`set data for commissioning mode ${mode} ${deviceName} ${deviceType} ${vendorId} ${productId} ${discriminator}`
|
|
56
|
-
);
|
|
57
|
-
this.#productId = productId;
|
|
58
|
-
this.#vendorId = vendorId;
|
|
59
|
-
this.#discriminator = discriminator;
|
|
60
|
-
process.env["BLENO_DEVICE_NAME"] = deviceName;
|
|
61
|
-
this.#advertise = true;
|
|
62
|
-
}
|
|
63
|
-
async setFabrics() {
|
|
64
|
-
this.#assertOpen();
|
|
65
|
-
this.#advertise = false;
|
|
66
|
-
logger.debug(`skip BLE announce because announcing an operational device is not supported`);
|
|
67
|
-
await this.#blenoServer.stopAdvertising();
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
async setCommissionerInfo(_commissionerData) {
|
|
71
|
-
this.#assertOpen();
|
|
72
|
-
this.#advertise = false;
|
|
73
|
-
logger.error(`skip BLE announce because announcing a commissioner is not supported`);
|
|
74
|
-
}
|
|
75
|
-
async announce() {
|
|
76
|
-
this.#assertOpen();
|
|
77
|
-
if (this.#vendorId === void 0 || this.#productId === void 0 || this.#discriminator === void 0) {
|
|
78
|
-
logger.debug(
|
|
79
|
-
`skip BLE announce because of missing commissioning data vendorId, productId or discriminator`
|
|
80
|
-
);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
if (!this.#advertise) {
|
|
84
|
-
logger.debug(`skip BLE announce because nothing to advertise`);
|
|
85
|
-
return;
|
|
86
|
-
}
|
|
87
|
-
const advertisementData = import_protocol.BtpCodec.encodeBleAdvertisementData(
|
|
88
|
-
this.#discriminator,
|
|
89
|
-
this.#vendorId,
|
|
90
|
-
this.#productId,
|
|
91
|
-
this.#additionalAdvertisementData !== void 0 && this.#additionalAdvertisementData.length > 0
|
|
92
|
-
);
|
|
93
|
-
process.env["BLENO_ADVERTISING_INTERVAL"] = "100";
|
|
94
|
-
await this.#blenoServer.advertise(advertisementData, this.#additionalAdvertisementData);
|
|
95
|
-
}
|
|
96
|
-
async expireCommissioningAnnouncement() {
|
|
97
|
-
this.#assertOpen();
|
|
98
|
-
this.#advertise = false;
|
|
99
|
-
await this.#blenoServer.stopAdvertising();
|
|
100
|
-
}
|
|
101
|
-
async expireFabricAnnouncement() {
|
|
102
|
-
}
|
|
103
|
-
async expireAllAnnouncements() {
|
|
104
|
-
this.#assertOpen();
|
|
105
|
-
this.#advertise = false;
|
|
106
|
-
await this.#blenoServer.stopAdvertising();
|
|
107
|
-
}
|
|
108
|
-
async close() {
|
|
109
|
-
if (this.#isClosed) {
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
this.#isClosed = true;
|
|
113
|
-
await this.#blenoServer.stopAdvertising();
|
|
114
|
-
}
|
|
115
|
-
#assertOpen() {
|
|
116
|
-
if (this.#isClosed) {
|
|
117
|
-
throw new import_general.ImplementationError("Illegal operation on closed BleBroadcaster");
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=BleBroadcaster.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/BleBroadcaster.ts"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAA4C;AAC5C,sBAMO;AAbP;AAAA;AAAA;AAAA;AAAA;AAiBA,MAAM,SAAS,sBAAO,IAAI,gBAAgB;AAEnC,MAAM,eAA8C;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,YAAY;AAAA,EAEZ,YAAY,aAA6B,6BAA0C;AAC/E,SAAK,eAAe;AACpB,SAAK,+BAA+B;AAAA,EACxC;AAAA,EAEA,MAAM,kBACF,MACA,EAAE,MAAM,YAAY,YAAY,UAAU,WAAW,cAAc,GACrE;AACE,SAAK,YAAY;AACjB,QAAI,SAAS,kCAAkB,OAAO;AAClC,WAAK,aAAa;AAClB,aAAO;AAAA,QACH,mDAAmD,IAAI,IAAI,UAAU,IAAI,UAAU,IAAI,QAAQ,IAAI,SAAS,IAAI,aAAa;AAAA,MACjI;AACA,YAAM,KAAK,aAAa,gBAAgB;AACxC;AAAA,IACJ;AACA,WAAO;AAAA,MACH,mCAAmC,IAAI,IAAI,UAAU,IAAI,UAAU,IAAI,QAAQ,IAAI,SAAS,IAAI,aAAa;AAAA,IACjH;AACA,SAAK,aAAa;AAClB,SAAK,YAAY;AACjB,SAAK,iBAAiB;AACtB,YAAQ,IAAI,mBAAmB,IAAI;AACnC,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,MAAM,aAAa;AACf,SAAK,YAAY;AACjB,SAAK,aAAa;AAClB,WAAO,MAAM,6EAA6E;AAC1F,UAAM,KAAK,aAAa,gBAAgB;AACxC;AAAA,EACJ;AAAA,EAEA,MAAM,oBAAoB,mBAA6C;AACnE,SAAK,YAAY;AACjB,SAAK,aAAa;AAClB,WAAO,MAAM,sEAAsE;AAAA,EACvF;AAAA,EAEA,MAAM,WAAW;AACb,SAAK,YAAY;AACjB,QAAI,KAAK,cAAc,UAAa,KAAK,eAAe,UAAa,KAAK,mBAAmB,QAAW;AACpG,aAAO;AAAA,QACH;AAAA,MACJ;AACA;AAAA,IACJ;AACA,QAAI,CAAC,KAAK,YAAY;AAClB,aAAO,MAAM,gDAAgD;AAC7D;AAAA,IACJ;AAEA,UAAM,oBAAoB,yBAAS;AAAA,MAC/B,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,iCAAiC,UAAa,KAAK,6BAA6B,SAAS;AAAA,IAClG;AAGA,YAAQ,IAAI,4BAA4B,IAAI;AAE5C,UAAM,KAAK,aAAa,UAAU,mBAAmB,KAAK,4BAA4B;AAAA,EAC1F;AAAA,EAEA,MAAM,kCAAkC;AACpC,SAAK,YAAY;AACjB,SAAK,aAAa;AAClB,UAAM,KAAK,aAAa,gBAAgB;AAAA,EAC5C;AAAA,EAEA,MAAM,2BAA2B;AAAA,EAEjC;AAAA,EAEA,MAAM,yBAAyB;AAC3B,SAAK,YAAY;AACjB,SAAK,aAAa;AAClB,UAAM,KAAK,aAAa,gBAAgB;AAAA,EAC5C;AAAA,EAEA,MAAM,QAAQ;AACV,QAAI,KAAK,WAAW;AAChB;AAAA,IACJ;AACA,SAAK,YAAY;AAEjB,UAAM,KAAK,aAAa,gBAAgB;AAAA,EAC5C;AAAA,EAEA,cAAc;AACV,QAAI,KAAK,WAAW;AAChB,YAAM,IAAI,mCAAoB,4CAA4C;AAAA,IAC9E;AAAA,EACJ;AACJ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BlePeripheralInterface.d.ts","sourceRoot":"","sources":["../../src/BlePeripheralInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBAAa,sBAAuB,YAAW,kBAAkB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,cAAc;IAGxD,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,kBAAkB,CAAC,QAAQ;IAOhG,KAAK;IAIX,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM;CAW/C"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { CommissionerInstanceData, CommissioningModeInstanceData, InstanceBroadcaster } from "#protocol";
|
|
7
|
-
import { BlenoBleServer } from "./BlenoBleServer.js";
|
|
8
|
-
export declare class BleBroadcaster implements InstanceBroadcaster {
|
|
9
|
-
#private;
|
|
10
|
-
constructor(blenoServer: BlenoBleServer, additionalAdvertisementData?: Uint8Array);
|
|
11
|
-
setCommissionMode(mode: number, { name: deviceName, deviceType, vendorId, productId, discriminator }: CommissioningModeInstanceData): Promise<void>;
|
|
12
|
-
setFabrics(): Promise<void>;
|
|
13
|
-
setCommissionerInfo(_commissionerData: CommissionerInstanceData): Promise<void>;
|
|
14
|
-
announce(): Promise<void>;
|
|
15
|
-
expireCommissioningAnnouncement(): Promise<void>;
|
|
16
|
-
expireFabricAnnouncement(): Promise<void>;
|
|
17
|
-
expireAllAnnouncements(): Promise<void>;
|
|
18
|
-
close(): Promise<void>;
|
|
19
|
-
}
|
|
20
|
-
//# sourceMappingURL=BleBroadcaster.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BleBroadcaster.d.ts","sourceRoot":"","sources":["../../src/BleBroadcaster.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAEH,wBAAwB,EAExB,6BAA6B,EAC7B,mBAAmB,EACtB,MAAM,WAAW,CAAC;AAEnB,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAIrD,qBAAa,cAAe,YAAW,mBAAmB;;gBAS1C,WAAW,EAAE,cAAc,EAAE,2BAA2B,CAAC,EAAE,UAAU;IAK3E,iBAAiB,CACnB,IAAI,EAAE,MAAM,EACZ,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,6BAA6B;IAqBjG,UAAU;IAQV,mBAAmB,CAAC,iBAAiB,EAAE,wBAAwB;IAM/D,QAAQ;IA0BR,+BAA+B;IAM/B,wBAAwB;IAIxB,sBAAsB;IAMtB,KAAK;CAcd"}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { ImplementationError, Logger } from "#general";
|
|
7
|
-
import {
|
|
8
|
-
BtpCodec,
|
|
9
|
-
CommissioningMode
|
|
10
|
-
} from "#protocol";
|
|
11
|
-
const logger = Logger.get("BleBroadcaster");
|
|
12
|
-
class BleBroadcaster {
|
|
13
|
-
#blenoServer;
|
|
14
|
-
#additionalAdvertisementData;
|
|
15
|
-
#vendorId;
|
|
16
|
-
#productId;
|
|
17
|
-
#discriminator;
|
|
18
|
-
#advertise = false;
|
|
19
|
-
#isClosed = false;
|
|
20
|
-
constructor(blenoServer, additionalAdvertisementData) {
|
|
21
|
-
this.#blenoServer = blenoServer;
|
|
22
|
-
this.#additionalAdvertisementData = additionalAdvertisementData;
|
|
23
|
-
}
|
|
24
|
-
async setCommissionMode(mode, { name: deviceName, deviceType, vendorId, productId, discriminator }) {
|
|
25
|
-
this.#assertOpen();
|
|
26
|
-
if (mode !== CommissioningMode.Basic) {
|
|
27
|
-
this.#advertise = false;
|
|
28
|
-
logger.info(
|
|
29
|
-
`skip BLE announce because of commissioning mode ${mode} ${deviceName} ${deviceType} ${vendorId} ${productId} ${discriminator}`
|
|
30
|
-
);
|
|
31
|
-
await this.#blenoServer.stopAdvertising();
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
logger.debug(
|
|
35
|
-
`set data for commissioning mode ${mode} ${deviceName} ${deviceType} ${vendorId} ${productId} ${discriminator}`
|
|
36
|
-
);
|
|
37
|
-
this.#productId = productId;
|
|
38
|
-
this.#vendorId = vendorId;
|
|
39
|
-
this.#discriminator = discriminator;
|
|
40
|
-
process.env["BLENO_DEVICE_NAME"] = deviceName;
|
|
41
|
-
this.#advertise = true;
|
|
42
|
-
}
|
|
43
|
-
async setFabrics() {
|
|
44
|
-
this.#assertOpen();
|
|
45
|
-
this.#advertise = false;
|
|
46
|
-
logger.debug(`skip BLE announce because announcing an operational device is not supported`);
|
|
47
|
-
await this.#blenoServer.stopAdvertising();
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
async setCommissionerInfo(_commissionerData) {
|
|
51
|
-
this.#assertOpen();
|
|
52
|
-
this.#advertise = false;
|
|
53
|
-
logger.error(`skip BLE announce because announcing a commissioner is not supported`);
|
|
54
|
-
}
|
|
55
|
-
async announce() {
|
|
56
|
-
this.#assertOpen();
|
|
57
|
-
if (this.#vendorId === void 0 || this.#productId === void 0 || this.#discriminator === void 0) {
|
|
58
|
-
logger.debug(
|
|
59
|
-
`skip BLE announce because of missing commissioning data vendorId, productId or discriminator`
|
|
60
|
-
);
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
if (!this.#advertise) {
|
|
64
|
-
logger.debug(`skip BLE announce because nothing to advertise`);
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
const advertisementData = BtpCodec.encodeBleAdvertisementData(
|
|
68
|
-
this.#discriminator,
|
|
69
|
-
this.#vendorId,
|
|
70
|
-
this.#productId,
|
|
71
|
-
this.#additionalAdvertisementData !== void 0 && this.#additionalAdvertisementData.length > 0
|
|
72
|
-
);
|
|
73
|
-
process.env["BLENO_ADVERTISING_INTERVAL"] = "100";
|
|
74
|
-
await this.#blenoServer.advertise(advertisementData, this.#additionalAdvertisementData);
|
|
75
|
-
}
|
|
76
|
-
async expireCommissioningAnnouncement() {
|
|
77
|
-
this.#assertOpen();
|
|
78
|
-
this.#advertise = false;
|
|
79
|
-
await this.#blenoServer.stopAdvertising();
|
|
80
|
-
}
|
|
81
|
-
async expireFabricAnnouncement() {
|
|
82
|
-
}
|
|
83
|
-
async expireAllAnnouncements() {
|
|
84
|
-
this.#assertOpen();
|
|
85
|
-
this.#advertise = false;
|
|
86
|
-
await this.#blenoServer.stopAdvertising();
|
|
87
|
-
}
|
|
88
|
-
async close() {
|
|
89
|
-
if (this.#isClosed) {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
this.#isClosed = true;
|
|
93
|
-
await this.#blenoServer.stopAdvertising();
|
|
94
|
-
}
|
|
95
|
-
#assertOpen() {
|
|
96
|
-
if (this.#isClosed) {
|
|
97
|
-
throw new ImplementationError("Illegal operation on closed BleBroadcaster");
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
export {
|
|
102
|
-
BleBroadcaster
|
|
103
|
-
};
|
|
104
|
-
//# sourceMappingURL=BleBroadcaster.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/BleBroadcaster.ts"],
|
|
4
|
-
"mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB,cAAc;AAC5C;AAAA,EACI;AAAA,EAEA;AAAA,OAGG;AAIP,MAAM,SAAS,OAAO,IAAI,gBAAgB;AAEnC,MAAM,eAA8C;AAAA,EACvD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,YAAY;AAAA,EAEZ,YAAY,aAA6B,6BAA0C;AAC/E,SAAK,eAAe;AACpB,SAAK,+BAA+B;AAAA,EACxC;AAAA,EAEA,MAAM,kBACF,MACA,EAAE,MAAM,YAAY,YAAY,UAAU,WAAW,cAAc,GACrE;AACE,SAAK,YAAY;AACjB,QAAI,SAAS,kBAAkB,OAAO;AAClC,WAAK,aAAa;AAClB,aAAO;AAAA,QACH,mDAAmD,IAAI,IAAI,UAAU,IAAI,UAAU,IAAI,QAAQ,IAAI,SAAS,IAAI,aAAa;AAAA,MACjI;AACA,YAAM,KAAK,aAAa,gBAAgB;AACxC;AAAA,IACJ;AACA,WAAO;AAAA,MACH,mCAAmC,IAAI,IAAI,UAAU,IAAI,UAAU,IAAI,QAAQ,IAAI,SAAS,IAAI,aAAa;AAAA,IACjH;AACA,SAAK,aAAa;AAClB,SAAK,YAAY;AACjB,SAAK,iBAAiB;AACtB,YAAQ,IAAI,mBAAmB,IAAI;AACnC,SAAK,aAAa;AAAA,EACtB;AAAA,EAEA,MAAM,aAAa;AACf,SAAK,YAAY;AACjB,SAAK,aAAa;AAClB,WAAO,MAAM,6EAA6E;AAC1F,UAAM,KAAK,aAAa,gBAAgB;AACxC;AAAA,EACJ;AAAA,EAEA,MAAM,oBAAoB,mBAA6C;AACnE,SAAK,YAAY;AACjB,SAAK,aAAa;AAClB,WAAO,MAAM,sEAAsE;AAAA,EACvF;AAAA,EAEA,MAAM,WAAW;AACb,SAAK,YAAY;AACjB,QAAI,KAAK,cAAc,UAAa,KAAK,eAAe,UAAa,KAAK,mBAAmB,QAAW;AACpG,aAAO;AAAA,QACH;AAAA,MACJ;AACA;AAAA,IACJ;AACA,QAAI,CAAC,KAAK,YAAY;AAClB,aAAO,MAAM,gDAAgD;AAC7D;AAAA,IACJ;AAEA,UAAM,oBAAoB,SAAS;AAAA,MAC/B,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK,iCAAiC,UAAa,KAAK,6BAA6B,SAAS;AAAA,IAClG;AAGA,YAAQ,IAAI,4BAA4B,IAAI;AAE5C,UAAM,KAAK,aAAa,UAAU,mBAAmB,KAAK,4BAA4B;AAAA,EAC1F;AAAA,EAEA,MAAM,kCAAkC;AACpC,SAAK,YAAY;AACjB,SAAK,aAAa;AAClB,UAAM,KAAK,aAAa,gBAAgB;AAAA,EAC5C;AAAA,EAEA,MAAM,2BAA2B;AAAA,EAEjC;AAAA,EAEA,MAAM,yBAAyB;AAC3B,SAAK,YAAY;AACjB,SAAK,aAAa;AAClB,UAAM,KAAK,aAAa,gBAAgB;AAAA,EAC5C;AAAA,EAEA,MAAM,QAAQ;AACV,QAAI,KAAK,WAAW;AAChB;AAAA,IACJ;AACA,SAAK,YAAY;AAEjB,UAAM,KAAK,aAAa,gBAAgB;AAAA,EAC5C;AAAA,EAEA,cAAc;AACV,QAAI,KAAK,WAAW;AAChB,YAAM,IAAI,oBAAoB,4CAA4C;AAAA,IAC9E;AAAA,EACJ;AACJ;",
|
|
5
|
-
"names": []
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BlePeripheralInterface.d.ts","sourceRoot":"","sources":["../../src/BlePeripheralInterface.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,qBAAa,sBAAuB,YAAW,kBAAkB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW;gBAAX,WAAW,EAAE,cAAc;IAGxD,MAAM,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,UAAU,KAAK,IAAI,GAAG,kBAAkB,CAAC,QAAQ;IAOhG,KAAK;IAIX,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM;CAW/C"}
|
package/src/BleBroadcaster.ts
DELETED
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2022-2025 Matter.js Authors
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
import { ImplementationError, Logger } from "#general";
|
|
8
|
-
import {
|
|
9
|
-
BtpCodec,
|
|
10
|
-
CommissionerInstanceData,
|
|
11
|
-
CommissioningMode,
|
|
12
|
-
CommissioningModeInstanceData,
|
|
13
|
-
InstanceBroadcaster,
|
|
14
|
-
} from "#protocol";
|
|
15
|
-
import { VendorId } from "#types";
|
|
16
|
-
import { BlenoBleServer } from "./BlenoBleServer.js";
|
|
17
|
-
|
|
18
|
-
const logger = Logger.get("BleBroadcaster");
|
|
19
|
-
|
|
20
|
-
export class BleBroadcaster implements InstanceBroadcaster {
|
|
21
|
-
#blenoServer: BlenoBleServer;
|
|
22
|
-
#additionalAdvertisementData?: Uint8Array;
|
|
23
|
-
#vendorId: VendorId | undefined;
|
|
24
|
-
#productId: number | undefined;
|
|
25
|
-
#discriminator: number | undefined;
|
|
26
|
-
#advertise = false;
|
|
27
|
-
#isClosed = false;
|
|
28
|
-
|
|
29
|
-
constructor(blenoServer: BlenoBleServer, additionalAdvertisementData?: Uint8Array) {
|
|
30
|
-
this.#blenoServer = blenoServer;
|
|
31
|
-
this.#additionalAdvertisementData = additionalAdvertisementData;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
async setCommissionMode(
|
|
35
|
-
mode: number,
|
|
36
|
-
{ name: deviceName, deviceType, vendorId, productId, discriminator }: CommissioningModeInstanceData,
|
|
37
|
-
) {
|
|
38
|
-
this.#assertOpen();
|
|
39
|
-
if (mode !== CommissioningMode.Basic) {
|
|
40
|
-
this.#advertise = false;
|
|
41
|
-
logger.info(
|
|
42
|
-
`skip BLE announce because of commissioning mode ${mode} ${deviceName} ${deviceType} ${vendorId} ${productId} ${discriminator}`,
|
|
43
|
-
);
|
|
44
|
-
await this.#blenoServer.stopAdvertising();
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
logger.debug(
|
|
48
|
-
`set data for commissioning mode ${mode} ${deviceName} ${deviceType} ${vendorId} ${productId} ${discriminator}`,
|
|
49
|
-
);
|
|
50
|
-
this.#productId = productId;
|
|
51
|
-
this.#vendorId = vendorId;
|
|
52
|
-
this.#discriminator = discriminator;
|
|
53
|
-
process.env["BLENO_DEVICE_NAME"] = deviceName;
|
|
54
|
-
this.#advertise = true;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
async setFabrics() {
|
|
58
|
-
this.#assertOpen();
|
|
59
|
-
this.#advertise = false;
|
|
60
|
-
logger.debug(`skip BLE announce because announcing an operational device is not supported`);
|
|
61
|
-
await this.#blenoServer.stopAdvertising();
|
|
62
|
-
return; // Not needed because we only advertise un-commissioned devices
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
async setCommissionerInfo(_commissionerData: CommissionerInstanceData) {
|
|
66
|
-
this.#assertOpen();
|
|
67
|
-
this.#advertise = false;
|
|
68
|
-
logger.error(`skip BLE announce because announcing a commissioner is not supported`);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
async announce() {
|
|
72
|
-
this.#assertOpen();
|
|
73
|
-
if (this.#vendorId === undefined || this.#productId === undefined || this.#discriminator === undefined) {
|
|
74
|
-
logger.debug(
|
|
75
|
-
`skip BLE announce because of missing commissioning data vendorId, productId or discriminator`,
|
|
76
|
-
);
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
if (!this.#advertise) {
|
|
80
|
-
logger.debug(`skip BLE announce because nothing to advertise`);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
const advertisementData = BtpCodec.encodeBleAdvertisementData(
|
|
85
|
-
this.#discriminator,
|
|
86
|
-
this.#vendorId,
|
|
87
|
-
this.#productId,
|
|
88
|
-
this.#additionalAdvertisementData !== undefined && this.#additionalAdvertisementData.length > 0,
|
|
89
|
-
);
|
|
90
|
-
|
|
91
|
-
// TODO if needed implement this according to the spec 5.4.2.5.3. (first 30s 20-60ms, 150-1285ms after)
|
|
92
|
-
process.env["BLENO_ADVERTISING_INTERVAL"] = "100"; // use statically 100ms for now
|
|
93
|
-
|
|
94
|
-
await this.#blenoServer.advertise(advertisementData, this.#additionalAdvertisementData);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
async expireCommissioningAnnouncement() {
|
|
98
|
-
this.#assertOpen();
|
|
99
|
-
this.#advertise = false;
|
|
100
|
-
await this.#blenoServer.stopAdvertising();
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
async expireFabricAnnouncement() {
|
|
104
|
-
// nothing to do
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
async expireAllAnnouncements() {
|
|
108
|
-
this.#assertOpen();
|
|
109
|
-
this.#advertise = false;
|
|
110
|
-
await this.#blenoServer.stopAdvertising();
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
async close() {
|
|
114
|
-
if (this.#isClosed) {
|
|
115
|
-
return;
|
|
116
|
-
}
|
|
117
|
-
this.#isClosed = true;
|
|
118
|
-
|
|
119
|
-
await this.#blenoServer.stopAdvertising();
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
#assertOpen() {
|
|
123
|
-
if (this.#isClosed) {
|
|
124
|
-
throw new ImplementationError("Illegal operation on closed BleBroadcaster");
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
}
|