zigbee-herdsman 0.55.3 → 0.55.5
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/.babelrc.js +2 -5
- package/.github/ISSUE_TEMPLATE/config.yml +3 -3
- package/.github/dependabot.yml +4 -4
- package/.github/workflows/ci.yml +35 -35
- package/.github/workflows/release_please.yml +11 -11
- package/.github/workflows/stale.yml +15 -15
- package/.github/workflows/update_deps.yml +24 -24
- package/.prettierignore +2 -0
- package/.prettierrc +1 -1
- package/.release-please-manifest.json +2 -2
- package/CHANGELOG.md +18 -0
- package/README.md +20 -14
- package/dist/adapter/deconz/adapter/deconzAdapter.d.ts.map +1 -1
- package/dist/adapter/deconz/adapter/deconzAdapter.js +120 -121
- package/dist/adapter/deconz/adapter/deconzAdapter.js.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.d.ts.map +1 -1
- package/dist/adapter/ember/adapter/emberAdapter.js +7 -4
- package/dist/adapter/ember/adapter/emberAdapter.js.map +1 -1
- package/dist/adapter/ember/consts.d.ts +0 -27
- package/dist/adapter/ember/consts.d.ts.map +1 -1
- package/dist/adapter/ember/consts.js +1 -28
- package/dist/adapter/ember/consts.js.map +1 -1
- package/dist/adapter/ember/utils/initters.js +1 -1
- package/dist/adapter/ember/utils/initters.js.map +1 -1
- package/dist/adapter/ezsp/adapter/backup.js +2 -2
- package/dist/adapter/ezsp/adapter/backup.js.map +1 -1
- package/dist/adapter/ezsp/driver/driver.js +2 -2
- package/dist/adapter/ezsp/driver/driver.js.map +1 -1
- package/dist/adapter/ezsp/driver/ezsp.js +1 -1
- package/dist/adapter/ezsp/driver/ezsp.js.map +1 -1
- package/dist/adapter/ezsp/driver/multicast.js +2 -2
- package/dist/adapter/ezsp/driver/multicast.js.map +1 -1
- package/dist/adapter/ezsp/driver/types/index.js +1 -1
- package/dist/adapter/ezsp/driver/types/index.js.map +1 -1
- package/dist/adapter/ezsp/driver/uart.js +1 -1
- package/dist/adapter/ezsp/driver/uart.js.map +1 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.js +1 -1
- package/dist/adapter/ezsp/driver/utils/crc16ccitt.js.map +1 -1
- package/dist/adapter/ezsp/driver/utils/index.js +2 -2
- package/dist/adapter/ezsp/driver/utils/index.js.map +1 -1
- package/dist/adapter/serialPort.d.ts.map +1 -1
- package/dist/adapter/serialPort.js +0 -1
- package/dist/adapter/serialPort.js.map +1 -1
- package/dist/adapter/tstype.d.ts +1 -0
- package/dist/adapter/tstype.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/adapter-backup.js +2 -2
- package/dist/adapter/z-stack/adapter/adapter-backup.js.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/manager.js +1 -1
- package/dist/adapter/z-stack/adapter/manager.js.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.d.ts.map +1 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js +4 -1
- package/dist/adapter/z-stack/adapter/zStackAdapter.js.map +1 -1
- package/dist/adapter/z-stack/znp/znp.js +2 -2
- package/dist/adapter/z-stack/znp/znp.js.map +1 -1
- package/dist/controller/database.d.ts.map +1 -1
- package/dist/controller/database.js +12 -2
- package/dist/controller/database.js.map +1 -1
- package/dist/controller/helpers/requestQueue.js +1 -1
- package/dist/controller/helpers/requestQueue.js.map +1 -1
- package/dist/controller/helpers/zclFrameConverter.js +2 -2
- package/dist/controller/helpers/zclFrameConverter.js.map +1 -1
- package/dist/controller/model/device.js +4 -4
- package/dist/controller/model/device.js.map +1 -1
- package/dist/controller/model/endpoint.js +1 -1
- package/dist/controller/model/endpoint.js.map +1 -1
- package/dist/zspec/zcl/buffaloZcl.js +1 -1
- package/dist/zspec/zcl/buffaloZcl.js.map +1 -1
- package/examples/join-and-log.js +17 -17
- package/package.json +102 -102
- package/release-please-config.json +8 -8
- package/tsconfig.json +2 -7
- package/typedoc-tsconfig.json +2 -5
package/.babelrc.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
blank_issues_enabled: true
|
|
2
2
|
contact_links:
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
- name: Zigbee2MQTT issue tracker
|
|
4
|
+
url: https://github.com/Koenkk/zigbee2mqtt/issues/new/choose
|
|
5
|
+
about: Preferably create an issue in the Zigbee2MQTT issue tracker. Only click on "Open a blank issue" below if you are conviced it really belongs in this issue tracker.
|
package/.github/dependabot.yml
CHANGED
package/.github/workflows/ci.yml
CHANGED
|
@@ -3,40 +3,40 @@ name: ci
|
|
|
3
3
|
on: [pull_request, push]
|
|
4
4
|
|
|
5
5
|
permissions:
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
contents: write
|
|
7
|
+
pull-requests: write
|
|
8
8
|
|
|
9
9
|
jobs:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
10
|
+
ci:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: actions/setup-node@v4
|
|
15
|
+
with:
|
|
16
|
+
node-version: 20
|
|
17
|
+
registry-url: https://registry.npmjs.org/
|
|
18
|
+
cache: npm
|
|
19
|
+
- name: Install dependencies
|
|
20
|
+
run: npm ci
|
|
21
|
+
- name: Lint
|
|
22
|
+
run: |
|
|
23
|
+
npm run pretty:check
|
|
24
|
+
npm run eslint
|
|
25
|
+
- name: Build
|
|
26
|
+
run: npm run build
|
|
27
|
+
- name: Test
|
|
28
|
+
run: npm run test-with-coverage -- --testTimeout=10000
|
|
29
|
+
- name: Publish new release
|
|
30
|
+
if: startsWith(github.ref, 'refs/tags/') && github.event_name == 'push'
|
|
31
|
+
run: |
|
|
32
|
+
npm publish
|
|
33
|
+
PACKAGE=$(node -p "require('./package.json').name")
|
|
34
|
+
VERSION=$(node -p "require('./package.json').version")
|
|
35
|
+
until [ $(npm view $PACKAGE --json | jq --arg version "$VERSION" -r '.versions[] | select (. == $version)') ];
|
|
36
|
+
do
|
|
37
|
+
echo "Waiting for publish to complete"
|
|
38
|
+
sleep 5s
|
|
39
|
+
done
|
|
40
|
+
curl -XPOST -H "Authorization: token ${{ secrets.GH_TOKEN }}" -H "Accept: application/vnd.github.everest-preview+json" -H "Content-Type: application/json" https://api.github.com/repos/koenkk/zigbee2mqtt/dispatches --data "{\"event_type\": \"update_dep\", \"client_payload\": { \"version\": \"$VERSION\", \"package\": \"$PACKAGE\"}}"
|
|
41
|
+
env:
|
|
42
|
+
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN }}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
name: release-please
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- master
|
|
7
7
|
|
|
8
8
|
permissions:
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
contents: write
|
|
10
|
+
pull-requests: write
|
|
11
11
|
|
|
12
12
|
jobs:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
13
|
+
release-please:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: google-github-actions/release-please-action@v4
|
|
17
|
+
with:
|
|
18
|
+
token: ${{ secrets.GH_TOKEN }}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
name: stale
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
schedule:
|
|
5
|
+
- cron: '0 0 * * *'
|
|
6
|
+
workflow_dispatch:
|
|
7
7
|
|
|
8
8
|
jobs:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
9
|
+
stale:
|
|
10
|
+
runs-on: ubuntu-latest
|
|
11
|
+
steps:
|
|
12
|
+
- uses: actions/stale@v9
|
|
13
|
+
with:
|
|
14
|
+
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
|
15
|
+
stale-issue-message: 'This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 30 days'
|
|
16
|
+
stale-pr-message: 'This pull request is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 30 days'
|
|
17
|
+
days-before-stale: 180
|
|
18
|
+
days-before-close: 30
|
|
19
|
+
exempt-issue-labels: dont-stale
|
|
20
|
+
operations-per-run: 500
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
name: update-deps
|
|
2
2
|
|
|
3
3
|
on:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
schedule:
|
|
6
|
+
- cron: '0 0 * * 0'
|
|
7
7
|
|
|
8
8
|
permissions:
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
contents: write
|
|
10
|
+
pull-requests: write
|
|
11
11
|
|
|
12
12
|
jobs:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
13
|
+
update_deps:
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v4
|
|
17
|
+
with:
|
|
18
|
+
token: ${{ secrets.GH_TOKEN }}
|
|
19
|
+
- uses: actions/setup-node@v4
|
|
20
|
+
with:
|
|
21
|
+
node-version: 20
|
|
22
|
+
cache: npm
|
|
23
|
+
- run: npx npm-check-updates -u -x eslint
|
|
24
|
+
- run: rm -f package-lock.json
|
|
25
|
+
- run: npm install
|
|
26
|
+
- uses: peter-evans/create-pull-request@v6
|
|
27
|
+
with:
|
|
28
|
+
commit-message: 'fix(ignore): update dependencies'
|
|
29
|
+
branch: 'deps/all'
|
|
30
|
+
title: Update dependencies
|
|
31
|
+
token: ${{ secrets.GH_TOKEN }}
|
package/.prettierignore
ADDED
package/.prettierrc
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
}
|
|
2
|
+
".": "0.55.5"
|
|
3
|
+
}
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.55.5](https://github.com/Koenkk/zigbee-herdsman/compare/v0.55.4...v0.55.5) (2024-08-06)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Allow to set adapter transmit power on startup ([#1139](https://github.com/Koenkk/zigbee-herdsman/issues/1139)) ([036a2d5](https://github.com/Koenkk/zigbee-herdsman/commit/036a2d5d6b15345de448fafadec371dcf5d3c535))
|
|
9
|
+
* **ignore:** update dependencies ([#1140](https://github.com/Koenkk/zigbee-herdsman/issues/1140)) ([515e855](https://github.com/Koenkk/zigbee-herdsman/commit/515e855148d7f8cae0084a91775cbd838f1bf864))
|
|
10
|
+
* **ignore:** update dependencies ([#1142](https://github.com/Koenkk/zigbee-herdsman/issues/1142)) ([738c43e](https://github.com/Koenkk/zigbee-herdsman/commit/738c43e6d509f45f21d3adb8cede69218a9cbbb5))
|
|
11
|
+
|
|
12
|
+
## [0.55.4](https://github.com/Koenkk/zigbee-herdsman/compare/v0.55.3...v0.55.4) (2024-08-03)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Bug Fixes
|
|
16
|
+
|
|
17
|
+
* call fsync before rename ([#1134](https://github.com/Koenkk/zigbee-herdsman/issues/1134)) ([1c9190a](https://github.com/Koenkk/zigbee-herdsman/commit/1c9190a373c4e878f36cc23e399add3523c616ec))
|
|
18
|
+
* **ignore:** update dependencies ([#1135](https://github.com/Koenkk/zigbee-herdsman/issues/1135)) ([1fd87d6](https://github.com/Koenkk/zigbee-herdsman/commit/1fd87d6a98811b1dbb4951fc6b3103ec0a6ad288))
|
|
19
|
+
* Move Deconz change network paramters to `start` from `getNetworkParameters` ([#1138](https://github.com/Koenkk/zigbee-herdsman/issues/1138)) ([b207c73](https://github.com/Koenkk/zigbee-herdsman/commit/b207c730dc1439ce9e8d3fcaf12ec6b2c24e9c20))
|
|
20
|
+
|
|
3
21
|
## [0.55.3](https://github.com/Koenkk/zigbee-herdsman/compare/v0.55.2...v0.55.3) (2024-07-26)
|
|
4
22
|
|
|
5
23
|
|
package/README.md
CHANGED
|
@@ -10,40 +10,46 @@ It was originally forked from zigbee-shepherd with the goal to refactor it to im
|
|
|
10
10
|
|
|
11
11
|
For automatically generated API reference documentation, see: [tsdocs.dev](https://tsdocs.dev/docs/zigbee-herdsman).
|
|
12
12
|
|
|
13
|
-
|
|
14
13
|
# Changelog
|
|
15
14
|
|
|
16
15
|
## 0.14.0 breaking changes
|
|
17
|
-
|
|
16
|
+
|
|
17
|
+
- `sendWhenActive` has been replaced with `sendWhen: 'active'`
|
|
18
18
|
|
|
19
19
|
## 0.13.0 breaking changes
|
|
20
|
-
|
|
20
|
+
|
|
21
|
+
- `controller.touchlinkFactoryReset` has been renamed to `controller.touchlinkFactoryResetFirst()`
|
|
21
22
|
|
|
22
23
|
## 0.12.0 breaking changes
|
|
23
|
-
|
|
24
|
+
|
|
25
|
+
- options.network.extenedPanID -> options.network.extendedPanID (typo fix)
|
|
24
26
|
|
|
25
27
|
## 0.11.0 breaking changes
|
|
26
|
-
|
|
28
|
+
|
|
29
|
+
- endpoint.bind[].cluster will now return cluster object instead of cluster number
|
|
27
30
|
|
|
28
31
|
## 0.10.0 breaking changes
|
|
29
|
-
|
|
32
|
+
|
|
33
|
+
- controller.start() renamed `resetted` start result to `reset`
|
|
30
34
|
|
|
31
35
|
## 0.9.0 breaking changes
|
|
32
|
-
|
|
33
|
-
-
|
|
36
|
+
|
|
37
|
+
- Removed controller.softReset() -> use controller.reset('soft') now
|
|
38
|
+
- Removed group.get('groupID') -> use group.groupID now
|
|
34
39
|
|
|
35
40
|
## 0.8.0 breaking changes
|
|
36
|
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
+
|
|
42
|
+
- Removed device.getEndpoints() -> use device.endpoints now
|
|
43
|
+
- Removed device/endpoint.set() -> directly set properties now (e.g. device.modelID = 'newmodelid')
|
|
44
|
+
- Removed device/endpoint.get() -> directly get properties now (e.g. device.modelID)
|
|
45
|
+
- Removed group.getMembers() -> use group.members now
|
|
46
|
+
- Removed endpoint.deviceIeeeAddress -> use endpoint.getDevice().ieeeAddr
|
|
41
47
|
|
|
42
48
|
# Related projects
|
|
43
49
|
|
|
44
50
|
## Zigbee2MQTT
|
|
45
51
|
|
|
46
|
-
[Zigbee2MQTT](https://github.com/Koenkk/zigbee2mqtt) is a Zigbee to MQTT gateway. It bridges events and allows you to control your Zigbee devices via MQTT. Allows you to use your Zigbee devices without the vendors or propritary and closed sources bridges or gateways. Zigbee2MQTT also keeps track of the state of the system and the capabilities of connected devices. It uses zigbee-herdsman and [zigbee-herdsman-converters](https://github.com/Koenkk/zigbee-herdsman-converters) as modules to handle low-level core Zigbee communication.
|
|
52
|
+
[Zigbee2MQTT](https://github.com/Koenkk/zigbee2mqtt) is a Zigbee to MQTT gateway. It bridges events and allows you to control your Zigbee devices via MQTT. Allows you to use your Zigbee devices without the vendors or propritary and closed sources bridges or gateways. Zigbee2MQTT also keeps track of the state of the system and the capabilities of connected devices. It uses zigbee-herdsman and [zigbee-herdsman-converters](https://github.com/Koenkk/zigbee-herdsman-converters) as modules to handle low-level core Zigbee communication.
|
|
47
53
|
|
|
48
54
|
## ioBroker
|
|
49
55
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deconzAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/adapter/deconzAdapter.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,kBAAkB,EAClB,cAAc,EAEd,eAAe,EACf,gBAAgB,EAChB,GAAG,EACH,YAAY,EACZ,iBAAiB,EACjB,WAAW,EAGX,cAAc,EACjB,MAAM,cAAc,CAAC;AACtB,OAAO,OAAO,MAAM,eAAe,CAAC;AAEpC,OAAO,KAAK,GAAG,MAAM,oBAAoB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AAKvC,OAAO,KAAK,MAAM,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAgBtD,cAAM,aAAc,SAAQ,OAAO;IAC/B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,iBAAiB,CAAuB;IAChD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,UAAU,CAAQ;gBAEP,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc;WA0CvH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;WAI3C,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIrD;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"deconzAdapter.d.ts","sourceRoot":"","sources":["../../../../src/adapter/deconz/adapter/deconzAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -92,6 +92,126 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
92
92
|
async start() {
|
|
93
93
|
let baudrate = this.serialPortOptions.baudRate || 38400;
|
|
94
94
|
await this.driver.open(baudrate);
|
|
95
|
+
let changed = false;
|
|
96
|
+
let panid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.PAN_ID);
|
|
97
|
+
let expanid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID);
|
|
98
|
+
let channel = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.CHANNEL);
|
|
99
|
+
let networkKey = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY);
|
|
100
|
+
// check current channel against configuration.yaml
|
|
101
|
+
if (this.networkOptions.channelList[0] !== channel) {
|
|
102
|
+
logger_1.logger.debug('Channel in configuration.yaml (' +
|
|
103
|
+
this.networkOptions.channelList[0] +
|
|
104
|
+
') differs from current channel (' +
|
|
105
|
+
channel +
|
|
106
|
+
'). Changing channel.', NS);
|
|
107
|
+
let setChannelMask = 0;
|
|
108
|
+
switch (this.networkOptions.channelList[0]) {
|
|
109
|
+
case 11:
|
|
110
|
+
setChannelMask = 0x800;
|
|
111
|
+
break;
|
|
112
|
+
case 12:
|
|
113
|
+
setChannelMask = 0x1000;
|
|
114
|
+
break;
|
|
115
|
+
case 13:
|
|
116
|
+
setChannelMask = 0x2000;
|
|
117
|
+
break;
|
|
118
|
+
case 14:
|
|
119
|
+
setChannelMask = 0x4000;
|
|
120
|
+
break;
|
|
121
|
+
case 15:
|
|
122
|
+
setChannelMask = 0x8000;
|
|
123
|
+
break;
|
|
124
|
+
case 16:
|
|
125
|
+
setChannelMask = 0x10000;
|
|
126
|
+
break;
|
|
127
|
+
case 17:
|
|
128
|
+
setChannelMask = 0x20000;
|
|
129
|
+
break;
|
|
130
|
+
case 18:
|
|
131
|
+
setChannelMask = 0x40000;
|
|
132
|
+
break;
|
|
133
|
+
case 19:
|
|
134
|
+
setChannelMask = 0x80000;
|
|
135
|
+
break;
|
|
136
|
+
case 20:
|
|
137
|
+
setChannelMask = 0x100000;
|
|
138
|
+
break;
|
|
139
|
+
case 21:
|
|
140
|
+
setChannelMask = 0x200000;
|
|
141
|
+
break;
|
|
142
|
+
case 22:
|
|
143
|
+
setChannelMask = 0x400000;
|
|
144
|
+
break;
|
|
145
|
+
case 23:
|
|
146
|
+
setChannelMask = 0x800000;
|
|
147
|
+
break;
|
|
148
|
+
case 24:
|
|
149
|
+
setChannelMask = 0x1000000;
|
|
150
|
+
break;
|
|
151
|
+
case 25:
|
|
152
|
+
setChannelMask = 0x2000000;
|
|
153
|
+
break;
|
|
154
|
+
case 26:
|
|
155
|
+
setChannelMask = 0x4000000;
|
|
156
|
+
break;
|
|
157
|
+
default:
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
try {
|
|
161
|
+
await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.CHANNEL_MASK, setChannelMask);
|
|
162
|
+
await this.sleep(500);
|
|
163
|
+
changed = true;
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
logger_1.logger.debug('Could not set channel: ' + error, NS);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// check current panid against configuration.yaml
|
|
170
|
+
if (this.networkOptions.panID !== panid) {
|
|
171
|
+
logger_1.logger.debug('panid in configuration.yaml (' + this.networkOptions.panID + ') differs from current panid (' + panid + '). Changing panid.', NS);
|
|
172
|
+
try {
|
|
173
|
+
await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.PAN_ID, this.networkOptions.panID);
|
|
174
|
+
await this.sleep(500);
|
|
175
|
+
changed = true;
|
|
176
|
+
}
|
|
177
|
+
catch (error) {
|
|
178
|
+
logger_1.logger.debug('Could not set panid: ' + error, NS);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
// check current extended_panid against configuration.yaml
|
|
182
|
+
if (this.driver.generalArrayToString(this.networkOptions.extendedPanID, 8) !== expanid) {
|
|
183
|
+
logger_1.logger.debug('extended panid in configuration.yaml (' +
|
|
184
|
+
this.driver.macAddrArrayToString(this.networkOptions.extendedPanID) +
|
|
185
|
+
') differs from current extended panid (' +
|
|
186
|
+
expanid +
|
|
187
|
+
'). Changing extended panid.', NS);
|
|
188
|
+
try {
|
|
189
|
+
await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID, this.networkOptions.extendedPanID);
|
|
190
|
+
await this.sleep(500);
|
|
191
|
+
changed = true;
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
logger_1.logger.debug('Could not set extended panid: ' + error, NS);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// check current network key against configuration.yaml
|
|
198
|
+
if (this.driver.generalArrayToString(this.networkOptions.networkKey, 16) !== networkKey) {
|
|
199
|
+
logger_1.logger.debug('network key in configuration.yaml (hidden) differs from current network key (' + networkKey + '). Changing network key.', NS);
|
|
200
|
+
try {
|
|
201
|
+
await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY, this.networkOptions.networkKey);
|
|
202
|
+
await this.sleep(500);
|
|
203
|
+
changed = true;
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
logger_1.logger.debug('Could not set network key: ' + error, NS);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
if (changed) {
|
|
210
|
+
await this.driver.changeNetworkStateRequest(constants_1.default.PARAM.Network.NET_OFFLINE);
|
|
211
|
+
await this.sleep(2000);
|
|
212
|
+
await this.driver.changeNetworkStateRequest(constants_1.default.PARAM.Network.NET_CONNECTED);
|
|
213
|
+
await this.sleep(2000);
|
|
214
|
+
}
|
|
95
215
|
return 'resumed';
|
|
96
216
|
}
|
|
97
217
|
async stop() {
|
|
@@ -861,130 +981,9 @@ class DeconzAdapter extends adapter_1.default {
|
|
|
861
981
|
}
|
|
862
982
|
async getNetworkParameters() {
|
|
863
983
|
try {
|
|
864
|
-
let changed = false;
|
|
865
984
|
let panid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.PAN_ID);
|
|
866
985
|
let expanid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID);
|
|
867
986
|
let channel = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.CHANNEL);
|
|
868
|
-
let networkKey = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY);
|
|
869
|
-
// check current channel against configuration.yaml
|
|
870
|
-
if (this.networkOptions.channelList[0] !== channel) {
|
|
871
|
-
logger_1.logger.debug('Channel in configuration.yaml (' +
|
|
872
|
-
this.networkOptions.channelList[0] +
|
|
873
|
-
') differs from current channel (' +
|
|
874
|
-
channel +
|
|
875
|
-
'). Changing channel.', NS);
|
|
876
|
-
let setChannelMask = 0;
|
|
877
|
-
switch (this.networkOptions.channelList[0]) {
|
|
878
|
-
case 11:
|
|
879
|
-
setChannelMask = 0x800;
|
|
880
|
-
break;
|
|
881
|
-
case 12:
|
|
882
|
-
setChannelMask = 0x1000;
|
|
883
|
-
break;
|
|
884
|
-
case 13:
|
|
885
|
-
setChannelMask = 0x2000;
|
|
886
|
-
break;
|
|
887
|
-
case 14:
|
|
888
|
-
setChannelMask = 0x4000;
|
|
889
|
-
break;
|
|
890
|
-
case 15:
|
|
891
|
-
setChannelMask = 0x8000;
|
|
892
|
-
break;
|
|
893
|
-
case 16:
|
|
894
|
-
setChannelMask = 0x10000;
|
|
895
|
-
break;
|
|
896
|
-
case 17:
|
|
897
|
-
setChannelMask = 0x20000;
|
|
898
|
-
break;
|
|
899
|
-
case 18:
|
|
900
|
-
setChannelMask = 0x40000;
|
|
901
|
-
break;
|
|
902
|
-
case 19:
|
|
903
|
-
setChannelMask = 0x80000;
|
|
904
|
-
break;
|
|
905
|
-
case 20:
|
|
906
|
-
setChannelMask = 0x100000;
|
|
907
|
-
break;
|
|
908
|
-
case 21:
|
|
909
|
-
setChannelMask = 0x200000;
|
|
910
|
-
break;
|
|
911
|
-
case 22:
|
|
912
|
-
setChannelMask = 0x400000;
|
|
913
|
-
break;
|
|
914
|
-
case 23:
|
|
915
|
-
setChannelMask = 0x800000;
|
|
916
|
-
break;
|
|
917
|
-
case 24:
|
|
918
|
-
setChannelMask = 0x1000000;
|
|
919
|
-
break;
|
|
920
|
-
case 25:
|
|
921
|
-
setChannelMask = 0x2000000;
|
|
922
|
-
break;
|
|
923
|
-
case 26:
|
|
924
|
-
setChannelMask = 0x4000000;
|
|
925
|
-
break;
|
|
926
|
-
default:
|
|
927
|
-
break;
|
|
928
|
-
}
|
|
929
|
-
try {
|
|
930
|
-
await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.CHANNEL_MASK, setChannelMask);
|
|
931
|
-
await this.sleep(500);
|
|
932
|
-
changed = true;
|
|
933
|
-
}
|
|
934
|
-
catch (error) {
|
|
935
|
-
logger_1.logger.debug('Could not set channel: ' + error, NS);
|
|
936
|
-
}
|
|
937
|
-
}
|
|
938
|
-
// check current panid against configuration.yaml
|
|
939
|
-
if (this.networkOptions.panID !== panid) {
|
|
940
|
-
logger_1.logger.debug('panid in configuration.yaml (' + this.networkOptions.panID + ') differs from current panid (' + panid + '). Changing panid.', NS);
|
|
941
|
-
try {
|
|
942
|
-
await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.PAN_ID, this.networkOptions.panID);
|
|
943
|
-
await this.sleep(500);
|
|
944
|
-
changed = true;
|
|
945
|
-
}
|
|
946
|
-
catch (error) {
|
|
947
|
-
logger_1.logger.debug('Could not set panid: ' + error, NS);
|
|
948
|
-
}
|
|
949
|
-
}
|
|
950
|
-
// check current extended_panid against configuration.yaml
|
|
951
|
-
if (this.driver.generalArrayToString(this.networkOptions.extendedPanID, 8) !== expanid) {
|
|
952
|
-
logger_1.logger.debug('extended panid in configuration.yaml (' +
|
|
953
|
-
this.driver.macAddrArrayToString(this.networkOptions.extendedPanID) +
|
|
954
|
-
') differs from current extended panid (' +
|
|
955
|
-
expanid +
|
|
956
|
-
'). Changing extended panid.', NS);
|
|
957
|
-
try {
|
|
958
|
-
await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID, this.networkOptions.extendedPanID);
|
|
959
|
-
await this.sleep(500);
|
|
960
|
-
changed = true;
|
|
961
|
-
}
|
|
962
|
-
catch (error) {
|
|
963
|
-
logger_1.logger.debug('Could not set extended panid: ' + error, NS);
|
|
964
|
-
}
|
|
965
|
-
}
|
|
966
|
-
// check current network key against configuration.yaml
|
|
967
|
-
if (this.driver.generalArrayToString(this.networkOptions.networkKey, 16) !== networkKey) {
|
|
968
|
-
logger_1.logger.debug('network key in configuration.yaml (hidden) differs from current network key (' + networkKey + '). Changing network key.', NS);
|
|
969
|
-
try {
|
|
970
|
-
await this.driver.writeParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY, this.networkOptions.networkKey);
|
|
971
|
-
await this.sleep(500);
|
|
972
|
-
changed = true;
|
|
973
|
-
}
|
|
974
|
-
catch (error) {
|
|
975
|
-
logger_1.logger.debug('Could not set network key: ' + error, NS);
|
|
976
|
-
}
|
|
977
|
-
}
|
|
978
|
-
if (changed) {
|
|
979
|
-
await this.driver.changeNetworkStateRequest(constants_1.default.PARAM.Network.NET_OFFLINE);
|
|
980
|
-
await this.sleep(2000);
|
|
981
|
-
await this.driver.changeNetworkStateRequest(constants_1.default.PARAM.Network.NET_CONNECTED);
|
|
982
|
-
await this.sleep(2000);
|
|
983
|
-
panid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.PAN_ID);
|
|
984
|
-
expanid = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.APS_EXT_PAN_ID);
|
|
985
|
-
channel = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.CHANNEL);
|
|
986
|
-
networkKey = await this.driver.readParameterRequest(constants_1.default.PARAM.Network.NETWORK_KEY);
|
|
987
|
-
}
|
|
988
987
|
return {
|
|
989
988
|
panID: panid,
|
|
990
989
|
extendedPanID: expanid,
|