zigbee-herdsman 2.1.2 → 3.0.0-pre.0
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/.github/workflows/ci.yml +11 -8
- package/.github/workflows/typedoc.yaml +2 -2
- package/.github/workflows/update_deps.yml +5 -4
- package/.prettierignore +1 -1
- package/.release-please-manifest.json +1 -1
- package/CHANGELOG.md +7 -0
- package/dist/adapter/adapter.d.ts.map +1 -1
- package/dist/adapter/adapter.js +9 -94
- package/dist/adapter/adapter.js.map +1 -1
- package/dist/adapter/adapterDiscovery.d.ts +23 -0
- package/dist/adapter/adapterDiscovery.d.ts.map +1 -0
- package/dist/adapter/adapterDiscovery.js +468 -0
- package/dist/adapter/adapterDiscovery.js.map +1 -0
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts +0 -2
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +7 -12
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/deconz/driver/driver.d.ts +0 -2
- package/dist/adapter/deconz/driver/driver.d.ts.map +1 -1
- package/dist/adapter/deconz/driver/driver.js +0 -11
- package/dist/adapter/deconz/driver/driver.js.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts +0 -2
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +19 -32
- package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.d.ts +35 -1
- package/dist/adapter/ember/ezsp/ezsp.d.ts.map +1 -1
- package/dist/adapter/ember/ezsp/ezsp.js +49 -1
- package/dist/adapter/ember/ezsp/ezsp.js.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts +0 -2
- package/dist/adapter/ezsp/adapter/ezspAdapter.d.ts.map +1 -1
- package/dist/adapter/ezsp/adapter/ezspAdapter.js +0 -24
- package/dist/adapter/ezsp/adapter/ezspAdapter.js.map +1 -1
- package/dist/adapter/serialPort.d.ts +1 -1
- package/dist/adapter/serialPort.d.ts.map +1 -1
- package/dist/adapter/tstype.d.ts +21 -14
- package/dist/adapter/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts +0 -2
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +0 -6
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/znp/znp.d.ts +0 -2
- package/dist/adapter/z-stack/znp/znp.d.ts.map +1 -1
- package/dist/adapter/z-stack/znp/znp.js +0 -28
- package/dist/adapter/z-stack/znp/znp.js.map +1 -1
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts +0 -2
- package/dist/adapter/zboss/adapter/zbossAdapter.d.ts.map +1 -1
- package/dist/adapter/zboss/adapter/zbossAdapter.js +0 -24
- package/dist/adapter/zboss/adapter/zbossAdapter.js.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts +0 -2
- package/dist/adapter/zigate/adapter/zigateAdapter.d.ts.map +1 -1
- package/dist/adapter/zigate/adapter/zigateAdapter.js +0 -6
- package/dist/adapter/zigate/adapter/zigateAdapter.js.map +1 -1
- package/dist/adapter/zigate/driver/zigate.d.ts +0 -2
- package/dist/adapter/zigate/driver/zigate.d.ts.map +1 -1
- package/dist/adapter/zigate/driver/zigate.js +0 -12
- package/dist/adapter/zigate/driver/zigate.js.map +1 -1
- package/dist/controller/controller.d.ts +5 -5
- package/dist/controller/controller.d.ts.map +1 -1
- package/dist/controller/controller.js +29 -40
- package/dist/controller/controller.js.map +1 -1
- package/dist/controller/events.d.ts +0 -1
- package/dist/controller/events.d.ts.map +1 -1
- package/dist/utils/index.d.ts +1 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -3
- package/dist/utils/index.js.map +1 -1
- package/package.json +104 -105
- package/dist/adapter/serialPortUtils.d.ts +0 -13
- package/dist/adapter/serialPortUtils.d.ts.map +0 -1
- package/dist/adapter/serialPortUtils.js +0 -19
- package/dist/adapter/serialPortUtils.js.map +0 -1
- package/dist/utils/equalsPartial.d.ts +0 -3
- package/dist/utils/equalsPartial.d.ts.map +0 -1
- package/dist/utils/equalsPartial.js +0 -12
- package/dist/utils/equalsPartial.js.map +0 -1
package/.github/workflows/ci.yml
CHANGED
|
@@ -11,28 +11,31 @@ jobs:
|
|
|
11
11
|
runs-on: ubuntu-latest
|
|
12
12
|
steps:
|
|
13
13
|
- uses: actions/checkout@v4
|
|
14
|
+
- uses: pnpm/action-setup@v4
|
|
15
|
+
with:
|
|
16
|
+
version: 9
|
|
14
17
|
- uses: actions/setup-node@v4
|
|
15
18
|
with:
|
|
16
19
|
node-version: 20
|
|
17
20
|
registry-url: https://registry.npmjs.org/
|
|
18
|
-
cache:
|
|
21
|
+
cache: pnpm
|
|
19
22
|
- name: Install dependencies
|
|
20
|
-
run:
|
|
23
|
+
run: pnpm i --frozen-lockfile
|
|
21
24
|
- name: Lint
|
|
22
25
|
run: |
|
|
23
|
-
|
|
24
|
-
|
|
26
|
+
pnpm run pretty:check
|
|
27
|
+
pnpm run eslint
|
|
25
28
|
- name: Build
|
|
26
|
-
run:
|
|
29
|
+
run: pnpm run build
|
|
27
30
|
- name: Test
|
|
28
|
-
run:
|
|
31
|
+
run: pnpm run test-with-coverage -- --testTimeout=10000
|
|
29
32
|
- name: Publish new release
|
|
30
33
|
if: startsWith(github.ref, 'refs/tags/') && github.event_name == 'push'
|
|
31
34
|
run: |
|
|
32
|
-
|
|
35
|
+
pnpm publish --no-git-checks
|
|
33
36
|
PACKAGE=$(node -p "require('./package.json').name")
|
|
34
37
|
VERSION=$(node -p "require('./package.json').version")
|
|
35
|
-
until [ $(
|
|
38
|
+
until [ $(pnpm view $PACKAGE --json | jq --arg version "$VERSION" -r '.versions[] | select (. == $version)') ];
|
|
36
39
|
do
|
|
37
40
|
echo "Waiting for publish to complete"
|
|
38
41
|
sleep 5s
|
|
@@ -16,13 +16,14 @@ jobs:
|
|
|
16
16
|
- uses: actions/checkout@v4
|
|
17
17
|
with:
|
|
18
18
|
token: ${{ secrets.GH_TOKEN }}
|
|
19
|
+
- uses: pnpm/action-setup@v4
|
|
20
|
+
with:
|
|
21
|
+
version: 9
|
|
19
22
|
- uses: actions/setup-node@v4
|
|
20
23
|
with:
|
|
21
24
|
node-version: 20
|
|
22
|
-
cache:
|
|
23
|
-
- run:
|
|
24
|
-
- run: rm -f package-lock.json
|
|
25
|
-
- run: npm install
|
|
25
|
+
cache: pnpm
|
|
26
|
+
- run: pnpm up --latest
|
|
26
27
|
- uses: peter-evans/create-pull-request@v7
|
|
27
28
|
with:
|
|
28
29
|
commit-message: 'fix(ignore): update dependencies'
|
package/.prettierignore
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
pnpm-lock.yaml
|
|
2
2
|
CHANGELOG.md
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [2.1.3](https://github.com/Koenkk/zigbee-herdsman/compare/v2.1.2...v2.1.3) (2024-09-30)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Fix unable to join some devices with Conbee III ([#1207](https://github.com/Koenkk/zigbee-herdsman/issues/1207)) ([3e7bfaa](https://github.com/Koenkk/zigbee-herdsman/commit/3e7bfaa11693f1dc9e7608777e852cfbdb6ffd2b))
|
|
9
|
+
|
|
3
10
|
## [2.1.2](https://github.com/Koenkk/zigbee-herdsman/compare/v2.1.1...v2.1.2) (2024-09-29)
|
|
4
11
|
|
|
5
12
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/adapter/adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/adapter/adapter.js
CHANGED
|
@@ -27,10 +27,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
29
|
const events_1 = __importDefault(require("events"));
|
|
30
|
-
const bonjour_service_1 = __importDefault(require("bonjour-service"));
|
|
31
|
-
const logger_1 = require("../utils/logger");
|
|
32
30
|
const Zcl = __importStar(require("../zspec/zcl"));
|
|
33
|
-
const
|
|
31
|
+
const adapterDiscovery_1 = require("./adapterDiscovery");
|
|
34
32
|
class Adapter extends events_1.default.EventEmitter {
|
|
35
33
|
hasZdoMessageOverhead;
|
|
36
34
|
manufacturerID;
|
|
@@ -57,7 +55,6 @@ class Adapter extends events_1.default.EventEmitter {
|
|
|
57
55
|
const { EZSPAdapter } = await Promise.resolve().then(() => __importStar(require('./ezsp/adapter')));
|
|
58
56
|
const { EmberAdapter } = await Promise.resolve().then(() => __importStar(require('./ember/adapter')));
|
|
59
57
|
const { ZBOSSAdapter } = await Promise.resolve().then(() => __importStar(require('./zboss/adapter')));
|
|
60
|
-
let adapters;
|
|
61
58
|
const adapterLookup = {
|
|
62
59
|
zstack: ZStackAdapter,
|
|
63
60
|
deconz: DeconzAdapter,
|
|
@@ -66,100 +63,18 @@ class Adapter extends events_1.default.EventEmitter {
|
|
|
66
63
|
ember: EmberAdapter,
|
|
67
64
|
zboss: ZBOSSAdapter,
|
|
68
65
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
const [adapter, path, baudRate] = await (0, adapterDiscovery_1.discoverAdapter)(serialPortOptions.adapter, serialPortOptions.path);
|
|
67
|
+
if (adapterLookup[adapter]) {
|
|
68
|
+
serialPortOptions.adapter = adapter;
|
|
69
|
+
serialPortOptions.path = path;
|
|
70
|
+
if (baudRate !== undefined) {
|
|
71
|
+
serialPortOptions.baudRate = baudRate;
|
|
72
72
|
}
|
|
73
|
-
|
|
74
|
-
throw new Error(`Adapter '${serialPortOptions.adapter}' does not exists, possible options: ${Object.keys(adapterLookup).join(', ')}`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
else {
|
|
78
|
-
adapters = Object.values(adapterLookup);
|
|
79
|
-
}
|
|
80
|
-
// Use ZStackAdapter by default
|
|
81
|
-
let adapter = adapters[0];
|
|
82
|
-
if (!serialPortOptions.path) {
|
|
83
|
-
logger_1.logger.debug('No path provided, auto detecting path', NS);
|
|
84
|
-
for (const candidate of adapters) {
|
|
85
|
-
const path = await candidate.autoDetectPath();
|
|
86
|
-
if (path) {
|
|
87
|
-
logger_1.logger.debug(`Auto detected path '${path}' from adapter '${candidate.name}'`, NS);
|
|
88
|
-
serialPortOptions.path = path;
|
|
89
|
-
adapter = candidate;
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
if (!serialPortOptions.path) {
|
|
94
|
-
throw new Error('No path provided and failed to auto detect path');
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
else if (serialPortOptions.path.startsWith('mdns://')) {
|
|
98
|
-
const mdnsDevice = serialPortOptions.path.substring(7);
|
|
99
|
-
if (mdnsDevice.length == 0) {
|
|
100
|
-
throw new Error(`No mdns device specified. You must specify the coordinator mdns service type after mdns://, e.g. mdns://my-adapter`);
|
|
101
|
-
}
|
|
102
|
-
const bj = new bonjour_service_1.default();
|
|
103
|
-
const mdnsTimeout = 2000; // timeout for mdns scan
|
|
104
|
-
logger_1.logger.info(`Starting mdns discovery for coordinator: ${mdnsDevice}`, NS);
|
|
105
|
-
await new Promise((resolve, reject) => {
|
|
106
|
-
bj.findOne({ type: mdnsDevice }, mdnsTimeout, function (service) {
|
|
107
|
-
if (service) {
|
|
108
|
-
if (service.txt?.radio_type && service.txt?.baud_rate && service.addresses && service.port) {
|
|
109
|
-
const mdnsIp = service.addresses[0];
|
|
110
|
-
const mdnsPort = service.port;
|
|
111
|
-
const mdnsAdapter = (service.txt.radio_type == 'znp' ? 'zstack' : service.txt.radio_type);
|
|
112
|
-
const mdnsBaud = parseInt(service.txt.baud_rate);
|
|
113
|
-
logger_1.logger.info(`Coordinator Ip: ${mdnsIp}`, NS);
|
|
114
|
-
logger_1.logger.info(`Coordinator Port: ${mdnsPort}`, NS);
|
|
115
|
-
logger_1.logger.info(`Coordinator Radio: ${mdnsAdapter}`, NS);
|
|
116
|
-
logger_1.logger.info(`Coordinator Baud: ${mdnsBaud}\n`, NS);
|
|
117
|
-
bj.destroy();
|
|
118
|
-
serialPortOptions.path = `tcp://${mdnsIp}:${mdnsPort}`;
|
|
119
|
-
serialPortOptions.adapter = mdnsAdapter;
|
|
120
|
-
serialPortOptions.baudRate = mdnsBaud;
|
|
121
|
-
if (serialPortOptions.adapter &&
|
|
122
|
-
serialPortOptions.adapter !== 'auto' &&
|
|
123
|
-
adapterLookup[serialPortOptions.adapter] !== undefined) {
|
|
124
|
-
adapter = adapterLookup[serialPortOptions.adapter];
|
|
125
|
-
resolve(new adapter(networkOptions, serialPortOptions, backupPath, adapterOptions));
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
reject(new Error(`Adapter ${serialPortOptions.adapter} is not supported.`));
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
else {
|
|
132
|
-
bj.destroy();
|
|
133
|
-
reject(new Error(`Coordinator returned wrong Zeroconf format! The following values are expected:\n` +
|
|
134
|
-
`txt.radio_type, got: ${service.txt?.radio_type}\n` +
|
|
135
|
-
`txt.baud_rate, got: ${service.txt?.baud_rate}\n` +
|
|
136
|
-
`address, got: ${service.addresses?.[0]}\n` +
|
|
137
|
-
`port, got: ${service.port}`));
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
bj.destroy();
|
|
142
|
-
reject(new Error(`Coordinator [${mdnsDevice}] not found after timeout of ${mdnsTimeout}ms!`));
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
});
|
|
73
|
+
return new adapterLookup[adapter](networkOptions, serialPortOptions, backupPath, adapterOptions);
|
|
146
74
|
}
|
|
147
75
|
else {
|
|
148
|
-
|
|
149
|
-
// Determine adapter to use
|
|
150
|
-
for (const candidate of adapters) {
|
|
151
|
-
if (await candidate.isValidPath(serialPortOptions.path)) {
|
|
152
|
-
logger_1.logger.debug(`Path '${serialPortOptions.path}' is valid for '${candidate.name}'`, NS);
|
|
153
|
-
adapter = candidate;
|
|
154
|
-
break;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
catch (error) {
|
|
159
|
-
logger_1.logger.debug(`Failed to validate path: '${error}'`, NS);
|
|
160
|
-
}
|
|
76
|
+
throw new Error(`Adapter '${adapter}' does not exists, possible options: ${Object.keys(adapterLookup).join(', ')}`);
|
|
161
77
|
}
|
|
162
|
-
return new adapter(networkOptions, serialPortOptions, backupPath, adapterOptions);
|
|
163
78
|
}
|
|
164
79
|
}
|
|
165
80
|
exports.default = Adapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter/adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/adapter/adapter.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA4B;AAI5B,kDAAoC;AAGpC,yDAAmD;AAYnD,MAAe,OAAQ,SAAQ,gBAAM,CAAC,YAA6B;IACxD,qBAAqB,CAAU;IAC/B,cAAc,CAAuB;IAClC,cAAc,CAAwB;IACtC,cAAc,CAAwB;IACtC,iBAAiB,CAA2B;IAC5C,UAAU,CAAS;IAE7B,YACI,cAAqC,EACrC,iBAA2C,EAC3C,UAAkB,EAClB,cAAqC;QAErC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED;;OAEG;IAEI,MAAM,CAAC,KAAK,CAAC,MAAM,CACtB,cAAqC,EACrC,iBAA2C,EAC3C,UAAkB,EAClB,cAAqC;QAErC,MAAM,EAAC,aAAa,EAAC,GAAG,wDAAa,mBAAmB,GAAC,CAAC;QAC1D,MAAM,EAAC,aAAa,EAAC,GAAG,wDAAa,kBAAkB,GAAC,CAAC;QACzD,MAAM,EAAC,aAAa,EAAC,GAAG,wDAAa,kBAAkB,GAAC,CAAC;QACzD,MAAM,EAAC,WAAW,EAAC,GAAG,wDAAa,gBAAgB,GAAC,CAAC;QACrD,MAAM,EAAC,YAAY,EAAC,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACvD,MAAM,EAAC,YAAY,EAAC,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QACvD,MAAM,aAAa,GAAG;YAClB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,aAAa;YACrB,MAAM,EAAE,aAAa;YACrB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,YAAY;SACtB,CAAC;QAEF,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,kCAAe,EAAC,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAE3G,IAAI,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC;YACzB,iBAAiB,CAAC,OAAO,GAAG,OAAO,CAAC;YACpC,iBAAiB,CAAC,IAAI,GAAG,IAAI,CAAC;YAE9B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzB,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC1C,CAAC;YAED,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC;QACrG,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,wCAAwC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxH,CAAC;IACL,CAAC;CA2FJ;AAED,kBAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { PortInfo } from '@serialport/bindings-cpp';
|
|
2
|
+
import { Adapter, DiscoverableUSBAdapter } from './tstype';
|
|
3
|
+
export declare function matchUSBAdapter(adapter: Adapter, path: string): Promise<boolean>;
|
|
4
|
+
export declare function findUSBAdapter(adapter?: Adapter, path?: string): Promise<[adapter: DiscoverableUSBAdapter, path: PortInfo['path']] | undefined>;
|
|
5
|
+
export declare function findmDNSAdapter(path: string): Promise<[adapter: Adapter, path: string, baudRate: number]>;
|
|
6
|
+
export declare function findTCPAdapter(path: string, adapter?: Adapter): Promise<[adapter: Adapter, path: string]>;
|
|
7
|
+
/**
|
|
8
|
+
* Discover adapter using mDNS, TCP or USB.
|
|
9
|
+
*
|
|
10
|
+
* @param adapter The adapter type.
|
|
11
|
+
* - mDNS: Unused.
|
|
12
|
+
* - TCP: Required, cannot discover at this time.
|
|
13
|
+
* - USB: Optional, limits the discovery to the specified adapter type.
|
|
14
|
+
* @param path The path to the adapter.
|
|
15
|
+
* - mDNS: Required, serves to initiate the discovery.
|
|
16
|
+
* - TCP: Required, cannot discover at this time.
|
|
17
|
+
* - USB: Optional, limits the discovery to the specified path.
|
|
18
|
+
* @returns adapter An adapter type supported by Z2M. While result is TS-typed, this should be validated against actual values before use.
|
|
19
|
+
* @returns path Path to adapter.
|
|
20
|
+
* @returns baudRate [optional] Discovered baud rate of the adapter. Valid only for mDNS discovery at the moment.
|
|
21
|
+
*/
|
|
22
|
+
export declare function discoverAdapter(adapter?: Adapter, path?: string): Promise<[adapter: Adapter, path: string, baudRate?: number | undefined]>;
|
|
23
|
+
//# sourceMappingURL=adapterDiscovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapterDiscovery.d.ts","sourceRoot":"","sources":["../../src/adapter/adapterDiscovery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAC;AAKlD,OAAO,EAAC,OAAO,EAAE,sBAAsB,EAAwB,MAAM,UAAU,CAAC;AAkVhF,wBAAsB,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBtF;AAED,wBAAsB,cAAc,CAChC,OAAO,CAAC,EAAE,OAAO,EACjB,IAAI,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,CAAC,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,CA0ChF;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAkD/G;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAY/G;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAmChJ"}
|