iobroker.zigbee 1.8.3 → 1.8.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.
Files changed (87) hide show
  1. package/README.md +3 -0
  2. package/admin/admin.js +512 -493
  3. package/admin/index_m.html +1171 -1001
  4. package/admin/tab_m.html +44 -3
  5. package/docs/de/img/CC2531.png +0 -0
  6. package/docs/de/img/CC2538_CC2592_PA.PNG +0 -0
  7. package/docs/de/img/CC2591.png +0 -0
  8. package/docs/de/img/boards.jpg +0 -0
  9. package/docs/de/img/cc26x2r.PNG +0 -0
  10. package/docs/de/img/results.jpg +0 -0
  11. package/docs/de/img/sku_429478_2.png +0 -0
  12. package/docs/de/img/sku_429601_2.png +0 -0
  13. package/docs/de/readme.md +27 -0
  14. package/docs/en/img/CC2531.png +0 -0
  15. package/docs/en/img/CC2591.png +0 -0
  16. package/docs/en/img/deconz.png +0 -0
  17. package/docs/en/img/sku_429478_2.png +0 -0
  18. package/docs/en/img/sku_429601_2.png +0 -0
  19. package/docs/en/readme.md +30 -0
  20. package/docs/flashing_via_arduino_(en).md +110 -0
  21. package/docs/ru/img/CC2531.png +0 -0
  22. package/docs/ru/img/CC2591.png +0 -0
  23. package/docs/ru/img/sku_429478_2.png +0 -0
  24. package/docs/ru/img/sku_429601_2.png +0 -0
  25. package/docs/ru/readme.md +28 -0
  26. package/docs/tutorial/CC2530_20190425.zip +0 -0
  27. package/docs/tutorial/CC2530_CC2591_20190515.zip +0 -0
  28. package/docs/tutorial/CC2530_CC2592_20190515.zip +0 -0
  29. package/docs/tutorial/CC2531_20190425.zip +0 -0
  30. package/docs/tutorial/adm5_1.PNG +0 -0
  31. package/docs/tutorial/adm5_2.PNG +0 -0
  32. package/docs/tutorial/cat.PNG +0 -0
  33. package/docs/tutorial/groups-1.png +0 -0
  34. package/docs/tutorial/groups-2.png +0 -0
  35. package/docs/tutorial/inst.PNG +0 -0
  36. package/docs/tutorial/reflash-finish.PNG +0 -0
  37. package/docs/tutorial/reflash-step0.png +0 -0
  38. package/docs/tutorial/reflash-step1.PNG +0 -0
  39. package/docs/tutorial/reflash-step2.PNG +0 -0
  40. package/docs/tutorial/settings.png +0 -0
  41. package/docs/tutorial/tab-dev-1.png +0 -0
  42. package/docs/tutorial/zigbee.png +0 -0
  43. package/docs/tutorial/zigbee15.png +0 -0
  44. package/io-package.json +17 -25
  45. package/lib/backup.js +2 -2
  46. package/lib/binding.js +32 -37
  47. package/lib/colors.js +163 -158
  48. package/lib/commands.js +100 -91
  49. package/lib/developer.js +9 -12
  50. package/lib/devices.js +168 -178
  51. package/lib/exclude.js +30 -36
  52. package/lib/exposes.js +163 -139
  53. package/lib/groups.js +81 -83
  54. package/lib/json.js +5 -6
  55. package/lib/networkmap.js +2 -3
  56. package/lib/ota.js +34 -18
  57. package/lib/rgb.js +114 -72
  58. package/lib/seriallist.js +25 -20
  59. package/lib/states.js +511 -526
  60. package/lib/statescontroller.js +206 -183
  61. package/lib/utils.js +24 -23
  62. package/lib/zbBaseExtension.js +4 -4
  63. package/lib/zbDelayedAction.js +5 -13
  64. package/lib/zbDeviceAvailability.js +69 -65
  65. package/lib/zbDeviceConfigure.js +9 -21
  66. package/lib/zbDeviceEvent.js +3 -4
  67. package/lib/zigbeecontroller.js +133 -128
  68. package/main.js +169 -154
  69. package/package.json +27 -13
  70. package/.eslintignore +0 -2
  71. package/.eslintrc.json +0 -37
  72. package/.github/FUNDING.yml +0 -3
  73. package/.github/auto-merge.yml +0 -17
  74. package/.github/dependabot.yml +0 -24
  75. package/.github/stale.yml +0 -13
  76. package/.github/workflows/codeql.yml +0 -41
  77. package/.github/workflows/dependabot-automerge.yml +0 -22
  78. package/.github/workflows/test-and-release.yml +0 -149
  79. package/.releaseconfig.json +0 -3
  80. package/.travis/wiki.sh +0 -28
  81. package/.travis.yml +0 -41
  82. package/gulpfile.js +0 -464
  83. package/test/integration.js +0 -5
  84. package/test/mocha.custom.opts +0 -2
  85. package/test/mocha.setup.js +0 -14
  86. package/test/package.js +0 -5
  87. package/test/unit.js +0 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.zigbee",
3
- "version": "1.8.3",
3
+ "version": "1.8.5",
4
4
  "author": {
5
5
  "name": "Kirov Ilya",
6
6
  "email": "kirovilya@gmail.com"
@@ -17,10 +17,13 @@
17
17
  "engines": {
18
18
  "node": ">=10"
19
19
  },
20
+ "optionalDependencies": {
21
+ "serialport": "^10.5.0"
22
+ },
20
23
  "dependencies": {
21
- "@iobroker/adapter-core": "^2.4.0",
22
- "tar": "^6.0.5",
23
- "typescript": "^4.0.5",
24
+ "@iobroker/adapter-core": "^2.6.7",
25
+ "tar": "^6.1.12",
26
+ "typescript": "^4.9.3",
24
27
  "zigbee-herdsman": "0.14.76",
25
28
  "zigbee-herdsman-converters": "14.0.678"
26
29
  },
@@ -29,18 +32,18 @@
29
32
  "@alcalzone/release-script": "^3.5.9",
30
33
  "@alcalzone/release-script-plugin-iobroker": "^3.5.9",
31
34
  "@alcalzone/release-script-plugin-license": "^3.5.9",
32
- "@iobroker/testing": "^2.5.4",
33
- "axios": "^0.21.1",
34
- "chai": "^4.3.4",
35
+ "@iobroker/testing": "^4.1.0",
36
+ "axios": "^1.2.0",
37
+ "chai": "^4.3.7",
35
38
  "chai-as-promised": "^7.1.1",
36
- "eslint": "^8.14.0",
39
+ "eslint": "^8.28.0",
37
40
  "eslint-config-prettier": "^8.5.0",
38
- "eslint-plugin-prettier": "^4.0.0",
41
+ "eslint-plugin-prettier": "^4.2.1",
39
42
  "gulp": "^4.0.2",
40
43
  "gulp-jsdoc3": "^3.0.0",
41
44
  "gulp-replace": "^1.1.3",
42
- "mixin-deep": "^1.3.2",
43
- "mocha": "^9.1.3"
45
+ "mixin-deep": "^2.0.1",
46
+ "mocha": "^10.1.0"
44
47
  },
45
48
  "homepage": "https://github.com/ioBroker/ioBroker.zigbee",
46
49
  "keywords": [
@@ -58,6 +61,15 @@
58
61
  ],
59
62
  "license": "MIT",
60
63
  "main": "main.js",
64
+ "files": [
65
+ "admin/",
66
+ "lib/",
67
+ "docs/",
68
+ "support/",
69
+ "io-package.json",
70
+ "LICENSE",
71
+ "main.js"
72
+ ],
61
73
  "readmeFilename": "README.md",
62
74
  "repository": {
63
75
  "type": "git",
@@ -71,7 +83,9 @@
71
83
  "test:integration": "mocha test/integration --exit",
72
84
  "watch:parcel": "parcel admin/src/index.tsx -d admin/build --hmr-port 1235",
73
85
  "test:js": "mocha --opts test/mocha.custom.opts",
74
- "lint": "eslint --ext .ts \"packages/*/src/**/*.ts\"",
75
- "release": "release-script"
86
+ "release": "release-script",
87
+ "release-patch": "release-script patch --yes --no-update-lockfile",
88
+ "release-minor": "release-script minor --yes --no-update-lockfile",
89
+ "release-major": "release-script major --yes --no-update-lockfile"
76
90
  }
77
91
  }
package/.eslintignore DELETED
@@ -1,2 +0,0 @@
1
- node_modules/*
2
- test/*
package/.eslintrc.json DELETED
@@ -1,37 +0,0 @@
1
- {
2
- "env": {
3
- "es6": true,
4
- "node": true,
5
- "mocha": true
6
- },
7
- "extends": "eslint:recommended",
8
- "rules": {
9
- "indent": [
10
- "error",
11
- 4,
12
- {
13
- "SwitchCase": 1
14
- }
15
- ],
16
- "linebreak-style": 0,
17
- "no-console": "off",
18
- "no-var": "error",
19
- "prefer-const": "error",
20
- "quotes": [
21
- "error",
22
- "single",
23
- {
24
- "avoidEscape": true,
25
- "allowTemplateLiterals": true
26
- }
27
- ],
28
- "semi": [
29
- "error",
30
- "always"
31
- ],
32
- "no-prototype-builtins": "off"
33
- },
34
- "parserOptions": {
35
- "ecmaVersion": 2019
36
- }
37
- }
@@ -1,3 +0,0 @@
1
- # These are supported funding model platforms
2
-
3
- custom: ['https://www.paypal.me/goofyk', 'https://paypal.me/ArthurRupp']
@@ -1,17 +0,0 @@
1
- # Configure here which dependency updates should be merged automatically.
2
- # The recommended configuration is the following:
3
- - match:
4
- # Only merge patches for production dependencies
5
- dependency_type: production
6
- update_type: "semver:patch"
7
- - match:
8
- # Except for security fixes, here we allow minor patches
9
- dependency_type: production
10
- update_type: "security:minor"
11
- - match:
12
- # and development dependencies can have a minor update, too
13
- dependency_type: development
14
- update_type: "semver:minor"
15
-
16
- # The syntax is based on the legacy dependabot v1 automerged_updates syntax, see:
17
- # https://dependabot.com/docs/config-file/#automerged_updates
@@ -1,24 +0,0 @@
1
- version: 2
2
- updates:
3
- - package-ecosystem: github-actions
4
- directory: "/"
5
- schedule:
6
- interval: monthly
7
- time: "04:00"
8
- timezone: Europe/Berlin
9
- - package-ecosystem: npm
10
- directory: "/"
11
- schedule:
12
- interval: monthly
13
- time: "04:00"
14
- timezone: Europe/Berlin
15
- open-pull-requests-limit: 5
16
- versioning-strategy: increase
17
- - package-ecosystem: npm
18
- directory: "/src"
19
- schedule:
20
- interval: monthly
21
- time: "04:00"
22
- timezone: Europe/Berlin
23
- open-pull-requests-limit: 5
24
- versioning-strategy: increase
package/.github/stale.yml DELETED
@@ -1,13 +0,0 @@
1
- # Number of days of inactivity before an issue becomes stale
2
- daysUntilStale: 60
3
- # Number of days of inactivity before a stale issue is closed
4
- daysUntilClose: 7
5
- # Label to use when marking an issue as stale
6
- staleLabel: stale
7
- # Comment to post when marking an issue as stale. Set to `false` to disable
8
- markComment: >
9
- This issue has been automatically marked as stale because it has not had
10
- recent activity. It will be closed if no further activity occurs. Thank you
11
- for your contributions.
12
- # Comment to post when closing a stale issue. Set to `false` to disable
13
- closeComment: false
@@ -1,41 +0,0 @@
1
- name: "CodeQL"
2
-
3
- on:
4
- push:
5
- branches: [ "master" ]
6
- pull_request:
7
- branches: [ "master" ]
8
- schedule:
9
- - cron: "54 15 * * 0"
10
-
11
- jobs:
12
- analyze:
13
- name: Analyze
14
- runs-on: ubuntu-latest
15
- permissions:
16
- actions: read
17
- contents: read
18
- security-events: write
19
-
20
- strategy:
21
- fail-fast: false
22
- matrix:
23
- language: [ javascript ]
24
-
25
- steps:
26
- - name: Checkout
27
- uses: actions/checkout@v3
28
-
29
- - name: Initialize CodeQL
30
- uses: github/codeql-action/init@v2
31
- with:
32
- languages: ${{ matrix.language }}
33
- queries: +security-and-quality
34
-
35
- - name: Autobuild
36
- uses: github/codeql-action/autobuild@v2
37
-
38
- - name: Perform CodeQL Analysis
39
- uses: github/codeql-action/analyze@v2
40
- with:
41
- category: "/language:${{ matrix.language }}"
@@ -1,22 +0,0 @@
1
- # Automatically merge Dependabot PRs when version comparison is within the range
2
- # that is configured in .github/auto-merge.yml
3
-
4
- name: Auto-Merge Dependabot PRs
5
-
6
- on:
7
- pull_request_target:
8
-
9
- jobs:
10
- auto-merge:
11
- runs-on: ubuntu-latest
12
- steps:
13
- - name: Checkout code
14
- uses: actions/checkout@v3
15
-
16
- - name: Check if PR should be auto-merged
17
- uses: ahmadnassri/action-dependabot-auto-merge@v2
18
- with:
19
- # This must be a personal access token with push access
20
- github-token: ${{ secrets.AUTO_MERGE_TOKEN }}
21
- # By default, squash and merge, so Github chooses nice commit messages
22
- command: squash and merge
@@ -1,149 +0,0 @@
1
- name: Test and Release
2
-
3
- # Run this job on all pushes and pull requests
4
- # as well as tags with a semantic version
5
- on:
6
- push:
7
- branches:
8
- - "*"
9
- tags:
10
- # normal versions
11
- - "v[0-9]+.[0-9]+.[0-9]+"
12
- # pre-releases
13
- - "v[0-9]+.[0-9]+.[0-9]+-**"
14
- pull_request: {}
15
-
16
- jobs:
17
- # Performs quick checks before the expensive test runs
18
- check-and-lint:
19
- if: contains(github.event.head_commit.message, '[skip ci]') == false
20
-
21
- runs-on: ubuntu-latest
22
-
23
- strategy:
24
- matrix:
25
- node-version: [14.x]
26
-
27
- steps:
28
- - name: Checkout code
29
- uses: actions/checkout@v2
30
-
31
- - name: Use Node.js ${{ matrix.node-version }}
32
- uses: actions/setup-node@v3
33
- with:
34
- node-version: ${{ matrix.node-version }}
35
-
36
- - name: Install Dependencies
37
- run: npm i
38
-
39
- - name: Test package files
40
- run: npm run test:package
41
-
42
- # Runs adapter tests on all supported node versions and OSes
43
- adapter-tests:
44
- if: contains(github.event.head_commit.message, '[skip ci]') == false
45
-
46
- needs: [check-and-lint]
47
-
48
- runs-on: ${{ matrix.os }}
49
- strategy:
50
- matrix:
51
- node-version: [14.x, 16.x, 18.x]
52
- os: [ubuntu-latest, macos-latest]
53
-
54
- steps:
55
- - name: Checkout code
56
- uses: actions/checkout@v2
57
-
58
- - name: Use Node.js ${{ matrix.node-version }}
59
- uses: actions/setup-node@v3
60
- with:
61
- node-version: ${{ matrix.node-version }}
62
-
63
- - name: Install Dependencies
64
- run: npm i
65
-
66
- - name: Run unit tests
67
- run: npm run test:unit
68
-
69
- - name: Run integration tests (unix only)
70
- if: startsWith(runner.OS, 'windows') == false
71
- run: DEBUG=testing:* npm run test:integration
72
-
73
- - name: Run integration tests (windows only)
74
- if: startsWith(runner.OS, 'windows')
75
- run: set DEBUG=testing:* & npm run test:integration
76
-
77
- # Deploys the final package to NPM
78
- deploy:
79
- needs: [adapter-tests]
80
-
81
- # Trigger this step only when a commit on any branch is tagged with a version number
82
- if: |
83
- contains(github.event.head_commit.message, '[skip ci]') == false &&
84
- github.event_name == 'push' &&
85
- startsWith(github.ref, 'refs/tags/v')
86
-
87
- runs-on: ubuntu-latest
88
- strategy:
89
- matrix:
90
- node-version: [14.x]
91
-
92
- steps:
93
- - name: Checkout code
94
- uses: actions/checkout@v2
95
-
96
- - name: Use Node.js ${{ matrix.node-version }}
97
- uses: actions/setup-node@v3
98
- with:
99
- node-version: ${{ matrix.node-version }}
100
-
101
- - name: Extract the version and commit body from the tag
102
- id: extract_release
103
- # The body may be multiline, therefore newlines and % need to be escaped
104
- run: |
105
- VERSION="${{ github.ref }}"
106
- VERSION=${VERSION##*/v}
107
- echo "::set-output name=VERSION::$VERSION"
108
- BODY=$(git show -s --format=%b)
109
- BODY="${BODY//'%'/'%25'}"
110
- BODY="${BODY//$'\n'/'%0A'}"
111
- BODY="${BODY//$'\r'/'%0D'}"
112
- echo "::set-output name=BODY::$BODY"
113
-
114
- # If you like, activate automated version publish to NPM
115
- # Only if commit contains a version, see : https://github.com/AlCalzone/release-script
116
-
117
- - name: Publish package to npm
118
- run: |
119
- npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}
120
- npm whoami
121
- npm publish
122
-
123
- # - name: Create Github Release
124
- # uses: actions/create-release@v1
125
- # env:
126
- # GITHUB_TOKEN: ${{ secrets.Github_Token}}
127
- # with:
128
- # tag_name: ${{ github.ref }}
129
- # release_name: Release v${{ steps.extract_release.outputs.VERSION }}
130
- # draft: false
131
- # # Prerelease versions create prereleases on Github
132
- # prerelease: ${{ contains(steps.extract_release.outputs.VERSION, '-') }}
133
- # body: ${{ steps.extract_release.outputs.BODY }}
134
- #
135
- # - name: Notify Sentry.io about the release
136
- # run: |
137
- # npm i -g @sentry/cli
138
- # export SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
139
- # export SENTRY_URL=https://sentry.iobroker.net
140
- # export SENTRY_ORG=iobroker
141
- # export SENTRY_PROJECT=iobroker-zigbee
142
- # export SENTRY_VERSION=iobroker.zigbee@${{ steps.extract_release.outputs.VERSION }}
143
- # sentry-cli releases new $SENTRY_VERSION
144
- # sentry-cli releases finalize $SENTRY_VERSION
145
- # # Add the following line BEFORE finalize if repositories are connected in Sentry
146
- # # sentry-cli releases set-commits $SENTRY_VERSION --auto
147
- #
148
- # # Add the following line BEFORE finalize if sourcemap uploads are needed
149
- # # sentry-cli releases files $SENTRY_VERSION upload-sourcemaps build/
@@ -1,3 +0,0 @@
1
- {
2
- "plugins": ["iobroker", "license"]
3
- }
package/.travis/wiki.sh DELETED
@@ -1,28 +0,0 @@
1
- #!/bin/sh -e
2
-
3
- setup_git() {
4
- git config --global user.email "travis@travis-ci.org"
5
- git config --global user.name "Travis CI"
6
- }
7
-
8
- update_wiki() {
9
- rm -rf ioBroker.zigbee.wiki
10
- git clone https://${GH_TOKEN}@github.com/ioBroker/ioBroker.zigbee.wiki.git
11
- npm run docgen ioBroker.zigbee.wiki
12
- cd ioBroker.zigbee.wiki
13
- git add -A
14
- git diff-index --quiet HEAD || git commit -m "Travis CI: update wiki"
15
- git push origin
16
- cd ..
17
- rm -rf ioBroker.zigbee.wiki
18
- }
19
-
20
- # Only update wiki if on master branch and not pull request
21
- if [ "$TRAVIS_BRANCH" = "master" -a "$TRAVIS_PULL_REQUEST" = "false" ]
22
- then
23
- echo "Updating wiki!"
24
- setup_git
25
- update_wiki
26
- else
27
- echo "Not updating wiki, triggered by pull request or not on master branch"
28
- fi
package/.travis.yml DELETED
@@ -1,41 +0,0 @@
1
- os:
2
- - linux
3
- - osx
4
- - windows
5
- sudo: required
6
- language: node_js
7
- node_js:
8
- - '12'
9
- - '14'
10
- - '16'
11
- before_install:
12
- - 'if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then sudo ln -s `which node` `which node`js; fi'
13
- - 'if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then which nodejs || which node; fi'
14
- - 'if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then export CC=clang++; export CXX=clang++; export CXXFLAGS=-std=c++11; fi'
15
- - 'if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew unlink pkg-config; fi'
16
- - 'if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then export CXX=g++-6; CC=gcc-6; fi'
17
- - npm install -g node-gyp
18
- install:
19
- - npm install --unsafe-perm
20
- before_script:
21
- - export NPMVERSION=$(echo "$($(which npm) -v)"|cut -c1)
22
- - 'if [[ $NPMVERSION == 5 ]]; then npm install -g npm@5; fi'
23
- - npm -v
24
- after_success:
25
- - .travis/wiki.sh
26
- addons:
27
- apt:
28
- sources:
29
- - ubuntu-toolchain-r-test
30
- packages:
31
- - gcc-6
32
- - g++-6
33
- env:
34
- global:
35
- - secure: >-
36
- jYhOGVA5M7ZP9n4ccCr5J9DiODgRyVnKqAqyIE7+TA0jBg1jSPyWydoNuG02htIiNRMp4se+t8mFWIG3QqiFtoJbOdBt3yZYhVdfkx+4JyQpZAZq790C3jGdTSM/sVdaw2D+5Uvhqb4y7YOQ7SUYsRb5IH0NN2ZnOIZuGiOq8eVZ+np3gYNgsJwRWxrOrUi8lIA7APMe8esmOuTmKuFNfxhVWu98WegztBxnQmfCfwUl0OxgXxpdoElIQcbEV2zkJPOowZSioQvE5dxgIuf+leBeWdDm6g7bDmV84CkXmHlWkJoyyz1DYM7XFib4vSX9nJ2HZ2U7/wtbBd9/92JPoClvmiagb4wtICVO98LMXdayF3kRO/h7uH9HTHY1Mo98HHhxWMyfXVh6cWkDPYutSkFBG+a/tQB1jvbHq8j6O98VNpkLVqlbBIV8i0+uzoWOyaCVjZgcc7PtzfuWeNYB4c5cTu+HuofKwx3aBGJvnIukIeD/BJjnB76d4hfm++K6bDjKU61Gd7rY0/C1Ik8HsKxDdGvM5Ro6XARugoLTgym9Xk/ByU0AYrD05F+JzC2T+Hv1xACCq50HtsDAflpc9T4kLV3towQ69bE+N5kMfX5/X4rnVCkeerb+5X3EZjjslcUbwT4REahmihXR+8Mzz6f3O7ATUUA0BclD773ZFFY=
37
- script:
38
- - 'npm run test:package'
39
- - 'npm run test:unit'
40
- - 'npm run test:integration'
41
- - 'if [ "$TRAVIS_OS_NAME" != "windows" ]; then if [ "$TRAVIS_COMMIT_RANGE" != "" ]; then COMMIT_RANGE=$TRAVIS_COMMIT_RANGE; else COMMIT_RANGE="HEAD^..HEAD"; fi; echo "Lint check of commit range $COMMIT_RANGE"; lint-diff $COMMIT_RANGE; fi;'