homey-api 3.0.6 → 3.0.8

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.
@@ -11,10 +11,11 @@ class HomeyAPI {
11
11
 
12
12
  /**
13
13
  * Platforms
14
- * @static
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
- * @static
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
  *
@@ -7,7 +7,7 @@ const HomeyAPIError = require('./HomeyAPIError');
7
7
  /**
8
8
  * @class
9
9
  * @hideconstructor
10
- * @extends APIError
10
+ * @extends HomeyAPIError
11
11
  * @memberof HomeyAPI
12
12
  */
13
13
  class HomeyAPIErrorNotFound extends HomeyAPIError {
@@ -13,7 +13,7 @@ const ManagerInsights = require('./HomeyAPIV2/ManagerInsights');
13
13
  *
14
14
  * @class
15
15
  * @hideconstructor
16
- * @extends HomeyAPI
16
+ * @extends HomeyAPIV3
17
17
  */
18
18
  class HomeyAPIV2 extends HomeyAPIV3 {
19
19
 
@@ -142,7 +142,8 @@ class DeviceCapability extends EventEmitter {
142
142
  /**
143
143
  * Sets a new capability value.
144
144
  * @param {boolean|number|string} value - The new capability value
145
- * @param {object} opts
145
+ * @param {object} [opts]
146
+ * @param {number} [opts.duration]
146
147
  */
147
148
  async setValue(value, opts) {
148
149
  const transactionId = `homey-api-${Util.uuid()}`;
@@ -165,7 +166,7 @@ class DeviceCapability extends EventEmitter {
165
166
  const capabilityReference = this.device.capabilitiesObj && this.device.capabilitiesObj[this.id];
166
167
  if (capabilityReference) {
167
168
  capabilityReference.value = value;
168
- capabilityReference.lastUpdated = this.__lastChanged.toISOString();
169
+ capabilityReference.lastUpdated = this.__lastChanged;
169
170
  }
170
171
  }
171
172
 
@@ -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 HomeyAPIV2
22
+ * @extends HomeyAPI
23
23
  */
24
24
  class HomeyAPIV3 extends HomeyAPI {
25
25
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "homey-api",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
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.1",
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,10 +66,11 @@
64
66
  "eslint": "^7.32.0",
65
67
  "eslint-config-athom": "^2.1.1",
66
68
  "fs-extra": "^10.0.0",
69
+ "homey-api": "^3.0.6",
67
70
  "http-server": "^0.12.3",
68
- "jsdoc": "^3.6.7",
69
- "jsdoc-to-markdown": "^7.1.0",
70
- "jsdoc-ts-utils": "^2.0.1",
71
+ "jsdoc": "^4.0.2",
72
+ "jsdoc-to-markdown": "^8.0.0",
73
+ "jsdoc-ts-utils": "^4.0.0",
71
74
  "jsdoc-tsimport-plugin": "^1.0.5",
72
75
  "keypather": "^3.1.0",
73
76
  "prettier": "^3.0.0",