homebridge-virtual-accessories 3.11.1 → 3.11.3
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/README.md +22 -1
- package/config.schema.json +1 -9
- package/dist/accessories/virtualAccessoryFan.js +1 -2
- package/dist/accessories/virtualAccessoryFan.js.map +1 -1
- package/dist/configuration/accessories/configurationFan.d.ts +0 -1
- package/dist/configuration/accessories/configurationFan.js +2 -8
- package/dist/configuration/accessories/configurationFan.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
- [Synology](#synology)
|
|
37
37
|
- [Configuration](#configuration)
|
|
38
38
|
- [Accessory Configurations](#accessory-configurations)
|
|
39
|
+
- [Air Purifier](#air-purifier)
|
|
39
40
|
- [Battery](#battery)
|
|
40
41
|
- [Door](#door)
|
|
41
42
|
- [Doorbell](#doorbell)
|
|
@@ -94,6 +95,7 @@ The downside to a single plugin is trading ease of accessory maintenance for a s
|
|
|
94
95
|
|
|
95
96
|
Currently, these are the implemented virtual accessories:
|
|
96
97
|
|
|
98
|
+
- **Air Purifier.** Allows you to create a virtual air purifier.
|
|
97
99
|
- **Battery.** Allows you to create a virtual battery service. The "charging state" and "battery level" properties can be set via a [webhook call](#webhook-service-configuration).
|
|
98
100
|
- **Door.** Allows you to create a virtual door.
|
|
99
101
|
- **Doorbell.** Allows you to use a button as a doorbell and have it play a chime on HomePods. Due to [issues with HomeKit](#issues-with-homekit), you will need the free [Eve app](https://www.evehome.com/en-us/eve-app) to control its settings.
|
|
@@ -232,6 +234,26 @@ It is recommended to use the Homebridge UI to configure this plugin, as the requ
|
|
|
232
234
|
|
|
233
235
|
These are example configurations of the virtual accessories and provided for reference only. They are not intended to be exhaustive of all the different permutations and it is recommended that you use the UI to fully explore each accessory's setup.
|
|
234
236
|
|
|
237
|
+
### Air Purifier
|
|
238
|
+
|
|
239
|
+
```json
|
|
240
|
+
{
|
|
241
|
+
"name": "Virtual Accessories Platform",
|
|
242
|
+
"devices": [
|
|
243
|
+
{
|
|
244
|
+
"accessoryID": "1234567",
|
|
245
|
+
"accessoryName": "My Air Purifier",
|
|
246
|
+
"accessoryType": "airpurifier",
|
|
247
|
+
"accessoryIsStateful": false,
|
|
248
|
+
"airPurifier": {
|
|
249
|
+
"rotationSpeed": 32
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
],
|
|
253
|
+
"platform": "VirtualAccessoriesForHomebridge"
|
|
254
|
+
}
|
|
255
|
+
```
|
|
256
|
+
|
|
235
257
|
### Battery
|
|
236
258
|
|
|
237
259
|
```json
|
|
@@ -303,7 +325,6 @@ These are example configurations of the virtual accessories and provided for ref
|
|
|
303
325
|
"accessoryName": "My Fan",
|
|
304
326
|
"accessoryType": "fan",
|
|
305
327
|
"fan": {
|
|
306
|
-
"defaultState": "off",
|
|
307
328
|
"rotationDirection": "clockwise",
|
|
308
329
|
"rotationSpeed": 80
|
|
309
330
|
}
|
package/config.schema.json
CHANGED
|
@@ -216,14 +216,6 @@
|
|
|
216
216
|
"title": "Fan",
|
|
217
217
|
"type": "object",
|
|
218
218
|
"properties": {
|
|
219
|
-
"defaultState": {
|
|
220
|
-
"title": "Default State *",
|
|
221
|
-
"type": "string",
|
|
222
|
-
"oneOf": [
|
|
223
|
-
{ "title": "Off", "enum": ["off"] },
|
|
224
|
-
{ "title": "On", "enum": ["on"] }
|
|
225
|
-
]
|
|
226
|
-
},
|
|
227
219
|
"rotationDirection": {
|
|
228
220
|
"title": "Rotation Direction *",
|
|
229
221
|
"type": "string",
|
|
@@ -1293,7 +1285,7 @@
|
|
|
1293
1285
|
"required": [ "fan" ],
|
|
1294
1286
|
"properties": {
|
|
1295
1287
|
"fan": {
|
|
1296
|
-
"required": [ "
|
|
1288
|
+
"required": [ "rotationDirection", "rotationSpeed" ]
|
|
1297
1289
|
}
|
|
1298
1290
|
}
|
|
1299
1291
|
}
|
|
@@ -19,10 +19,9 @@ export class Fan extends Accessory {
|
|
|
19
19
|
constructor(platform, accessory, accessoryConfiguration) {
|
|
20
20
|
super(platform, accessory, accessoryConfiguration);
|
|
21
21
|
// First configure the device based on the accessory details
|
|
22
|
-
this.defaultState = this.accessoryConfiguration.fan.defaultState === 'on' ? Fan.ON : Fan.OFF;
|
|
23
22
|
const rotationDirection = this.accessoryConfiguration.fan.rotationDirection === 'clockwise' ? Fan.CLOCKWISE : Fan.COUNTER_CLOCKWISE;
|
|
24
23
|
const rotationSpeed = this.accessoryConfiguration.fan.rotationSpeed;
|
|
25
|
-
this.states.FanState =
|
|
24
|
+
this.states.FanState = Fan.OFF;
|
|
26
25
|
this.states.FanRotationDirection = rotationDirection;
|
|
27
26
|
this.states.FanRotationSpeed = rotationSpeed;
|
|
28
27
|
// If the accessory is stateful retrieve stored state
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"virtualAccessoryFan.js","sourceRoot":"","sources":["../../src/accessories/virtualAccessoryFan.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,GAAI,SAAQ,SAAS;IAEhC,MAAM,CAAU,mBAAmB,GAAW,KAAK,CAAC;IAEpD,MAAM,CAAU,EAAE,GAAY,IAAI,CAAC;IACnC,MAAM,CAAU,GAAG,GAAY,KAAK,CAAC;IAErC,MAAM,CAAU,SAAS,GAAW,CAAC,CAAC,CAAU,qEAAqE;IACrH,MAAM,CAAU,iBAAiB,GAAW,CAAC,CAAC,CAAE,6EAA6E;IAE5G,eAAe,GAAW,UAAU,CAAC;IACrC,0BAA0B,GAAW,sBAAsB,CAAC;IAC5D,sBAAsB,GAAW,kBAAkB,CAAC;IAE7D,MAAM,GAAG;QACf,QAAQ,EAAE,GAAG,CAAC,GAAG;QACjB,oBAAoB,EAAE,GAAG,CAAC,SAAS;QACnC,gBAAgB,EAAE,GAAG;KACtB,CAAC;IAEF,YACE,QAAoC,EACpC,SAA4B,EAC5B,sBAA8C;QAE9C,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,sBAAsB,CAAC,CAAC;QAEnD,4DAA4D;QAC5D,
|
|
1
|
+
{"version":3,"file":"virtualAccessoryFan.js","sourceRoot":"","sources":["../../src/accessories/virtualAccessoryFan.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,26 @@
|
|
|
1
1
|
/* eslint-disable curly */
|
|
2
|
-
import {
|
|
2
|
+
import { RotationDirection } from '../schema.js';
|
|
3
3
|
import { Utils } from '../../utils/utils.js';
|
|
4
4
|
/**
|
|
5
5
|
*
|
|
6
6
|
*/
|
|
7
7
|
export class FanConfiguration {
|
|
8
|
-
defaultState;
|
|
9
8
|
rotationDirection;
|
|
10
9
|
rotationSpeed;
|
|
11
10
|
errorFields = [];
|
|
12
11
|
fieldNames = Utils.proxiedPropertiesOf(this);
|
|
13
12
|
isValid(prefix) {
|
|
14
|
-
const isValidDefaultState = (Utils.required(this.defaultState) &&
|
|
15
|
-
PowerState.States.includes(this.defaultState));
|
|
16
13
|
const isValidRotationDirection = (Utils.required(this.rotationDirection) &&
|
|
17
14
|
RotationDirection.Directions.includes(this.rotationDirection));
|
|
18
15
|
const isValidRotationSpeed = (Utils.required(this.rotationSpeed) &&
|
|
19
16
|
Utils.isPercentage(this.rotationSpeed));
|
|
20
17
|
// Store fields failing validation
|
|
21
|
-
if (!isValidDefaultState)
|
|
22
|
-
this.errorFields.push(prefix + '.' + this.fieldNames.defaultState);
|
|
23
18
|
if (!isValidRotationDirection)
|
|
24
19
|
this.errorFields.push(prefix + '.' + this.fieldNames.rotationDirection);
|
|
25
20
|
if (!isValidRotationSpeed)
|
|
26
21
|
this.errorFields.push(prefix + '.' + this.fieldNames.rotationSpeed);
|
|
27
22
|
return [
|
|
28
|
-
(
|
|
29
|
-
isValidRotationDirection &&
|
|
23
|
+
(isValidRotationDirection &&
|
|
30
24
|
isValidRotationSpeed),
|
|
31
25
|
this.errorFields,
|
|
32
26
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurationFan.js","sourceRoot":"","sources":["../../../src/configuration/accessories/configurationFan.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAG1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"configurationFan.js","sourceRoot":"","sources":["../../../src/configuration/accessories/configurationFan.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAG1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAC3B,iBAAiB,CAAU;IAC3B,aAAa,CAAU;IAEf,WAAW,GAAa,EAAE,CAAC;IAE1B,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAEtD,OAAO,CAAC,MAAc;QACpB,MAAM,wBAAwB,GAAY,CACxC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;YACtC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAC9D,CAAC;QAEF,MAAM,oBAAoB,GAAY,CACpC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;YAClC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CACvC,CAAC;QAEF,kCAAkC;QAClC,IAAI,CAAC,wBAAwB;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;QACvG,IAAI,CAAC,oBAAoB;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAE/F,OAAO;YACL,CAAC,wBAAwB;gBACvB,oBAAoB,CAAC;YACvB,IAAI,CAAC,WAAW;SACjB,CAAC;IACJ,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "homebridge-virtual-accessories",
|
|
3
3
|
"displayName": "Virtual Accessories for Homebridge",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "3.11.
|
|
5
|
+
"version": "3.11.3",
|
|
6
6
|
"description": "Virtual HomeKit accessories for Homebridge.",
|
|
7
7
|
"author": "justjam2013",
|
|
8
8
|
"license": "MIT",
|