iobroker.zigbee 1.6.16 → 1.6.17

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 (53) hide show
  1. package/.eslintignore +1 -1
  2. package/.eslintrc.json +36 -36
  3. package/.github/FUNDING.yml +3 -3
  4. package/.github/stale.yml +13 -13
  5. package/.github/workflows/test-and-release.yml +151 -151
  6. package/.travis/wiki.sh +27 -27
  7. package/LICENSE +21 -21
  8. package/README.md +425 -424
  9. package/admin/adapter-settings.js +244 -244
  10. package/admin/admin.js +2926 -2926
  11. package/admin/img/philips_hue_lom001.png +0 -0
  12. package/admin/index.html +159 -159
  13. package/admin/index_m.html +1161 -1158
  14. package/admin/moment.min.js +1 -1
  15. package/admin/shuffle.min.js +2 -2
  16. package/admin/tab_m.html +944 -944
  17. package/admin/vis-network.min.js +26 -26
  18. package/admin/words.js +109 -108
  19. package/docs/de/readme.md +27 -27
  20. package/docs/en/readme.md +30 -30
  21. package/docs/flashing_via_arduino_(en).md +110 -110
  22. package/docs/ru/readme.md +28 -28
  23. package/docs/tutorial/groups-1.png +0 -0
  24. package/docs/tutorial/groups-2.png +0 -0
  25. package/docs/tutorial/tab-dev-1.png +0 -0
  26. package/io-package.json +367 -355
  27. package/lib/backup.js +132 -132
  28. package/lib/binding.js +325 -325
  29. package/lib/colors.js +460 -460
  30. package/lib/commands.js +501 -501
  31. package/lib/developer.js +148 -148
  32. package/lib/devices.js +3145 -3144
  33. package/lib/exclude.js +168 -168
  34. package/lib/exposes.js +803 -795
  35. package/lib/groups.js +342 -342
  36. package/lib/json.js +60 -60
  37. package/lib/networkmap.js +56 -56
  38. package/lib/ota.js +179 -179
  39. package/lib/rgb.js +255 -255
  40. package/lib/seriallist.js +37 -37
  41. package/lib/states.js +6416 -6407
  42. package/lib/statescontroller.js +627 -627
  43. package/lib/tools.js +54 -54
  44. package/lib/utils.js +151 -151
  45. package/lib/zbBaseExtension.js +36 -32
  46. package/lib/zbDelayedAction.js +152 -152
  47. package/lib/zbDeviceAvailability.js +321 -318
  48. package/lib/zbDeviceConfigure.js +152 -152
  49. package/lib/zbDeviceEvent.js +49 -49
  50. package/lib/zigbeecontroller.js +946 -946
  51. package/main.js +42 -3
  52. package/package.json +77 -77
  53. package/support/docgen.js +93 -93
package/.eslintignore CHANGED
@@ -1,2 +1,2 @@
1
- node_modules/*
1
+ node_modules/*
2
2
  test/*
package/.eslintrc.json CHANGED
@@ -1,37 +1,37 @@
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
- }
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
37
  }
@@ -1,3 +1,3 @@
1
- # These are supported funding model platforms
2
-
3
- custom: ['https://www.paypal.me/goofyk', 'https://paypal.me/ArthurRupp']
1
+ # These are supported funding model platforms
2
+
3
+ custom: ['https://www.paypal.me/goofyk', 'https://paypal.me/ArthurRupp']
package/.github/stale.yml CHANGED
@@ -1,13 +1,13 @@
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
+ # 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,151 +1,151 @@
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@v1
33
- with:
34
- node-version: ${{ matrix.node-version }}
35
-
36
- - name: Install Dependencies
37
- run: npm ci
38
-
39
- - name: Lint source code
40
- run: npm run lint
41
- - name: Test package files
42
- run: npm run test:package
43
-
44
- # Runs adapter tests on all supported node versions and OSes
45
- adapter-tests:
46
- if: contains(github.event.head_commit.message, '[skip ci]') == false
47
-
48
- needs: [check-and-lint]
49
-
50
- runs-on: ${{ matrix.os }}
51
- strategy:
52
- matrix:
53
- node-version: [12.x, 14.x, 16.x]
54
- os: [ubuntu-latest, macos-latest]
55
-
56
- steps:
57
- - name: Checkout code
58
- uses: actions/checkout@v2
59
-
60
- - name: Use Node.js ${{ matrix.node-version }}
61
- uses: actions/setup-node@v1
62
- with:
63
- node-version: ${{ matrix.node-version }}
64
-
65
- - name: Install Dependencies
66
- run: npm ci
67
-
68
- - name: Run unit tests
69
- run: npm run test:unit
70
-
71
- - name: Run integration tests (unix only)
72
- if: startsWith(runner.OS, 'windows') == false
73
- run: DEBUG=testing:* npm run test:integration
74
-
75
- - name: Run integration tests (windows only)
76
- if: startsWith(runner.OS, 'windows')
77
- run: set DEBUG=testing:* & npm run test:integration
78
-
79
- # Deploys the final package to NPM
80
- deploy:
81
- needs: [adapter-tests]
82
-
83
- # Trigger this step only when a commit on any branch is tagged with a version number
84
- if: |
85
- contains(github.event.head_commit.message, '[skip ci]') == false &&
86
- github.event_name == 'push' &&
87
- startsWith(github.ref, 'refs/tags/v')
88
-
89
- runs-on: ubuntu-latest
90
- strategy:
91
- matrix:
92
- node-version: [14.x]
93
-
94
- steps:
95
- - name: Checkout code
96
- uses: actions/checkout@v2
97
-
98
- - name: Use Node.js ${{ matrix.node-version }}
99
- uses: actions/setup-node@v1
100
- with:
101
- node-version: ${{ matrix.node-version }}
102
-
103
- - name: Extract the version and commit body from the tag
104
- id: extract_release
105
- # The body may be multiline, therefore newlines and % need to be escaped
106
- run: |
107
- VERSION="${{ github.ref }}"
108
- VERSION=${VERSION##*/v}
109
- echo "::set-output name=VERSION::$VERSION"
110
- BODY=$(git show -s --format=%b)
111
- BODY="${BODY//'%'/'%25'}"
112
- BODY="${BODY//$'\n'/'%0A'}"
113
- BODY="${BODY//$'\r'/'%0D'}"
114
- echo "::set-output name=BODY::$BODY"
115
-
116
- # If you like, activate automated version publish to NPM
117
- # Only if commit contains a version, see : https://github.com/AlCalzone/release-script
118
-
119
- - name: Publish package to npm
120
- run: |
121
- npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}
122
- npm whoami
123
- npm publish
124
-
125
- # - name: Create Github Release
126
- # uses: actions/create-release@v1
127
- # env:
128
- # GITHUB_TOKEN: ${{ secrets.Github_Token}}
129
- # with:
130
- # tag_name: ${{ github.ref }}
131
- # release_name: Release v${{ steps.extract_release.outputs.VERSION }}
132
- # draft: false
133
- # # Prerelease versions create prereleases on Github
134
- # prerelease: ${{ contains(steps.extract_release.outputs.VERSION, '-') }}
135
- # body: ${{ steps.extract_release.outputs.BODY }}
136
- #
137
- # - name: Notify Sentry.io about the release
138
- # run: |
139
- # npm i -g @sentry/cli
140
- # export SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
141
- # export SENTRY_URL=https://sentry.iobroker.net
142
- # export SENTRY_ORG=iobroker
143
- # export SENTRY_PROJECT=iobroker-zigbee
144
- # export SENTRY_VERSION=iobroker.zigbee@${{ steps.extract_release.outputs.VERSION }}
145
- # sentry-cli releases new $SENTRY_VERSION
146
- # sentry-cli releases finalize $SENTRY_VERSION
147
- # # Add the following line BEFORE finalize if repositories are connected in Sentry
148
- # # sentry-cli releases set-commits $SENTRY_VERSION --auto
149
- #
150
- # # Add the following line BEFORE finalize if sourcemap uploads are needed
151
- # # sentry-cli releases files $SENTRY_VERSION upload-sourcemaps build/
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@v1
33
+ with:
34
+ node-version: ${{ matrix.node-version }}
35
+
36
+ - name: Install Dependencies
37
+ run: npm ci
38
+
39
+ - name: Lint source code
40
+ run: npm run lint
41
+ - name: Test package files
42
+ run: npm run test:package
43
+
44
+ # Runs adapter tests on all supported node versions and OSes
45
+ adapter-tests:
46
+ if: contains(github.event.head_commit.message, '[skip ci]') == false
47
+
48
+ needs: [check-and-lint]
49
+
50
+ runs-on: ${{ matrix.os }}
51
+ strategy:
52
+ matrix:
53
+ node-version: [12.x, 14.x, 16.x]
54
+ os: [ubuntu-latest, macos-latest]
55
+
56
+ steps:
57
+ - name: Checkout code
58
+ uses: actions/checkout@v2
59
+
60
+ - name: Use Node.js ${{ matrix.node-version }}
61
+ uses: actions/setup-node@v1
62
+ with:
63
+ node-version: ${{ matrix.node-version }}
64
+
65
+ - name: Install Dependencies
66
+ run: npm ci
67
+
68
+ - name: Run unit tests
69
+ run: npm run test:unit
70
+
71
+ - name: Run integration tests (unix only)
72
+ if: startsWith(runner.OS, 'windows') == false
73
+ run: DEBUG=testing:* npm run test:integration
74
+
75
+ - name: Run integration tests (windows only)
76
+ if: startsWith(runner.OS, 'windows')
77
+ run: set DEBUG=testing:* & npm run test:integration
78
+
79
+ # Deploys the final package to NPM
80
+ deploy:
81
+ needs: [adapter-tests]
82
+
83
+ # Trigger this step only when a commit on any branch is tagged with a version number
84
+ if: |
85
+ contains(github.event.head_commit.message, '[skip ci]') == false &&
86
+ github.event_name == 'push' &&
87
+ startsWith(github.ref, 'refs/tags/v')
88
+
89
+ runs-on: ubuntu-latest
90
+ strategy:
91
+ matrix:
92
+ node-version: [14.x]
93
+
94
+ steps:
95
+ - name: Checkout code
96
+ uses: actions/checkout@v2
97
+
98
+ - name: Use Node.js ${{ matrix.node-version }}
99
+ uses: actions/setup-node@v1
100
+ with:
101
+ node-version: ${{ matrix.node-version }}
102
+
103
+ - name: Extract the version and commit body from the tag
104
+ id: extract_release
105
+ # The body may be multiline, therefore newlines and % need to be escaped
106
+ run: |
107
+ VERSION="${{ github.ref }}"
108
+ VERSION=${VERSION##*/v}
109
+ echo "::set-output name=VERSION::$VERSION"
110
+ BODY=$(git show -s --format=%b)
111
+ BODY="${BODY//'%'/'%25'}"
112
+ BODY="${BODY//$'\n'/'%0A'}"
113
+ BODY="${BODY//$'\r'/'%0D'}"
114
+ echo "::set-output name=BODY::$BODY"
115
+
116
+ # If you like, activate automated version publish to NPM
117
+ # Only if commit contains a version, see : https://github.com/AlCalzone/release-script
118
+
119
+ - name: Publish package to npm
120
+ run: |
121
+ npm config set //registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}
122
+ npm whoami
123
+ npm publish
124
+
125
+ # - name: Create Github Release
126
+ # uses: actions/create-release@v1
127
+ # env:
128
+ # GITHUB_TOKEN: ${{ secrets.Github_Token}}
129
+ # with:
130
+ # tag_name: ${{ github.ref }}
131
+ # release_name: Release v${{ steps.extract_release.outputs.VERSION }}
132
+ # draft: false
133
+ # # Prerelease versions create prereleases on Github
134
+ # prerelease: ${{ contains(steps.extract_release.outputs.VERSION, '-') }}
135
+ # body: ${{ steps.extract_release.outputs.BODY }}
136
+ #
137
+ # - name: Notify Sentry.io about the release
138
+ # run: |
139
+ # npm i -g @sentry/cli
140
+ # export SENTRY_AUTH_TOKEN=${{ secrets.SENTRY_AUTH_TOKEN }}
141
+ # export SENTRY_URL=https://sentry.iobroker.net
142
+ # export SENTRY_ORG=iobroker
143
+ # export SENTRY_PROJECT=iobroker-zigbee
144
+ # export SENTRY_VERSION=iobroker.zigbee@${{ steps.extract_release.outputs.VERSION }}
145
+ # sentry-cli releases new $SENTRY_VERSION
146
+ # sentry-cli releases finalize $SENTRY_VERSION
147
+ # # Add the following line BEFORE finalize if repositories are connected in Sentry
148
+ # # sentry-cli releases set-commits $SENTRY_VERSION --auto
149
+ #
150
+ # # Add the following line BEFORE finalize if sourcemap uploads are needed
151
+ # # sentry-cli releases files $SENTRY_VERSION upload-sourcemaps build/
package/.travis/wiki.sh CHANGED
@@ -1,28 +1,28 @@
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"
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
28
  fi
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2018-2021 Kirov Ilya <kirovilya@gmail.com>
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018-2021 Kirov Ilya <kirovilya@gmail.com>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.