node-switchbot 1.10.0 → 2.0.0-beta.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.
Files changed (94) hide show
  1. package/.gitattributes +2 -0
  2. package/.github/dependabot.yml +17 -0
  3. package/.github/labeler.yml +38 -0
  4. package/.github/npm-version-script.cjs +81 -0
  5. package/.github/workflows/beta-release.yml +31 -0
  6. package/.github/workflows/build.yml +18 -0
  7. package/.github/workflows/changerelease.yml +13 -0
  8. package/.github/workflows/dependabot.yml +17 -0
  9. package/.github/workflows/labeler.yml +16 -0
  10. package/.github/workflows/release-drafter.yml +14 -0
  11. package/.github/workflows/release.yml +24 -0
  12. package/.github/workflows/stale.yml +12 -0
  13. package/CHANGELOG.md +308 -0
  14. package/dist/advertising.d.ts +172 -0
  15. package/dist/advertising.d.ts.map +1 -0
  16. package/dist/advertising.js +620 -0
  17. package/dist/advertising.js.map +1 -0
  18. package/dist/device/woblindtilt.d.ts +9 -0
  19. package/dist/device/woblindtilt.d.ts.map +1 -0
  20. package/dist/device/woblindtilt.js +108 -0
  21. package/dist/device/woblindtilt.js.map +1 -0
  22. package/dist/device/wobulb.d.ts +39 -0
  23. package/dist/device/wobulb.d.ts.map +1 -0
  24. package/dist/device/wobulb.js +156 -0
  25. package/dist/device/wobulb.js.map +1 -0
  26. package/dist/device/wocontact.d.ts +4 -0
  27. package/dist/device/wocontact.d.ts.map +1 -0
  28. package/dist/device/wocontact.js +8 -0
  29. package/dist/device/wocontact.js.map +1 -0
  30. package/dist/device/wocurtain.d.ts +9 -0
  31. package/dist/device/wocurtain.d.ts.map +1 -0
  32. package/dist/device/wocurtain.js +104 -0
  33. package/dist/device/wocurtain.js.map +1 -0
  34. package/dist/device/wohand.d.ts +10 -0
  35. package/dist/device/wohand.d.ts.map +1 -0
  36. package/dist/device/wohand.js +93 -0
  37. package/dist/device/wohand.js.map +1 -0
  38. package/dist/device/wohumi.d.ts +10 -0
  39. package/dist/device/wohumi.d.ts.map +1 -0
  40. package/dist/device/wohumi.js +93 -0
  41. package/dist/device/wohumi.js.map +1 -0
  42. package/dist/device/woiosensorth.d.ts +4 -0
  43. package/dist/device/woiosensorth.d.ts.map +1 -0
  44. package/dist/device/woiosensorth.js +4 -0
  45. package/dist/device/woiosensorth.js.map +1 -0
  46. package/dist/device/woplugmini.d.ts +31 -0
  47. package/dist/device/woplugmini.d.ts.map +1 -0
  48. package/dist/device/woplugmini.js +68 -0
  49. package/dist/device/woplugmini.js.map +1 -0
  50. package/dist/device/wopresence.d.ts +4 -0
  51. package/dist/device/wopresence.d.ts.map +1 -0
  52. package/dist/device/wopresence.js +4 -0
  53. package/dist/device/wopresence.js.map +1 -0
  54. package/dist/device/wosensorth.d.ts +4 -0
  55. package/dist/device/wosensorth.d.ts.map +1 -0
  56. package/dist/device/wosensorth.js +4 -0
  57. package/dist/device/wosensorth.js.map +1 -0
  58. package/dist/device/wostrip.d.ts +39 -0
  59. package/dist/device/wostrip.d.ts.map +1 -0
  60. package/dist/device/wostrip.js +145 -0
  61. package/dist/device/wostrip.js.map +1 -0
  62. package/dist/device.d.ts +46 -0
  63. package/dist/device.d.ts.map +1 -0
  64. package/dist/device.js +498 -0
  65. package/dist/device.js.map +1 -0
  66. package/dist/index.d.ts +2 -0
  67. package/dist/index.d.ts.map +1 -0
  68. package/dist/index.js +6 -0
  69. package/dist/index.js.map +1 -0
  70. package/dist/parameter-checker.d.ts +25 -0
  71. package/dist/parameter-checker.d.ts.map +1 -0
  72. package/dist/parameter-checker.js +488 -0
  73. package/dist/parameter-checker.js.map +1 -0
  74. package/dist/switchbot.d.ts +29 -0
  75. package/dist/switchbot.d.ts.map +1 -0
  76. package/dist/switchbot.js +461 -0
  77. package/dist/switchbot.js.map +1 -0
  78. package/errros.log +13 -0
  79. package/package.json +19 -12
  80. package/lib/parameter-checker.js +0 -524
  81. package/lib/switchbot-advertising.js +0 -713
  82. package/lib/switchbot-device-woblindtilt.js +0 -120
  83. package/lib/switchbot-device-wobulb.js +0 -188
  84. package/lib/switchbot-device-wocontact.js +0 -6
  85. package/lib/switchbot-device-wocurtain.js +0 -117
  86. package/lib/switchbot-device-wohand.js +0 -106
  87. package/lib/switchbot-device-wohumi.js +0 -106
  88. package/lib/switchbot-device-woiosensorth.js +0 -6
  89. package/lib/switchbot-device-woplugmini.js +0 -84
  90. package/lib/switchbot-device-wopresence.js +0 -6
  91. package/lib/switchbot-device-wosensorth.js +0 -6
  92. package/lib/switchbot-device-wostrip.js +0 -182
  93. package/lib/switchbot-device.js +0 -536
  94. package/lib/switchbot.js +0 -496
package/.gitattributes ADDED
@@ -0,0 +1,2 @@
1
+ # Auto detect text files and perform LF normalization
2
+ * text=auto
@@ -0,0 +1,17 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: 'npm' # See documentation for possible values
9
+ directory: '/' # Location of package manifests
10
+ target-branch: 'beta-*.*.*'
11
+ schedule:
12
+ interval: 'daily'
13
+ - package-ecosystem: 'github-actions' # See documentation for possible values
14
+ directory: '/' # Location of package manifests
15
+ target-branch: 'beta-*.*.*'
16
+ schedule:
17
+ interval: 'daily'
@@ -0,0 +1,38 @@
1
+ # Add 'branding' label to any changes within 'docs' folder or any subfolders
2
+ branding:
3
+ - changed-files:
4
+ - any-glob-to-any-file: branding/**
5
+
6
+ # Add 'docs' label to any change to .md files within the entire repository
7
+ docs:
8
+ - changed-files:
9
+ - any-glob-to-any-file: '**/*.md'
10
+
11
+ # Add 'enhancement' label to any change to src files within the source dir EXCEPT for the docs sub-folder
12
+ enhancement:
13
+ - changed-files:
14
+ - any-glob-to-any-file: 'src/**/*'
15
+ - any-glob-to-any-file: 'config.schema.json'
16
+
17
+ # Add 'dependencies' label to any change to src files within the source dir EXCEPT for the docs sub-folder
18
+ dependencies:
19
+ - changed-files:
20
+ - any-glob-to-any-file: 'package.json'
21
+ - any-glob-to-any-file: 'package-lock.json'
22
+
23
+ # Add 'beta' label to any PR that is opened against the `beta` branch
24
+ beta:
25
+ - base-branch: 'beta*'
26
+
27
+ # Add 'alpha' label to any PR that is opened against the `alpha` branch
28
+ alpha:
29
+ - base-branch: 'alpha*'
30
+
31
+ # Add 'latest' label to any PR that is opened against the `latest` branch
32
+ latest:
33
+ - base-branch: 'latest'
34
+
35
+ # Add 'workflow' to any changes within 'workflow' folder or any subfolders
36
+ workflow:
37
+ - changed-files:
38
+ - any-glob-to-any-file: .github/**
@@ -0,0 +1,81 @@
1
+ #!/bin/env node
2
+
3
+ /**
4
+ * This scripts queries the npm registry to pull out the latest version for a given tag.
5
+ */
6
+
7
+ const fs = require("fs");
8
+ const semver = require("semver");
9
+ const child_process = require("child_process");
10
+ const assert = require("assert");
11
+
12
+ const BRANCH_VERSION_PATTERN = /^([A-Za-z]*)-(\d+.\d+.\d+)$/
13
+
14
+ // Load the contents of the package.json file
15
+ const packageJSON = JSON.parse(fs.readFileSync("package.json", "utf8"));
16
+
17
+ let refArgument = process.argv[2];
18
+ let tagArgument = process.argv[3] || "latest";
19
+
20
+ if (refArgument == null) {
21
+ console.error("ref argument is missing");
22
+ console.error("Usage: npm-version-script.cjs <ref> [tag]");
23
+ process.exit(1);
24
+ }
25
+
26
+ /**
27
+ * Queries the NPM registry for the latest version for the provided tag.
28
+ * @param tag The tag to query for.
29
+ * @returns {string} Returns the version.
30
+ */
31
+ function getTagVersionFromNpm(tag) {
32
+ try {
33
+ return child_process.execSync(`npm info ${packageJSON.name} version --tag="${tag}"`).toString("utf8").trim();
34
+ } catch (e) {
35
+ throw e;
36
+ }
37
+ }
38
+
39
+ function desiredTargetVersion(ref) {
40
+ // ref is a GitHub action ref string
41
+ if (ref.startsWith("refs/pull/")) {
42
+ throw Error("The version script was executed inside a PR!");
43
+ }
44
+
45
+ assert(ref.startsWith("refs/heads/"))
46
+ let branchName = ref.slice("refs/heads/".length);
47
+
48
+ let results = branchName.match(BRANCH_VERSION_PATTERN);
49
+ if (results != null) {
50
+ if (results[1] !== tagArgument) {
51
+ console.warn(`The base branch name (${results[1]}) differs from the tag name ${tagArgument}`);
52
+ }
53
+
54
+ return results[2];
55
+ }
56
+
57
+ // legacy mode were we use the `betaVersion` property in the package.json
58
+ if (branchName === "beta" && packageJSON.betaVersion) {
59
+ return packageJSON.betaVersion
60
+ }
61
+
62
+ throw new Error("Malformed branch name for ref: " + ref + ". Can't derive the base version. Use a branch name like: beta-x.x.x!");
63
+ }
64
+
65
+ // derive the base version from the branch ref
66
+ const baseVersion = desiredTargetVersion(refArgument);
67
+
68
+ // query the npm registry for the latest version of the provided tag name
69
+ const latestReleasedVersion = getTagVersionFromNpm(tagArgument); // e.g. 0.7.0-beta.12
70
+ const latestReleaseBase = semver.inc(latestReleasedVersion, "patch"); // will produce 0.7.0 (removing the preid, needed for the equality check below)
71
+
72
+ let publishTag;
73
+ if (semver.eq(baseVersion, latestReleaseBase)) { // check if we are releasing another version for the latest beta
74
+ publishTag = latestReleasedVersion; // set the current latest beta to be incremented
75
+ } else {
76
+ publishTag = baseVersion; // start of with a new beta version
77
+ }
78
+
79
+ // save the package.json
80
+ packageJSON.version = publishTag;
81
+ fs.writeFileSync("package.json", JSON.stringify(packageJSON, null, 2));
@@ -0,0 +1,31 @@
1
+ name: Node-CI Beta
2
+
3
+ on:
4
+ push:
5
+ branches: [beta-*.*.*, beta]
6
+ workflow_dispatch:
7
+
8
+ jobs:
9
+ build_and_test:
10
+ uses: OpenWonderLabs/.github/.github/workflows/nodejs-build-and-test.yml@latest
11
+ with:
12
+ enable_coverage: true
13
+ secrets:
14
+ token: ${{ secrets.GITHUB_TOKEN }}
15
+ lint:
16
+ needs: build_and_test
17
+ uses: OpenWonderLabs/.github/.github/workflows/eslint.yml@latest
18
+
19
+ publish:
20
+ needs: lint
21
+
22
+ if: ${{ github.repository == 'OpenWonderLabs/node-switchbot' }}
23
+
24
+ uses: OpenWonderLabs/.github/.github/workflows/npm-publish.yml@latest
25
+ with:
26
+ tag: 'beta'
27
+ dynamically_adjust_version: true
28
+ npm_version_command: 'pre'
29
+ pre_id: 'beta'
30
+ secrets:
31
+ npm_auth_token: ${{ secrets.npm_token }}
@@ -0,0 +1,18 @@
1
+ name: Node Build
2
+
3
+ on:
4
+ push:
5
+ branches: [latest]
6
+ pull_request:
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ build_and_test:
11
+ uses: OpenWonderLabs/.github/.github/workflows/nodejs-build-and-test.yml@latest
12
+ with:
13
+ enable_coverage: true
14
+ secrets:
15
+ token: ${{ secrets.GITHUB_TOKEN }}
16
+ lint:
17
+ needs: build_and_test
18
+ uses: OpenWonderLabs/.github/.github/workflows/eslint.yml@latest
@@ -0,0 +1,13 @@
1
+ name: Changelog to Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ push:
6
+ paths: [CHANGELOG.md]
7
+ branches: [latest]
8
+
9
+ jobs:
10
+ changerelease:
11
+ uses: OpenWonderLabs/.github/.github/workflows/changerelease.yml@latest
12
+ secrets:
13
+ token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,17 @@
1
+ name: AutoDependabot
2
+
3
+ on:
4
+ pull_request:
5
+ branches:
6
+ - beta
7
+ - latest
8
+ pull_request_target:
9
+ branches:
10
+ - beta
11
+ - latest
12
+
13
+ jobs:
14
+ label:
15
+ uses: OpenWonderLabs/.github/.github/workflows/dependabot.yml@latest
16
+ secrets:
17
+ token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,16 @@
1
+ # This workflow will triage pull requests and apply a label based on the
2
+ # paths that are modified in the pull request.
3
+ #
4
+ # To use this workflow, you will need to set up a .github/labeler.yml
5
+ # file with configuration. For more information, see:
6
+ # https://github.com/actions/labeler/blob/main/README.md
7
+
8
+ name: Labeler
9
+
10
+ on: [pull_request]
11
+
12
+ jobs:
13
+ label:
14
+ uses: OpenWonderLabs/.github/.github/workflows/labeler.yml@latest
15
+ secrets:
16
+ token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,14 @@
1
+ name: Release Drafter
2
+
3
+ on:
4
+ push:
5
+ branches: [latest]
6
+ pull_request: # required for autolabeler
7
+ types: [opened, reopened, synchronize]
8
+ workflow_dispatch:
9
+
10
+ jobs:
11
+ stale:
12
+ uses: OpenWonderLabs/.github/.github/workflows/release-drafter.yml@latest
13
+ secrets:
14
+ token: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,24 @@
1
+ name: Node Release
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - 'v*.*.*'
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ build_and_test:
11
+ uses: OpenWonderLabs/.github/.github/workflows/nodejs-build-and-test.yml@latest
12
+ with:
13
+ enable_coverage: true
14
+ secrets:
15
+ token: ${{ secrets.GITHUB_TOKEN }}
16
+
17
+ publish:
18
+ needs: build_and_test
19
+
20
+ if: ${{ github.repository == 'OpenWonderLabs/node-switchbot' }}
21
+
22
+ uses: OpenWonderLabs/.github/.github/workflows/npm-publish.yml@latest
23
+ secrets:
24
+ npm_auth_token: ${{ secrets.npm_token }}
@@ -0,0 +1,12 @@
1
+ name: Stale workflow
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ schedule:
6
+ - cron: '45 11 * * *'
7
+
8
+ jobs:
9
+ stale:
10
+ uses: OpenWonderLabs/.github/.github/workflows/stale.yml@latest
11
+ secrets:
12
+ token: ${{ secrets.GITHUB_TOKEN }}
package/CHANGELOG.md ADDED
@@ -0,0 +1,308 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file. This project uses [Semantic Versioning](https://semver.org/)
4
+
5
+ ## [1.10.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.10.0) (2024-1-5)
6
+
7
+ ### What's Changed
8
+ - Fix reversed bot state reporting, Thanks [@grelca](https://github.com/grelca) [#207](https://github.com/OpenWonderLabs/node-switchbot/pull/207)
9
+ - Add support for Curtain 3, Thanks [@tsia](https://github.com/tsia) [#209](https://github.com/OpenWonderLabs/node-switchbot/pull/209)
10
+ - Housekeeping and update dependencies
11
+
12
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.9.1...v1.10.0
13
+
14
+ ## [1.9.1](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.9.1) (2023-11-2)
15
+
16
+ ### What's Changed
17
+ - Housekeeping and update dependencies
18
+
19
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.9.0...v1.9.1
20
+
21
+ ## [1.9.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.9.0) (2023-09-16)
22
+
23
+ ### What's Changed
24
+ - Add support for the Indoor/Outdoor Thermo-Hygrometer (WoIOSensorTH), Thanks [@moritzmhmk](https://github.com/moritzmhmk) [#200](https://github.com/OpenWonderLabs/node-switchbot/pull/200)
25
+ - Handle noble not being "poweredOn" on init, Thanks [@moritzmhmk](https://github.com/moritzmhmk) [#199](https://github.com/OpenWonderLabs/node-switchbot/pull/199)
26
+ - Housekeeping and update dependencies
27
+
28
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.8.2...v1.9.0
29
+
30
+ ## [1.8.2](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.8.2) (2023-07-25)
31
+
32
+ ### What's Changed
33
+ - Added Lint Script, Thanks [@dnicolson](https://github.com/dnicolson) [#195](https://github.com/OpenWonderLabs/node-switchbot/pull/195)
34
+ - Fixed a Linting Issues, Thanks [@dnicolson](https://github.com/dnicolson) [#196](https://github.com/OpenWonderLabs/node-switchbot/pull/196)
35
+ - Fixed 'TypeError: Assignment to constant variable', Thanks [@banboobee](https://github.com/banboobee) [#194](https://github.com/OpenWonderLabs/node-switchbot/pull/194)
36
+ - Fix issue of re-assigning to constant for Temperature, Thanks [@gravity-addiction](https://github.com/gravity-addiction) [#191](https://github.com/OpenWonderLabs/node-switchbot/pull/191)
37
+ - Housekeeping and update dependencies
38
+
39
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.8.1...v1.8.2
40
+
41
+ ## [1.8.1](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.8.1) (2023-04-08)
42
+
43
+ ### What's Changed
44
+ - Use const keyword for immutable variables, Thanks [@dnicolson](https://github.com/dnicolson/). [#184](https://github.com/OpenWonderLabs/node-switchbot/pull/184)
45
+ - Use Error object for promise rejection, Thanks [@dnicolson](https://github.com/dnicolson/). [#181](https://github.com/OpenWonderLabs/node-switchbot/pull/181)
46
+ - Housekeeping and update dependencies
47
+
48
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.8.0...v1.8.1
49
+
50
+ ## [1.8.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.8.0) (2023-01-28)
51
+
52
+ ### What's Changed
53
+
54
+ - Add Support for BlindTilt (Read Only)
55
+ - Use Error object for promise rejection, Thanks [@dnicolson](https://github.com/dnicolson/). [#181](https://github.com/OpenWonderLabs/node-switchbot/pull/181)
56
+ - Housekeeping and update dependencies
57
+
58
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.7.3...v1.8.0
59
+
60
+ ## [1.7.3](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.7.3) (2023-01-05)
61
+
62
+ ### What's Changed
63
+
64
+ - Improve error handling, Thanks [@dnicolson](https://github.com/dnicolson/). [#175](https://github.com/OpenWonderLabs/node-switchbot/pull/175)
65
+ - Housekeeping and update dependencies
66
+
67
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.7.2...v1.7.3
68
+
69
+ ## [1.7.2](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.7.2) (2022-12-26)
70
+
71
+ ### What's Changed
72
+
73
+ - Fix for @abandonware/nobles breaking changes that cause: `TypeError: this.noble.once is not a function`.
74
+
75
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.7.1...v1.7.2
76
+
77
+ ## [1.7.1](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.7.1) (2022-12-20)
78
+
79
+ ### What's Changed
80
+
81
+ - Fix for @abandonware/nobles breaking changes that cause: `TypeError: this.noble.once is not a function`.
82
+
83
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.7.0...v1.7.1
84
+
85
+ ## [1.7.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.7.0) (2022-12-08)
86
+
87
+ ### What's Changed
88
+
89
+ - Add Read-only Support for Smart Lock.
90
+
91
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.6.1...v1.7.0
92
+
93
+ ## [1.6.1](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.6.1) (2022-10-18)
94
+
95
+ ### What's Changed
96
+
97
+ - Fixed Issue where node-switchbot wouldn't be found.
98
+
99
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.6.0...v1.6.1
100
+
101
+ ## [1.6.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.6.0) (2022-10-18)
102
+
103
+ ### What's Changed
104
+
105
+ - Added Support for Pushing Changes to Color Bulb & Strip Light
106
+ - Housekeeping and update dependencies
107
+
108
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.5.0...v1.6.0
109
+
110
+ ## [1.5.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.5.0) (2022-10-07)
111
+
112
+ ### What's Changed
113
+
114
+ - Added Support for receiving status updates from Color Bulb & Strip Light
115
+ - Fixed issue that caused excessive logging.
116
+ - Housekeeping and update dependencies
117
+
118
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.4.1...v1.5.0
119
+
120
+ ## [1.4.1](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.4.1) (2022-08-27)
121
+
122
+ ### What's Changed
123
+
124
+ - Fix Plug Mini (US) implimentation
125
+ - Housekeeping and update dependencies
126
+
127
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.4.0...v1.4.1
128
+
129
+ ## [1.4.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.4.0) (2022-08-19)
130
+
131
+ ### What's Changed
132
+
133
+ - Added support for Plug Mini (j) & (g)
134
+ - Housekeeping and update dependencies
135
+
136
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.3.0...v1.4.0
137
+
138
+ ## [1.3.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.3.0) (2022-06-25)
139
+
140
+ ### What's Changed
141
+
142
+ - Added more Device Types, not all supported though.
143
+ - Housekeeping and update dependencies
144
+
145
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.2.0...v1.3.0
146
+
147
+ ## [1.2.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.2.0) (2022-03-04)
148
+
149
+ ### What's Changed
150
+
151
+ - Added support for SwitchBot "Contact" and "Motion"
152
+ - Fix for Curtains on Firmware v3.3 and above
153
+ - Housekeeping and update dependencies
154
+
155
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.1.2...v1.2.0
156
+
157
+ ## [1.1.2](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.1.2) (2021-11-13)
158
+
159
+ ### What's Changed
160
+
161
+ - Housekeeping and update dependencies
162
+
163
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.1.1...v1.1.2
164
+
165
+ ## [1.1.1](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.1.1) (2021-11-02)
166
+
167
+ ### What's Changed
168
+
169
+ - Change back from @node/noble to @abandonware/noble
170
+
171
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.1.0...v1.1.1
172
+
173
+ ## [1.1.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.1.0) (2021-10-26)
174
+
175
+ ### What's Changed
176
+
177
+ - Add Contact/Motion Sensor advertisement
178
+ - Add Humidifier advertisement
179
+ - Correct Model for advertisement
180
+
181
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.0.8...v1.1.0
182
+
183
+ ## [1.0.8](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.0.8) (2021-09-30)
184
+
185
+ ### What's Changed
186
+
187
+ - fix extra trace of old noble from @abandonware/noble
188
+
189
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.0.7...v1.0.8
190
+
191
+ ## [1.0.7](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.0.7) (2021-09-24)
192
+
193
+ ### What's Changed
194
+
195
+ - Change from @abandonware/noble to @homebridge/noble
196
+
197
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.0.6...v1.0.7
198
+
199
+ ## [1.0.6](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.0.6) (2021-08-29)
200
+
201
+ ### What's Changed
202
+
203
+ - Fixes FATAL ERROR: ad_id is not defined
204
+
205
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.0.5...v1.0.6
206
+
207
+ ## [1.0.5](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.0.5) (2021-08-04)
208
+
209
+ ### What's Changed
210
+
211
+ - Adding code for Contact and Motion Sensors
212
+ - Not Ready to be used yet though
213
+
214
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.0.4...v1.0.5
215
+
216
+ ## [1.0.4](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.0.4) (2021-08-03)
217
+
218
+ ### What's Changed
219
+
220
+ - Support for the discover method with id on macOS
221
+
222
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.0.3...v1.0.4
223
+
224
+ ## [1.0.3](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.0.3) (2021-07-30)
225
+
226
+ ### What's Changed
227
+
228
+ - Fixed misspelling.
229
+
230
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.0.2...v1.0.3
231
+
232
+ ## [1.0.2](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.0.2) (2021-07-29)
233
+
234
+ ### What's Changed
235
+
236
+ - Housekeeping and update dependencies
237
+
238
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.0.1...v1.0.2
239
+
240
+ ## [1.0.1](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.0.1) (2021-07-29)
241
+
242
+ ### What's Changed
243
+
244
+ - Fixed issue where after switching Bluetooth off and on, would not work properly.
245
+
246
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v1.0.0...v1.0.1
247
+
248
+ ## [1.0.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v1.0.0) (2021-01-21)
249
+
250
+ ### What's Changed
251
+
252
+ - - fix "No device was found" in MacOS
253
+
254
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v0.2.0...v1.0.0
255
+
256
+ ## [0.2.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v0.2.0) (2020-11-05)
257
+
258
+ ### What's Changed
259
+
260
+ - Modify Curtain's action command to support group and running mode. (Thanks to [@SwitchBot-Wonderlabs](https://github.com/OpenWonderLabs/node-switchbot/pull/7/))
261
+
262
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v0.1.0...v0.2.0
263
+
264
+ ## [0.1.0](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v0.1.0) (2020-10-28)
265
+
266
+ ### What's Changed
267
+
268
+ - Added support for SwitchBot Curtain. (Thanks to [@SwitchBot-Wonderlabs](https://github.com/OpenWonderLabs/node-switchbot/pull/6/))
269
+ - Added support for running on the Raspberry Pi Zero W. (Thanks to [@zizi4n5](https://github.com/OpenWonderLabs/node-switchbot/pull/5))
270
+
271
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v0.0.5...v0.1.0
272
+
273
+ ## [0.0.5](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v0.0.5) (2020-02-19)
274
+
275
+ ### What's Changed
276
+
277
+ - Improved the stability of discovering the BLE characteristics. (Thanks to [@dnicolson](https://github.com/OpenWonderLabs/node-switchbot/issues/3))
278
+
279
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v0.0.4...v0.0.5
280
+
281
+ ## [0.0.4](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v0.0.4) (2020-02-11)
282
+
283
+ ### What's Changed
284
+
285
+ - Fixed the bug that temperature value lower than 0 degC could not be handled. (Thanks to [@musimasami](https://github.com/OpenWonderLabs/node-switchbot/issues/2))
286
+
287
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v0.0.3...v0.0.4
288
+
289
+ ## [0.0.3](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v0.0.3) (2020-02-10)
290
+
291
+ ### What's Changed
292
+
293
+ - Now the characteristic UUID `0x2a00` (Device Name) is not mandatory. Some models of Bot don't seem to support the characteristic. (Thanks to [@dnicolson](https://github.com/OpenWonderLabs/node-switchbot/issues/1))
294
+ - Fixed the bug that the `turnOn()` method returns an error if the "Press mode" is selected on the Bot.
295
+
296
+ **Full Changelog**: https://github.com/OpenWonderLabs/node-switchbot/compare/v0.0.2...v0.0.3
297
+
298
+ ## [0.0.2](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v0.0.2) (2019-11-20)
299
+
300
+ ### What's Changed
301
+
302
+ - First public release
303
+
304
+ ## [0.0.1](https://github.com/OpenWonderLabs/node-switchbot/releases/tag/v0.0.1) (2019-11-20)
305
+
306
+ ### What's Changed
307
+
308
+ - Initial commit