homebridge-dummy 1.5.0-beta.0 → 1.5.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 +27 -19
- package/README.md +7 -424
- package/dist/homebridge-ui/public/index.html +9 -12
- package/dist/i18n/de.d.ts +7 -6
- package/dist/i18n/en.d.ts +7 -6
- package/dist/i18n/en.js +7 -6
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/es.d.ts +7 -6
- package/dist/i18n/i18n.d.ts +7 -6
- package/dist/i18n/ru.d.ts +7 -6
- package/dist/i18n/template.d.ts +7 -6
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,29 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to homebridge-dummy will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## 1.5.
|
|
5
|
+
## 1.5.1 (2025-11-21)
|
|
6
6
|
|
|
7
|
-
### ‼️ WARNING ‼️ — If upgrading from v0.9.2 or earlier, [READ THIS FIRST](https://github.com/mpatfield/homebridge-dummy
|
|
7
|
+
### ‼️ WARNING ‼️ — If upgrading from v0.9.2 or earlier, [READ THIS FIRST](https://github.com/mpatfield/homebridge-dummy/wiki/Migration)
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
- Auto-Reset now supports the same options as Schedule — delay, interval, sun-based options, and cron
|
|
11
|
-
- ⚠️ This required significant under-the-hood changes, so please [open a ticket](https://github.com/mpatfield/homebridge-dummy/issues/new/choose) if you have issues
|
|
9
|
+
-----
|
|
12
10
|
|
|
13
11
|
### Changed
|
|
14
|
-
-
|
|
15
|
-
|
|
12
|
+
- Streamline v0.9.2 -> v1.5.1 migration flow
|
|
13
|
+
- Updated dependencies
|
|
16
14
|
|
|
17
15
|
### Notes
|
|
18
16
|
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!
|
|
19
17
|
|
|
18
|
+
## 1.5.0 (2025-11-21)
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
- Auto-Reset now supports the same options as Schedule — delay, interval, sun-based options, and cron
|
|
22
|
+
- ⚠️ This required significant under-the-hood changes to the timer logic, so please [open a ticket](https://github.com/mpatfield/homebridge-dummy/issues/new/choose) if you have issues
|
|
23
|
+
|
|
24
|
+
### Changed
|
|
25
|
+
- Deprecated `timer` in favor of `autoReset` (see above)
|
|
26
|
+
- This is backwards compatible, so no manual JSON config edits are necessary
|
|
27
|
+
|
|
20
28
|
## 1.4.3 (2025-11-20)
|
|
21
29
|
|
|
22
30
|
### Added
|
|
23
|
-
- MAC Address support for [Reachability](https://github.com/mpatfield/homebridge-dummy
|
|
31
|
+
- MAC Address support for [Reachability](https://github.com/mpatfield/homebridge-dummy/wiki/Trigger-Conditions#reachabilitypresence) conditions, useful for triggering events based on joining/leaving your local network
|
|
24
32
|
- ⚠️ Somewhat experimental so please [open a ticket](https://github.com/mpatfield/homebridge-dummy/issues/new/choose) if you have issues
|
|
25
33
|
|
|
26
34
|
### Fixed
|
|
27
|
-
- `TargetTemperature` [Webhook](https://github.com/mpatfield/homebridge-dummy
|
|
35
|
+
- `TargetTemperature` [Webhook](https://github.com/mpatfield/homebridge-dummy/wiki/Webhooks) respects configured min/max ([#257](https://github.com/mpatfield/homebridge-dummy/issues/257))
|
|
28
36
|
- Suppress `Lightbulb` warnings ([#258](https://github.com/mpatfield/homebridge-dummy/issues/258)) and avoid potential crash on startup ([#266](https://github.com/mpatfield/homebridge-dummy/issues/266))
|
|
29
37
|
- `Thermostat` issue when setting `minimumTemperature` to zero ([#259](https://github.com/mpatfield/homebridge-dummy/issues/259))
|
|
30
38
|
|
|
@@ -34,8 +42,8 @@ Would you like to see Homebridge Dummy in your language? Please consider [gettin
|
|
|
34
42
|
## 1.4.2 (2025-11-14)
|
|
35
43
|
|
|
36
44
|
### Added
|
|
37
|
-
- `sync` [Webhooks](https://github.com/mpatfield/homebridge-dummy
|
|
38
|
-
- Accessory states can be accessed within commands via [Environment Variables](https://github.com/mpatfield/homebridge-dummy
|
|
45
|
+
- `sync` [Webhooks](https://github.com/mpatfield/homebridge-dummy/wiki/Webhooks) which suppress command execution
|
|
46
|
+
- Accessory states can be accessed within commands via [Environment Variables](https://github.com/mpatfield/homebridge-dummy/wiki/Environment-Variables)
|
|
39
47
|
|
|
40
48
|
### Changed
|
|
41
49
|
- `Thermostat` - current state (i.e. HEAT/COOL/OFF) mirrors target state; previously always 'OFF'
|
|
@@ -43,17 +51,17 @@ Would you like to see Homebridge Dummy in your language? Please consider [gettin
|
|
|
43
51
|
## 1.4.1 (2025-11-06)
|
|
44
52
|
|
|
45
53
|
### Added
|
|
46
|
-
- [Schedule](https://github.com/mpatfield/homebridge-dummy
|
|
47
|
-
- [Reachability](https://github.com/mpatfield/homebridge-dummy
|
|
48
|
-
- Fetch accessory state via [Webhooks](https://github.com/mpatfield/homebridge-dummy
|
|
54
|
+
- [Schedule](https://github.com/mpatfield/homebridge-dummy/wiki/Schedule) settings for sunrise, sunset, dawn, dusk, golden hour, or night, with optional offset
|
|
55
|
+
- [Reachability](https://github.com/mpatfield/homebridge-dummy/wiki/Trigger-Conditions#reachabilitypresence) Trigger Condition
|
|
56
|
+
- Fetch accessory state via [Webhooks](https://github.com/mpatfield/homebridge-dummy/wiki/Webhooks)
|
|
49
57
|
- `command` has been replaced by `get`/`set` - this is backwards compatible so no manual edits are necessary
|
|
50
58
|
|
|
51
59
|
## 1.4.0 (2025-11-01)
|
|
52
60
|
|
|
53
61
|
### Added
|
|
54
|
-
- [Trigger Conditions](https://github.com/mpatfield/homebridge-dummy
|
|
62
|
+
- [Trigger Conditions](https://github.com/mpatfield/homebridge-dummy/wiki/Trigger-Conditions) to change the state of an accessory based on state changes of other Homebridge Dummy accessories or keywords in the Homebridge log
|
|
55
63
|
- ⚠️ 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.
|
|
56
|
-
- `GET` requests for [Webhooks](https://github.com/mpatfield/homebridge-dummy
|
|
64
|
+
- `GET` requests for [Webhooks](https://github.com/mpatfield/homebridge-dummy/wiki/Webhooks) (previously only `POST`)
|
|
57
65
|
- Fade Out option for `Lightbulb` brightness to emulate a simple "count-down"
|
|
58
66
|
- Min/max temperature settings for `Thermostat`
|
|
59
67
|
|
|
@@ -82,12 +90,12 @@ After further consideration, I will continue to support `Thermostat` as an acces
|
|
|
82
90
|
- Traducciones al español. ¡Gracias, [@dcompane](https://github.com/sponsors/dcompane)!
|
|
83
91
|
|
|
84
92
|
### Changed
|
|
85
|
-
- Webhook server port is now configurable using `webhookPort` ([docs](https://github.com/mpatfield/homebridge-dummy
|
|
93
|
+
- Webhook server port is now configurable using `webhookPort` ([docs](https://github.com/mpatfield/homebridge-dummy/wiki/Webhooks))
|
|
86
94
|
|
|
87
95
|
## 1.3.0 (2025-10-13)
|
|
88
96
|
|
|
89
97
|
### Added
|
|
90
|
-
- Time Limits ([docs](https://github.com/mpatfield/homebridge-dummy
|
|
98
|
+
- Time Limits ([docs](https://github.com/mpatfield/homebridge-dummy/wiki/Limiter))
|
|
91
99
|
|
|
92
100
|
### Fixed
|
|
93
101
|
- More robust command execution to prevent incorrectly displaing errors on success
|
|
@@ -99,7 +107,7 @@ After further consideration, I will continue to support `Thermostat` as an acces
|
|
|
99
107
|
## 1.2.0 (2025-10-02)
|
|
100
108
|
|
|
101
109
|
### Added
|
|
102
|
-
- Webhooks ([docs](https://github.com/mpatfield/homebridge-dummy
|
|
110
|
+
- Webhooks ([docs](https://github.com/mpatfield/homebridge-dummy/wiki/Webhooks))
|
|
103
111
|
|
|
104
112
|
### Changed
|
|
105
113
|
- `schedule.cron` now expects an `@` preset or `CRON_CUSTOM` with `schedule.cronCustom` defined.
|
package/README.md
CHANGED
|
@@ -16,438 +16,21 @@ Homebridge plugin to create fake accessories for assisting with advanced Apple H
|
|
|
16
16
|
|
|
17
17
|
</span>
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
Any issues or damage resulting from use of this plugin are not the fault of the developer. Use at your own risk.
|
|
22
|
-
|
|
23
|
-
## v1.0 Migration
|
|
24
|
-
|
|
25
|
-
### tl;dr
|
|
26
|
-
|
|
27
|
-
‼️ There are significant code changes between v0.9 and v1.0 which means you will need to reconfigure HomeKit automations after upgrading. Homebridge Dummy will try to help migrate old accessories.
|
|
28
|
-
|
|
29
|
-
### Why?
|
|
30
|
-
|
|
31
|
-
The original Homebridge Dummy was written almost 10 years ago and uses the now deprecated [Accessory Plugin](https://developers.homebridge.io/#/api/accessory-plugins) architecture.
|
|
32
|
-
|
|
33
|
-
While this still works okay for now, migrating the code to use [Platform Plugins](https://developers.homebridge.io/#/api/platform-plugins) will future-proof Homebridge Dummy and allow for more modern and robust design patterns.
|
|
34
|
-
|
|
35
|
-
The architecture used in v1.0 will make it much easier to improve and extend this plugin going forward and already includes several new features.
|
|
36
|
-
|
|
37
|
-
### Drawbacks
|
|
38
|
-
|
|
39
|
-
Unfortunately, there is no built-in way to migrate existing accessory plugins to platform plugins. This means that all accessories will be considered "new" by HomeKit, so any existing automations or room setups will be lost.
|
|
40
|
-
|
|
41
|
-
However, Homebridge Dummy will try to help migrate the accessory configurations to the new system to prevent you having to set them all up again in Homebridge.
|
|
42
|
-
|
|
43
|
-
### HOOBS Users
|
|
44
|
-
|
|
45
|
-
Homebridge Dummy now requires `customUi` for the config UI to help with migration from older versions, translations, UUID generation and some other useful tools. Unfortunately, HOOBS does not support `customUi`.
|
|
46
|
-
|
|
47
|
-
If you use HOOBS your current options are:
|
|
48
|
-
|
|
49
|
-
1. Upgrade to v1.0+ and use Advanced Mode to manually edit the JSON config
|
|
50
|
-
2. Continue to use `v0.9.2` which should continue to work for the foreseeable future but won't include any of the new features
|
|
51
|
-
3. Migrate your system to Homebridge which is very actively developed and has an engaged community of developers
|
|
52
|
-
|
|
53
|
-
You may also add a comment on [this ticket](https://github.com/hoobs-org/sidecars/issues/13) to help encourage the HOOBS team to add a "sidecar" for Homebridge Dummy.
|
|
54
|
-
|
|
55
|
-
### Migration Flow
|
|
56
|
-
|
|
57
|
-
⚠️ Please make sure to restart both Homebridge Service AND Homebridge UI after upgrading to v1.0 or you will experience issues with Homebridge Dummy configuration.
|
|
58
|
-
|
|
59
|
-
Once you have installed v1.0, click on the icon to configure the Homebridge Dummy plugin in the Homebridge UI and it will walk you through the necessary questionnaire.
|
|
60
|
-
|
|
61
|
-
Alternatively, you can add the following to "platforms" in your config.json
|
|
62
|
-
|
|
63
|
-
```json
|
|
64
|
-
{
|
|
65
|
-
"name": "Homebridge Dummy",
|
|
66
|
-
"platform": "HomebridgeDummy",
|
|
67
|
-
"migrationNeeded": true
|
|
68
|
-
}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
You will need to restart Homebridge after completing the flow for changes to take effect.
|
|
72
|
-
|
|
73
|
-
⚠️ If you are using child bridges with v0.9, you may need to restart Homebridge _twice_ for migrated accessories to show up correctly.
|
|
74
|
-
|
|
75
|
-
You may safely ignore any "No plugin was found…" errors you see in the Homebridge logs. These should go away after a few Homebridge restarts.
|
|
19
|
+
<h3 align="center">‼️ WARNING ‼️<br>If upgrading from v0.9.2 or earlier<br><a href="https://github.com/mpatfield/homebridge-dummy/wiki/Migration">READ THIS FIRST</a></h3>
|
|
76
20
|
|
|
77
|
-
|
|
21
|
+
<h4 align="center">⚠️ HOOBS Users ⚠️<br><a href="https://github.com/mpatfield/homebridge-dummy/wiki/HOOBS">Read This</a></h4>
|
|
78
22
|
|
|
79
|
-
|
|
23
|
+
## Disclaimer
|
|
80
24
|
|
|
81
|
-
|
|
25
|
+
Any issues or damage resulting from use of this plugin are not the fault of the developer. Use at your own risk.
|
|
82
26
|
|
|
83
27
|
## About
|
|
84
28
|
|
|
85
|
-
With this plugin, you can create any number of fake accessories which are useful for advanced automation with HomeKit scenes.
|
|
86
|
-
|
|
87
|
-
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).
|
|
88
|
-
|
|
89
|
-
## Configuration
|
|
90
|
-
|
|
91
|
-
Using the Homebridge Config UI is the easiest way to set up this plugin. However, if you wish to do things manually then you will need to add the following to your Homebridge `config.json`:
|
|
92
|
-
|
|
93
|
-
```json
|
|
94
|
-
{
|
|
95
|
-
"name": "Homebridge Dummy",
|
|
96
|
-
"accessories": [
|
|
97
|
-
{
|
|
98
|
-
"id": "string",
|
|
99
|
-
"name": "string",
|
|
100
|
-
"type": "Door | GarageDoorOpener | Lightbulb | LockMechanism | Outlet | Switch | Thermostat | Window | WindowCovering",
|
|
101
|
-
"groupName": "string",
|
|
102
|
-
"schedule": {
|
|
103
|
-
"type": "TIMEOUT" | "INTERVAL" | "CRON" | "SUNRISE" | "SUNSET" | "DAWN" | "DUSK" | "GOLDEN_HOUR" | "NIGHT",
|
|
104
|
-
"time": number,
|
|
105
|
-
"units": "MILLISECONDS | SECONDS | MINUTES | HOURS",
|
|
106
|
-
"random": true | false,
|
|
107
|
-
"cron": "string",
|
|
108
|
-
"offset": number,
|
|
109
|
-
"latitude": number,
|
|
110
|
-
"longitude": number
|
|
111
|
-
},
|
|
112
|
-
"autoReset": {
|
|
113
|
-
"type": "TIMEOUT" | "INTERVAL" | "CRON" | "SUNRISE" | "SUNSET" | "DAWN" | "DUSK" | "GOLDEN_HOUR" | "NIGHT",
|
|
114
|
-
"time": number,
|
|
115
|
-
"units": "MILLISECONDS | SECONDS | MINUTES | HOURS",
|
|
116
|
-
"random": true | false,
|
|
117
|
-
"cron": "string",
|
|
118
|
-
"offset": number,
|
|
119
|
-
"latitude": number,
|
|
120
|
-
"longitude": number
|
|
121
|
-
},
|
|
122
|
-
"sensor": {
|
|
123
|
-
"type": "CarbonDioxideSensor | CarbonMonoxideSensor | ContactSensor | LeakSensor | MotionSensor | OccupancySensor | SmokeSensor",
|
|
124
|
-
"timerControlled": true | false
|
|
125
|
-
},
|
|
126
|
-
"limiter": {
|
|
127
|
-
"id": "string",
|
|
128
|
-
"limit": number,
|
|
129
|
-
"units": "MILLISECONDS | SECONDS | MINUTES | HOURS",
|
|
130
|
-
"period": "HOUR | DAY | WEEK | MONTH",
|
|
131
|
-
},
|
|
132
|
-
"conditions": {
|
|
133
|
-
"operator": "and | or",
|
|
134
|
-
"operands" [
|
|
135
|
-
{
|
|
136
|
-
"accessoryId": "string",
|
|
137
|
-
"accessoryState": "on | off | open | closed | locked | unlocked",
|
|
138
|
-
"pattern": "string",
|
|
139
|
-
"pingHost": "string",
|
|
140
|
-
"pingAvailability": "AVAILABLE | NOT_AVAILABLE"
|
|
141
|
-
"pingInterval": number,
|
|
142
|
-
"pingUnits": "MILLISECONDS | SECONDS | MINUTES | HOURS"
|
|
143
|
-
}
|
|
144
|
-
…
|
|
145
|
-
]
|
|
146
|
-
},
|
|
147
|
-
"temperatureUnits": "C" | "F",
|
|
148
|
-
"defaultState": "on" | "off",
|
|
149
|
-
"defaultBrightness": 0-100,
|
|
150
|
-
"fadeOut": true | false,
|
|
151
|
-
"defaultLockState": "locked" | "unlocked",
|
|
152
|
-
"defaultPosition": "open" | "closed",
|
|
153
|
-
"defaultThermostatState": "auto" | "heat" | "cool" | "off",
|
|
154
|
-
"defaultTemperature": number,
|
|
155
|
-
"minimumTemperature": number,
|
|
156
|
-
"maximumTemperature": number,
|
|
157
|
-
"commandOn": "string",
|
|
158
|
-
"commandOff": "string",
|
|
159
|
-
"commandLock": "string",
|
|
160
|
-
"commandUnlock": "string",
|
|
161
|
-
"commandOpen": "string",
|
|
162
|
-
"commandClose": "string",
|
|
163
|
-
"commandTemperature": "string",
|
|
164
|
-
"enableWebook": true | false,
|
|
165
|
-
"resetOnRestart": true | false,
|
|
166
|
-
"disableLogging": true | false
|
|
167
|
-
}
|
|
168
|
-
…
|
|
169
|
-
],
|
|
170
|
-
"platform": "HomebridgeDummy",
|
|
171
|
-
"verbose": true | false,
|
|
172
|
-
"webhookPort": number,
|
|
173
|
-
}
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
All fields are optional unless noted with an asterisk (*)
|
|
177
|
-
|
|
178
|
-
### General
|
|
179
|
-
- `id`* - A unique identifier for the accessory. Changing this value will create a new accessory.
|
|
180
|
-
- `name`* - The display name for the accessory in HomeKit
|
|
181
|
-
- `type`* - The type of accessory
|
|
182
|
-
|
|
183
|
-
Valid values for `type` are:
|
|
184
|
-
- `Door`
|
|
185
|
-
- `GarageDoorOpener`
|
|
186
|
-
- `Lightbulb`
|
|
187
|
-
- `LockMechanism`
|
|
188
|
-
- `Outlet`
|
|
189
|
-
- `Switch`
|
|
190
|
-
- `Thermostat`
|
|
191
|
-
- `Window`
|
|
192
|
-
- `WindowCovering`
|
|
193
|
-
|
|
194
|
-
### Group
|
|
195
|
-
- `groupName` - Items sharing the same group name will be collected together in the Home app UI
|
|
196
|
-
|
|
197
|
-
⚠️ Adding/removing/changing the group name will require you to reconfigure any HomeKit scenes or automations
|
|
198
|
-
|
|
199
|
-
### Schedule
|
|
200
|
-
Set the accessory to its opposite (non-default) value at specific times
|
|
201
|
-
|
|
202
|
-
- `schedule.type` — One of `TIMEOUT`, `INTERVAL`, `CRON`, `SUNRISE`, `SUNSET`, `DAWN`, `DUSK`, `GOLDEN_HOUR`, `NIGHT`
|
|
203
|
-
- `schedule.time` — Trigger the accessory after this many milliseconds/seconds/minutes/hours. *Required if `schedule.type` = `TIMEOUT` | `INTERVAL`
|
|
204
|
-
- `schedule.units` — The units to use for the time (`MILLISECONDS`, `SECONDS`, `MINUTES`, or `HOURS`) *Required if `schedule.type` = `TIMEOUT` | `INTERVAL`
|
|
205
|
-
- `schedule.random` — If true, the time will be randomized with a maximum value of `schedule.time`
|
|
206
|
-
- `schedule.cron` — One of `@secondly`, `@minutely`, `@hourly`, `@daily`, `@weekly`, `@weekdays`, `@weekends`, `@monthly`, `@yearly`, or `CUSTOM_CRON`. *Required if `schedule.type` = `CRON`
|
|
207
|
-
- `schedule.cronCustom` - Custom cron string for triggering the accessory. *Required if `schedule.cron` = `CUSTOM_CRON`
|
|
208
|
-
- See [crontab.guru](http://crontab.guru) for help
|
|
209
|
-
- `schedule.offset` - Add or subtract this value from the caluclated sun position for `SUNRISE`, `SUNSET`, etc.
|
|
210
|
-
- `schedule.latitude` - Latitude used to calculate sun position *Required if `schedule.type` is `SUNRISE`, `SUNSET`, etc.
|
|
211
|
-
- `schedule.longitude` - Longitude used to calculate sun position *Required if `schedule.type` is `SUNRISE`, `SUNSET`, etc.
|
|
212
|
-
|
|
213
|
-
### Auto-Reset
|
|
214
|
-
Return the accessory to its default value at specific times
|
|
215
|
-
|
|
216
|
-
- `autoReset.type` — One of `TIMEOUT`, `INTERVAL`, `CRON`, `SUNRISE`, `SUNSET`, `DAWN`, `DUSK`, `GOLDEN_HOUR`, `NIGHT`
|
|
217
|
-
- `autoReset.time` — Trigger the accessory after this many milliseconds/seconds/minutes/hours. *Required if `autoReset.type` = `TIMEOUT` | `INTERVAL`
|
|
218
|
-
- `autoReset.units` — The units to use for the time (`MILLISECONDS`, `SECONDS`, `MINUTES`, or `HOURS`) *Required if `autoReset.type` = `TIMEOUT` | `INTERVAL`
|
|
219
|
-
- `autoReset.random` — If true, the time will be randomized with a maximum value of `autoReset.time`
|
|
220
|
-
- `autoReset.cron` — One of `@secondly`, `@minutely`, `@hourly`, `@daily`, `@weekly`, `@weekdays`, `@weekends`, `@monthly`, `@yearly`, or `CUSTOM_CRON`. *Required if `autoReset.type` = `CRON`
|
|
221
|
-
- `autoReset.cronCustom` - Custom cron string for triggering the accessory. *Required if `autoReset.cron` = `CUSTOM_CRON`
|
|
222
|
-
- See [crontab.guru](http://crontab.guru) for help
|
|
223
|
-
- `autoReset.offset` - Add or subtract this value from the caluclated sun position for `SUNRISE`, `SUNSET`, etc.
|
|
224
|
-
- `autoReset.latitude` - Latitude used to calculate sun position *Required if `autoReset.type` is `SUNRISE`, `SUNSET`, etc.
|
|
225
|
-
- `autoReset.longitude` - Longitude used to calculate sun position *Required if `autoReset.type` is `SUNRISE`, `SUNSET`, etc.
|
|
226
|
-
|
|
227
|
-
### Limiter
|
|
228
|
-
Restrict the total time this accessory can be set to its non-default value, for each specified period
|
|
229
|
-
|
|
230
|
-
- `limiter.id` - A random id (such as UUID) for storing the limit. Change this value to reset the limit.
|
|
231
|
-
- `limiter.limit` - The total time number of seconds/minutes/hours that this accessory may run for each `period`
|
|
232
|
-
- `limiter.units` - The units to use for delay above (`MILLISECONDS`, `SECONDS`, `MINUTES`, or `HOURS`). *Required if limit is set.
|
|
233
|
-
- `limiter.period` - How often the limit is reset (`HOUR`, `DAY`, `WEEK`, `MONTH`) *Required if limit is set.
|
|
234
|
-
- `HOUR` is reset at X:00:00, `DAY` at local midnight, `WEEK` on Monday, and `MONTH` on the 1st day
|
|
235
|
-
|
|
236
|
-
### Sensor
|
|
237
|
-
- `sensor.type` - Optionally attach a sensor that mirrors the state of the parent accessory
|
|
238
|
-
- `sensor.timerControlled` - If true, sensor will be activated if accessory is reset automatically but not if it is reset manually
|
|
239
|
-
|
|
240
|
-
Valid values for sensor are:
|
|
241
|
-
- `CarbonDioxideSensor`
|
|
242
|
-
- `CarbonMonoxideSensor`
|
|
243
|
-
- `ContactSensor`
|
|
244
|
-
- `LeakSensor`
|
|
245
|
-
- `MotionSensor`
|
|
246
|
-
- `OccupancySensor`
|
|
247
|
-
- `SmokeSensor`
|
|
248
|
-
|
|
249
|
-
### Commands
|
|
250
|
-
Execute arbitrary commands (e.g. curl) when the accessory changes state
|
|
251
|
-
|
|
252
|
-
- `onCommand` - Arbitrary command to execute when lightbulb/outlet/switch/thermostat turns on
|
|
253
|
-
- `offCommand` - Arbitrary command to execute when lightbulb/outlet/switch/thermostat turns off
|
|
254
|
-
- `lockCommand` - Arbitrary command to execute when lock mechanism is locked
|
|
255
|
-
- `unlockCommand` - Arbitrary command to execute when lock mechanism is unlocked
|
|
256
|
-
- `commandTemperature` - Arbitrary command to execute when temperature changes
|
|
257
|
-
|
|
258
|
-
#### Environment Variables
|
|
259
|
-
|
|
260
|
-
Accessory states can be accessed within commands via environment variables which will have the form:
|
|
261
|
-
|
|
262
|
-
`Dummy_[ACCESSORY_ID]_[CHARACTERISTIC]`
|
|
263
|
-
|
|
264
|
-
`ACCESSORY_ID` will be sanitized to alphanumeric characters only. So, for example "cc5d51b8-40df-4889-89b4-3bbadd3749c0" will become "cc5d51b840df488989b43bbadd3749c0"
|
|
265
|
-
|
|
266
|
-
`CHARACTERISTIC` will be one of the following depending on the accessory type:
|
|
267
|
-
|
|
268
|
-
- `Brightness`
|
|
269
|
-
- `LockTargetState`
|
|
270
|
-
- `On`
|
|
271
|
-
- `TargetHeatingCoolingState`
|
|
272
|
-
- `TargetDoorState`
|
|
273
|
-
- `TargetPosition`
|
|
274
|
-
- `TargetTemperature`
|
|
275
|
-
|
|
276
|
-
For example, here is how you would get the state of a switch.
|
|
277
|
-
|
|
278
|
-
```
|
|
279
|
-
$ echo $Dummy_cc5d51b840df488989b43bbadd3749c0_On
|
|
280
|
-
> true
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
The easiest way to find all available variables is to create a switch that runs the command `printenv`
|
|
284
|
-
|
|
285
|
-
### Defaults
|
|
286
|
-
- `temperatureUnits` - Units to use for thermostats, either 'C' or 'F'
|
|
287
|
-
- `defaultState` — Initial value, either "on" or "off"
|
|
288
|
-
- `defaultBrightness` — If set, lightbulb will have additional dimmer settings with this default brightness percentage
|
|
289
|
-
- `fadeOut` - Fade smoothly instead of abruptly from 100% to off. Requires `defaultBrightness` and `autoReset` to be defined.
|
|
290
|
-
- `defaultLockState` - The initial value for the lock, "locked" or "unlocked"
|
|
291
|
-
- `defaultPosition` — Initial position for the door/garage/window/blinds, "open" or "closed"
|
|
292
|
-
- `defaultThermostatState` - The initial state for the thermostat, "auto", "heat", "cool", or "off"
|
|
293
|
-
- `defaultTemperature` - The default temperature for the thermostat in `temperatureUnits` defined above
|
|
294
|
-
- `minimumTemperature` - Defines a minimum temperature
|
|
295
|
-
- `maximumTemperature` - Defines a maximum temperature
|
|
296
|
-
|
|
297
|
-
### Options
|
|
298
|
-
- `enableWebook` - Turn on webhooks for this accessory. See [Webhooks](https://github.com/mpatfield/homebridge-dummy#webhooks) section below for details.
|
|
299
|
-
- `resetOnRestart` _ If true, accessory will return to default state when Homebridge restarts
|
|
300
|
-
- `disableLogging` — If true, state changes will not be logged
|
|
301
|
-
|
|
302
|
-
## Trigger Conditions
|
|
303
|
-
|
|
304
|
-
You can trigger an accessory whenever a set of conditions are satisfied. There are two logical operators to trigger the target accessory when all (`AND`) or any (`OR`) of a set of conditions are satisfied. You may have an arbitrarily long list of conditions and they are checked in order.
|
|
305
|
-
|
|
306
|
-
- `conditions.operator` - `AND` to trigger when all conditions to be satisfied, `OR` to trigger when any conditions are satisfied
|
|
307
|
-
- `conditions.operands` - A list of conditions as defined below
|
|
308
|
-
|
|
309
|
-
### Accessory Triggers
|
|
310
|
-
|
|
311
|
-
You can trigger an accessory when one more more other Homebridge Dummy accessories change state using the `ACCESSORY` operand type. Accessories will immediately return to their default setting as soon as the conditions are no longer satisfied unless an accessory also has `autoReset` defined.
|
|
312
|
-
|
|
313
|
-
Note that due to limitations of HomeKit and Homebridge, it is only possible to check the states of other Homebridge Dummy accessories. One workaround for non-Dummy accessories is to set up duplicate accessories in Homebridge Dummy and use Automation to mirror the states. For example, if I have a physical door lock I want to "watch", then I can setup a `LockMechanism` accessory in Homebridge Dummy and create two automations to change the state of my dummy lock whenever the physical door lock is unlocked or locked.
|
|
314
|
-
|
|
315
|
-
- `type` - `ACCESSORY`
|
|
316
|
-
- `accessoryId` - The id of the accessory to watch for state changes
|
|
317
|
-
- `accessoryState` - The desired accessory state to make this condition true, e.g. "on", "off", "open", "closed", "locked", "unlocked"
|
|
318
|
-
|
|
319
|
-
### Log Watcher
|
|
320
|
-
|
|
321
|
-
Another workaround to the above limitation is to use the `LOG` operand type which will watch the Homebridge log for the specified string or regex.
|
|
322
|
-
|
|
323
|
-
`LOG` based conditions are stateless triggers. If it is the only condition or the conditions `operator` is `OR`, then it will fire immediately. If there are other `AND` conditions, then it will not fire unless all other conditions are satisfied.
|
|
324
|
-
|
|
325
|
-
For example, if I have `LOG` condition "A" and `ACCESSORY` condition "B" for when "B" is turned "On", then if "B" is "Off"" and the pattern is found in the log, "A" will not trigger.
|
|
326
|
-
|
|
327
|
-
Note that `LOG` triggers are not instantenous and may take several seconds to fire.
|
|
328
|
-
|
|
329
|
-
- `type` - `LOG`
|
|
330
|
-
- `pattern` - a literal string or regex to watch for
|
|
331
|
-
|
|
332
|
-
### Reachability/Presence
|
|
333
|
-
|
|
334
|
-
There is also a `PING` operand type that allows you to set the state based on the reachability/presence of a particular `pingHost`.
|
|
335
|
-
|
|
336
|
-
- `type` - `PING`
|
|
337
|
-
- `pingHost` - the host to ping, e.g. `192.168.0.1` or `example.com` or `aa:11:bb:22:cc:33`
|
|
338
|
-
- `pingAvailability` - Indicates whether being `AVAILABLE` or `NOT_AVAILABLE` satisfies the condition
|
|
339
|
-
- `pingInterval` - The raw interval to check the reachability of the above host (default 60 seconds)
|
|
340
|
-
- `pingUnits` - The units to use for interval above
|
|
341
|
-
|
|
342
|
-
This can be particularly useful for triggering events based on joining or leaving your local network.
|
|
343
|
-
|
|
344
|
-
If you want to use this for "arriving" or "leaving" a location, it is not recommended to use a single presence accessory for both. This is because a device such as a phone can connect and disconnect frequently from the network when the screen is off, so the switch will toggle back and forth.
|
|
345
|
-
|
|
346
|
-
Instead, it's recommended to choose one and use `autoReset`.
|
|
347
|
-
|
|
348
|
-
```json
|
|
349
|
-
{
|
|
350
|
-
"id": "a52da73e-f854-4a57-b90d-6ba14d8f1d72",
|
|
351
|
-
"name": "Home",
|
|
352
|
-
"type": "Switch",
|
|
353
|
-
"autoReset": {
|
|
354
|
-
"type": "TIMEOUT",
|
|
355
|
-
"time": 10,
|
|
356
|
-
"units": "MINUTES",
|
|
357
|
-
"random": false
|
|
358
|
-
},
|
|
359
|
-
"conditions": {
|
|
360
|
-
"operator": "and",
|
|
361
|
-
"operands": [
|
|
362
|
-
{
|
|
363
|
-
"type": "PING",
|
|
364
|
-
"pingHost": "192.168.1.42",
|
|
365
|
-
"pingAvailability": "AVAILABLE",
|
|
366
|
-
"pingInterval": 15,
|
|
367
|
-
"pingUnits": "SECONDS"
|
|
368
|
-
}
|
|
369
|
-
]
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
```
|
|
373
|
-
|
|
374
|
-
The above example will check every 15 seconds to see if your device is on your network. You can use this to trigger an event soon after you join your network. The switch will only turn off when the device hasn't connected within 10 minutes.
|
|
375
|
-
|
|
376
|
-
To trigger an event soon after you leave the network, create a duplicate accessory with `"pingAvailability": "NOT_AVAILBLE"`.
|
|
377
|
-
|
|
378
|
-
Note that while MAC Addresses are supported, it is a much more network intensive operation. It is preferred to use a fixed IP address where possible for best performance.
|
|
379
|
-
|
|
380
|
-
## Webhooks
|
|
381
|
-
|
|
382
|
-
You can optionally enable webhooks on an accessory by choosing `Enable Webhooks` in the config UI or setting `enableWebhooks` to `true` in the JSON config.
|
|
383
|
-
|
|
384
|
-
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).
|
|
385
|
-
|
|
386
|
-
Incoming requests must include the `id` of the accessory. The accessory `id` can be found in the plugin JSON config.
|
|
387
|
-
|
|
388
|
-
You can `get`, `set`, or `sync` the value of the accessory. `set` and `sync` commands require a `value` to set.
|
|
389
|
-
|
|
390
|
-
Here are the possible values for `get` or `set`/`sync` and their respective valid `value`
|
|
391
|
-
|
|
392
|
-
- `Brightness` - number from 0-100
|
|
393
|
-
- `LockTargetState` - 0 (UNSECURED) or 1 (SECURED)
|
|
394
|
-
- `On` - true or false
|
|
395
|
-
- `TargetHeatingCoolingState` - 0 (OFF), 1 (HEAT), 2 (COOL), 3 (AUTO)
|
|
396
|
-
- `TargetPosition` - number from 0-100
|
|
397
|
-
- `TargetTemperature` - number between 10°C and 38°C
|
|
398
|
-
|
|
399
|
-
`sync` is identical to `set` except that no commands are executed. This can be useful for situations where you want to avoid a looping behavior between the dummy accessory and source.
|
|
400
|
-
|
|
401
|
-
### Using GET Requests
|
|
402
|
-
|
|
403
|
-
Here is an example to get the on/off state for a switch:
|
|
404
|
-
|
|
405
|
-
```
|
|
406
|
-
http://localhost:63743/?id=ACCESSORY_ID&get=On
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
Returns `{ "value": false }`
|
|
410
|
-
|
|
411
|
-
And here is an example to set the brightness of a lightbulb:
|
|
412
|
-
|
|
413
|
-
```
|
|
414
|
-
http://localhost:63743/?id=ACCESSORY_ID&set=Brightness&value=42
|
|
415
|
-
```
|
|
416
|
-
|
|
417
|
-
Returns `{ "success": "Accessory Name is on, brightness is 42%" }`
|
|
418
|
-
|
|
419
|
-
### Using POST Requests
|
|
420
|
-
|
|
421
|
-
POST requests must be valid JSON. Here is an example of the JSON needed to get the on/off state for a switch:
|
|
422
|
-
|
|
423
|
-
```json
|
|
424
|
-
{
|
|
425
|
-
"id": "ACCESSORY_ID",
|
|
426
|
-
"get": "On"
|
|
427
|
-
}
|
|
428
|
-
```
|
|
429
|
-
|
|
430
|
-
Here's how you would call it from the command line:
|
|
431
|
-
|
|
432
|
-
```
|
|
433
|
-
curl -X POST http://localhost:63743/ -H "Content-Type: application/json" -d '{"id": "ACCESSORY_ID", "get": "On" }
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
Here is an example of the JSON needed to set the brightness of a lightbulb:
|
|
437
|
-
|
|
438
|
-
```json
|
|
439
|
-
{
|
|
440
|
-
"id": "ACCESSORY_ID",
|
|
441
|
-
"set": "Brightness",
|
|
442
|
-
"value": 42
|
|
443
|
-
}
|
|
444
|
-
```
|
|
29
|
+
With this plugin, you can create any number of fake accessories which are useful for advanced automation with HomeKit scenes.
|
|
445
30
|
|
|
446
|
-
|
|
31
|
+
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, triggering when certain conditions are met, and more.
|
|
447
32
|
|
|
448
|
-
|
|
449
|
-
curl -X POST http://localhost:63743/ -H "Content-Type: application/json" -d '{"id": "ACCESSORY_ID", "set": "Brightness", "value": 42 }
|
|
450
|
-
```
|
|
33
|
+
Visit the [Wiki](https://github.com/mpatfield/homebridge-dummy/wiki) to learn more about available features.
|
|
451
34
|
|
|
452
35
|
## Credits
|
|
453
36
|
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
</div>
|
|
21
21
|
|
|
22
22
|
<div id="intro" class="text-center" style="display: none;">
|
|
23
|
-
<p class="lead" i18n="thankYou" i18n_replace="dummy"></p
|
|
24
|
-
<p class="lead" i18n="
|
|
23
|
+
<p class="lead" i18n="thankYou" i18n_replace="dummy"></p>
|
|
24
|
+
<p class="lead" i18n="migrating"></p>
|
|
25
25
|
<button type="button" class="btn btn-secondary" id="showSettings" i18n="no"></button>
|
|
26
26
|
<button type="button" class="btn btn-secondary" id="showMigration" i18n="yes"></button>
|
|
27
27
|
</div>
|
|
@@ -29,18 +29,15 @@
|
|
|
29
29
|
<div id="migration" class="text-center" style="display: none;">
|
|
30
30
|
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Achtung.svg/330px-Achtung.svg.png" width="100px"/>
|
|
31
31
|
</br></br>
|
|
32
|
-
<
|
|
33
|
-
<
|
|
32
|
+
<h1><p class="text-danger" i18n="migrationInstructions1" i18n_replace="dummy"></p></h1>
|
|
33
|
+
<h1><a href="https://github.com/mpatfield/homebridge-dummy/wiki/Migration"><p i18n="migrationInstructions2"></p></a></h1>
|
|
34
34
|
<hr/>
|
|
35
35
|
<br/>
|
|
36
|
-
<p class="lead" i18n="
|
|
36
|
+
<p class="lead" i18n="migrationInstructions3"></p>
|
|
37
|
+
<p class="lead" i18n="migrationInstructions4"></p>
|
|
37
38
|
<br/>
|
|
38
|
-
<
|
|
39
|
-
<
|
|
40
|
-
<button type="button" class="btn btn-secondary" id="skipMigration" i18n="no"></button>
|
|
41
|
-
<button type="button" class="btn btn-secondary" id="doMigration" i18n="yes"></button>
|
|
42
|
-
</br></br></br>
|
|
43
|
-
<em><p i18n="migrationDetails5" i18n_replace="migration"></p></em></br>
|
|
39
|
+
<button type="button" class="btn btn-secondary" id="doMigration" i18n="automatically"></button>
|
|
40
|
+
<button type="button" class="btn btn-secondary" id="skipMigration" i18n="manually"></button>
|
|
44
41
|
</div>
|
|
45
42
|
|
|
46
|
-
<script src="ui.js?v=1.5.
|
|
43
|
+
<script src="ui.js?v=1.5.1"></script>
|
package/dist/i18n/de.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ declare const de: {
|
|
|
100
100
|
unsupportedFunction: string;
|
|
101
101
|
};
|
|
102
102
|
config: {
|
|
103
|
+
automatically: string;
|
|
103
104
|
description: {
|
|
104
105
|
autoReset: string;
|
|
105
106
|
commands: string;
|
|
@@ -175,12 +176,12 @@ declare const de: {
|
|
|
175
176
|
windowCovering: string;
|
|
176
177
|
yearly: string;
|
|
177
178
|
};
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
179
|
+
manually: string;
|
|
180
|
+
migrating: string;
|
|
181
|
+
migrationInstructions1: string;
|
|
182
|
+
migrationInstructions2: string;
|
|
183
|
+
migrationInstructions3: string;
|
|
184
|
+
migrationInstructions4: string;
|
|
184
185
|
migrationRestartDescription: string;
|
|
185
186
|
migrationRestartTitle: string;
|
|
186
187
|
no: string;
|
package/dist/i18n/en.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ declare const en: {
|
|
|
100
100
|
unsupportedFunction: string;
|
|
101
101
|
};
|
|
102
102
|
config: {
|
|
103
|
+
automatically: string;
|
|
103
104
|
description: {
|
|
104
105
|
autoReset: string;
|
|
105
106
|
commands: string;
|
|
@@ -175,12 +176,12 @@ declare const en: {
|
|
|
175
176
|
windowCovering: string;
|
|
176
177
|
yearly: string;
|
|
177
178
|
};
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
179
|
+
manually: string;
|
|
180
|
+
migrating: string;
|
|
181
|
+
migrationInstructions1: string;
|
|
182
|
+
migrationInstructions2: string;
|
|
183
|
+
migrationInstructions3: string;
|
|
184
|
+
migrationInstructions4: string;
|
|
184
185
|
migrationRestartDescription: string;
|
|
185
186
|
migrationRestartTitle: string;
|
|
186
187
|
no: string;
|
package/dist/i18n/en.js
CHANGED
|
@@ -100,6 +100,7 @@ const en = {
|
|
|
100
100
|
unsupportedFunction: '%s is unsupported for thermostats', // function name
|
|
101
101
|
},
|
|
102
102
|
config: {
|
|
103
|
+
automatically: 'Automatically',
|
|
103
104
|
description: {
|
|
104
105
|
autoReset: 'Returns the accessory to its default value',
|
|
105
106
|
commands: 'Execute arbitrary commands (e.g. curl) when the accessory changes state',
|
|
@@ -175,12 +176,12 @@ const en = {
|
|
|
175
176
|
windowCovering: 'Window Covering (Blinds)',
|
|
176
177
|
yearly: 'Annually',
|
|
177
178
|
},
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
179
|
+
manually: 'Manually',
|
|
180
|
+
migrating: 'Are you upgrading from v0.9.2 or earlier?',
|
|
181
|
+
migrationInstructions1: 'STOP',
|
|
182
|
+
migrationInstructions2: 'READ THIS FIRST',
|
|
183
|
+
migrationInstructions3: 'Would you like to migrate accessories Automatically, or do it yourself Manually?',
|
|
184
|
+
migrationInstructions4: 'If you choose Automatically, you will still need reconfigure HomeKit scenes and automations.', // plugin name
|
|
184
185
|
migrationRestartDescription: 'Please restart Homebridge to begin %s migration', // plugin name
|
|
185
186
|
migrationRestartTitle: 'Restart Homebridge',
|
|
186
187
|
no: 'No',
|
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
|
@@ -100,6 +100,7 @@ declare const es: {
|
|
|
100
100
|
unsupportedFunction: string;
|
|
101
101
|
};
|
|
102
102
|
config: {
|
|
103
|
+
automatically: string;
|
|
103
104
|
description: {
|
|
104
105
|
autoReset: string;
|
|
105
106
|
commands: string;
|
|
@@ -175,12 +176,12 @@ declare const es: {
|
|
|
175
176
|
windowCovering: string;
|
|
176
177
|
yearly: string;
|
|
177
178
|
};
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
179
|
+
manually: string;
|
|
180
|
+
migrating: string;
|
|
181
|
+
migrationInstructions1: string;
|
|
182
|
+
migrationInstructions2: string;
|
|
183
|
+
migrationInstructions3: string;
|
|
184
|
+
migrationInstructions4: string;
|
|
184
185
|
migrationRestartDescription: string;
|
|
185
186
|
migrationRestartTitle: string;
|
|
186
187
|
no: string;
|
package/dist/i18n/i18n.d.ts
CHANGED
|
@@ -111,6 +111,7 @@ declare const translations: {
|
|
|
111
111
|
unsupportedFunction: string;
|
|
112
112
|
};
|
|
113
113
|
config: {
|
|
114
|
+
automatically: string;
|
|
114
115
|
description: {
|
|
115
116
|
autoReset: string;
|
|
116
117
|
commands: string;
|
|
@@ -186,12 +187,12 @@ declare const translations: {
|
|
|
186
187
|
windowCovering: string;
|
|
187
188
|
yearly: string;
|
|
188
189
|
};
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
190
|
+
manually: string;
|
|
191
|
+
migrating: string;
|
|
192
|
+
migrationInstructions1: string;
|
|
193
|
+
migrationInstructions2: string;
|
|
194
|
+
migrationInstructions3: string;
|
|
195
|
+
migrationInstructions4: string;
|
|
195
196
|
migrationRestartDescription: string;
|
|
196
197
|
migrationRestartTitle: string;
|
|
197
198
|
no: string;
|
package/dist/i18n/ru.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ declare const ru: {
|
|
|
100
100
|
unsupportedFunction: string;
|
|
101
101
|
};
|
|
102
102
|
config: {
|
|
103
|
+
automatically: string;
|
|
103
104
|
description: {
|
|
104
105
|
autoReset: string;
|
|
105
106
|
commands: string;
|
|
@@ -175,12 +176,12 @@ declare const ru: {
|
|
|
175
176
|
windowCovering: string;
|
|
176
177
|
yearly: string;
|
|
177
178
|
};
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
179
|
+
manually: string;
|
|
180
|
+
migrating: string;
|
|
181
|
+
migrationInstructions1: string;
|
|
182
|
+
migrationInstructions2: string;
|
|
183
|
+
migrationInstructions3: string;
|
|
184
|
+
migrationInstructions4: string;
|
|
184
185
|
migrationRestartDescription: string;
|
|
185
186
|
migrationRestartTitle: string;
|
|
186
187
|
no: string;
|
package/dist/i18n/template.d.ts
CHANGED
|
@@ -100,6 +100,7 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
100
100
|
unsupportedFunction: string;
|
|
101
101
|
};
|
|
102
102
|
config: {
|
|
103
|
+
automatically: string;
|
|
103
104
|
description: {
|
|
104
105
|
autoReset: string;
|
|
105
106
|
commands: string;
|
|
@@ -175,12 +176,12 @@ declare const REPLACE_THIS_WITH_ISO_CODE: {
|
|
|
175
176
|
windowCovering: string;
|
|
176
177
|
yearly: string;
|
|
177
178
|
};
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
179
|
+
manually: string;
|
|
180
|
+
migrating: string;
|
|
181
|
+
migrationInstructions1: string;
|
|
182
|
+
migrationInstructions2: string;
|
|
183
|
+
migrationInstructions3: string;
|
|
184
|
+
migrationInstructions4: string;
|
|
184
185
|
migrationRestartDescription: string;
|
|
185
186
|
migrationRestartTitle: string;
|
|
186
187
|
no: string;
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"displayName": "Homebridge Dummy",
|
|
5
5
|
"description": "Create accessories to help with HomeKit automation and control — scheduling, delays, sensors, commands, conditions, webhooks, and more",
|
|
6
6
|
"type": "module",
|
|
7
|
-
"version": "1.5.
|
|
7
|
+
"version": "1.5.1",
|
|
8
8
|
"homepage": "https://github.com/mpatfield/homebridge-dummy#readme",
|
|
9
9
|
"repository": {
|
|
10
10
|
"type": "git",
|