@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.
Files changed (48) hide show
  1. package/dist/cjs/BlenoBleServer.d.ts +1 -1
  2. package/dist/cjs/BlenoBleServer.d.ts.map +1 -1
  3. package/dist/cjs/BlenoBleServer.js +2 -1
  4. package/dist/cjs/BlenoBleServer.js.map +1 -1
  5. package/dist/cjs/{BlePeripheralInterface.d.ts → BlenoPeripheralInterface.d.ts} +5 -2
  6. package/dist/cjs/BlenoPeripheralInterface.d.ts.map +1 -0
  7. package/dist/cjs/{BlePeripheralInterface.js → BlenoPeripheralInterface.js} +12 -6
  8. package/dist/cjs/{BlePeripheralInterface.js.map → BlenoPeripheralInterface.js.map} +2 -2
  9. package/dist/cjs/NodeJsBle.d.ts +6 -6
  10. package/dist/cjs/NodeJsBle.d.ts.map +1 -1
  11. package/dist/cjs/NodeJsBle.js +7 -15
  12. package/dist/cjs/NodeJsBle.js.map +1 -1
  13. package/dist/cjs/index.d.ts +0 -1
  14. package/dist/cjs/index.d.ts.map +1 -1
  15. package/dist/cjs/index.js +0 -1
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/esm/BlenoBleServer.d.ts +1 -1
  18. package/dist/esm/BlenoBleServer.d.ts.map +1 -1
  19. package/dist/esm/BlenoBleServer.js +2 -1
  20. package/dist/esm/BlenoBleServer.js.map +1 -1
  21. package/dist/esm/{BlePeripheralInterface.d.ts → BlenoPeripheralInterface.d.ts} +5 -2
  22. package/dist/esm/BlenoPeripheralInterface.d.ts.map +1 -0
  23. package/dist/esm/{BlePeripheralInterface.js → BlenoPeripheralInterface.js} +9 -3
  24. package/dist/esm/{BlePeripheralInterface.js.map → BlenoPeripheralInterface.js.map} +2 -2
  25. package/dist/esm/NodeJsBle.d.ts +6 -6
  26. package/dist/esm/NodeJsBle.d.ts.map +1 -1
  27. package/dist/esm/NodeJsBle.js +7 -15
  28. package/dist/esm/NodeJsBle.js.map +1 -1
  29. package/dist/esm/index.d.ts +0 -1
  30. package/dist/esm/index.d.ts.map +1 -1
  31. package/dist/esm/index.js +0 -1
  32. package/dist/esm/index.js.map +1 -1
  33. package/package.json +5 -5
  34. package/src/BlenoBleServer.ts +3 -1
  35. package/src/{BlePeripheralInterface.ts → BlenoPeripheralInterface.ts} +10 -1
  36. package/src/NodeJsBle.ts +10 -19
  37. package/src/index.ts +0 -1
  38. package/dist/cjs/BleBroadcaster.d.ts +0 -20
  39. package/dist/cjs/BleBroadcaster.d.ts.map +0 -1
  40. package/dist/cjs/BleBroadcaster.js +0 -121
  41. package/dist/cjs/BleBroadcaster.js.map +0 -6
  42. package/dist/cjs/BlePeripheralInterface.d.ts.map +0 -1
  43. package/dist/esm/BleBroadcaster.d.ts +0 -20
  44. package/dist/esm/BleBroadcaster.d.ts.map +0 -1
  45. package/dist/esm/BleBroadcaster.js +0 -104
  46. package/dist/esm/BleBroadcaster.js.map +0 -6
  47. package/dist/esm/BlePeripheralInterface.d.ts.map +0 -1
  48. 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;IAyB7E,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"}
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 BlePeripheralInterface implements TransportInterface {
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=BlePeripheralInterface.d.ts.map
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 BlePeripheralInterface_exports = {};
20
- __export(BlePeripheralInterface_exports, {
21
- BlePeripheralInterface: () => BlePeripheralInterface
19
+ var BlenoPeripheralInterface_exports = {};
20
+ __export(BlenoPeripheralInterface_exports, {
21
+ BlenoPeripheralInterface: () => BlenoPeripheralInterface
22
22
  });
23
- module.exports = __toCommonJS(BlePeripheralInterface_exports);
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 BlePeripheralInterface {
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=BlePeripheralInterface.js.map
60
+ //# sourceMappingURL=BlenoPeripheralInterface.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/BlePeripheralInterface.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,qBAAyD;AANzD;AAAA;AAAA;AAAA;AAAA;AASO,MAAM,uBAAqD;AAAA,EAC9D,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;AACJ;",
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
  }
@@ -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, TransportInterface } from "#general";
7
- import { Ble, InstanceBroadcaster, Scanner } from "#protocol";
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
- getBlePeripheralInterface(): TransportInterface;
16
- getBleCentralInterface(): NetInterface;
17
- getBleBroadcaster(additionalAdvertisementData?: Uint8Array): InstanceBroadcaster;
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,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQ9D,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"}
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"}
@@ -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
- getBlePeripheralInterface() {
58
+ get peripheralInterface() {
61
59
  if (this.#blePeripheralInterface === void 0) {
62
- this.#blePeripheralInterface = new import_BlePeripheralInterface.BlePeripheralInterface(this.#blePeripheralServer);
60
+ this.#blePeripheralInterface = new import_BlenoPeripheralInterface.BlenoPeripheralInterface(this.#blePeripheralServer);
63
61
  }
64
62
  return this.#blePeripheralInterface;
65
63
  }
66
- getBleCentralInterface() {
64
+ get centralInterface() {
67
65
  if (this.#bleCentralInterface === void 0) {
68
- this.#bleCentralInterface = new import_NobleBleChannel.NobleBleCentralInterface(this.getBleScanner());
66
+ this.#bleCentralInterface = new import_NobleBleChannel.NobleBleCentralInterface(this.scanner);
69
67
  }
70
68
  return this.#bleCentralInterface;
71
69
  }
72
- getBleBroadcaster(additionalAdvertisementData) {
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,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;",
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
  }
@@ -3,7 +3,6 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export * from "./BleBroadcaster.js";
7
6
  export * from "./BleScanner.js";
8
7
  export * from "./NodeJsBle.js";
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,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
  /**
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAMA,wBAAc,gCANd;AAOA,wBAAc,4BAPd;AAQA,wBAAc,2BARd;AAAA;AAAA;AAAA;AAAA;AAAA;",
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;IAyB7E,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"}
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": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAkB,eAAe,QAAQ,MAAM,qBAAqB;AACpE;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP,SAAS,WAAAA,gBAAe;AAIxB,MAAM,SAAS,OAAO,IAAI,gBAAgB;AAC1C,IAAI;AAEJ,SAAS,gBAAgB,QAAwB,OAAgB;AAE7D,MAAI,UAAU,QAAW;AACrB,YAAQ,IAAI,sBAAsB,MAAM,SAAS;AAAA,EACrD;AACA,UAAQA,SAAQ,mBAAmB;AAAA,EAEnC,MAAM,iCAAiC,MAAM,eAAe;AAAA,IACxD,cAAc;AACV,YAAM;AAAA,QACF,MAAM;AAAA,QACN,YAAY,CAAC,OAAO;AAAA,QACpB,gBAAgB,CAAC,SAAS,MAAM,QAAQ,iBAAiB,aACrD,KAAK,gBAAgB,MAAM,QAAQ,iBAAiB,QAAQ;AAAA,MACpE,CAAC;AAAA,IACL;AAAA,IAEA,gBACI,MACA,QACA,iBACA,UACF;AACE,aAAO,MAAM,qBAAqB,KAAK,SAAS,KAAK,CAAC,IAAI,MAAM,IAAI,eAAe,EAAE;AAErF,UAAI;AACA,eAAO,qBAAqB,MAAM,QAAQ,eAAe;AACzD,iBAAS,KAAK,cAAc;AAAA,MAChC,SAAS,GAAG;AACR,eAAO,MAAM,4BAA4B,CAAC,EAAE;AAC5C,iBAAS,KAAK,qBAAqB;AAAA,MACvC;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,oCAAoC,MAAM,eAAe;AAAA,IAC3D,cAAc;AACV,YAAM;AAAA,QACF,MAAM;AAAA,QACN,YAAY,CAAC,UAAU;AAAA,QACvB,aAAa,CAAC,SAAS,cAAc,wBACjC,KAAK,aAAa,cAAc,mBAAmB;AAAA,QACvD,eAAe,MAAM,KAAK,eAAe;AAAA,QACzC,YAAY,MAAM,KAAK,YAAY;AAAA,MACvC,CAAC;AAAA,IACL;AAAA,IAEA,aAAa,cAAsB,qBAA6C;AAC5E,aAAO,MAAM,gBAAgB,YAAY,EAAE;AAE3C,aACK,yBAAyB,cAAc,mBAAmB,EAC1D,MAAM,OAAK,OAAO,KAAK,gDAAgD,CAAC,CAAC;AAAA,IAClF;AAAA,IAEA,iBAAiB;AACb,aAAO,MAAM,gBAAgB;AAC7B,aAAO,MAAM,EAAE,MAAM,OAAK,OAAO,KAAK,yDAAyD,CAAC,CAAC;AAAA,IACrG;AAAA,IAEA,cAAc;AACV,aAAO,MAAM,aAAa;AAC1B,aAAO,iBAAiB;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,MAAM,gCAAgC,MAAM,eAAe;AAAA,IACvD,cAAc;AACV,YAAM;AAAA,QACF,MAAM;AAAA,QACN,YAAY,CAAC,MAAM;AAAA,QACnB,eAAe,CAAC,SAAS,QAAQ,aAAa,KAAK,eAAe,QAAQ,QAAQ;AAAA,MACtF,CAAC;AAAA,IACL;AAAA,IAEA,eAAe,QAAgB,UAAmD;AAC9E,UAAI;AACA,cAAM,OAAO,OAAO,oBAAoB,MAAM;AAC9C,eAAO,MAAM,oBAAoB,KAAK,SAAS,KAAK,CAAC,IAAI,MAAM,EAAE;AACjE,iBAAS,KAAK,gBAAgB,IAAI;AAAA,MACtC,SAAS,GAAG;AACR,eAAO,MAAM,4BAA4B,CAAC,IAAI,MAAM,EAAE;AACtD,iBAAS,KAAK,qBAAqB;AAAA,MACvC;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,mBAAmB,MAAM,eAAe;AAAA,IAC1C,cAAc;AACV,YAAM;AAAA,QACF,MAAM;AAAA,QACN,iBAAiB;AAAA,UACb,IAAI,yBAAyB;AAAA,UAC7B,IAAI,4BAA4B;AAAA,UAChC,IAAI,wBAAwB;AAAA,QAChC;AAAA,MACJ,CAAC;AAAA,IACL;AAAA,EACJ;AAEA,SAAO,IAAI,WAAW;AAC1B;AAQO,MAAM,uBAAuB,WAAuB;AAAA,EAC/C,QAAQ;AAAA,EAChB,gBAAgB;AAAA,EACR,4BAAoC,OAAO,MAAM,CAAC;AAAA,EAClD;AAAA,EAEA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EAED;AAAA,EACC,sBAAsB,KAAK;AAAA,IAAS;AAAA,IAAyB;AAAA,IAAyB,MAC1F,KAAK,6BAA6B;AAAA,EACtC;AAAA,EACA,gBAAgB;AAAA,EAChB,WAAW;AAAA,EAEM;AAAA,EAEjB,YAAY,SAAsB;AAC9B,UAAM;AAEN,UAAM,EAAE,YAAY,IAAI,WAAW,CAAC;AACpC,iBAAa,QAAQ,IAAI,IAAI;AAE7B,SAAK,mBAAmB,gBAAgB,MAAM,SAAS,KAAK;AAG5D,UAAM,GAAG,eAAe,WAAS;AAC7B,UAAI,UAAU,KAAK,MAAO;AAC1B,WAAK,QAAQ;AACb,aAAO,MAAM,gBAAgB,KAAK,eAAe,MAAM,OAAO,EAAE;AAChE,UAAI,UAAU,aAAa;AAEvB,YAAI,KAAK,iBAAiB,KAAK,SAAU;AACzC,cAAM,gBAAgB;AAAA,MAC1B,WAAW,KAAK,iBAAiB;AAC7B,cAAM,4BAA4B,KAAK,eAAe;AACtD,aAAK,gBAAgB;AAAA,MACzB;AAAA,IACJ,CAAC;AAGD,UAAM,GAAG,UAAU,mBAAiB;AAChC,aAAO,MAAM,kCAAkC,aAAa,EAAE;AAC9D,WAAK,gBAAgB;AACrB,YAAM,WAAW;AAAA,IACrB,CAAC;AAED,UAAM,GAAG,cAAc,mBAAiB;AACpC,aAAO,MAAM,uBAAuB,aAAa,EAAE;AACnD,WAAK,gBAAgB;AACrB,UAAI,KAAK,eAAe,QAAW;AAC/B,aAAK,WACA,MAAM,EACN,KAAK,MAAM;AACR,eAAK,aAAa;AAAA,QACtB,CAAC,EACA,MAAM,MAAM;AACT,eAAK,aAAa;AAAA,QACtB,CAAC;AAAA,MACT;AAAA,IACJ,CAAC;AAED,UAAM,GAAG,cAAc,UAAQ;AAC3B,aAAO,MAAM,eAAe,IAAI,EAAE;AAAA,IACtC,CAAC;AAGD,UAAM,GAAG,aAAa,SAAO;AACzB,aAAO,MAAM,cAAc,GAAG,EAAE;AAAA,IACpC,CAAC;AAED,UAAM,GAAG,oBAAoB,WAAS;AAClC,aAAO,MAAM,qBAAqB,QAAQ,SAAS,KAAK,KAAK,SAAS,EAAE;AAExE,UAAI,CAAC,OAAO;AACR,cAAM,YAAY,CAAC,KAAK,gBAAgB,CAAC;AAAA,MAC7C;AAAA,IAEJ,CAAC;AAED,UAAM,GAAG,mBAAmB,MAAM;AAC9B,aAAO,MAAM,iBAAiB;AAAA,IAClC,CAAC;AAED,UAAM,GAAG,eAAe,WAAS;AAC7B,aAAO,MAAM,gBAAgB,QAAQ,SAAS,KAAK,KAAK,SAAS,EAAE;AAAA,IACvE,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,qBAAqB,MAA+B,QAAgB,iBAA0B;AAC1F,QAAI,WAAW,KAAK,iBAAiB;AACjC,YAAM,IAAI,SAAS,UAAU,MAAM,uBAAuB,eAAe,gBAAgB;AAAA,IAC7F;AAEA,QAAI,KAAK,CAAC,MAAM,OAAQ,KAAK,CAAC,MAAM,OAAQ,KAAK,WAAW,GAAG;AAE3D,WAAK,oBAAoB,MAAM;AAE/B,aAAO;AAAA,QACH,sCAAsC,KAAK,SAAS,KAAK,CAAC;AAAA,MAC9D;AACA,WAAK,yBAAyB;AAAA,IAElC,OAAO;AACH,UAAI,KAAK,eAAe,QAAW;AAC/B,eAAO,MAAM,yCAAyC,KAAK,SAAS,KAAK,CAAC,EAAE;AAC5E,aAAK,KAAK,WAAW,sBAAsB,IAAI,WAAW,IAAI,CAAC;AAAA,MACnE,OAAO;AACH,cAAM,IAAI;AAAA,UACN,4DAA4D,KAAK,SAAS,KAAK,CAAC;AAAA,QACpF;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA,MAAM,yBAAyB,cAAsB,qBAA6C;AAC9F,QAAI,KAAK,2BAA2B,QAAW;AAC3C,YAAM,IAAI,aAAa,wDAAwD;AAAA,IACnF;AACA,QAAI,KAAK,eAAe,QAAW;AAC/B,YAAM,IAAI;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AACA,SAAK,oBAAoB,KAAK;AAE9B,SAAK,aAAa,MAAM,kBAAkB;AAAA,MACtC,KAAK,IAAI,MAAM,MAAM,GAAG,YAAY;AAAA,MACpC,IAAI,WAAW,KAAK,sBAAsB;AAAA;AAAA,MAG1C,OAAO,SAAqB;AACxB,4BAAoB,OAAO,KAAK,KAAK,MAAM,CAAC;AAC5C,cAAM,EAAE,SAAS,SAAS,IAAI,cAAoB;AAClD,aAAK,4BAA4B;AAEjC,eAAO;AAAA,MACX;AAAA;AAAA,MAGA,YAAY,KAAK,MAAM;AAAA;AAAA,MAGvB,OAAO,SAAqB;AACxB,YAAI,KAAK,4BAA4B,QAAW;AAC5C,gBAAM,IAAI,cAAc,4CAA4C;AAAA,QACxE;AACA,aAAK,wBAAwB,MAAM,IAAI;AAAA,MAC3C;AAAA,IACJ;AACA,SAAK,yBAAyB;AAAA,EAClC;AAAA,EAEA,mBAAmB;AACf,QAAI,KAAK,8BAA8B,QAAW;AAC9C,WAAK,0BAA0B;AAC/B,WAAK,4BAA4B;AAAA,IACrC,OAAO;AACH,aAAO,KAAK,oEAAoE;AAAA,IACpF;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,oBAAoB,QAAgB;AAChC,QAAI,SAAS,KAAK,0BAA0B,QAAQ;AAChD,YAAM,IAAI,SAAS,UAAU,MAAM,wBAAwB,KAAK,0BAA0B,MAAM,EAAE;AAAA,IACtG,OAAO;AACH,aAAO,KAAK,0BAA0B,SAAS,MAAM;AAAA,IACzD;AAAA,EACJ;AAAA,EAEA,MAAM,UAAU,eAA2B,6BAA0C,aAAa,KAAK;AACnG,YAAQ,IAAI,4BAA4B,IAAI,WAAW,SAAS;AAEhE,SAAK,kBAAkB,OAAO,KAAK,cAAc,MAAM;AAEvD,QAAI,6BAA6B;AAC7B,WAAK,4BAA4B,OAAO,KAAK,4BAA4B,MAAM;AAAA,IACnF,OAAO;AACH,WAAK,4BAA4B,OAAO,MAAM,CAAC;AAAA,IACnD;AAEA,QAAI,KAAK,eAAe;AACpB,YAAM,KAAK,gBAAgB;AAC3B,WAAK,gBAAgB;AAAA,IACzB;AAEA,QAAI,KAAK,UAAU,aAAa;AAC5B,YAAM,4BAA4B,KAAK,eAAe;AACtD,WAAK,gBAAgB;AAAA,IACzB,OAAO;AACH,aAAO,MAAM,YAAY,KAAK,KAAK,6BAA6B;AAAA,IACpE;AACA,WAAO,IAAI,QAAc,aAAW;AAChC,YAAM,KAAK,oBAAoB,MAAM,QAAQ,CAAC;AAAA,IAClD,CAAC;AAAA,EACL;AAAA,EAEA,MAAM,kBAAkB;AACpB,QAAI,KAAK,eAAe;AACpB,aAAO,IAAI,QAAc,aAAW;AAChC,cAAM,gBAAgB;AACtB,cAAM,KAAK,mBAAmB,MAAM;AAChC,eAAK,gBAAgB;AACrB,kBAAQ;AAAA,QACZ,CAAC;AAAA,MACL,CAAC;AAAA,IACL;AAAA,EACJ;AAAA,EAEA,yBAAyB,UAAmE;AACxF,QAAI,KAAK,4BAA4B,QAAW;AAC5C,YAAM,IAAI,cAAc,6BAA6B;AAAA,IACzD;AACA,SAAK,0BAA0B;AAAA,EACnC;AAAA,EAEA,MAAM,+BAA+B;AACjC,UAAM,KAAK,WAAW;AACtB,WAAO,MAAM,uEAAuE;AAAA,EACxF;AAAA,EAEA,MAAM,QAAQ;AACV,QAAI,KAAK,UAAU;AACf;AAAA,IACJ;AACA,SAAK,WAAW;AAChB,SAAK,oBAAoB,KAAK;AAC9B,UAAM,KAAK,WAAW;AACtB,QAAI,KAAK,eAAe,QAAW;AAC/B,YAAM,KAAK,WAAW,MAAM;AAC5B,WAAK,aAAa;AAAA,IACtB;AACA,SAAK,0BAA0B;AAAA,EACnC;AAAA,EAEA,MAAM,aAAa;AACf,SAAK,gBAAgB;AACrB,QAAI,KAAK,eAAe;AACpB;AAAA,IACJ;AACA,SAAK,gBAAgB;AACrB,WAAO,MAAM,qBAAqB;AAClC,UAAM,WAAW;AACjB,WAAO,MAAM,gBAAgB;AAC7B,UAAM,KAAK;AAAA,EASf;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,MAAM,KAAK,MAAkB;AACzB,QAAI,KAAK,eAAe,QAAW;AAC/B,YAAM,IAAI,yBAAyB,8CAA8C;AAAA,IACrF;AACA,UAAM,KAAK,WAAW,kBAAkB,IAAI;AAAA,EAChD;AAAA;AAAA,EAGA,IAAI,OAAO;AACP,WAAO,GAAG,KAAK,IAAI,MAAM,KAAK,aAAa;AAAA,EAC/C;AACJ;",
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 BlePeripheralInterface implements TransportInterface {
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=BlePeripheralInterface.d.ts.map
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 BlePeripheralInterface {
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
- BlePeripheralInterface
38
+ BlenoPeripheralInterface
33
39
  };
34
- //# sourceMappingURL=BlePeripheralInterface.js.map
40
+ //# sourceMappingURL=BlenoPeripheralInterface.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/BlePeripheralInterface.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAkB,mBAAuC;AAGlD,MAAM,uBAAqD;AAAA,EAC9D,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;AACJ;",
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
  }
@@ -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, TransportInterface } from "#general";
7
- import { Ble, InstanceBroadcaster, Scanner } from "#protocol";
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
- getBlePeripheralInterface(): TransportInterface;
16
- getBleCentralInterface(): NetInterface;
17
- getBleBroadcaster(additionalAdvertisementData?: Uint8Array): InstanceBroadcaster;
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,kBAAkB,EAAE,MAAM,UAAU,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQ9D,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"}
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"}
@@ -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
- getBlePeripheralInterface() {
35
+ get peripheralInterface() {
38
36
  if (this.#blePeripheralInterface === void 0) {
39
- this.#blePeripheralInterface = new BlePeripheralInterface(this.#blePeripheralServer);
37
+ this.#blePeripheralInterface = new BlenoPeripheralInterface(this.#blePeripheralServer);
40
38
  }
41
39
  return this.#blePeripheralInterface;
42
40
  }
43
- getBleCentralInterface() {
41
+ get centralInterface() {
44
42
  if (this.#bleCentralInterface === void 0) {
45
- this.#bleCentralInterface = new NobleBleCentralInterface(this.getBleScanner());
43
+ this.#bleCentralInterface = new NobleBleCentralInterface(this.scanner);
46
44
  }
47
45
  return this.#bleCentralInterface;
48
46
  }
49
- getBleBroadcaster(additionalAdvertisementData) {
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,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;",
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
  }
@@ -3,7 +3,6 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export * from "./BleBroadcaster.js";
7
6
  export * from "./BleScanner.js";
8
7
  export * from "./NodeJsBle.js";
9
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,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
@@ -3,7 +3,6 @@
3
3
  * Copyright 2022-2025 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export * from "./BleBroadcaster.js";
7
6
  export * from "./BleScanner.js";
8
7
  export * from "./NodeJsBle.js";
9
8
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,cAAc;AACd,cAAc;",
5
5
  "names": []
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/nodejs-ble",
3
- "version": "0.16.0-alpha.0-20250809-ee8375bcb",
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-20250809-ee8375bcb",
32
- "@matter/protocol": "0.16.0-alpha.0-20250809-ee8375bcb",
33
- "@matter/types": "0.16.0-alpha.0-20250809-ee8375bcb"
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-20250809-ee8375bcb"
36
+ "@matter/tools": "0.16.0-alpha.0-20250810-5c91a95d2"
37
37
  },
38
38
  "optionalDependencies": {
39
39
  "@stoprocent/bleno": "^0.11.4",
@@ -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 BlePeripheralInterface implements TransportInterface {
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, TransportInterface } from "#general";
8
- import { Ble, InstanceBroadcaster, Scanner } from "#protocol";
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?: 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
- getBlePeripheralInterface(): TransportInterface {
47
+ get peripheralInterface(): BlenoPeripheralInterface {
50
48
  if (this.#blePeripheralInterface === undefined) {
51
- this.#blePeripheralInterface = new BlePeripheralInterface(this.#blePeripheralServer);
49
+ this.#blePeripheralInterface = new BlenoPeripheralInterface(this.#blePeripheralServer);
52
50
  }
53
51
  return this.#blePeripheralInterface;
54
52
  }
55
53
 
56
- getBleCentralInterface(): NetInterface {
54
+ get centralInterface(): NetInterface {
57
55
  if (this.#bleCentralInterface === undefined) {
58
- this.#bleCentralInterface = new NobleBleCentralInterface(this.getBleScanner() as BleScanner);
56
+ this.#bleCentralInterface = new NobleBleCentralInterface(this.scanner as BleScanner);
59
57
  }
60
58
  return this.#bleCentralInterface;
61
59
  }
62
60
 
63
- getBleBroadcaster(additionalAdvertisementData?: Uint8Array): InstanceBroadcaster {
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
@@ -4,6 +4,5 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
 
7
- export * from "./BleBroadcaster.js";
8
7
  export * from "./BleScanner.js";
9
8
  export * from "./NodeJsBle.js";
@@ -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"}
@@ -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
- }