homebridge-easy-mqtt 1.4.0-beta.1 → 1.4.0-beta.11
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 +10 -2
- package/README.md +170 -25
- package/config.schema.json +985 -38
- package/dist/accessory/abstract/base.js +1 -1
- package/dist/accessory/abstract/base.js.map +1 -1
- package/dist/accessory/abstract/common.d.ts +38 -0
- package/dist/accessory/abstract/common.js +159 -0
- package/dist/accessory/abstract/common.js.map +1 -0
- package/dist/accessory/abstract/helper.js +9 -0
- package/dist/accessory/abstract/helper.js.map +1 -1
- package/dist/accessory/abstract/mqtt.d.ts +7 -25
- package/dist/accessory/abstract/mqtt.js +13 -148
- package/dist/accessory/abstract/mqtt.js.map +1 -1
- package/dist/accessory/addons/addon.d.ts +12 -0
- package/dist/accessory/addons/addon.js +25 -0
- package/dist/accessory/addons/addon.js.map +1 -0
- package/dist/accessory/addons/filter.d.ts +11 -0
- package/dist/accessory/addons/filter.js +36 -0
- package/dist/accessory/addons/filter.js.map +1 -0
- package/dist/accessory/climate/active.d.ts +11 -0
- package/dist/accessory/climate/active.js +44 -0
- package/dist/accessory/climate/active.js.map +1 -0
- package/dist/accessory/climate/heaterCooler.d.ts +2 -6
- package/dist/accessory/climate/heaterCooler.js +5 -37
- package/dist/accessory/climate/heaterCooler.js.map +1 -1
- package/dist/accessory/climate/purifier.d.ts +19 -0
- package/dist/accessory/climate/purifier.js +114 -0
- package/dist/accessory/climate/purifier.js.map +1 -0
- package/dist/accessory/climate/{climate.d.ts → temperatureControl.d.ts} +3 -2
- package/dist/accessory/climate/{climate.js → temperatureControl.js} +7 -5
- package/dist/accessory/climate/temperatureControl.js.map +1 -0
- package/dist/accessory/climate/thermostat.d.ts +2 -2
- package/dist/accessory/climate/thermostat.js +5 -2
- package/dist/accessory/climate/thermostat.js.map +1 -1
- package/dist/accessory/sensor/light.d.ts +9 -0
- package/dist/accessory/sensor/light.js +13 -0
- package/dist/accessory/sensor/light.js.map +1 -0
- package/dist/accessory/sensor/sensor.js +2 -2
- package/dist/accessory/sensor/sensor.js.map +1 -1
- package/dist/accessory/valve.d.ts +14 -0
- package/dist/accessory/valve.js +71 -0
- package/dist/accessory/valve.js.map +1 -0
- 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/en.d.ts +72 -0
- package/dist/i18n/en.js +72 -0
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/fr.d.ts +72 -0
- package/dist/i18n/i18n.d.ts +74 -1
- package/dist/i18n/i18n.js +6 -0
- package/dist/i18n/i18n.js.map +1 -1
- package/dist/i18n/ro.d.ts +758 -0
- package/dist/i18n/ro.js +381 -0
- package/dist/i18n/ro.js.map +1 -0
- package/dist/i18n/template.d.ts +72 -0
- package/dist/model/enums.d.ts +25 -2
- package/dist/model/enums.js +25 -0
- package/dist/model/enums.js.map +1 -1
- package/dist/model/mqtt.d.ts +5 -4
- package/dist/model/mqtt.js +38 -22
- package/dist/model/mqtt.js.map +1 -1
- package/dist/model/types.d.ts +69 -23
- package/package.json +1 -1
- package/dist/accessory/climate/climate.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,14 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to homebridge-dummy will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## 1.4.0-beta.
|
|
5
|
+
## 1.4.0-beta.10 (2025-09-23)
|
|
6
6
|
|
|
7
7
|
### Added
|
|
8
|
-
- Support for HeaterCooler
|
|
8
|
+
- Support for Air Purifier, HeaterCooler, LightSensor, and Valve
|
|
9
|
+
- FilterMaintenance to climate control accessories
|
|
10
|
+
- Broker, username, and password can be set via environment variables ([documentation](https://github.com/mpatfield/homebridge-easy-mqtt#environment-variables))
|
|
11
|
+
- Publish arbitrary MQTT messages on connect ([documentation] (https://github.com/mpatfield/homebridge-easy-mqtt#mqtt-onconnect))
|
|
12
|
+
- Traduceri în limba română. Mulțumesc, [@rursache](https://github.com/sponsors/rursache)!
|
|
9
13
|
|
|
10
14
|
### Changed
|
|
11
15
|
- Optimized MQTT connections by sharing across multiple accessories when possible
|
|
12
16
|
- Previously, every accessory had its own connection
|
|
17
|
+
- Better field validation in config UI (Thank you, [@justjam2013](https://github.com/sponsors/justjam2013) for teaching me this!)
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
- Config UI rendering issue when migrating deprecated fields
|
|
13
21
|
|
|
14
22
|
### Notes
|
|
15
23
|
Would you like to see Homebridge Easy MQTT in your language? Please consider [getting involved](https://github.com/mpatfield/homebridge-easy-mqtt/issues/4). No coding experience required!
|
package/README.md
CHANGED
|
@@ -64,7 +64,14 @@ Using the Homebridge Config UI is the easiest way to set up this plugin. However
|
|
|
64
64
|
"broker": "string",
|
|
65
65
|
"username": "string",
|
|
66
66
|
"password": "string",
|
|
67
|
-
"options": "string"
|
|
67
|
+
"options": "string",
|
|
68
|
+
"onConnect": [
|
|
69
|
+
{
|
|
70
|
+
"topic": "string",
|
|
71
|
+
"message": "string",
|
|
72
|
+
}
|
|
73
|
+
…
|
|
74
|
+
]
|
|
68
75
|
},
|
|
69
76
|
"customCharacteristics": [
|
|
70
77
|
{
|
|
@@ -97,10 +104,21 @@ Required fields are marked with an asterisk (*)
|
|
|
97
104
|
- `version` - The accessory software version which will display in HomeKit device details
|
|
98
105
|
|
|
99
106
|
### MQTT:
|
|
100
|
-
- `broker
|
|
107
|
+
- `broker` - The URL and port to use for communicating with your MQTT device, defaults to `mqtt://127.0.0.1:1883/`
|
|
101
108
|
- `username` - Username
|
|
102
109
|
- `password` - Password
|
|
103
110
|
- `options` - See [MQTT Options](#mqtt-options) below
|
|
111
|
+
- `onConnect` - See [MQTT OnConnect](#mqtt-onconnect) below
|
|
112
|
+
|
|
113
|
+
#### Environment Variables
|
|
114
|
+
|
|
115
|
+
Alternatively, you may set the following environment variables for broker, username, and password:
|
|
116
|
+
|
|
117
|
+
- `EASYMQTT_BROKER` - expects a fully formed url, `protocol://host:port/` where port is optional
|
|
118
|
+
- `EASYMQTT_USERNAME`
|
|
119
|
+
- `EASYMQTT_PASSWORD`
|
|
120
|
+
|
|
121
|
+
Note that setting the this information in the JSON config will override the environment variables.
|
|
104
122
|
|
|
105
123
|
## Topics & Values
|
|
106
124
|
|
|
@@ -110,6 +128,8 @@ You may define topics using a JSONPath dot notation to assist the parser in find
|
|
|
110
128
|
|
|
111
129
|
As with topics, you will also need to populate the appropriate values based on the type. Note that while they are defined as strings, they will be auto-converted to the appropriate primitives (e.g. boolean or number) where appropriate.
|
|
112
130
|
|
|
131
|
+
These values are used for both determining current state and, where appropriate, publishing the new state to MQTT
|
|
132
|
+
|
|
113
133
|
### General Purpose
|
|
114
134
|
- `topicGetStatusActive` - Whether or not the accessory is connected/reachable
|
|
115
135
|
- `topicGetBatteryLow` - Wether or not the accessory has a low battery
|
|
@@ -118,12 +138,12 @@ As with topics, you will also need to populate the appropriate values based on t
|
|
|
118
138
|
- `valueBatteryLow` - Accessory has a low battery level
|
|
119
139
|
|
|
120
140
|
### On/Off Accessories
|
|
141
|
+
|
|
142
|
+
#### Lightbulb
|
|
121
143
|
- `topicGetOn*` - The current state of the outlet, i.e. on/off
|
|
122
144
|
- `topicSetOn*` - For setting the state of the outlet
|
|
123
145
|
- `valueOn*` - Turned on, e.g. "true", or "1", or "On"
|
|
124
146
|
- `valueOff*` - Turned off, e.g. "false", or "0", or "Off"
|
|
125
|
-
|
|
126
|
-
#### Lightbulb
|
|
127
147
|
- `topicGetBrightness` - The current brightness as a percent
|
|
128
148
|
- `topicSetBrightness` - For setting the brightness
|
|
129
149
|
- `topicGetColorTemperature` - The current color temperature of the lightbulb
|
|
@@ -134,76 +154,178 @@ As with topics, you will also need to populate the appropriate values based on t
|
|
|
134
154
|
- `topicSetSaturation` - For setting the saturation setting of the lightbulb
|
|
135
155
|
|
|
136
156
|
#### Outlet
|
|
157
|
+
- `topicGetOn*` - The current state of the outlet, i.e. on/off
|
|
158
|
+
- `topicSetOn*` - For setting the state of the outlet
|
|
159
|
+
- `valueOn*` - Turned on, e.g. "true", or "1", or "On"
|
|
160
|
+
- `valueOff*` - Turned off, e.g. "false", or "0", or "Off"
|
|
137
161
|
- `topicGetOutletInUse` - Whether or not the outlet is currently being used
|
|
138
162
|
- `valueOutletInUse` - Currently being used, e.g. "true", or "1", or "On"
|
|
139
163
|
|
|
140
164
|
#### Switch
|
|
141
|
-
-
|
|
165
|
+
- `topicGetOn*` - The current state of the outlet, i.e. on/off
|
|
166
|
+
- `topicSetOn*` - For setting the state of the outlet
|
|
167
|
+
- `valueOn*` - Turned on, e.g. "true", or "1", or "On"
|
|
168
|
+
- `valueOff*` - Turned off, e.g. "false", or "0", or "Off"
|
|
142
169
|
|
|
143
170
|
### Sensors
|
|
144
|
-
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
145
|
-
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
146
|
-
- `valueFault` - Accessory has a fault
|
|
147
|
-
- `valueTampered` - Accessory has been tampered with
|
|
148
171
|
|
|
149
172
|
#### CarbonDioxideSensor
|
|
150
173
|
- `topicGetCarbonDioxideDetected*` - Whether or not the sensor has detected carbon dioxide
|
|
151
174
|
- `topicGetCarbonDioxideLevel` - The current carbon dioxide level
|
|
152
175
|
- `topicGetCarbonDioxidePeakLevel` - The peak carbon dioxide level
|
|
176
|
+
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
177
|
+
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
153
178
|
- `valueCarbonDioxideDetected*` - Accessory has detected carbon dioxide
|
|
179
|
+
- `valueFault` - Accessory has a fault
|
|
180
|
+
- `valueTampered` - Accessory has been tampered with
|
|
154
181
|
|
|
155
182
|
#### CarbonMonoxideSensor
|
|
156
183
|
- `topicGetCarbonMonoxideDetected*` - Whether or not the sensor has detected carbon monoxide
|
|
157
184
|
- `topicGetCarbonMonoxideLevel` - The current carbon monoxide level
|
|
158
185
|
- `topicGetCarbonMonoxidePeakLevel` - The peak carbon monoxide level
|
|
186
|
+
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
187
|
+
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
159
188
|
- `valueCarbonMonoxideDetected*` - Accessory has detected carbon monoxide
|
|
189
|
+
- `valueFault` - Accessory has a fault
|
|
190
|
+
- `valueTampered` - Accessory has been tampered with
|
|
160
191
|
|
|
161
192
|
#### ContactSensor
|
|
162
193
|
- `topicGetContactSensorState*` - Whether or not sensor has detected contact
|
|
194
|
+
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
195
|
+
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
163
196
|
- `valueContactDetected*` - Accessory has detected contact
|
|
197
|
+
- `valueFault` - Accessory has a fault
|
|
198
|
+
- `valueTampered` - Accessory has been tampered with
|
|
164
199
|
|
|
165
200
|
### HumiditySensor
|
|
166
|
-
- `topicGetCurrentRelativeHumidity
|
|
201
|
+
- `topicGetCurrentRelativeHumidity*` - The current relatively humidity
|
|
202
|
+
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
203
|
+
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
204
|
+
- `valueFault` - Accessory has a fault
|
|
205
|
+
- `valueTampered` - Accessory has been tampered with
|
|
167
206
|
|
|
168
207
|
#### LeakSensor
|
|
169
208
|
- `topicGetLeakDetected*` - Whether or not sensor has detected a leak
|
|
209
|
+
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
210
|
+
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
170
211
|
- `valueLeakDetected*` - Accessory has detected a leak
|
|
212
|
+
- `valueFault` - Accessory has a fault
|
|
213
|
+
- `valueTampered` - Accessory has been tampered with
|
|
214
|
+
|
|
215
|
+
#### LightSensor
|
|
216
|
+
- `topicGetCurrentAmbientLightLevel*` - The current light level in lux units
|
|
217
|
+
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
218
|
+
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
219
|
+
- `valueFault` - Accessory has a fault
|
|
220
|
+
- `valueTampered` - Accessory has been tampered with
|
|
171
221
|
|
|
172
222
|
#### MotionSensor
|
|
173
223
|
- `topicGetMotionDetected*` - Whether or not sensor has detected motion
|
|
224
|
+
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
225
|
+
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
174
226
|
- `valueMotionDetected*` - Accessory has detected motion
|
|
227
|
+
- `valueFault` - Accessory has a fault
|
|
228
|
+
- `valueTampered` - Accessory has been tampered with
|
|
175
229
|
|
|
176
230
|
#### OccupancySensor
|
|
177
231
|
- `topicGetOccupancyDetected*` - Whether or not sensor has detected occupancy
|
|
232
|
+
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
233
|
+
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
178
234
|
- `valueOccupancyDetected*` - Accessory has detected occupancy
|
|
235
|
+
- `valueFault` - Accessory has a fault
|
|
236
|
+
- `valueTampered` - Accessory has been tampered with
|
|
179
237
|
|
|
180
238
|
#### SmokeSensor
|
|
181
239
|
- `topicGetSmokeDetected*` - Whether or not sensor has detected smoke
|
|
240
|
+
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
241
|
+
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
182
242
|
- `valueSmokeDetected*` - Accessory has detected smoke
|
|
243
|
+
- `valueFault` - Accessory has a fault
|
|
244
|
+
- `valueTampered` - Accessory has been tampered with
|
|
183
245
|
|
|
184
246
|
#### TemperatureSensor
|
|
185
247
|
- `topicGetCurrentTemperature*` - The current temperature of the sensor
|
|
186
248
|
- `temperatureUnits` - The temperature units of the incoming value supplied by the sensor, `C` for Celsius (default) `F` for Fahrenheit
|
|
249
|
+
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
250
|
+
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
251
|
+
- `valueFault` - Accessory has a fault
|
|
252
|
+
- `valueTampered` - Accessory has been tampered with
|
|
187
253
|
|
|
188
254
|
### Climate Controllers
|
|
255
|
+
|
|
256
|
+
#### Thermostat
|
|
189
257
|
- `temperatureUnits` - The temperature units of the incoming value supplied by the thermostat, `C` for Celsius (default) `F` for Fahrenheit
|
|
258
|
+
- `topicGetCurrentTemperature*` - Get the current temperature
|
|
259
|
+
- `topicGetCurrentHeatingCoolingState*` - Get the current mode (i.e. cooling, heating, off)
|
|
260
|
+
- `topicGetTargetHeatingCoolingState*` - Get the target mode (i.e. auto, cooling, heating, off)
|
|
261
|
+
- `topicSetTargetHeatingCoolingState*` - Set the target mode (i.e. auto, cooling, heating, off)
|
|
262
|
+
- `topicGetTargetTemperature*` - Get the target temperature
|
|
263
|
+
- `topicSetTargetTemperature*` - Set the target temperature
|
|
190
264
|
- `topicGetCoolingThresholdTemperature` - Get the cooling threshold temperature
|
|
191
265
|
- `topicSetCoolingThresholdTemperature` - Set the cooling threshold temparture
|
|
192
266
|
- `topicGetHeatingThresholdTemperature` - Get the heating threshold temperature
|
|
193
267
|
- `topicSetHeatingThresholdTemperature` - Set the heating threshold temperature
|
|
268
|
+
- `topicGetCurrentRelativeHumidity` - Get the current humidity
|
|
269
|
+
- `topicGetTargetRelativeHumidity` - Get the target humidity
|
|
270
|
+
- `topicSetTargetRelativeHumidity` - Set the target humidity
|
|
271
|
+
- `topicGetFilterChangeIndication` - Whether or not the filter needs to be changed. *Required if other filter topics are defined.
|
|
272
|
+
- `topicGetFilterLifeLevel` - Filter life remaining as a percentage
|
|
273
|
+
- `topicResetFilterIndication` - Used to reset the filter
|
|
274
|
+
- `valueModeAuto` - Auto mode
|
|
275
|
+
- `valueModeCool` - Cool mode
|
|
276
|
+
- `valueModeHeat` - Heat mode
|
|
277
|
+
- `valueModeOff` - Thermostat off
|
|
278
|
+
- `valueFilterChange` - Indicates that the filter needs to be changed. *Required if `topicGetFilterChangeIndication` is defined.
|
|
279
|
+
|
|
280
|
+
#### Air Purifier
|
|
281
|
+
- `topicGetActive*` - Get whether or not the accessory is currently active
|
|
282
|
+
- `topicSetActive*` - Set whether or not the accessory is currently active
|
|
283
|
+
- `topicGetCurrentPurifierState*` - Get the current mode (i.e. inactive, idle, purifying)
|
|
284
|
+
- `topicGetTargetPurifierState*` - Get the target mode (i.e. auto, manual)
|
|
285
|
+
- `topicSetTargetPurifierState*` - Set the target mode (i.e. auto, manual)
|
|
286
|
+
- `topicGetLockPhysicalControls` - Get whether or not the physical controls are locked
|
|
287
|
+
- `topicSetLockPhysicalControls` - Set whether or not the physical controls are locked
|
|
288
|
+
- `topicGetRotationSpeed` - Get the rotation speed as a percentage
|
|
289
|
+
- `topicSetRotationSpeed` - Set the rotation speed as a percentage
|
|
290
|
+
- `topicGetSwingMode` - Get whether or not accessory is oscillating
|
|
291
|
+
- `topicSetSwingMode` - Set whether or not accessory is oscillating
|
|
292
|
+
- `topicGetFilterChangeIndication` - Whether or not the filter needs to be changed. *Required if other filter topics are defined.
|
|
293
|
+
- `topicGetFilterLifeLevel` - Filter life remaining as a percentage
|
|
294
|
+
- `topicResetFilterIndication` - Used to reset the filter
|
|
295
|
+
- `valueStateActive*` - Accessory is currently active
|
|
296
|
+
- `valueStateInactive*` - Accessory is currently inactive
|
|
297
|
+
- `valueModeAuto` - Auto target mode
|
|
298
|
+
- `valueModeIdle` - Idle mode
|
|
299
|
+
- `valueModeInactive` - Inactive mode
|
|
300
|
+
- `valueModeManual` - Manual target mode
|
|
301
|
+
- `valueModePurifying` - Purifying mode
|
|
302
|
+
- `valueControlLock` - Physical controls are locked
|
|
303
|
+
- `valueControlUnlock` - Physical controls are unlocked
|
|
304
|
+
- `valueSwingEnabled` - Accessory is oscillating
|
|
305
|
+
- `valueSwingDisabled` - Accessory is not oscillating
|
|
306
|
+
- `valueFilterChange` - Indicates that the filter needs to be changed. *Required if `topicGetFilterChangeIndication` is defined.
|
|
194
307
|
|
|
195
308
|
#### HeaterCooler
|
|
309
|
+
- `temperatureUnits` - The temperature units of the incoming value supplied by the thermostat, `C` for Celsius (default) `F` for Fahrenheit
|
|
196
310
|
- `topicGetActive*` - Get whether or not the accessory is currently active
|
|
197
311
|
- `topicSetActive*` - Set whether or not the accessory is currently active
|
|
312
|
+
- `topicGetCurrentTemperature*` - Get the current temperature
|
|
198
313
|
- `topicGetCurrentHeaterCoolerState*` - Get the current mode (i.e. inactive, idle, heating, cooling)
|
|
199
314
|
- `topicGetTargetHeaterCoolerState*` - Get the target mode (i.e. auto, heat, cool)
|
|
200
315
|
- `topicSetTargetHeaterCoolerState*` - Set the target mode (i.e. auto, heat, cool)
|
|
316
|
+
- `topicGetCoolingThresholdTemperature` - Get the cooling threshold temperature
|
|
317
|
+
- `topicSetCoolingThresholdTemperature` - Set the cooling threshold temparture
|
|
318
|
+
- `topicGetHeatingThresholdTemperature` - Get the heating threshold temperature
|
|
319
|
+
- `topicSetHeatingThresholdTemperature` - Set the heating threshold temperature
|
|
201
320
|
- `topicGetLockPhysicalControls` - Get whether or not the physical controls are locked
|
|
202
321
|
- `topicSetLockPhysicalControls` - Set whether or not the physical controls are locked
|
|
203
322
|
- `topicGetRotationSpeed` - Get the rotation speed as a percentage
|
|
204
323
|
- `topicSetRotationSpeed` - Set the rotation speed as a percentage
|
|
205
324
|
- `topicGetSwingMode` - Get whether or not accessory is oscillating
|
|
206
325
|
- `topicSetSwingMode` - Set whether or not accessory is oscillating
|
|
326
|
+
- `topicGetFilterChangeIndication` - Whether or not the filter needs to be changed. *Required if other filter topics are defined.
|
|
327
|
+
- `topicGetFilterLifeLevel` - Filter life remaining as a percentage
|
|
328
|
+
- `topicResetFilterIndication` - Used to reset the filter
|
|
207
329
|
- `valueStateActive*` - Accessory is currently active
|
|
208
330
|
- `valueStateInactive*` - Accessory is currently inactive
|
|
209
331
|
- `valueModeAuto` - Mode is auto
|
|
@@ -215,21 +337,7 @@ As with topics, you will also need to populate the appropriate values based on t
|
|
|
215
337
|
- `valueControlUnlock` - Physical controls are unlocked
|
|
216
338
|
- `valueSwingEnabled` - Accessory is oscillating
|
|
217
339
|
- `valueSwingDisabled` - Accessory is not oscillating
|
|
218
|
-
|
|
219
|
-
#### Thermostat
|
|
220
|
-
- `topicGetCurrentHeatingCoolingState*` - Get the current mode (i.e. cooling, heating, off)
|
|
221
|
-
- `topicGetTargetHeatingCoolingState*` - Get the target mode (i.e. auto, cooling, heating, off)
|
|
222
|
-
- `topicSetTargetHeatingCoolingState*` - Set the target mode (i.e. auto, cooling, heating, off)
|
|
223
|
-
- `topicGetCurrentTemperature*` - Get the current temperature
|
|
224
|
-
- `topicGetTargetTemperature*` - Get the target temperature
|
|
225
|
-
- `topicSetTargetTemperature*` - Set the target temperature
|
|
226
|
-
- `topicGetCurrentRelativeHumidity` - Get the current humidity
|
|
227
|
-
- `topicGetTargetRelativeHumidity` - Get the target humidity
|
|
228
|
-
- `topicSetTargetRelativeHumidity` - Set the target humidity
|
|
229
|
-
- `valueModeAuto` - Auto mode
|
|
230
|
-
- `valueModeCool` - Cool mode
|
|
231
|
-
- `valueModeHeat` - Heat mode
|
|
232
|
-
- `valueModeOff` - Thermostat off
|
|
340
|
+
- `valueFilterChange` - Indicates that the filter needs to be changed. *Required if `topicGetFilterChangeIndication` is defined.
|
|
233
341
|
|
|
234
342
|
### Others
|
|
235
343
|
|
|
@@ -255,6 +363,24 @@ As with topics, you will also need to populate the appropriate values based on t
|
|
|
255
363
|
- `valueFault` - Accessory has a fault
|
|
256
364
|
- `valueTampered` - Accessory has been tampered with
|
|
257
365
|
|
|
366
|
+
#### Valve
|
|
367
|
+
- `valveType` - One of `GENERIC_VALVE` (default), `IRRIGATION`, `SHOWER_HEAD`, or `WATER_FAUCET`
|
|
368
|
+
- `topicGetValveActive*` - For getting whether or not the valve is active
|
|
369
|
+
- `topicSetValveActive*` - For setting whether or not the valve is active
|
|
370
|
+
- `topicGetValveInUse*` - For getting whether or not the valve is in use
|
|
371
|
+
- `topicGetStatusFault` - For getting whether or not there is a fault
|
|
372
|
+
- `topicGetValveIsConfigured` - For getting wether or not valve is configured
|
|
373
|
+
- `topicSetValveIsConfigured` - For setting wether or not valve is configured
|
|
374
|
+
- `topicGetValveSetDuration` - For getting the set duration in seconds
|
|
375
|
+
- `topicSetValveSetDuration` - For setting the set duration in seconds
|
|
376
|
+
- `topicGetValveRemainingDuration` - For getting the time remaining in seconds
|
|
377
|
+
- `valueActive*` - Valve is active, e.g. "true", or "1", or "active"
|
|
378
|
+
- `valueInactive*` - Valve is not active e.g. "false", or "0", or "active"
|
|
379
|
+
- `valueInUse*` - Valve is in use, e.g. "true", or "1", or "used"
|
|
380
|
+
- `valueConfigured` - Valve is configured, e.g. "true", or "1", or "configured"
|
|
381
|
+
- `valueNotConfigured` - Valve is not configured, e.g. "false", or "0", or "unconfigured"
|
|
382
|
+
- `valueFault` - Valve has a fault, e.g. "error", or "-1"
|
|
383
|
+
|
|
258
384
|
## Logging/Debugging:
|
|
259
385
|
|
|
260
386
|
By default, devices will log activity, for example when a Switch is turned on or a LockMechanism is unlocked.
|
|
@@ -275,6 +401,25 @@ You are able to pass in any arbitrary MQTT options via `mqtt.options` in the con
|
|
|
275
401
|
"options": "{ \"protocolVersion\": \"4\", \"clientId\": \"my-client-id\", \"rejectUnauthorized\": true }"
|
|
276
402
|
```
|
|
277
403
|
|
|
404
|
+
## MQTT OnConnect
|
|
405
|
+
|
|
406
|
+
Accessories can be configured to publish any number of arbitratry messages to the MQTT server on connect. This can be useful to invoke accessories to give updates on their current status.
|
|
407
|
+
|
|
408
|
+
Each entry should have a topic and a message:
|
|
409
|
+
|
|
410
|
+
```
|
|
411
|
+
"onConnect": [
|
|
412
|
+
{
|
|
413
|
+
"topic": "some/arbitrary/topic",
|
|
414
|
+
"message": "connected",
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"topic": "another/arbitrary/topic",
|
|
418
|
+
"message": "{ \"value\": \"can also be json\" }",
|
|
419
|
+
}
|
|
420
|
+
]
|
|
421
|
+
```
|
|
422
|
+
|
|
278
423
|
## JSONPaths
|
|
279
424
|
|
|
280
425
|
For some devices, the desired values in the MQTT messages are embedded within a JSON object. For example, here is the MQTT message for my door lock that is received when the door is locked:
|