homebridge-dummy 1.4.0 → 1.4.1-beta.1
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 +13 -3
- package/README.md +48 -15
- package/config.schema.json +57 -2
- package/dist/accessory/base.d.ts +1 -1
- package/dist/accessory/group.js +1 -1
- package/dist/accessory/group.js.map +1 -1
- package/dist/accessory/lock.d.ts +1 -1
- package/dist/accessory/lock.js +3 -3
- package/dist/accessory/lock.js.map +1 -1
- package/dist/accessory/onoff/lightbulb.d.ts +1 -1
- package/dist/accessory/onoff/lightbulb.js +4 -4
- package/dist/accessory/onoff/lightbulb.js.map +1 -1
- package/dist/accessory/onoff/onoff.d.ts +1 -1
- package/dist/accessory/onoff/onoff.js +3 -3
- package/dist/accessory/onoff/onoff.js.map +1 -1
- package/dist/accessory/position/garage.d.ts +2 -2
- package/dist/accessory/position/garage.js +2 -2
- package/dist/accessory/position/garage.js.map +1 -1
- package/dist/accessory/position/position.d.ts +3 -3
- package/dist/accessory/position/position.js +4 -4
- package/dist/accessory/position/position.js.map +1 -1
- package/dist/accessory/thermostat.d.ts +1 -1
- package/dist/accessory/thermostat.js +4 -4
- package/dist/accessory/thermostat.js.map +1 -1
- package/dist/homebridge/platform.js +1 -1
- package/dist/homebridge/platform.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 +17 -6
- package/dist/i18n/de.js +2 -3
- package/dist/i18n/de.js.map +1 -1
- package/dist/i18n/en.d.ts +15 -3
- package/dist/i18n/en.js +15 -3
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts +17 -6
- package/dist/i18n/es.js +2 -3
- package/dist/i18n/es.js.map +1 -1
- package/dist/i18n/i18n.d.ts +15 -3
- package/dist/i18n/ru.d.ts +17 -6
- package/dist/i18n/ru.js +2 -3
- package/dist/i18n/ru.js.map +1 -1
- package/dist/i18n/template.d.ts +15 -3
- package/dist/model/enums.d.ts +8 -2
- package/dist/model/enums.js +16 -10
- package/dist/model/enums.js.map +1 -1
- package/dist/model/types.d.ts +3 -0
- package/dist/model/webhook.d.ts +12 -8
- package/dist/model/webhook.js +77 -47
- package/dist/model/webhook.js.map +1 -1
- package/dist/timeout/schedule.d.ts +3 -0
- package/dist/timeout/schedule.js +65 -3
- package/dist/timeout/schedule.js.map +1 -1
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,10 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to homebridge-dummy will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## 1.4.
|
|
5
|
+
## 1.4.1-beta.1 (2025-11-03)
|
|
6
6
|
|
|
7
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
|
+
### Added
|
|
10
|
+
- Schedule settings for sunrise, sunset, dawn, dusk, golden hour, or night, with optional offset
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
- [Webhooks](https://github.com/mpatfield/homebridge-dummy#webhooks) now look for `get` or `set` instead of `command`
|
|
14
|
+
- This is backwards compatible so no manual edits are necessary
|
|
15
|
+
|
|
16
|
+
### Notes
|
|
17
|
+
Would you like to see Homebridge Dummy in your language? Please consider [getting involved](https://github.com/mpatfield/homebridge-dummy/issues/105). No coding experience required!
|
|
18
|
+
|
|
19
|
+
## 1.4.0 (2025-11-01)
|
|
20
|
+
|
|
9
21
|
### Added
|
|
10
22
|
- [Trigger Conditions](https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#trigger-conditions) to change the state of an accessory based on state changes of other Homebridge Dummy accessories or keywords in the Homebridge log
|
|
11
23
|
- ⚠️ Config UI for conditions is highly experimental. Please [open a ticket](https://github.com/mpatfield/homebridge-dummy/issues/new/choose) if you see any unusal behavior.
|
|
@@ -22,8 +34,6 @@ All notable changes to homebridge-dummy will be documented in this file.
|
|
|
22
34
|
### Notes
|
|
23
35
|
After further consideration, I will continue to support `Thermostat` as an accessory type. Thanks to everybody who participated in the [discussion](https://github.com/mpatfield/homebridge-dummy/issues/207).
|
|
24
36
|
|
|
25
|
-
Would you like to see Homebridge Dummy in your language? Please consider [getting involved](https://github.com/mpatfield/homebridge-dummy/issues/105). No coding experience required!
|
|
26
|
-
|
|
27
37
|
## 1.3.2 (2025-10-24)
|
|
28
38
|
|
|
29
39
|
### Added
|
package/README.md
CHANGED
|
@@ -107,11 +107,14 @@ Using the Homebridge Config UI is the easiest way to set up this plugin. However
|
|
|
107
107
|
"random": true | false
|
|
108
108
|
},
|
|
109
109
|
"schedule": {
|
|
110
|
-
"type": "INTERVAL" | "CRON",
|
|
110
|
+
"type": "INTERVAL" | "CRON" | "SUNRISE" | "SUNSET" | "DAWN" | "DUSK" | "GOLDEN_HOUR" | "NIGHT",
|
|
111
111
|
"interval": number,
|
|
112
112
|
"units": "MILLISECONDS | SECONDS | MINUTES | HOURS",
|
|
113
113
|
"random": true | false,
|
|
114
|
-
"cron": "string"
|
|
114
|
+
"cron": "string",
|
|
115
|
+
"offset": number,
|
|
116
|
+
"latitude": number,
|
|
117
|
+
"longitude": number
|
|
115
118
|
},
|
|
116
119
|
"sensor": {
|
|
117
120
|
"type": "CarbonDioxideSensor | CarbonMonoxideSensor | ContactSensor | LeakSensor | MotionSensor | OccupancySensor | SmokeSensor",
|
|
@@ -195,13 +198,16 @@ Return the accessory to its default value after the specified delay
|
|
|
195
198
|
### Schedule
|
|
196
199
|
Set the accessory to its opposite (non-default) value at specified interval or times
|
|
197
200
|
|
|
198
|
-
- `schedule.type` —
|
|
201
|
+
- `schedule.type` — One of `INTERVAL`, `CRON`, `SUNRISE`, `SUNSET`, `DAWN`, `DUSK`, `GOLDEN_HOUR`, `NIGHT`
|
|
199
202
|
- `schedule.interval` — Trigger the accessory after this many milliseconds/seconds/minutes/hours. *Required if `schedule.type` = `INTERVAL`
|
|
200
203
|
- `schedule.units` — The units to use for the interval (`MILLISECONDS`, `SECONDS`, `MINUTES`, or `HOURS`) *Required if `schedule.type` = `INTERVAL`
|
|
201
204
|
- `schedule.random` — If true, the interval will be randomized with a maximum value of `schedule.interval`
|
|
202
205
|
- `schedule.cron` — One of `@secondly`, `@minutely`, `@hourly`, `@daily`, `@weekly`, `@weekdays`, `@weekends`, `@monthly`, `@yearly`, or `CUSTOM_CRON`. *Required if `schedule.type` = `CRON`
|
|
203
206
|
- `schedule.cronCustom` - Custom cron string for triggering the accessory. *Required if `schedule.cron` = `CUSTOM_CRON`
|
|
204
207
|
- See [crontab.guru](http://crontab.guru) for help
|
|
208
|
+
- `schedule.offset` - Add or subtract this value from the caluclated sun position for `SUNRISE`, `SUNSET`, etc.
|
|
209
|
+
- `schedule.latitude` - Latitude used to calculate sun position *Required if `schedule.type` is `SUNRISE`, `SUNSET`, etc.
|
|
210
|
+
- `schedule.longitude` - Longitude used to calculate sun position *Required if `schedule.type` is `SUNRISE`, `SUNSET`, etc.
|
|
205
211
|
|
|
206
212
|
### Limiter
|
|
207
213
|
Restrict the total time this accessory can be set to its non-default value, for each specified period
|
|
@@ -289,11 +295,11 @@ You can optionally enable webhooks on an accessory by choosing `Enable Webhooks`
|
|
|
289
295
|
|
|
290
296
|
If at least one accessory has webhooks enabled, then Homebridge Dummy will start a webhook server on startup. The default port is `63743`, e.g. `http://localhost:63743/`. To change the port, add `webhookPort` to the top level Homebridge Dummy config (see above).
|
|
291
297
|
|
|
292
|
-
Incoming requests must include the `id` of the accessory
|
|
298
|
+
Incoming requests must include the `id` of the accessory. The accessory `id` can be found in the plugin JSON config.
|
|
293
299
|
|
|
294
|
-
|
|
300
|
+
You can either `get` or `set` the value of the accessory. `set` commands require a `value` to set.
|
|
295
301
|
|
|
296
|
-
Here are the possible values for `
|
|
302
|
+
Here are the possible values for `get` or `set` and their respective valid `value`
|
|
297
303
|
|
|
298
304
|
- `Brightness` - number from 0-100
|
|
299
305
|
- `LockTargetState` - 0 (UNSECURED) or 1 (SECURED)
|
|
@@ -303,30 +309,55 @@ Here are the possible values for `command` and their respective valid `value`
|
|
|
303
309
|
- `TargetTemperature` - number between 10°C and 38°C
|
|
304
310
|
- For `TargetTemperature` you may optionally supply a `unit` (either 'F' or 'C') to allow you to pass in Fahrenheit or Celsius units.
|
|
305
311
|
|
|
306
|
-
#### GET
|
|
312
|
+
#### Examples using HTTP GET
|
|
307
313
|
|
|
314
|
+
Here is an example to get the on/off state for a switch:
|
|
315
|
+
|
|
316
|
+
```
|
|
317
|
+
http://localhost:63743/?id=ACCESSORY_ID&get=On
|
|
308
318
|
```
|
|
309
|
-
|
|
319
|
+
|
|
320
|
+
Returns `{ "value": false }`
|
|
321
|
+
|
|
322
|
+
And here is an example to set the brightness of a lightbulb:
|
|
323
|
+
|
|
324
|
+
```
|
|
325
|
+
http://localhost:63743/?id=ACCESSORY_ID&set=Brightness&value=42
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
Returns `{ "success": "Accessory Name is on, brightness is 42%" }`
|
|
329
|
+
|
|
330
|
+
### Examples using HTTP POST
|
|
331
|
+
|
|
332
|
+
POST requests must be valid JSON. Here is an example of the JSON needed to get the on/off state for a switch:
|
|
333
|
+
|
|
334
|
+
```json
|
|
335
|
+
{
|
|
336
|
+
"id": "ACCESSORY_ID",
|
|
337
|
+
"get": "On"
|
|
338
|
+
}
|
|
310
339
|
```
|
|
311
340
|
|
|
312
|
-
|
|
341
|
+
Here's how you would call it from the command line:
|
|
313
342
|
|
|
314
|
-
|
|
343
|
+
```
|
|
344
|
+
curl -X POST http://localhost:63743/ -H "Content-Type: application/json" -d '{"id": "ACCESSORY_ID", "get": "On" }
|
|
345
|
+
```
|
|
315
346
|
|
|
316
|
-
|
|
347
|
+
Here is an example of the JSON needed to set the brightness of a lightbulb:
|
|
317
348
|
|
|
318
349
|
```json
|
|
319
350
|
{
|
|
320
351
|
"id": "ACCESSORY_ID",
|
|
321
|
-
"
|
|
322
|
-
"value":
|
|
352
|
+
"set": "Brightness",
|
|
353
|
+
"value": 42
|
|
323
354
|
}
|
|
324
355
|
```
|
|
325
356
|
|
|
326
|
-
Here's how you would call it from the command line
|
|
357
|
+
Here's how you would call it from the command line:
|
|
327
358
|
|
|
328
359
|
```
|
|
329
|
-
curl -X POST http://localhost:63743/ -H "Content-Type: application/json" -d '{"id": "ACCESSORY_ID", "
|
|
360
|
+
curl -X POST http://localhost:63743/ -H "Content-Type: application/json" -d '{"id": "ACCESSORY_ID", "set": "Brightness", "value": 42 }
|
|
330
361
|
```
|
|
331
362
|
|
|
332
363
|
## Credits
|
|
@@ -341,6 +372,8 @@ curl -X POST http://localhost:63743/ -H "Content-Type: application/json" -d '{"i
|
|
|
341
372
|
|
|
342
373
|
Schedule feature inspired by [Homebridge Schedule](https://github.com/kbrashears5/typescript-homebridge-schedule) by [@kbrashears5](https://github.com/sponsors/kbrashears5)
|
|
343
374
|
|
|
375
|
+
Scheduling based on sun times (sunrise, sunset, etc.) inspired by [Homebridge Virtual Accessories](https://github.com/justjam2013/homebridge-virtual-accessories) by [@justjam2013](https://github.com/sponsors/justjam2013)
|
|
376
|
+
|
|
344
377
|
Sensor feature inspired by [Homebridge-Delay-Switch](https://github.com/nitaybz/homebridge-delay-switch#readme) by [@nitaybz](https://github.com/sponsors/nitaybz)
|
|
345
378
|
|
|
346
379
|
Command feature inspired by [homebridge-cmdtrigger](https://github.com/hallos/homebridge-cmdtrigger) by [@hallos](https://github.com/sponsors/hallos)
|
package/config.schema.json
CHANGED
|
@@ -80,8 +80,8 @@
|
|
|
80
80
|
"type": {
|
|
81
81
|
"type": "string",
|
|
82
82
|
"title": "${config.title.type}",
|
|
83
|
-
"enum": [ "INTERVAL", "CRON"],
|
|
84
|
-
"enumNames": ["${config.enumNames.interval}", "${config.enumNames.cron}"]
|
|
83
|
+
"enum": [ "INTERVAL", "CRON", "SUNRISE", "SUNSET", "DAWN", "DUSK", "GOLDEN_HOUR", "NIGHT"],
|
|
84
|
+
"enumNames": ["${config.enumNames.interval}", "${config.enumNames.cron}", "${config.enumNames.sunrise}", "${config.enumNames.sunset}", "${config.enumNames.dawn}", "${config.enumNames.dusk}", "${config.enumNames.goldenHour}", "${config.enumNames.night}"]
|
|
85
85
|
},
|
|
86
86
|
"interval": {
|
|
87
87
|
"type": "integer",
|
|
@@ -105,6 +105,20 @@
|
|
|
105
105
|
"title": "${config.title.cronCustom}",
|
|
106
106
|
"placeholder": "* * * * * *",
|
|
107
107
|
"pattern": "(^((\\*\\/)?([0-5]?[0-9])((,|-|\\/)([0-5]?[0-9]))*|\\*)\\s((\\*\\/)?((2[0-3]|1[0-9]|[0-9]|00))((,|-|\\/)(2[0-3]|1[0-9]|[0-9]|00))*|\\*)\\s((\\*\\/)?([1-9]|[12][0-9]|3[01])((,|-|\\/)([1-9]|[12][0-9]|3[01]))*|\\*)\\s((\\*\\/)?([1-9]|1[0-2])((,|-|\\/)([1-9]|1[0-2]))*|\\*|(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec))\\s((\\*\\/)?[0-6]((,|-|\\/)[0-6])*|\\*|00|(sun|mon|tue|wed|thu|fri|sat))$)"
|
|
108
|
+
},
|
|
109
|
+
"offset": {
|
|
110
|
+
"type": "number",
|
|
111
|
+
"title": "${config.title.offset}",
|
|
112
|
+
"enum": [-45, -30, -20, -15, -10, -5, -4, -3, -2, -1, 1, 2, 3, 4, 5, 10, 15, 20, 30, 45],
|
|
113
|
+
"enumNames": ["-45 ${config.enumNames.minutes}", "-30 ${config.enumNames.minutes}", "-20 ${config.enumNames.minutes}", "-15 ${config.enumNames.minutes}", "-10 ${config.enumNames.minutes}", "-5 ${config.enumNames.minutes}", "-4 ${config.enumNames.minutes}", "-3 ${config.enumNames.minutes}", "-2 ${config.enumNames.minutes}", "-1 ${config.enumNames.minutes}", "+1 ${config.enumNames.minutes}", "+2 ${config.enumNames.minutes}", "+3 ${config.enumNames.minutes}", "+4 ${config.enumNames.minutes}", "+5 ${config.enumNames.minutes}", "+10 ${config.enumNames.minutes}", "+15 ${config.enumNames.minutes}", "+20 ${config.enumNames.minutes}", "+30 ${config.enumNames.minutes}", "+45 ${config.enumNames.minutes}"]
|
|
114
|
+
},
|
|
115
|
+
"latitude": {
|
|
116
|
+
"type": "number",
|
|
117
|
+
"title": "${config.title.latitude}"
|
|
118
|
+
},
|
|
119
|
+
"longitude": {
|
|
120
|
+
"type": "number",
|
|
121
|
+
"title": "${config.title.longitude}"
|
|
108
122
|
}
|
|
109
123
|
},
|
|
110
124
|
"allOf": [
|
|
@@ -144,6 +158,18 @@
|
|
|
144
158
|
"then": {
|
|
145
159
|
"required": ["cronCustom"]
|
|
146
160
|
}
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"if": {
|
|
164
|
+
"properties": {
|
|
165
|
+
"type": {
|
|
166
|
+
"enum": ["SUNRISE", "SUNSET", "DAWN", "DUSK", "GOLDEN_HOUR", "NIGHT"]
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
},
|
|
170
|
+
"then": {
|
|
171
|
+
"required": ["latitude", "longitude"]
|
|
172
|
+
}
|
|
147
173
|
}
|
|
148
174
|
]
|
|
149
175
|
},
|
|
@@ -651,6 +677,35 @@
|
|
|
651
677
|
"condition": {
|
|
652
678
|
"functionBody": "return model.accessories?.[arguments[1]]?.schedule?.cron === 'CRON_CUSTOM';"
|
|
653
679
|
}
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
"key": "accessories[].schedule.offset",
|
|
683
|
+
"flex": "0 1 auto",
|
|
684
|
+
"condition": {
|
|
685
|
+
"functionBody": "return ['SUNRISE', 'SUNSET', 'DAWN', 'DUSK', 'GOLDEN_HOUR', 'NIGHT'].includes(model.accessories?.[arguments[1]]?.schedule?.type);"
|
|
686
|
+
}
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
"type": "div",
|
|
690
|
+
"flex": "0 0 5px"
|
|
691
|
+
},
|
|
692
|
+
{
|
|
693
|
+
"key": "accessories[].schedule.latitude",
|
|
694
|
+
"flex": "0 1 auto",
|
|
695
|
+
"condition": {
|
|
696
|
+
"functionBody": "return ['SUNRISE', 'SUNSET', 'DAWN', 'DUSK', 'GOLDEN_HOUR', 'NIGHT'].includes(model.accessories?.[arguments[1]]?.schedule?.type);"
|
|
697
|
+
}
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
"type": "div",
|
|
701
|
+
"flex": "0 0 5px"
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"key": "accessories[].schedule.longitude",
|
|
705
|
+
"flex": "0 1 auto",
|
|
706
|
+
"condition": {
|
|
707
|
+
"functionBody": "return ['SUNRISE', 'SUNSET', 'DAWN', 'DUSK', 'GOLDEN_HOUR', 'NIGHT'].includes(model.accessories?.[arguments[1]]?.schedule?.type);"
|
|
708
|
+
}
|
|
654
709
|
}
|
|
655
710
|
]
|
|
656
711
|
},
|
package/dist/accessory/base.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export declare abstract class DummyAccessory<C extends DummyConfig> {
|
|
|
38
38
|
protected abstract reset(): Promise<void>;
|
|
39
39
|
get subtype(): string | undefined;
|
|
40
40
|
teardown(): void;
|
|
41
|
-
abstract webhooks(): Webhook[];
|
|
41
|
+
abstract get webhooks(): Webhook[];
|
|
42
42
|
protected get config(): C;
|
|
43
43
|
protected get identifier(): string;
|
|
44
44
|
protected get name(): string;
|
package/dist/accessory/group.js
CHANGED
|
@@ -24,7 +24,7 @@ export class GroupAccessory {
|
|
|
24
24
|
continue;
|
|
25
25
|
}
|
|
26
26
|
if (dummyConfig.enableWebook) {
|
|
27
|
-
webhookManager.
|
|
27
|
+
webhookManager.registerWebhooks(dummyAccessory.webhooks);
|
|
28
28
|
}
|
|
29
29
|
keepSubtypes.add(dummyAccessory.subtype);
|
|
30
30
|
this.accessories.push(dummyAccessory);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/accessory/group.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAOpD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAU7C,MAAM,OAAO,cAAc;IAElB,MAAM,CAAC,UAAU,CAAC,SAAiB;QACxC,OAAO,GAAG,aAAa,UAAU,SAAS,CAAC,OAAO,CAAC,MAAM,EAAC,EAAE,CAAC,IAAI,CAAC;IACpE,CAAC;IAEgB,WAAW,GAAoC,EAAE,CAAC;IAEnE,YAAY,UAAoC,EAAE,MAAmB,EAAE,cAA8B;QAEnG,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAE;aAC9E,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC;aACvE,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC;aACvE,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC;aAC5F,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAC;QAE/E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAEvC,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAE7C,MAAM,mBAAmB,GAA0C;gBACjE,GAAG,UAAU;gBACb,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,IAAI;aAChB,CAAC;YAEF,MAAM,cAAc,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;YACjE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC7B,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/accessory/group.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAOpD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,UAAU,MAAM,qBAAqB,CAAC;AAU7C,MAAM,OAAO,cAAc;IAElB,MAAM,CAAC,UAAU,CAAC,SAAiB;QACxC,OAAO,GAAG,aAAa,UAAU,SAAS,CAAC,OAAO,CAAC,MAAM,EAAC,EAAE,CAAC,IAAI,CAAC;IACpE,CAAC;IAEgB,WAAW,GAAoC,EAAE,CAAC;IAEnE,YAAY,UAAoC,EAAE,MAAmB,EAAE,cAA8B;QAEnG,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAE;aAC9E,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,CAAC;aACvE,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC;aACvE,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC;aAC5F,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAC,CAAC;QAE/E,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAEvC,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAE7C,MAAM,mBAAmB,GAA0C;gBACjE,GAAG,UAAU;gBACb,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,IAAI;aAChB,CAAC;YAEF,MAAM,cAAc,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;YACjE,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,SAAS;YACX,CAAC;YAED,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC7B,cAAc,CAAC,gBAAgB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC3D,CAAC;YAED,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,OAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACxC,CAAC;QAAA,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,WAAW,CAAC,OAAO,CAAE,SAAS,CAAC,EAAE;YACpC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/dist/accessory/lock.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export declare class LockAccessory extends DummyAccessory<LockConfig> {
|
|
|
8
8
|
constructor(dependency: DummyAccessoryDependency<LockConfig>);
|
|
9
9
|
private initializeState;
|
|
10
10
|
getAccessoryType(): AccessoryType;
|
|
11
|
-
webhooks(): Webhook[];
|
|
11
|
+
get webhooks(): Webhook[];
|
|
12
12
|
private get defaultLockState();
|
|
13
13
|
private registerStateChange;
|
|
14
14
|
protected getState(): Promise<CharacteristicValue>;
|
package/dist/accessory/lock.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DummyAccessory } from './base.js';
|
|
2
2
|
import { strings } from '../i18n/i18n.js';
|
|
3
|
-
import { AccessoryType, LockState, isValidLockState, printableValues,
|
|
3
|
+
import { AccessoryType, LockState, isValidLockState, printableValues, WebhookCharacteristic } from '../model/enums.js';
|
|
4
4
|
import { Webhook } from '../model/webhook.js';
|
|
5
5
|
import { storageGet_Deprecated, Storage } from '../tools/storage.js';
|
|
6
6
|
export class LockAccessory extends DummyAccessory {
|
|
@@ -35,9 +35,9 @@ export class LockAccessory extends DummyAccessory {
|
|
|
35
35
|
getAccessoryType() {
|
|
36
36
|
return AccessoryType.LockMechanism;
|
|
37
37
|
}
|
|
38
|
-
webhooks() {
|
|
38
|
+
get webhooks() {
|
|
39
39
|
return [
|
|
40
|
-
new Webhook(this.identifier,
|
|
40
|
+
new Webhook(this.identifier, WebhookCharacteristic.LockTargetState, () => this.state, (value) => {
|
|
41
41
|
this.setState(value);
|
|
42
42
|
return this.logTemplateForCV(value).replace('%s', this.name);
|
|
43
43
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/accessory/lock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAA4B,MAAM,WAAW,CAAC;AAErE,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,gBAAgB,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/accessory/lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ export declare class LightbulbAccessory extends OnOffAccessory<LightbulbConfig>
|
|
|
11
11
|
private get isDimmer();
|
|
12
12
|
private get defaultBrightnessStorageKey();
|
|
13
13
|
getAccessoryType(): AccessoryType;
|
|
14
|
-
webhooks(): Webhook[];
|
|
14
|
+
get webhooks(): Webhook[];
|
|
15
15
|
private initializeBrightness_Deprecated;
|
|
16
16
|
logMessageForOnState(value: CharacteristicValue): string;
|
|
17
17
|
setOn(value: CharacteristicValue): Promise<void>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnOffAccessory } from './onoff.js';
|
|
2
2
|
import { strings } from '../../i18n/i18n.js';
|
|
3
|
-
import { AccessoryType,
|
|
3
|
+
import { AccessoryType, WebhookCharacteristic } from '../../model/enums.js';
|
|
4
4
|
import { Webhook } from '../../model/webhook.js';
|
|
5
5
|
import { Fader } from '../../timeout/fader.js';
|
|
6
6
|
import { storageGet_Deprecated, Storage } from '../../tools/storage.js';
|
|
@@ -32,10 +32,10 @@ export class LightbulbAccessory extends OnOffAccessory {
|
|
|
32
32
|
getAccessoryType() {
|
|
33
33
|
return AccessoryType.Lightbulb;
|
|
34
34
|
}
|
|
35
|
-
webhooks() {
|
|
35
|
+
get webhooks() {
|
|
36
36
|
return [
|
|
37
|
-
...super.webhooks
|
|
38
|
-
new Webhook(this.identifier,
|
|
37
|
+
...super.webhooks,
|
|
38
|
+
new Webhook(this.identifier, WebhookCharacteristic.Brightness, () => this.brightness, (value) => {
|
|
39
39
|
this.setBrightness(value);
|
|
40
40
|
return strings.lightbulb.brightness.replace('%s', this.name).replace('%d', value.toString());
|
|
41
41
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightbulb.js","sourceRoot":"","sources":["../../../src/accessory/onoff/lightbulb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAI5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"lightbulb.js","sourceRoot":"","sources":["../../../src/accessory/onoff/lightbulb.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ import { Webhook } from '../../model/webhook.js';
|
|
|
5
5
|
export declare abstract class OnOffAccessory<C extends OnOffConfig = OnOffConfig> extends DummyAccessory<C> {
|
|
6
6
|
private on;
|
|
7
7
|
constructor(dependency: DummyAccessoryDependency<C>);
|
|
8
|
-
webhooks(): Webhook[];
|
|
8
|
+
get webhooks(): Webhook[];
|
|
9
9
|
private initializeOn;
|
|
10
10
|
private get defaultState();
|
|
11
11
|
private registerStateChange;
|
|
@@ -2,7 +2,7 @@ import { DummyAccessory } from '../base.js';
|
|
|
2
2
|
import { strings } from '../../i18n/i18n.js';
|
|
3
3
|
import { Webhook } from '../../model/webhook.js';
|
|
4
4
|
import { storageGet_Deprecated, Storage } from '../../tools/storage.js';
|
|
5
|
-
import { isValidOnState, OnState, printableValues,
|
|
5
|
+
import { isValidOnState, OnState, printableValues, WebhookCharacteristic } from '../../model/enums.js';
|
|
6
6
|
export class OnOffAccessory extends DummyAccessory {
|
|
7
7
|
on;
|
|
8
8
|
constructor(dependency) {
|
|
@@ -16,9 +16,9 @@ export class OnOffAccessory extends DummyAccessory {
|
|
|
16
16
|
.onSet(this.setOn.bind(this));
|
|
17
17
|
this.initializeOn();
|
|
18
18
|
}
|
|
19
|
-
webhooks() {
|
|
19
|
+
get webhooks() {
|
|
20
20
|
return [
|
|
21
|
-
new Webhook(this.identifier,
|
|
21
|
+
new Webhook(this.identifier, WebhookCharacteristic.On, () => this.on, (value) => {
|
|
22
22
|
this.setOn(value);
|
|
23
23
|
return this.logMessageForOnState(value).replace('%s', this.name);
|
|
24
24
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onoff.js","sourceRoot":"","sources":["../../../src/accessory/onoff/onoff.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAA4B,MAAM,YAAY,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAG7C,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"onoff.js","sourceRoot":"","sources":["../../../src/accessory/onoff/onoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PositionAccessory } from './position.js';
|
|
2
2
|
import { DummyAccessoryDependency } from '../base.js';
|
|
3
|
-
import { AccessoryType,
|
|
3
|
+
import { AccessoryType, WebhookCharacteristic } from '../../model/enums.js';
|
|
4
4
|
import { GarageDoorConfig } from '../../model/types.js';
|
|
5
5
|
export declare class GarageDoorAccessory extends PositionAccessory<GarageDoorConfig> {
|
|
6
6
|
constructor(dependency: DummyAccessoryDependency<GarageDoorConfig>);
|
|
@@ -10,5 +10,5 @@ export declare class GarageDoorAccessory extends PositionAccessory<GarageDoorCon
|
|
|
10
10
|
get positionOpen(): number;
|
|
11
11
|
get targetCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").TargetDoorState;
|
|
12
12
|
get currentCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").CurrentDoorState;
|
|
13
|
-
get webhookCommand():
|
|
13
|
+
get webhookCommand(): WebhookCharacteristic;
|
|
14
14
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PositionAccessory } from './position.js';
|
|
2
|
-
import { AccessoryType,
|
|
2
|
+
import { AccessoryType, WebhookCharacteristic } from '../../model/enums.js';
|
|
3
3
|
export class GarageDoorAccessory extends PositionAccessory {
|
|
4
4
|
constructor(dependency) {
|
|
5
5
|
super(dependency);
|
|
@@ -25,7 +25,7 @@ export class GarageDoorAccessory extends PositionAccessory {
|
|
|
25
25
|
return this.Characteristic.CurrentDoorState;
|
|
26
26
|
}
|
|
27
27
|
get webhookCommand() {
|
|
28
|
-
return
|
|
28
|
+
return WebhookCharacteristic.TargetDoorState;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
//# sourceMappingURL=garage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"garage.js","sourceRoot":"","sources":["../../../src/accessory/position/garage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIlD,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"garage.js","sourceRoot":"","sources":["../../../src/accessory/position/garage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAIlD,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAG5E,MAAM,OAAO,mBAAoB,SAAQ,iBAAmC;IAE1E,YAAY,UAAsD;QAChE,KAAK,CAAC,UAAU,CAAC,CAAC;QAElB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,mBAAmB,CAAC;aACnF,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,qBAAqB,CAAC,eAAe,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { CharacteristicValue } from 'homebridge';
|
|
2
2
|
import { DummyAccessory, DummyAccessoryDependency } from '../base.js';
|
|
3
|
-
import {
|
|
3
|
+
import { WebhookCharacteristic } from '../../model/enums.js';
|
|
4
4
|
import { PositionConfig } from '../../model/types.js';
|
|
5
5
|
import { Webhook } from '../../model/webhook.js';
|
|
6
6
|
export declare abstract class PositionAccessory<C extends PositionConfig = PositionConfig> extends DummyAccessory<PositionConfig> {
|
|
@@ -11,8 +11,8 @@ export declare abstract class PositionAccessory<C extends PositionConfig = Posit
|
|
|
11
11
|
protected get positionOpen(): number;
|
|
12
12
|
protected get targetCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").TargetPosition;
|
|
13
13
|
protected get currentCharacteristic(): typeof import("hap-nodejs/dist/lib/definitions/CharacteristicDefinitions.js").CurrentPosition;
|
|
14
|
-
protected get webhookCommand():
|
|
15
|
-
webhooks(): Webhook[];
|
|
14
|
+
protected get webhookCommand(): WebhookCharacteristic;
|
|
15
|
+
get webhooks(): Webhook[];
|
|
16
16
|
private initializePosition;
|
|
17
17
|
private get defaultPosition();
|
|
18
18
|
private getState;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DummyAccessory } from '../base.js';
|
|
2
2
|
import { strings } from '../../i18n/i18n.js';
|
|
3
|
-
import { Position, isValidPosition, printableValues,
|
|
3
|
+
import { Position, isValidPosition, printableValues, WebhookCharacteristic } from '../../model/enums.js';
|
|
4
4
|
import { Webhook } from '../../model/webhook.js';
|
|
5
5
|
import { storageGet_Deprecated, Storage } from '../../tools/storage.js';
|
|
6
6
|
export class PositionAccessory extends DummyAccessory {
|
|
@@ -38,11 +38,11 @@ export class PositionAccessory extends DummyAccessory {
|
|
|
38
38
|
return this.Characteristic.CurrentPosition;
|
|
39
39
|
}
|
|
40
40
|
get webhookCommand() {
|
|
41
|
-
return
|
|
41
|
+
return WebhookCharacteristic.TargetPosition;
|
|
42
42
|
}
|
|
43
|
-
webhooks() {
|
|
43
|
+
get webhooks() {
|
|
44
44
|
return [
|
|
45
|
-
new Webhook(this.identifier, this.webhookCommand, (value) => {
|
|
45
|
+
new Webhook(this.identifier, this.webhookCommand, () => this.position, (value) => {
|
|
46
46
|
this.setPosition(value);
|
|
47
47
|
return this.logTemplateForCV(value).replace('%s', this.name);
|
|
48
48
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/accessory/position/position.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAA4B,MAAM,YAAY,CAAC;AAEtE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"position.js","sourceRoot":"","sources":["../../../src/accessory/position/position.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ export declare class ThermostatAccessory extends DummyAccessory<ThermostatConfig
|
|
|
14
14
|
private initializeThermostat;
|
|
15
15
|
private get defaulTemperatureStorageKey();
|
|
16
16
|
getAccessoryType(): AccessoryType;
|
|
17
|
-
webhooks(): Webhook[];
|
|
17
|
+
get webhooks(): Webhook[];
|
|
18
18
|
private get defaultState();
|
|
19
19
|
private get defaultTemperature();
|
|
20
20
|
private get units();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DummyAccessory } from './base.js';
|
|
2
2
|
import { strings } from '../i18n/i18n.js';
|
|
3
|
-
import { AccessoryType, DefaultThermostatState, isValidTemperatureUnits, isValidThermostatState, printableValues, TemperatureUnits,
|
|
3
|
+
import { AccessoryType, DefaultThermostatState, isValidTemperatureUnits, isValidThermostatState, printableValues, TemperatureUnits, WebhookCharacteristic } from '../model/enums.js';
|
|
4
4
|
import { Webhook } from '../model/webhook.js';
|
|
5
5
|
import { storageGet_Deprecated, Storage } from '../tools/storage.js';
|
|
6
6
|
import { fromCelsius, toCelsius } from '../tools/temperature.js';
|
|
@@ -77,13 +77,13 @@ export class ThermostatAccessory extends DummyAccessory {
|
|
|
77
77
|
getAccessoryType() {
|
|
78
78
|
return AccessoryType.Thermostat;
|
|
79
79
|
}
|
|
80
|
-
webhooks() {
|
|
80
|
+
get webhooks() {
|
|
81
81
|
return [
|
|
82
|
-
new Webhook(this.identifier,
|
|
82
|
+
new Webhook(this.identifier, WebhookCharacteristic.TargetHeatingCoolingState, () => this.state, (value) => {
|
|
83
83
|
this.setState(value);
|
|
84
84
|
return this.stateLogTemplateForCV(value).replace('%s', this.name);
|
|
85
85
|
}),
|
|
86
|
-
new Webhook(this.identifier,
|
|
86
|
+
new Webhook(this.identifier, WebhookCharacteristic.TargetTemperature, () => this.temperature, (value) => {
|
|
87
87
|
this.setTemperature(value);
|
|
88
88
|
return this.temperatureLogTemplateForCV(value).replace('%s', this.name);
|
|
89
89
|
}),
|