homey-api 3.0.7 → 3.0.9
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/assets/types/homey-api.d.ts +3356 -12258
- package/assets/types/homey-api.private.d.ts +9207 -33100
- package/lib/HomeyAPI/HomeyAPI.js +5 -3
- package/lib/HomeyAPI/HomeyAPIErrorNotFound.js +1 -1
- package/lib/HomeyAPI/HomeyAPIV2.js +1 -1
- package/lib/HomeyAPI/HomeyAPIV3/Manager.js +1 -1
- package/lib/HomeyAPI/HomeyAPIV3.js +3 -3
- package/package.json +9 -7
package/lib/HomeyAPI/HomeyAPI.js
CHANGED
|
@@ -11,10 +11,11 @@ class HomeyAPI {
|
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Platforms
|
|
14
|
-
* @
|
|
14
|
+
* @memberof HomeyAPI
|
|
15
15
|
* @property {object} PLATFORMS
|
|
16
16
|
* @property {string} PLATFORMS.LOCAL - Homey (2016 — 2019) & Homey Pro (2019 — 2023)
|
|
17
17
|
* @property {string} PLATFORMS.CLOUD - Homey Cloud
|
|
18
|
+
* @static
|
|
18
19
|
*/
|
|
19
20
|
static PLATFORMS = {
|
|
20
21
|
LOCAL: 'local',
|
|
@@ -23,13 +24,14 @@ class HomeyAPI {
|
|
|
23
24
|
|
|
24
25
|
/**
|
|
25
26
|
* Discovery Strategies
|
|
26
|
-
* @
|
|
27
|
+
* @memberof HomeyAPI
|
|
27
28
|
* @property {object} DISCOVERY_STRATEGIES
|
|
28
29
|
* @property {string} DISCOVERY_STRATEGIES.CLOUD - Cloud HTTPS, e.g. `https://abcdef.connect.athom.com`.
|
|
29
30
|
* @property {string} DISCOVERY_STRATEGIES.MDNS - Local HTTP, e.g. `http://homey-abcdef.local`
|
|
30
31
|
* @property {string} DISCOVERY_STRATEGIES.LOCAL - Local HTTP, e.g. `http://192.168.1.100`.
|
|
31
32
|
* @property {string} DISCOVERY_STRATEGIES.LOCAL_SECURE - Local HTTPS, e.g. `https://192-168-1-100.homey.homeylocal.com`.
|
|
32
33
|
* @property {string} DISCOVERY_STRATEGIES.REMOTE_FORWARDED - Remote HTTPS, e.g. `https://12-34-56-78.homey.homeylocal.com:12345`.
|
|
34
|
+
* @static
|
|
33
35
|
*/
|
|
34
36
|
static DISCOVERY_STRATEGIES = {
|
|
35
37
|
MDNS: 'mdns',
|
|
@@ -177,7 +179,7 @@ class HomeyAPI {
|
|
|
177
179
|
* Creates a {@link HomeyAPIV3Local} or {@link HomeyAPIV2} instance for use in the Apps SDK.
|
|
178
180
|
* @param {Object} opts
|
|
179
181
|
* @param {Homey} opts.homey — Homey (Apps SDK) instance.
|
|
180
|
-
* @param {Function|null} opts.debug — Debug function, defaults to `null`.
|
|
182
|
+
* @param {Function|null} [opts.debug=null] — Debug function, defaults to `null`.
|
|
181
183
|
* @example
|
|
182
184
|
* const { HomeyAPI } = require('homey-api');
|
|
183
185
|
*
|
|
@@ -19,7 +19,7 @@ const Manager = require('./HomeyAPIV3/Manager');
|
|
|
19
19
|
* An authenticated Homey API. Do not construct this class manually.
|
|
20
20
|
* @class
|
|
21
21
|
* @hideconstructor
|
|
22
|
-
* @extends
|
|
22
|
+
* @extends HomeyAPI
|
|
23
23
|
*/
|
|
24
24
|
class HomeyAPIV3 extends HomeyAPI {
|
|
25
25
|
|
|
@@ -703,8 +703,8 @@ class HomeyAPIV3 extends HomeyAPI {
|
|
|
703
703
|
});
|
|
704
704
|
})
|
|
705
705
|
.catch(async err => {
|
|
706
|
-
// If token is expired, try to refresh
|
|
707
|
-
if (err.statusCode === 401) {
|
|
706
|
+
// If token is expired, try to refresh, statusCode is for apiVersion 3 and code for apiVersion 2.
|
|
707
|
+
if (err.statusCode === 401 || err.code === 401) {
|
|
708
708
|
this.__debug('Token expired, refreshing...');
|
|
709
709
|
await this.logout();
|
|
710
710
|
await this.login();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "homey-api",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.9",
|
|
4
4
|
"description": "Homey API",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -24,12 +24,14 @@
|
|
|
24
24
|
"webpack": "webpack",
|
|
25
25
|
"webpack:watch": "webpack --watch",
|
|
26
26
|
"jsdoc": "npm run jsdoc:clean; cp -r ./lib/ ./build/jsdoc-tmp; npm run generate-specs; npm run generate-jsdoc; jsdoc --configure ./jsdoc.json --recurse; jsdoc --configure ./jsdoc.json --recurse --private --destination ./jsdoc/private; rm ./jsdoc/*.js.html;",
|
|
27
|
+
"jsdoc:only": "jsdoc --configure ./jsdoc.json --recurse; jsdoc --configure ./jsdoc.json --recurse --private --destination ./jsdoc/private; rm ./jsdoc/*.js.html;",
|
|
27
28
|
"jsdoc:clean": "rm -rf ./build/jsdoc/; rm -rf ./build/jsdoc-tmp/",
|
|
28
29
|
"jsdoc:watch": "watch \"npm run jsdoc:clean; npm run generate-jsdoc; npm run jsdoc;\" lib \"node_modules/@athombv/jsdoc-template\" --interval 0.5",
|
|
29
30
|
"jsdoc:serve": "http-server ./jsdoc/",
|
|
30
31
|
"generate-specs": "node tools/generate-specs.js",
|
|
31
32
|
"generate-jsdoc": "node tools/generate-jsdoc.js",
|
|
32
|
-
"generate-types": "node tools/generate-types.js",
|
|
33
|
+
"generate-types": "node tools/generate-types.js && prettier --write assets/types",
|
|
34
|
+
"validate-types": "npx tsc --noEmit ./assets/types/homey-api.d.ts",
|
|
33
35
|
"example-browser": "http-server ./examples/browser/ --port 80"
|
|
34
36
|
},
|
|
35
37
|
"repository": {
|
|
@@ -52,7 +54,7 @@
|
|
|
52
54
|
"socket.io-client": "^2.5.0"
|
|
53
55
|
},
|
|
54
56
|
"devDependencies": {
|
|
55
|
-
"@athombv/jsdoc-template": "^1.6.
|
|
57
|
+
"@athombv/jsdoc-template": "^1.6.2",
|
|
56
58
|
"@babel/core": "^7.16.0",
|
|
57
59
|
"@babel/plugin-proposal-class-properties": "^7.16.0",
|
|
58
60
|
"@babel/preset-env": "^7.16.0",
|
|
@@ -64,11 +66,11 @@
|
|
|
64
66
|
"eslint": "^7.32.0",
|
|
65
67
|
"eslint-config-athom": "^2.1.1",
|
|
66
68
|
"fs-extra": "^10.0.0",
|
|
67
|
-
"homey-api": "^3.0.
|
|
69
|
+
"homey-api": "^3.0.8",
|
|
68
70
|
"http-server": "^0.12.3",
|
|
69
|
-
"jsdoc": "^
|
|
70
|
-
"jsdoc-to-markdown": "^
|
|
71
|
-
"jsdoc-ts-utils": "^
|
|
71
|
+
"jsdoc": "^4.0.2",
|
|
72
|
+
"jsdoc-to-markdown": "^8.0.0",
|
|
73
|
+
"jsdoc-ts-utils": "^4.0.0",
|
|
72
74
|
"jsdoc-tsimport-plugin": "^1.0.5",
|
|
73
75
|
"keypather": "^3.1.0",
|
|
74
76
|
"prettier": "^3.0.0",
|