homebridge-dummy 1.3.2-beta.0 → 1.3.2
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/CHANGELOG.md +5 -4
- package/README.md +12 -5
- package/config.schema.json +5 -5
- package/dist/accessory/helpers.js +3 -0
- package/dist/accessory/helpers.js.map +1 -1
- package/dist/accessory/position/garage.d.ts +15 -0
- package/dist/accessory/position/garage.js +31 -0
- package/dist/accessory/position/garage.js.map +1 -0
- package/dist/accessory/position/position.d.ts +10 -3
- package/dist/accessory/position/position.js +35 -17
- package/dist/accessory/position/position.js.map +1 -1
- package/dist/homebridge-ui/public/index.html +1 -1
- package/dist/homebridge-ui/public/ui.js +1 -1
- package/dist/i18n/de.d.ts +1 -0
- package/dist/i18n/en.d.ts +1 -0
- package/dist/i18n/en.js +2 -1
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts +1 -0
- package/dist/i18n/i18n.d.ts +1 -0
- package/dist/i18n/ru.d.ts +1 -0
- package/dist/i18n/template.d.ts +1 -0
- package/dist/model/enums.d.ts +2 -0
- package/dist/model/enums.js +2 -0
- package/dist/model/enums.js.map +1 -1
- package/dist/model/types.d.ts +1 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to homebridge-dummy will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## 1.3.2
|
|
5
|
+
## 1.3.2 (2025-10-24)
|
|
6
6
|
|
|
7
|
-
### ‼️ WARNING ‼️ If upgrading from v0.9.2 or earlier, [READ THIS](https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration)
|
|
7
|
+
### ‼️ WARNING ‼️ — If upgrading from v0.9.2 or earlier, [READ THIS FIRST](https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration)
|
|
8
8
|
|
|
9
|
-
### ⚠️
|
|
9
|
+
### ⚠️ Upcoming Breaking Change
|
|
10
10
|
|
|
11
|
-
I
|
|
11
|
+
I plan to remove `Thermostat` as a supported accessory type from a future version. If you use `Thermostat`, please add your use case to [this ticket](https://github.com/mpatfield/homebridge-dummy/issues/207) and I will help you find an alternative.
|
|
12
12
|
|
|
13
13
|
### Added
|
|
14
|
+
- Support for `GarageDoorOpener`
|
|
14
15
|
- Русский перевод. Спасибо, [@Silverdragon122](https://github.com/sponsors/Silverdragon122)!
|
|
15
16
|
|
|
16
17
|
## 1.3.1 (2025-10-18)
|
package/README.md
CHANGED
|
@@ -86,7 +86,7 @@ The first thing the flow does is create a backup called `config.json.bak` in you
|
|
|
86
86
|
|
|
87
87
|
With this plugin, you can create any number of fake accessories which are useful for advanced automation with HomeKit scenes. Features include scheduling to trigger at a specific interval or times, resetting automatically after a delay, activating sensors such as motion or occupancy, running arbitrary commands such as cron, and more.
|
|
88
88
|
|
|
89
|
-
Currently, Doors, Lightbulbs, Locks, Outlets, Switches, Thermostats, Windows, and
|
|
89
|
+
Currently, Doors, Garage Door Openers, Lightbulbs, Locks, Outlets, Switches, Thermostats, Windows, and Window Coverings are supported. If there is a particular device or feature you'd like to see, please [create an issue](https://github.com/mpatfield/homebridge-dummy/issues/new?template=new-issue.md).
|
|
90
90
|
|
|
91
91
|
## Configuration
|
|
92
92
|
|
|
@@ -99,7 +99,7 @@ Using the Homebridge Config UI is the easiest way to set up this plugin. However
|
|
|
99
99
|
{
|
|
100
100
|
"id": "string",
|
|
101
101
|
"name": "string",
|
|
102
|
-
"type": "Door | Lightbulb | LockMechanism | Outlet | Switch | Thermostat | Window | WindowCovering",
|
|
102
|
+
"type": "Door | GarageDoorOpener | Lightbulb | LockMechanism | Outlet | Switch | Thermostat | Window | WindowCovering",
|
|
103
103
|
"groupName": "string",
|
|
104
104
|
"timer": {
|
|
105
105
|
"delay": number,
|
|
@@ -158,6 +158,7 @@ All fields are optional unless noted with an asterisk (*)
|
|
|
158
158
|
|
|
159
159
|
Valid values for `type` are:
|
|
160
160
|
- `Door`
|
|
161
|
+
- `GarageDoorOpener`
|
|
161
162
|
- `Lightbulb`
|
|
162
163
|
- `LockMechanism`
|
|
163
164
|
- `Outlet`
|
|
@@ -225,7 +226,7 @@ Execute arbitrary commands (e.g. curl) when the accessory changes state
|
|
|
225
226
|
- `defaultOn` — Initial value. Default _ON_ = true, default _OFF_ = false
|
|
226
227
|
- `defaultBrightness` — If set, lightbulb will have additional dimmer settings with this default brightness percentage
|
|
227
228
|
- `defaultLockState` - The initial value for the lock, "locked" or "unlocked"
|
|
228
|
-
- `defaultPosition` — Initial position for the door/window/blinds, "open" or "closed"
|
|
229
|
+
- `defaultPosition` — Initial position for the door/garage/window/blinds, "open" or "closed"
|
|
229
230
|
- `defaultThermostatState` - The initial state for the thermostat, "auto", "heat", "cool", or "off"
|
|
230
231
|
- `defaultTemperature` - The default temperature for the thermostat in `temperatureUnits` defined above
|
|
231
232
|
|
|
@@ -282,7 +283,11 @@ For `TargetTemperature` you may optionally supply a `unit` (either 'F' or 'C') t
|
|
|
282
283
|
|
|
283
284
|
## Credits
|
|
284
285
|
|
|
285
|
-
|
|
286
|
+
[@jotzet79](https://github.com/sponsors/jotzet79) for German translations
|
|
287
|
+
|
|
288
|
+
[@Silverdragon122](https://github.com/sponsors/Silverdragon122) for Russian translations
|
|
289
|
+
|
|
290
|
+
[@dcompane](https://github.com/sponsors/dcompane) for Spanish translations
|
|
286
291
|
|
|
287
292
|
[Keryan Belahcene](https://www.instagram.com/keryan.me) for creating the [Flume](https://github.com/homebridge-plugins/homebridge-flume) banner image which was adapted for use with this plugin
|
|
288
293
|
|
|
@@ -292,4 +297,6 @@ Sensor feature inspired by [Homebridge-Delay-Switch](https://github.com/nitaybz/
|
|
|
292
297
|
|
|
293
298
|
Command feature inspired by [homebridge-cmdtrigger](https://github.com/hallos/homebridge-cmdtrigger) by [@hallos](https://github.com/sponsors/hallos)
|
|
294
299
|
|
|
295
|
-
|
|
300
|
+
Special thanks to [@nfarina](https://github.com/sponsors/nfarina) for creating the original version of this plugin and maintaining it for almost 10 (!!!) years
|
|
301
|
+
|
|
302
|
+
And to the amazing creators/contributors of [Homebridge](https://homebridge.io) who made this plugin possible!
|
package/config.schema.json
CHANGED
|
@@ -228,8 +228,8 @@
|
|
|
228
228
|
"type": {
|
|
229
229
|
"type": "string",
|
|
230
230
|
"title": "${config.title.type}",
|
|
231
|
-
"enum": ["Door", "Lightbulb", "LockMechanism", "Outlet", "Switch", "Thermostat", "Window", "WindowCovering"],
|
|
232
|
-
"enumNames": ["${config.enumNames.door}", "${config.enumNames.lightbulb}", "${config.enumNames.lockMechanism}", "${config.enumNames.outlet}", "${config.enumNames.switch}", "${config.enumNames.thermostat}", "${config.enumNames.window}", "${config.enumNames.windowCovering}"]
|
|
231
|
+
"enum": ["Door", "GarageDoorOpener", "Lightbulb", "LockMechanism", "Outlet", "Switch", "Thermostat", "Window", "WindowCovering"],
|
|
232
|
+
"enumNames": ["${config.enumNames.door}", "${config.enumNames.garageDoorOpener}", "${config.enumNames.lightbulb}", "${config.enumNames.lockMechanism}", "${config.enumNames.outlet}", "${config.enumNames.switch}", "${config.enumNames.thermostat}", "${config.enumNames.window}", "${config.enumNames.windowCovering}"]
|
|
233
233
|
},
|
|
234
234
|
"groupName": {
|
|
235
235
|
"type": "string",
|
|
@@ -415,7 +415,7 @@
|
|
|
415
415
|
"displayFlex": true,
|
|
416
416
|
"flex-direction": "row",
|
|
417
417
|
"condition": {
|
|
418
|
-
"functionBody": "return ['Door', 'Window', 'WindowCovering'].includes(model.accessories?.[arguments[1]]?.type);"
|
|
418
|
+
"functionBody": "return ['Door', 'GarageDoorOpener', 'Window', 'WindowCovering'].includes(model.accessories?.[arguments[1]]?.type);"
|
|
419
419
|
},
|
|
420
420
|
"items": [
|
|
421
421
|
{
|
|
@@ -641,13 +641,13 @@
|
|
|
641
641
|
{
|
|
642
642
|
"key": "accessories[].commandOpen",
|
|
643
643
|
"condition": {
|
|
644
|
-
"functionBody": "return ['Door', 'Window', 'WindowCovering'].includes(model.accessories?.[arguments[1]]?.type);"
|
|
644
|
+
"functionBody": "return ['Door', 'GarageDoorOpener', 'Window', 'WindowCovering'].includes(model.accessories?.[arguments[1]]?.type);"
|
|
645
645
|
}
|
|
646
646
|
},
|
|
647
647
|
{
|
|
648
648
|
"key": "accessories[].commandClose",
|
|
649
649
|
"condition": {
|
|
650
|
-
"functionBody": "return ['Door', 'Window', 'WindowCovering'].includes(model.accessories?.[arguments[1]]?.type);"
|
|
650
|
+
"functionBody": "return ['Door', 'GarageDoorOpener', 'Window', 'WindowCovering'].includes(model.accessories?.[arguments[1]]?.type);"
|
|
651
651
|
}
|
|
652
652
|
},
|
|
653
653
|
{
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { BlindAccessory } from './position/blind.js';
|
|
2
2
|
import { DoorAccessory } from './position/door.js';
|
|
3
|
+
import { GarageDoorAccessory } from './position/garage.js';
|
|
3
4
|
import { LightbulbAccessory } from './onoff/lightbulb.js';
|
|
4
5
|
import { LockAccessory } from './lock.js';
|
|
5
6
|
import { OutletAccessory } from './onoff/outlet.js';
|
|
@@ -12,6 +13,8 @@ export function createDummyAccessory(Service, Characteristic, accessory, config,
|
|
|
12
13
|
switch (config.type) {
|
|
13
14
|
case AccessoryType.Door:
|
|
14
15
|
return new DoorAccessory(Service, Characteristic, accessory, config, log, isGrouped);
|
|
16
|
+
case AccessoryType.GarageDoorOpener:
|
|
17
|
+
return new GarageDoorAccessory(Service, Characteristic, accessory, config, log, isGrouped);
|
|
15
18
|
case AccessoryType.Lightbulb:
|
|
16
19
|
return new LightbulbAccessory(Service, Characteristic, accessory, config, log, isGrouped);
|
|
17
20
|
case AccessoryType.LockMechanism:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/accessory/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKlD,MAAM,UAAU,oBAAoB,CAClC,OAAoB,EACpB,cAAkC,EAClC,SAA4B,EAC5B,MAAmB,EACnB,GAAQ,EACR,YAAqB,KAAK;IAG1B,QAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,aAAa,CAAC,IAAI;YACrB,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACvF,KAAK,aAAa,CAAC,SAAS;YAC1B,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5F,KAAK,aAAa,CAAC,aAAa;YAC9B,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACvF,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACzF,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACzF,KAAK,aAAa,CAAC,UAAU;YAC3B,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7F,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACzF,KAAK,aAAa,CAAC,cAAc;YAC/B,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACxF;YACE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/accessory/helpers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAKlD,MAAM,UAAU,oBAAoB,CAClC,OAAoB,EACpB,cAAkC,EAClC,SAA4B,EAC5B,MAAmB,EACnB,GAAQ,EACR,YAAqB,KAAK;IAG1B,QAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,aAAa,CAAC,IAAI;YACrB,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACvF,KAAK,aAAa,CAAC,gBAAgB;YACjC,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7F,KAAK,aAAa,CAAC,SAAS;YAC1B,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC5F,KAAK,aAAa,CAAC,aAAa;YAC9B,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACvF,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACzF,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACzF,KAAK,aAAa,CAAC,UAAU;YAC3B,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAC7F,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACzF,KAAK,aAAa,CAAC,cAAc;YAC/B,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QACxF;YACE,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { PlatformAccessory } from 'homebridge';
|
|
2
|
+
import { PositionAccessory } from './position.js';
|
|
3
|
+
import { AccessoryType, WebhookCommand } from '../../model/enums.js';
|
|
4
|
+
import { CharacteristicType, GarageDoorConfig, ServiceType } from '../../model/types.js';
|
|
5
|
+
import { Log } from '../../tools/log.js';
|
|
6
|
+
export declare class GarageDoorAccessory extends PositionAccessory<GarageDoorConfig> {
|
|
7
|
+
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: GarageDoorConfig, log: Log, isGrouped: boolean);
|
|
8
|
+
getAccessoryType(): AccessoryType;
|
|
9
|
+
get hasPositionState(): boolean;
|
|
10
|
+
get positionClosed(): number;
|
|
11
|
+
get positionOpen(): number;
|
|
12
|
+
get targetCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").TargetDoorState;
|
|
13
|
+
get currentCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").CurrentDoorState;
|
|
14
|
+
get webhookCommand(): WebhookCommand;
|
|
15
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { PositionAccessory } from './position.js';
|
|
2
|
+
import { AccessoryType, WebhookCommand } from '../../model/enums.js';
|
|
3
|
+
export class GarageDoorAccessory extends PositionAccessory {
|
|
4
|
+
constructor(Service, Characteristic, accessory, config, log, isGrouped) {
|
|
5
|
+
super(Service, Characteristic, accessory, config, log, isGrouped);
|
|
6
|
+
this.accessoryService.getCharacteristic(Characteristic.ObstructionDetected)
|
|
7
|
+
.onGet(async () => false);
|
|
8
|
+
}
|
|
9
|
+
getAccessoryType() {
|
|
10
|
+
return AccessoryType.GarageDoorOpener;
|
|
11
|
+
}
|
|
12
|
+
get hasPositionState() {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
get positionClosed() {
|
|
16
|
+
return this.Characteristic.TargetDoorState.CLOSED;
|
|
17
|
+
}
|
|
18
|
+
get positionOpen() {
|
|
19
|
+
return this.Characteristic.TargetDoorState.OPEN;
|
|
20
|
+
}
|
|
21
|
+
get targetCharacteristic() {
|
|
22
|
+
return this.Characteristic.TargetDoorState;
|
|
23
|
+
}
|
|
24
|
+
get currentCharacteristic() {
|
|
25
|
+
return this.Characteristic.CurrentDoorState;
|
|
26
|
+
}
|
|
27
|
+
get webhookCommand() {
|
|
28
|
+
return WebhookCommand.TargetDoorState;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=garage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"garage.js","sourceRoot":"","sources":["../../../src/accessory/position/garage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAKrE,MAAM,OAAO,mBAAoB,SAAQ,iBAAmC;IAE1E,YACE,OAAoB,EACpB,cAAkC,EAClC,SAA4B,EAC5B,MAAwB,EACxB,GAAQ,EACR,SAAkB;QAElB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,mBAAmB,CAAC;aACxE,KAAK,CAAE,KAAK,IAAI,EAAE,CAAC,KAAK,CAAE,CAAC;IAChC,CAAC;IAEQ,gBAAgB;QACvB,OAAO,aAAa,CAAC,gBAAgB,CAAC;IACxC,CAAC;IAED,IAAa,gBAAgB;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAa,cAAc;QACzB,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,MAAM,CAAC;IACpD,CAAC;IAED,IAAa,YAAY;QACvB,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC;IAClD,CAAC;IAED,IAAa,oBAAoB;QAC/B,OAAO,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;IAC7C,CAAC;IAED,IAAa,qBAAqB;QAChC,OAAO,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC;IAC9C,CAAC;IAED,IAAa,cAAc;QACzB,OAAO,cAAc,CAAC,eAAe,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory } from 'homebridge';
|
|
2
2
|
import { DummyAccessory } from '../base.js';
|
|
3
|
+
import { WebhookCommand } from '../../model/enums.js';
|
|
3
4
|
import { CharacteristicType, PositionConfig, ServiceType } from '../../model/types.js';
|
|
4
5
|
import { Webhook } from '../../model/webhook.js';
|
|
5
6
|
import { Log } from '../../tools/log.js';
|
|
6
7
|
export declare abstract class PositionAccessory<C extends PositionConfig = PositionConfig> extends DummyAccessory<PositionConfig> {
|
|
7
8
|
private position;
|
|
8
9
|
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: C, log: Log, isGrouped: boolean);
|
|
10
|
+
protected get hasPositionState(): boolean;
|
|
11
|
+
protected get positionClosed(): number;
|
|
12
|
+
protected get positionOpen(): number;
|
|
13
|
+
protected get targetCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").TargetPosition;
|
|
14
|
+
protected get currentCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").CurrentPosition;
|
|
15
|
+
protected get webhookCommand(): WebhookCommand;
|
|
9
16
|
webhooks(): Webhook[];
|
|
10
17
|
private initializePosition;
|
|
11
18
|
private get defaultPosition();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
19
|
+
private getState;
|
|
20
|
+
private getPosition;
|
|
21
|
+
private setPosition;
|
|
15
22
|
schedule(): Promise<void>;
|
|
16
23
|
reset(): Promise<void>;
|
|
17
24
|
private logTemplateForCV;
|
|
@@ -3,8 +3,6 @@ import { strings } from '../../i18n/i18n.js';
|
|
|
3
3
|
import { DefaultPosition, isValidPosition, printableValues, WebhookCommand } from '../../model/enums.js';
|
|
4
4
|
import { Webhook } from '../../model/webhook.js';
|
|
5
5
|
import { storageGet_Deprecated, Storage } from '../../tools/storage.js';
|
|
6
|
-
const POSITION_OPEN = 100;
|
|
7
|
-
const POSITION_CLOSED = 0;
|
|
8
6
|
export class PositionAccessory extends DummyAccessory {
|
|
9
7
|
position;
|
|
10
8
|
constructor(Service, Characteristic, accessory, config, log, isGrouped) {
|
|
@@ -13,18 +11,38 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
13
11
|
this.log.warning(strings.position.badDefault, this.name, `'${config.defaultPosition}'`, printableValues(DefaultPosition));
|
|
14
12
|
}
|
|
15
13
|
this.position = this.defaultPosition;
|
|
16
|
-
this.
|
|
17
|
-
|
|
18
|
-
|
|
14
|
+
if (this.hasPositionState) {
|
|
15
|
+
this.accessoryService.getCharacteristic(Characteristic.PositionState)
|
|
16
|
+
.onGet(this.getState.bind(this));
|
|
17
|
+
}
|
|
18
|
+
this.accessoryService.getCharacteristic(this.targetCharacteristic)
|
|
19
19
|
.onGet(this.getPosition.bind(this))
|
|
20
20
|
.onSet(this.setPosition.bind(this));
|
|
21
|
-
this.accessoryService.getCharacteristic(
|
|
21
|
+
this.accessoryService.getCharacteristic(this.currentCharacteristic)
|
|
22
22
|
.onGet(this.getPosition.bind(this));
|
|
23
23
|
this.initializePosition();
|
|
24
24
|
}
|
|
25
|
+
get hasPositionState() {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
get positionClosed() {
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
get positionOpen() {
|
|
32
|
+
return 100;
|
|
33
|
+
}
|
|
34
|
+
get targetCharacteristic() {
|
|
35
|
+
return this.Characteristic.TargetPosition;
|
|
36
|
+
}
|
|
37
|
+
get currentCharacteristic() {
|
|
38
|
+
return this.Characteristic.CurrentPosition;
|
|
39
|
+
}
|
|
40
|
+
get webhookCommand() {
|
|
41
|
+
return WebhookCommand.TargetPosition;
|
|
42
|
+
}
|
|
25
43
|
webhooks() {
|
|
26
44
|
return [
|
|
27
|
-
new Webhook(this.identifier,
|
|
45
|
+
new Webhook(this.identifier, this.webhookCommand, (value) => {
|
|
28
46
|
this.setPosition(value);
|
|
29
47
|
return this.logTemplateForCV(value).replace('%s', this.name);
|
|
30
48
|
}),
|
|
@@ -32,8 +50,8 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
32
50
|
}
|
|
33
51
|
async initializePosition() {
|
|
34
52
|
if (!this.isStateful) {
|
|
35
|
-
this.accessoryService.updateCharacteristic(this.
|
|
36
|
-
this.accessoryService.updateCharacteristic(this.
|
|
53
|
+
this.accessoryService.updateCharacteristic(this.targetCharacteristic, this.position);
|
|
54
|
+
this.accessoryService.updateCharacteristic(this.currentCharacteristic, this.position);
|
|
37
55
|
return;
|
|
38
56
|
}
|
|
39
57
|
const position = await storageGet_Deprecated(this.defaultStateStorageKey);
|
|
@@ -43,7 +61,7 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
43
61
|
await this.setPosition(position);
|
|
44
62
|
}
|
|
45
63
|
get defaultPosition() {
|
|
46
|
-
return this.config.defaultPosition === DefaultPosition.OPEN ?
|
|
64
|
+
return this.config.defaultPosition === DefaultPosition.OPEN ? this.positionOpen : this.positionClosed;
|
|
47
65
|
}
|
|
48
66
|
async getState() {
|
|
49
67
|
return this.Characteristic.PositionState.STOPPED;
|
|
@@ -52,13 +70,13 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
52
70
|
return this.position;
|
|
53
71
|
}
|
|
54
72
|
async setPosition(value) {
|
|
55
|
-
const targetPosition = value ===
|
|
73
|
+
const targetPosition = value === this.positionClosed ? this.positionClosed : this.positionOpen;
|
|
56
74
|
if (this.position !== targetPosition) {
|
|
57
75
|
this.logPosition(targetPosition);
|
|
58
|
-
if (this.config.commandOpen && targetPosition !==
|
|
76
|
+
if (this.config.commandOpen && targetPosition !== this.positionClosed) {
|
|
59
77
|
this.executeCommand(this.config.commandOpen);
|
|
60
78
|
}
|
|
61
|
-
else if (this.config.commandClose && targetPosition ===
|
|
79
|
+
else if (this.config.commandClose && targetPosition === this.positionClosed) {
|
|
62
80
|
this.executeCommand(this.config.commandClose);
|
|
63
81
|
}
|
|
64
82
|
}
|
|
@@ -72,8 +90,8 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
72
90
|
else {
|
|
73
91
|
this.cancelTimer();
|
|
74
92
|
}
|
|
75
|
-
this.accessoryService.updateCharacteristic(this.
|
|
76
|
-
this.accessoryService.updateCharacteristic(this.
|
|
93
|
+
this.accessoryService.updateCharacteristic(this.targetCharacteristic, this.position);
|
|
94
|
+
this.accessoryService.updateCharacteristic(this.currentCharacteristic, this.position);
|
|
77
95
|
if (this.sensor) {
|
|
78
96
|
if (!this.sensor.timerControlled) {
|
|
79
97
|
this.sensor.active = this.position !== this.defaultPosition;
|
|
@@ -85,7 +103,7 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
85
103
|
}
|
|
86
104
|
async schedule() {
|
|
87
105
|
if (this.position === this.defaultPosition) {
|
|
88
|
-
const opposite = this.position ===
|
|
106
|
+
const opposite = this.position === this.positionClosed ? this.positionOpen : this.positionClosed;
|
|
89
107
|
await this.setPosition(opposite);
|
|
90
108
|
}
|
|
91
109
|
}
|
|
@@ -98,7 +116,7 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
98
116
|
}
|
|
99
117
|
}
|
|
100
118
|
logTemplateForCV(value) {
|
|
101
|
-
return value ===
|
|
119
|
+
return value === this.positionClosed ? strings.position.closed : strings.position.open;
|
|
102
120
|
}
|
|
103
121
|
logPosition(value) {
|
|
104
122
|
this.logIfDesired(this.logTemplateForCV(value));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/accessory/position/position.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEzG,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAExE,MAAM,
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/accessory/position/position.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a="Homebridge Dummy";var
|
|
1
|
+
"use strict";(()=>{var a="Homebridge Dummy";var g={github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy/">GitHub</a>',migration:'<a target="_blank" href="https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration">GitHub</a>',dummy:a};function m(e){document.querySelectorAll("[i18n]").forEach(t=>{let i=t.getAttribute("i18n"),n=e.config[i],o=t.getAttribute("i18n_replace");o&&(n=n.replace("%s",g[o])),t.innerHTML=n})}function x(e){let t=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(t.join(","))).sort((n,o)=>t.indexOf(n.tagName.toLowerCase())-t.indexOf(o.tagName.toLowerCase())).forEach(n=>{let o=n.innerHTML;o=o.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(r,d,s)=>e.config[d]&&typeof e.config[d]=="object"&&s in e.config[d]?e.config[d][s]:r),n.innerHTML!==o&&(n.innerHTML=o)})}function l(e){let t=Array.from(window.parent.document.querySelectorAll("fieldset legend"));for(let i of t){let o=i.closest("fieldset")?.querySelector('input[type="text"][name="name"]');o&&i.textContent!==(o.value||e.config.title.accessory)&&(i.textContent=o.value!==""?o.value:e.config.title.accessory),o&&!o.dataset.accessoryNameListener&&(o.addEventListener("input",()=>l(e)),o.dataset.accessoryNameListener="true")}}function c(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(e==="x"?t:t&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}async function f(e){let t=!1;e.forEach(i=>{i.accessories?.forEach(n=>{n.id===void 0&&(n.id=c(),t=!0),n.limiter!==void 0&&n.limiter.id===void 0&&(n.limiter.id=c(),t=!0)})}),t&&await homebridge.updatePluginConfig(e)}async function p(e){let t=!1;e.forEach(i=>{i.accessories?.forEach(n=>{let o=n.sensor;typeof o=="string"&&(n.sensor={type:o},t=!0);let r=n.schedule;r?.type==="CRON"&&r.cron!=="CRON_CUSTOM"&&!r.cron?.startsWith("@")&&(n.schedule={...r,cron:"CRON_CUSTOM",cronCustom:r.cron},t=!0)})}),t&&await homebridge.updatePluginConfig(e)}function u(e){document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="none",document.getElementById("support").style.display="block",new MutationObserver(()=>{x(e),l(e)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.addEventListener("configChanged",async i=>{let n=i.data;await f(n)}),homebridge.showSchemaForm(),homebridge.hideSpinner(),homebridge.enableSaveButton()}function b(e){document.getElementById("header").style.display="none",document.getElementById("intro").style.display="none",document.getElementById("migration").style.display="block",document.getElementById("skipMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:a}]),await homebridge.savePluginConfig(),u(e)}),document.getElementById("doMigration").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:a,migrationNeeded:!0}]),await homebridge.savePluginConfig(),homebridge.closeSettings(),homebridge.toast.info(e.config.migrationRestartDescription.replace("%s",a),e.config.migrationRestartTitle)})}function h(e){document.getElementById("showSettings").addEventListener("click",async()=>{await homebridge.updatePluginConfig([{name:a}]),u(e)}),document.getElementById("showMigration").addEventListener("click",()=>{b(e)}),document.getElementById("intro").style.display="block",homebridge.hideSpinner()}homebridge.disableSaveButton(),homebridge.showSpinner();(async()=>{let e=await homebridge.i18nCurrentLang(),t=await homebridge.request("i18n",e);m(t);let i=await homebridge.getPluginConfig();i.length?(await p(i),u(t)):h(t)})();})();
|
package/dist/i18n/de.d.ts
CHANGED
package/dist/i18n/en.d.ts
CHANGED
package/dist/i18n/en.js
CHANGED
|
@@ -90,6 +90,7 @@ const en = {
|
|
|
90
90
|
day: 'Day',
|
|
91
91
|
door: 'Door',
|
|
92
92
|
fahrenheit: '°F',
|
|
93
|
+
garageDoorOpener: 'Garage Door',
|
|
93
94
|
heat: 'Heat',
|
|
94
95
|
hour: 'Hour',
|
|
95
96
|
hourly: 'Hourly',
|
|
@@ -121,7 +122,7 @@ const en = {
|
|
|
121
122
|
weekends: 'Weekends',
|
|
122
123
|
weekly: 'Weekly',
|
|
123
124
|
window: 'Window',
|
|
124
|
-
windowCovering: 'Window
|
|
125
|
+
windowCovering: 'Window Covering (Blinds)',
|
|
125
126
|
yearly: 'Annually',
|
|
126
127
|
},
|
|
127
128
|
migrate: 'Are you upgrading from an earlier version?',
|
package/dist/i18n/en.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"en.js","sourceRoot":"","sources":["../../src/i18n/en.ts"],"names":[],"mappings":"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"}
|
package/dist/i18n/es.d.ts
CHANGED
package/dist/i18n/i18n.d.ts
CHANGED
package/dist/i18n/ru.d.ts
CHANGED
package/dist/i18n/template.d.ts
CHANGED
package/dist/model/enums.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare enum AccessoryType {
|
|
2
2
|
Door = "Door",
|
|
3
|
+
GarageDoorOpener = "GarageDoorOpener",
|
|
3
4
|
Lightbulb = "Lightbulb",
|
|
4
5
|
LockMechanism = "LockMechanism",
|
|
5
6
|
Outlet = "Outlet",
|
|
@@ -70,6 +71,7 @@ export declare enum WebhookCommand {
|
|
|
70
71
|
Brightness = "Brightness",
|
|
71
72
|
LockTargetState = "LockTargetState",
|
|
72
73
|
On = "On",
|
|
74
|
+
TargetDoorState = "TargetDoorState",
|
|
73
75
|
TargetHeatingCoolingState = "TargetHeatingCoolingState",
|
|
74
76
|
TargetPosition = "TargetPosition",
|
|
75
77
|
TargetTemperature = "TargetTemperature"
|
package/dist/model/enums.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export var AccessoryType;
|
|
2
2
|
(function (AccessoryType) {
|
|
3
3
|
AccessoryType["Door"] = "Door";
|
|
4
|
+
AccessoryType["GarageDoorOpener"] = "GarageDoorOpener";
|
|
4
5
|
AccessoryType["Lightbulb"] = "Lightbulb";
|
|
5
6
|
AccessoryType["LockMechanism"] = "LockMechanism";
|
|
6
7
|
AccessoryType["Outlet"] = "Outlet";
|
|
@@ -93,6 +94,7 @@ export var WebhookCommand;
|
|
|
93
94
|
WebhookCommand["Brightness"] = "Brightness";
|
|
94
95
|
WebhookCommand["LockTargetState"] = "LockTargetState";
|
|
95
96
|
WebhookCommand["On"] = "On";
|
|
97
|
+
WebhookCommand["TargetDoorState"] = "TargetDoorState";
|
|
96
98
|
WebhookCommand["TargetHeatingCoolingState"] = "TargetHeatingCoolingState";
|
|
97
99
|
WebhookCommand["TargetPosition"] = "TargetPosition";
|
|
98
100
|
WebhookCommand["TargetTemperature"] = "TargetTemperature";
|
package/dist/model/enums.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/model/enums.ts"],"names":[],"mappings":"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"}
|
package/dist/model/types.d.ts
CHANGED
|
@@ -84,6 +84,7 @@ export type PositionConfig = DummyConfig & {
|
|
|
84
84
|
commandOpen?: string;
|
|
85
85
|
commandClose?: string;
|
|
86
86
|
};
|
|
87
|
+
export type GarageDoorConfig = PositionConfig & {};
|
|
87
88
|
export type DoorConfig = PositionConfig & {};
|
|
88
89
|
export type WindowConfig = PositionConfig & {};
|
|
89
90
|
export type BlindConfig = PositionConfig & {};
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"displayName": "Homebridge Dummy",
|
|
5
5
|
"description": "Create Homebridge accessories to help with automation and control — scheduling, delays, sensors, commands, webhooks, and more",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "1.3.2
|
|
7
|
+
"version": "1.3.2",
|
|
8
8
|
"homepage": "https://github.com/mpatfield/homebridge-dummy#readme",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|