homebridge-dummy 1.1.0-beta.9 → 1.1.1-beta.0
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 +12 -5
- package/README.md +11 -11
- package/config.schema.json +96 -19
- package/dist/accessory/base.d.ts +2 -1
- package/dist/accessory/base.js +1 -1
- package/dist/accessory/base.js.map +1 -1
- package/dist/accessory/helpers.d.ts +2 -2
- package/dist/accessory/helpers.js +9 -9
- package/dist/accessory/helpers.js.map +1 -1
- package/dist/accessory/lock.d.ts +2 -1
- package/dist/accessory/lock.js +1 -1
- package/dist/accessory/lock.js.map +1 -1
- package/dist/accessory/onoff/lightbulb.d.ts +2 -7
- package/dist/accessory/onoff/lightbulb.js +2 -43
- package/dist/accessory/onoff/lightbulb.js.map +1 -1
- package/dist/accessory/onoff/onoff.d.ts +3 -3
- package/dist/accessory/onoff/onoff.js.map +1 -1
- package/dist/accessory/onoff/outlet.d.ts +2 -1
- package/dist/accessory/onoff/outlet.js +1 -1
- package/dist/accessory/onoff/outlet.js.map +1 -1
- package/dist/accessory/onoff/switch.d.ts +2 -1
- package/dist/accessory/onoff/switch.js +1 -1
- package/dist/accessory/onoff/switch.js.map +1 -1
- package/dist/accessory/position/blind.d.ts +2 -1
- package/dist/accessory/position/blind.js +1 -1
- package/dist/accessory/position/blind.js.map +1 -1
- package/dist/accessory/position/door.d.ts +2 -1
- package/dist/accessory/position/door.js +1 -1
- package/dist/accessory/position/door.js.map +1 -1
- package/dist/accessory/position/position.js +1 -1
- package/dist/accessory/position/position.js.map +1 -1
- package/dist/accessory/position/window.d.ts +2 -1
- package/dist/accessory/position/window.js +1 -1
- package/dist/accessory/position/window.js.map +1 -1
- package/dist/accessory/sensor.d.ts +2 -1
- package/dist/accessory/sensor.js +1 -1
- package/dist/accessory/sensor.js.map +1 -1
- package/dist/accessory/thermostat.d.ts +2 -1
- package/dist/accessory/thermostat.js +1 -1
- package/dist/accessory/thermostat.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/en.d.ts +12 -9
- package/dist/i18n/en.js +17 -14
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/i18n.d.ts +12 -9
- package/dist/i18n/template.d.ts +12 -9
- package/dist/i18n/zz.d.ts +12 -9
- package/dist/model/enums.d.ts +56 -0
- package/dist/model/enums.js +66 -0
- package/dist/model/enums.js.map +1 -0
- package/dist/model/types.d.ts +3 -58
- package/dist/model/types.js +1 -65
- package/dist/model/types.js.map +1 -1
- package/dist/timeout/schedule.js +11 -4
- package/dist/timeout/schedule.js.map +1 -1
- package/dist/timeout/timeout.d.ts +1 -1
- package/dist/timeout/timeout.js +1 -1
- package/dist/tools/configMigration.js +1 -1
- package/dist/tools/configMigration.js.map +1 -1
- package/dist/tools/temperature.d.ts +1 -1
- package/dist/tools/temperature.js +1 -1
- package/dist/tools/validation.d.ts +1 -1
- package/dist/tools/validation.js +0 -1
- package/dist/tools/validation.js.map +1 -1
- package/package.json +7 -7
- package/dist/timeout/fader.d.ts +0 -14
- package/dist/timeout/fader.js +0 -45
- package/dist/timeout/fader.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,21 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to homebridge-dummy will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## 1.1.
|
|
5
|
+
## 1.1.1 (2025-09-18)
|
|
6
6
|
|
|
7
7
|
### ‼️ WARNING — Read this if upgrading from v0.9.2 or earlier…
|
|
8
8
|
|
|
9
9
|
Automations and scenes using Homebridge Dummy accessories will need to be reconfigured. After upgrading, you must **RESTART HOMEBRIDGE SERVICE & UI** (not just *RESTART HOMEBRIDGE*). After restarting, open the Homebridge Dummy plugin settings to run the accessory migration helper. Full details [here](https://github.com/mpatfield/homebridge-dummy?tab=readme-ov-file#v10-migration).
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
### Changed
|
|
12
|
+
- Better field validation in config UI (Thank you, [@justjam2013](https://github.com/sponsors/justjam2013) for teaching me this!)
|
|
13
|
+
- `schedule.cron` now expects an `@` preset or `CRON_CUSTOM` with `schedule.cronCustom` defined.
|
|
14
|
+
- This is backwards compatible so no manual edits are necessary
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- Config UI rendering issue when migrating deprecated fields
|
|
18
|
+
|
|
19
|
+
## 1.1.0 (2025-08-14)
|
|
12
20
|
|
|
13
21
|
### Added
|
|
22
|
+
- "Schedule" feature to invoke accessory at a specified interval or times via cron ([#136](https://github.com/mpatfield/homebridge-dummy/issues/136))
|
|
14
23
|
- Groups (Beta) - Items sharing the same group name can be grouped together in a single accessory in the Home.app UI ([#46](https://github.com/mpatfield/homebridge-dummy/issues/46))
|
|
15
24
|
- ⚠️ Adding/removing/changing the group name for an accessory will require you to reconfigure any HomeKit scenes or automations
|
|
16
|
-
- "Schedule" feature to invoke accessory at a specified interval or times via cron ([#136](https://github.com/mpatfield/homebridge-dummy/issues/136))
|
|
17
25
|
- Added "Activate Sensor on Auto-Reset" option ([#142](https://github.com/mpatfield/homebridge-dummy/issues/142))
|
|
18
26
|
- Instead of mirroring accessory, sensor will be activated only when accessory auto-resets
|
|
19
|
-
- "Fade" option for dimmer lightbulbs timers ([#150](https://github.com/mpatfield/homebridge-dummy/issues/150))
|
|
20
27
|
- Millisecond unit option ([#149](https://github.com/mpatfield/homebridge-dummy/issues/149))
|
|
21
28
|
- Rudimentary support for Thermostats ([#145](https://github.com/mpatfield/homebridge-dummy/issues/145))
|
|
22
29
|
- Manual control only, no scheduling or auto-reset functionality
|
|
@@ -42,7 +49,7 @@ Automations and scenes using Homebridge Dummy accessories will need to be reconf
|
|
|
42
49
|
- resetOnRestart option for stateful accessories to return to defaults on Homebridge restart
|
|
43
50
|
- Support for Door, Outlet, and Lock Mechanism, Window, and Window Covering
|
|
44
51
|
- Sensor support (CO2, CO, Contact, Leak, Motion, Occupancy, and Smoke)
|
|
45
|
-
- Execute
|
|
52
|
+
- Execute arbitrary commands when accessory state changes
|
|
46
53
|
|
|
47
54
|
## 0.9.2 (2025-06-26)
|
|
48
55
|
|
package/README.md
CHANGED
|
@@ -10,9 +10,11 @@
|
|
|
10
10
|
Homebridge plugin to create fake accessories for assisting with advanced Apple HomeKit automations
|
|
11
11
|
|
|
12
12
|
[](https://github.com/homebridge/homebridge/wiki/Verified-Plugins)
|
|
13
|
-
[](https://plugins.hoobs.org/plugin/homebridge-dummy)
|
|
13
|
+
[](https://plugins.hoobs.org/plugin/homebridge-dummy)\
|
|
14
14
|
[](https://www.npmjs.com/package/homebridge-dummy)
|
|
15
|
-
[](https://www.npmjs.com/package/homebridge-dummy)
|
|
15
|
+
[](https://www.npmjs.com/package/homebridge-dummy)\
|
|
16
|
+
[](https://discord.com/channels/432663330281226270/1406798847279366214)
|
|
17
|
+
|
|
16
18
|
|
|
17
19
|
</span>
|
|
18
20
|
|
|
@@ -104,7 +106,6 @@ Using the Homebridge Config UI is the easiest way to set up this plugin. However
|
|
|
104
106
|
"timerControlled": true | false
|
|
105
107
|
}
|
|
106
108
|
"temperatureUnits": "C" | "F",
|
|
107
|
-
"fade": true | false,
|
|
108
109
|
"defaultOn": true | false,
|
|
109
110
|
"defaultBrightness": 0-100,
|
|
110
111
|
"defaultLockState": "locked" | "unlocked",
|
|
@@ -134,7 +135,7 @@ All fields are optional unless noted with an asterisk (*)
|
|
|
134
135
|
- `name`* - The display name for the accessory in HomeKit
|
|
135
136
|
- `type`* - The type of accessory: `Door`, `Lightbulb`, `LockMechanism`, `Outlet`, `Switch`, `Thermostat`, `Window`, or `WindowCovering`
|
|
136
137
|
|
|
137
|
-
- `groupName` -
|
|
138
|
+
- `groupName` - Items sharing the same group name will be collected together in the Home app UI
|
|
138
139
|
- ⚠️ Adding/removing/changing the group name will require you to reconfigure any HomeKit scenes or automations
|
|
139
140
|
|
|
140
141
|
- `timer.delay` — If defined, the switch will automatically toggle after this many milliseconds/seconds/minutes/hours
|
|
@@ -145,7 +146,8 @@ All fields are optional unless noted with an asterisk (*)
|
|
|
145
146
|
- `schedule.interval` — Trigger the accessory after this many milliseconds/seconds/minutes/hours. *Required if `schedule.type` = `INTERVAL`
|
|
146
147
|
- `schedule.units` — The units to use for the interval (`MILLISECONDS`, `SECONDS`, `MINUTES`, or `HOURS`) *Required if `schedule.type` = `INTERVAL`
|
|
147
148
|
- `schedule.random` — If true, the interval will be randomized with a maximum value of `schedule.interval`
|
|
148
|
-
- `schedule.cron` —
|
|
149
|
+
- `schedule.cron` — One of `@secondly`, `@minutely`, `@hourly`, `@daily`, `@weekly`, `@weekdays`, `@weekends`, `@monthly`, `@yearly`, or `CUSTOM_CRON`. *Required if `schedule.type` = `CRON`
|
|
150
|
+
- `schedule.cronCustom` - Custom cron string for triggering the accessory. *Required if `schedule.cron` = `CUSTOM_CRON`
|
|
149
151
|
- See [crontab.guru](http://crontab.guru) for help
|
|
150
152
|
|
|
151
153
|
- `sensor.type` - Optionally attach a sensor that mirrors the state of the parent accessory
|
|
@@ -154,8 +156,6 @@ All fields are optional unless noted with an asterisk (*)
|
|
|
154
156
|
|
|
155
157
|
- `temperatureUnits` - Units to use for thermostats, either 'C' or 'F'
|
|
156
158
|
|
|
157
|
-
- `fade` — If true, dimmer lightbulbs will fade gradually over the specified time interval. *Requires `timer` to be defined.
|
|
158
|
-
|
|
159
159
|
- `defaultOn` — Initial value. Default _ON_ = true, default _OFF_ = false
|
|
160
160
|
|
|
161
161
|
- `defaultBrightness` — If set, lightbulb will have additional dimmer settings with this default brightness percentage
|
|
@@ -168,11 +168,11 @@ All fields are optional unless noted with an asterisk (*)
|
|
|
168
168
|
|
|
169
169
|
- `defaultTemperature` - The default temperature for the thermostat in `temperatureUnits` defined above
|
|
170
170
|
|
|
171
|
-
- `onCommand` -
|
|
172
|
-
- `offCommand` -
|
|
171
|
+
- `onCommand` - Arbitrary command to execute when lightbulb/outlet/switch/thermostat turns on
|
|
172
|
+
- `offCommand` - Arbitrary command to execute when lightbulb/outlet/switch/thermostat turns off
|
|
173
173
|
|
|
174
|
-
- `lockCommand` -
|
|
175
|
-
- `unlockCommand` -
|
|
174
|
+
- `lockCommand` - Arbitrary command to execute when lock mechanism is locked
|
|
175
|
+
- `unlockCommand` - Arbitrary command to execute when lock mechanism is unlocked
|
|
176
176
|
|
|
177
177
|
- `commandTemperature` - Arbitrary command to execute when temperature changes
|
|
178
178
|
|
package/config.schema.json
CHANGED
|
@@ -43,7 +43,33 @@
|
|
|
43
43
|
"title": "${config.title.random}",
|
|
44
44
|
"description": "${config.description.random}"
|
|
45
45
|
}
|
|
46
|
-
}
|
|
46
|
+
},
|
|
47
|
+
"allOf": [
|
|
48
|
+
{
|
|
49
|
+
"if": {
|
|
50
|
+
"properties": {
|
|
51
|
+
"delay": {
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"required": ["delay"]
|
|
55
|
+
},
|
|
56
|
+
"then": {
|
|
57
|
+
"required": ["units"]
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"if": {
|
|
62
|
+
"properties": {
|
|
63
|
+
"units" : {
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"required": [ "units" ]
|
|
67
|
+
},
|
|
68
|
+
"then": {
|
|
69
|
+
"required": [ "delay"]
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
]
|
|
47
73
|
},
|
|
48
74
|
"schedule": {
|
|
49
75
|
"type": "object",
|
|
@@ -67,12 +93,56 @@
|
|
|
67
93
|
},
|
|
68
94
|
"cron": {
|
|
69
95
|
"type": "string",
|
|
70
|
-
"title": "${config.title.
|
|
71
|
-
"
|
|
96
|
+
"title": "${config.title.preset}",
|
|
97
|
+
"enum": [ "@secondly", "@minutely", "@hourly", "@daily", "@weekly", "@weekdays", "@weekends", "@monthly", "@yearly", "CRON_CUSTOM"],
|
|
98
|
+
"enumNames": ["${config.enumNames.secondly}", "${config.enumNames.minutely}", "${config.enumNames.hourly}", "${config.enumNames.daily}", "${config.enumNames.weekly}", "${config.enumNames.weekdays}", "${config.enumNames.weekends}", "${config.enumNames.monthly}", "${config.enumNames.yearly}", "${config.enumNames.custom}"]
|
|
99
|
+
},
|
|
100
|
+
"cronCustom": {
|
|
101
|
+
"type": "string",
|
|
102
|
+
"title": "${config.title.cronCustom}",
|
|
72
103
|
"placeholder": "* * * * * *",
|
|
73
|
-
"
|
|
104
|
+
"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))$)"
|
|
74
105
|
}
|
|
75
|
-
}
|
|
106
|
+
},
|
|
107
|
+
"allOf": [
|
|
108
|
+
{
|
|
109
|
+
"if": {
|
|
110
|
+
"properties": {
|
|
111
|
+
"type": {
|
|
112
|
+
"const": "INTERVAL"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
"then": {
|
|
117
|
+
"required": ["interval", "units"]
|
|
118
|
+
}
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"if": {
|
|
122
|
+
"properties": {
|
|
123
|
+
"type": {
|
|
124
|
+
"const": "CRON"
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
"then": {
|
|
129
|
+
"required": ["cron"]
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"if": {
|
|
134
|
+
"required": ["cron"],
|
|
135
|
+
"properties": {
|
|
136
|
+
"cron": {
|
|
137
|
+
"const": "CRON_CUSTOM"
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"then": {
|
|
142
|
+
"required": ["cronCustom"]
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
]
|
|
76
146
|
}
|
|
77
147
|
},
|
|
78
148
|
"properties": {
|
|
@@ -112,11 +182,6 @@
|
|
|
112
182
|
"enum": ["C", "F"],
|
|
113
183
|
"enumNames": ["${config.enumNames.celsius}", "${config.enumNames.fahrenheit}"]
|
|
114
184
|
},
|
|
115
|
-
"fade": {
|
|
116
|
-
"type": "boolean",
|
|
117
|
-
"title": "${config.title.fade}",
|
|
118
|
-
"description": "${config.description.fade}"
|
|
119
|
-
},
|
|
120
185
|
"defaultBrightness": {
|
|
121
186
|
"type": "number",
|
|
122
187
|
"title": "${config.title.defaultBrightness}",
|
|
@@ -325,7 +390,7 @@
|
|
|
325
390
|
"key": "accessories[].resetOnRestart",
|
|
326
391
|
"flex": "0 1 33%",
|
|
327
392
|
"condition": {
|
|
328
|
-
"functionBody": "return model.accessories?.[arguments[1]]?.timer?.delay === undefined;"
|
|
393
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.schedule?.type === undefined && model.accessories?.[arguments[1]]?.timer?.delay === undefined;"
|
|
329
394
|
}
|
|
330
395
|
}
|
|
331
396
|
]
|
|
@@ -366,10 +431,25 @@
|
|
|
366
431
|
]
|
|
367
432
|
},
|
|
368
433
|
{
|
|
369
|
-
"
|
|
434
|
+
"type": "div",
|
|
435
|
+
"displayFlex": true,
|
|
436
|
+
"flex-direction": "row",
|
|
370
437
|
"condition": {
|
|
371
438
|
"functionBody": "return model.accessories?.[arguments[1]]?.schedule?.type === 'CRON';"
|
|
372
|
-
}
|
|
439
|
+
},
|
|
440
|
+
"items": [
|
|
441
|
+
{
|
|
442
|
+
"key": "accessories[].schedule.cron",
|
|
443
|
+
"flex": "1 1 33%"
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"key": "accessories[].schedule.cronCustom",
|
|
447
|
+
"flex": "1 1 67%",
|
|
448
|
+
"condition": {
|
|
449
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.schedule?.cron === 'CRON_CUSTOM';"
|
|
450
|
+
}
|
|
451
|
+
}
|
|
452
|
+
]
|
|
373
453
|
},
|
|
374
454
|
{
|
|
375
455
|
"key": "accessories[].schedule.random",
|
|
@@ -409,12 +489,6 @@
|
|
|
409
489
|
"functionBody": "return model.accessories?.[arguments[1]]?.timer?.delay !== undefined;"
|
|
410
490
|
},
|
|
411
491
|
"items": [
|
|
412
|
-
{
|
|
413
|
-
"key": "accessories[].fade",
|
|
414
|
-
"condition": {
|
|
415
|
-
"functionBody": "return model.accessories?.[arguments[1]]?.defaultBrightness !== undefined;"
|
|
416
|
-
}
|
|
417
|
-
},
|
|
418
492
|
"accessories[].timer.random",
|
|
419
493
|
{
|
|
420
494
|
"key": "accessories[].sensor.timerControlled",
|
|
@@ -430,6 +504,9 @@
|
|
|
430
504
|
"type": "fieldset",
|
|
431
505
|
"title": "${config.title.commands}",
|
|
432
506
|
"description": "${config.description.commands}",
|
|
507
|
+
"condition": {
|
|
508
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.type !== undefined;"
|
|
509
|
+
},
|
|
433
510
|
"items": [
|
|
434
511
|
{
|
|
435
512
|
"key": "accessories[].commandOn",
|
package/dist/accessory/base.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PlatformAccessory, Service } from 'homebridge';
|
|
2
2
|
import { SensorAccessory } from './sensor.js';
|
|
3
|
-
import { AccessoryType
|
|
3
|
+
import { AccessoryType } from '../model/enums.js';
|
|
4
|
+
import { CharacteristicType, DummyConfig, ServiceType } from '../model/types.js';
|
|
4
5
|
import { Log } from '../tools/log.js';
|
|
5
6
|
export declare abstract class DummyAccessory<C extends DummyConfig> {
|
|
6
7
|
protected readonly Service: ServiceType;
|
package/dist/accessory/base.js
CHANGED
|
@@ -2,7 +2,7 @@ import { exec } from 'child_process';
|
|
|
2
2
|
import { PLATFORM_NAME, PLUGIN_ALIAS } from '../homebridge/settings.js';
|
|
3
3
|
import { SensorAccessory } from './sensor.js';
|
|
4
4
|
import { strings } from '../i18n/i18n.js';
|
|
5
|
-
import { AccessoryType } from '../model/
|
|
5
|
+
import { AccessoryType } from '../model/enums.js';
|
|
6
6
|
import { Schedule } from '../timeout/schedule.js';
|
|
7
7
|
import { Timer } from '../timeout/timer.js';
|
|
8
8
|
import { STORAGE_KEY_SUFFIX_DEFAULT_STATE } from '../tools/storage.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/accessory/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/accessory/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PlatformAccessory } from 'homebridge';
|
|
2
2
|
import { DummyAccessory } from './base.js';
|
|
3
|
-
import
|
|
3
|
+
import { CharacteristicType, DummyConfig, ServiceType } from '../model/types.js';
|
|
4
4
|
import { Log } from '../tools/log.js';
|
|
5
|
-
export declare function createDummyAccessory(Service:
|
|
5
|
+
export declare function createDummyAccessory(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: DummyConfig, log: Log, persistPath: string, isGrouped?: boolean): DummyAccessory<DummyConfig> | null;
|
|
@@ -7,24 +7,24 @@ import { SwitchAccessory } from './onoff/switch.js';
|
|
|
7
7
|
import { ThermostatAccessory } from './thermostat.js';
|
|
8
8
|
import { WindowAccessory } from './position/window.js';
|
|
9
9
|
import { strings } from '../i18n/i18n.js';
|
|
10
|
-
import
|
|
10
|
+
import { AccessoryType } from '../model/enums.js';
|
|
11
11
|
export function createDummyAccessory(Service, Characteristic, accessory, config, log, persistPath, isGrouped = false) {
|
|
12
12
|
switch (config.type) {
|
|
13
|
-
case
|
|
13
|
+
case AccessoryType.Door:
|
|
14
14
|
return new DoorAccessory(Service, Characteristic, accessory, config, log, persistPath, isGrouped);
|
|
15
|
-
case
|
|
15
|
+
case AccessoryType.Lightbulb:
|
|
16
16
|
return new LightbulbAccessory(Service, Characteristic, accessory, config, log, persistPath, isGrouped);
|
|
17
|
-
case
|
|
17
|
+
case AccessoryType.LockMechanism:
|
|
18
18
|
return new LockAccessory(Service, Characteristic, accessory, config, log, persistPath, isGrouped);
|
|
19
|
-
case
|
|
19
|
+
case AccessoryType.Outlet:
|
|
20
20
|
return new OutletAccessory(Service, Characteristic, accessory, config, log, persistPath, isGrouped);
|
|
21
|
-
case
|
|
21
|
+
case AccessoryType.Switch:
|
|
22
22
|
return new SwitchAccessory(Service, Characteristic, accessory, config, log, persistPath, isGrouped);
|
|
23
|
-
case
|
|
23
|
+
case AccessoryType.Thermostat:
|
|
24
24
|
return new ThermostatAccessory(Service, Characteristic, accessory, config, log, persistPath, isGrouped);
|
|
25
|
-
case
|
|
25
|
+
case AccessoryType.Window:
|
|
26
26
|
return new WindowAccessory(Service, Characteristic, accessory, config, log, persistPath, isGrouped);
|
|
27
|
-
case
|
|
27
|
+
case AccessoryType.WindowCovering:
|
|
28
28
|
return new BlindAccessory(Service, Characteristic, accessory, config, log, persistPath, isGrouped);
|
|
29
29
|
default:
|
|
30
30
|
log.error(strings.startup.unsupportedType, `'${config.type}'`);
|
|
@@ -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,
|
|
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,WAAmB,EACnB,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,WAAW,EAAE,SAAS,CAAC,CAAC;QACpG,KAAK,aAAa,CAAC,SAAS;YAC1B,OAAO,IAAI,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACzG,KAAK,aAAa,CAAC,aAAa;YAC9B,OAAO,IAAI,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACpG,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACtG,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACtG,KAAK,aAAa,CAAC,UAAU;YAC3B,OAAO,IAAI,mBAAmB,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC1G,KAAK,aAAa,CAAC,MAAM;YACvB,OAAO,IAAI,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACtG,KAAK,aAAa,CAAC,cAAc;YAC/B,OAAO,IAAI,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACrG;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"}
|
package/dist/accessory/lock.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory } from 'homebridge';
|
|
2
2
|
import { DummyAccessory } from './base.js';
|
|
3
|
-
import { AccessoryType
|
|
3
|
+
import { AccessoryType } from '../model/enums.js';
|
|
4
|
+
import { CharacteristicType, LockConfig, ServiceType } from '../model/types.js';
|
|
4
5
|
import { Log } from '../tools/log.js';
|
|
5
6
|
export declare class LockAccessory extends DummyAccessory<LockConfig> {
|
|
6
7
|
private state;
|
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, DefaultLockState } from '../model/
|
|
3
|
+
import { AccessoryType, DefaultLockState } from '../model/enums.js';
|
|
4
4
|
import { storageGet, storageSet } from '../tools/storage.js';
|
|
5
5
|
export class LockAccessory extends DummyAccessory {
|
|
6
6
|
state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/accessory/lock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"lock.js","sourceRoot":"","sources":["../../src/accessory/lock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAO,mBAAmB,CAAC;AAIrE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAE7D,MAAM,OAAO,aAAc,SAAQ,cAA0B;IAEnD,KAAK,CAAsB;IAEnC,YACE,OAAoB,EACpB,cAAkC,EAClC,SAA4B,EAC5B,MAAkB,EAClB,GAAQ,EACR,WAAmB,EACnB,SAAkB;QAElB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAE/E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEnC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC;aACpE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC/B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnC,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,CAAC;aACrE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,eAAe;QAE3B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;QAC7F,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/F,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,aAAa,CAAC;IACrC,CAAC;IAED,IAAY,gBAAgB;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACjE,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC;IAChG,CAAC;IAES,KAAK,CAAC,QAAQ;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAES,KAAK,CAAC,QAAQ,CAAC,KAA0B;QAEjD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEzB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;gBACrF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;gBAChG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACzC,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5F,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE7F,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,CAAC;YAC5D,CAAC;iBAAM,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,QAAQ;QACrB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC3E,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC;YAC9F,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAEQ,KAAK,CAAC,KAAK;QAClB,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC3C,IAAI,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAES,YAAY,CAAC,KAA0B;QAC/C,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACrE,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF"}
|
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory } from 'homebridge';
|
|
2
2
|
import { OnOffAccessory } from './onoff.js';
|
|
3
|
-
import { AccessoryType
|
|
3
|
+
import { AccessoryType } from '../../model/enums.js';
|
|
4
|
+
import { CharacteristicType, LightbulbConfig, ServiceType } from '../../model/types.js';
|
|
4
5
|
import { Log } from '../../tools/log.js';
|
|
5
6
|
export declare class LightbulbAccessory extends OnOffAccessory<LightbulbConfig> {
|
|
6
7
|
private brightness;
|
|
7
|
-
private fader?;
|
|
8
8
|
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: LightbulbConfig, log: Log, persistPath: string, isGrouped: boolean);
|
|
9
9
|
private get isDimmer();
|
|
10
10
|
private get defaultBrightnessStorageKey();
|
|
11
11
|
protected getAccessoryType(): AccessoryType;
|
|
12
12
|
private initializeBrightness;
|
|
13
13
|
logOnState(value: CharacteristicValue): void;
|
|
14
|
-
teardown(): void;
|
|
15
|
-
startTimer(): void;
|
|
16
|
-
cancelTimer(): void;
|
|
17
|
-
getOn(): Promise<CharacteristicValue>;
|
|
18
14
|
private getBrightness;
|
|
19
15
|
private setBrightness;
|
|
20
|
-
private onFadeUpdate;
|
|
21
16
|
}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import { OnOffAccessory } from './onoff.js';
|
|
2
2
|
import { strings } from '../../i18n/i18n.js';
|
|
3
|
-
import { AccessoryType } from '../../model/
|
|
4
|
-
import { Fader } from '../../timeout/fader.js';
|
|
3
|
+
import { AccessoryType } from '../../model/enums.js';
|
|
5
4
|
import { STORAGE_KEY_SUFFIX_DEFAULT_BRIGHTNESS, storageGet, storageSet } from '../../tools/storage.js';
|
|
6
5
|
import { assertType } from '../../tools/validation.js';
|
|
7
6
|
const NO_BRIGHTNESS = -1;
|
|
8
7
|
export class LightbulbAccessory extends OnOffAccessory {
|
|
9
8
|
brightness;
|
|
10
|
-
fader;
|
|
11
9
|
constructor(Service, Characteristic, accessory, config, log, persistPath, isGrouped) {
|
|
12
10
|
super(Service, Characteristic, accessory, config, log, persistPath, isGrouped);
|
|
13
11
|
this.brightness = this.config.defaultBrightness ?? NO_BRIGHTNESS;
|
|
@@ -16,9 +14,6 @@ export class LightbulbAccessory extends OnOffAccessory {
|
|
|
16
14
|
.onGet(this.getBrightness.bind(this))
|
|
17
15
|
.onSet(this.setBrightness.bind(this));
|
|
18
16
|
this.initializeBrightness();
|
|
19
|
-
if (this.config.fade && config.timer) {
|
|
20
|
-
this.fader = Fader.new(config.timer, this.defaultOn, config.name, log, this.config.disableLogging === true);
|
|
21
|
-
}
|
|
22
17
|
}
|
|
23
18
|
}
|
|
24
19
|
get isDimmer() {
|
|
@@ -44,29 +39,8 @@ export class LightbulbAccessory extends OnOffAccessory {
|
|
|
44
39
|
super.logOnState(value);
|
|
45
40
|
}
|
|
46
41
|
}
|
|
47
|
-
teardown() {
|
|
48
|
-
this.fader?.reset();
|
|
49
|
-
super.teardown();
|
|
50
|
-
}
|
|
51
|
-
startTimer() {
|
|
52
|
-
if (this.fader) {
|
|
53
|
-
this.fader.start(this.brightness, this.onFadeUpdate.bind(this));
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
super.startTimer();
|
|
57
|
-
}
|
|
58
|
-
cancelTimer() {
|
|
59
|
-
if (this.fader) {
|
|
60
|
-
this.fader.cancel();
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
super.cancelTimer();
|
|
64
|
-
}
|
|
65
|
-
async getOn() {
|
|
66
|
-
return (this.fader?.currentValue && !this.defaultOn) ?? super.getOn();
|
|
67
|
-
}
|
|
68
42
|
async getBrightness() {
|
|
69
|
-
return this.
|
|
43
|
+
return this.brightness;
|
|
70
44
|
}
|
|
71
45
|
async setBrightness(value) {
|
|
72
46
|
if (!assertType(this.log, this.config.name, value, 'number')) {
|
|
@@ -83,20 +57,5 @@ export class LightbulbAccessory extends OnOffAccessory {
|
|
|
83
57
|
}
|
|
84
58
|
this.accessoryService.updateCharacteristic(this.Characteristic.Brightness, this.brightness);
|
|
85
59
|
}
|
|
86
|
-
async onFadeUpdate(value) {
|
|
87
|
-
if (!this.defaultOn && value === 0) {
|
|
88
|
-
this.fader?.reset();
|
|
89
|
-
await this.setOn(false);
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
if (this.defaultOn && value > 0) {
|
|
93
|
-
this.accessoryService.updateCharacteristic(this.Characteristic.On, true);
|
|
94
|
-
}
|
|
95
|
-
this.accessoryService.updateCharacteristic(this.Characteristic.Brightness, value);
|
|
96
|
-
if (this.defaultOn && value === this.brightness) {
|
|
97
|
-
this.fader?.reset();
|
|
98
|
-
await this.setOn(true);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
60
|
}
|
|
102
61
|
//# sourceMappingURL=lightbulb.js.map
|
|
@@ -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;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"lightbulb.js","sourceRoot":"","sources":["../../../src/accessory/onoff/lightbulb.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAIrD,OAAO,EAAE,qCAAqC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,aAAa,GAAG,CAAC,CAAC,CAAC;AAEzB,MAAM,OAAO,kBAAmB,SAAQ,cAA+B;IAE7D,UAAU,CAAsB;IAExC,YACE,OAAoB,EACpB,cAAkC,EAClC,SAA4B,EAC5B,MAAuB,EACvB,GAAQ,EACR,WAAmB,EACnB,SAAkB;QAElB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAE/E,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,aAAa,CAAC;QAEjE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAElB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC;iBACpE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;iBACpC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAExC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAC,UAAU,KAAK,aAAa,CAAC;IAC3C,CAAC;IAED,IAAY,2BAA2B;QACrC,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,qCAAqC,EAAE,CAAC;IACvE,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAEhC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC;QAC5G,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9F,CAAC;IAEQ,UAAU,CAAC,KAA0B;QAC5C,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,CAAC;QAC7G,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAA0B;QAEpD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,UAAU,KAAK,KAAK,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAExB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAExG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,2BAA2B,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC9F,CAAC;CACF"}
|
|
@@ -6,9 +6,9 @@ export declare abstract class OnOffAccessory<C extends OnOffConfig = OnOffConfig
|
|
|
6
6
|
private on;
|
|
7
7
|
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: C, log: Log, persistPath: string, isGrouped: boolean);
|
|
8
8
|
private initializeOn;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
private get defaultOn();
|
|
10
|
+
private getOn;
|
|
11
|
+
private setOn;
|
|
12
12
|
schedule(): Promise<void>;
|
|
13
13
|
reset(): Promise<void>;
|
|
14
14
|
protected logOnState(value: CharacteristicValue): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"onoff.js","sourceRoot":"","sources":["../../../src/accessory/onoff/onoff.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAK7C,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAEvD,MAAM,OAAgB,cAAoD,SAAQ,cAAiB;IAEzF,EAAE,CAAU;IAEpB,YACE,OAAoB,EACpB,cAAkC,EAClC,SAA4B,EAC5B,MAAS,EACT,GAAQ,EACR,WAAmB,EACnB,SAAkB;QAElB,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAE/E,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAEzB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC;aACvD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEhC,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,KAAK,CAAC,YAAY;QAExB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,EAAE,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QACvF,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"onoff.js","sourceRoot":"","sources":["../../../src/accessory/onoff/onoff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { OnOffAccessory } from './onoff.js';
|
|
2
|
-
import {
|
|
2
|
+
import { AccessoryType } from '../../model/enums.js';
|
|
3
|
+
import { OutletConfig } from '../../model/types.js';
|
|
3
4
|
export declare class OutletAccessory extends OnOffAccessory<OutletConfig> {
|
|
4
5
|
protected getAccessoryType(): AccessoryType;
|
|
5
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"outlet.js","sourceRoot":"","sources":["../../../src/accessory/onoff/outlet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,
|
|
1
|
+
{"version":3,"file":"outlet.js","sourceRoot":"","sources":["../../../src/accessory/onoff/outlet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,MAAM,OAAO,eAAgB,SAAQ,cAA4B;IAErD,gBAAgB;QACxB,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { OnOffAccessory } from './onoff.js';
|
|
2
|
-
import { AccessoryType
|
|
2
|
+
import { AccessoryType } from '../../model/enums.js';
|
|
3
|
+
import { SwitchConfig } from '../../model/types.js';
|
|
3
4
|
export declare class SwitchAccessory extends OnOffAccessory<SwitchConfig> {
|
|
4
5
|
protected getAccessoryType(): AccessoryType;
|
|
5
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/accessory/onoff/switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"switch.js","sourceRoot":"","sources":["../../../src/accessory/onoff/switch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,MAAM,OAAO,eAAgB,SAAQ,cAA4B;IAErD,gBAAgB;QACxB,OAAO,aAAa,CAAC,MAAM,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { PositionAccessory } from './position.js';
|
|
2
|
-
import { AccessoryType
|
|
2
|
+
import { AccessoryType } from '../../model/enums.js';
|
|
3
|
+
import { BlindConfig } from '../../model/types.js';
|
|
3
4
|
export declare class BlindAccessory extends PositionAccessory<BlindConfig> {
|
|
4
5
|
protected getAccessoryType(): AccessoryType;
|
|
5
6
|
}
|