homebridge-easy-mqtt 1.4.0-beta.16 → 1.4.0-beta.3
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 +7 -10
- package/README.md +25 -246
- package/config.schema.json +400 -1991
- package/dist/accessory/abstract/base.js +2 -2
- package/dist/accessory/abstract/base.js.map +1 -1
- package/dist/accessory/abstract/helper.d.ts +0 -1
- package/dist/accessory/abstract/helper.js +0 -19
- package/dist/accessory/abstract/helper.js.map +1 -1
- package/dist/accessory/abstract/mqtt.d.ts +26 -15
- package/dist/accessory/abstract/mqtt.js +148 -29
- package/dist/accessory/abstract/mqtt.js.map +1 -1
- package/dist/accessory/climate/{temperatureControl.d.ts → climate.d.ts} +2 -3
- package/dist/accessory/climate/{temperatureControl.js → climate.js} +5 -7
- package/dist/accessory/climate/climate.js.map +1 -0
- package/dist/accessory/climate/heaterCooler.d.ts +6 -2
- package/dist/accessory/climate/heaterCooler.js +37 -5
- package/dist/accessory/climate/heaterCooler.js.map +1 -1
- package/dist/accessory/climate/thermostat.d.ts +2 -2
- package/dist/accessory/climate/thermostat.js +2 -3
- package/dist/accessory/climate/thermostat.js.map +1 -1
- package/dist/accessory/lock.d.ts +2 -2
- package/dist/accessory/lock.js +3 -3
- package/dist/accessory/lock.js.map +1 -1
- package/dist/accessory/sensor/sensor.js +2 -2
- package/dist/accessory/sensor/sensor.js.map +1 -1
- package/dist/homebridge/platform.js +3 -5
- 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 +0 -155
- package/dist/i18n/en.js +1 -156
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/fr.d.ts +0 -155
- package/dist/i18n/i18n.d.ts +1 -157
- package/dist/i18n/i18n.js +0 -6
- package/dist/i18n/i18n.js.map +1 -1
- package/dist/i18n/template.d.ts +0 -155
- package/dist/model/enums.d.ts +2 -39
- package/dist/model/enums.js +0 -39
- package/dist/model/enums.js.map +1 -1
- package/dist/model/mqtt.d.ts +4 -5
- package/dist/model/mqtt.js +25 -41
- package/dist/model/mqtt.js.map +1 -1
- package/dist/model/types.d.ts +24 -115
- package/package.json +1 -1
- package/dist/accessory/abstract/common.d.ts +0 -42
- package/dist/accessory/abstract/common.js +0 -158
- package/dist/accessory/abstract/common.js.map +0 -1
- package/dist/accessory/addons/addon.d.ts +0 -24
- package/dist/accessory/addons/addon.js +0 -52
- package/dist/accessory/addons/addon.js.map +0 -1
- package/dist/accessory/addons/filter.d.ts +0 -11
- package/dist/accessory/addons/filter.js +0 -37
- package/dist/accessory/addons/filter.js.map +0 -1
- package/dist/accessory/climate/active.d.ts +0 -11
- package/dist/accessory/climate/active.js +0 -44
- package/dist/accessory/climate/active.js.map +0 -1
- package/dist/accessory/climate/fan2.d.ts +0 -20
- package/dist/accessory/climate/fan2.js +0 -122
- package/dist/accessory/climate/fan2.js.map +0 -1
- package/dist/accessory/climate/purifier.d.ts +0 -19
- package/dist/accessory/climate/purifier.js +0 -114
- package/dist/accessory/climate/purifier.js.map +0 -1
- package/dist/accessory/climate/temperatureControl.js.map +0 -1
- package/dist/accessory/garage.d.ts +0 -17
- package/dist/accessory/garage.js +0 -110
- package/dist/accessory/garage.js.map +0 -1
- package/dist/accessory/sensor/air.d.ts +0 -14
- package/dist/accessory/sensor/air.js +0 -94
- package/dist/accessory/sensor/air.js.map +0 -1
- package/dist/accessory/valve.d.ts +0 -14
- package/dist/accessory/valve.js +0 -71
- package/dist/accessory/valve.js.map +0 -1
- package/dist/i18n/ro.d.ts +0 -846
- package/dist/i18n/ro.js +0 -381
- package/dist/i18n/ro.js.map +0 -1
- package/dist/tools/properties.d.ts +0 -11
- package/dist/tools/properties.js +0 -73
- package/dist/tools/properties.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,21 +2,18 @@
|
|
|
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.3 (2025-09-18)
|
|
6
6
|
|
|
7
7
|
### Added
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
- Publish arbitrary MQTT messages on connect ([documentation] (https://github.com/mpatfield/homebridge-easy-mqtt#mqtt-onconnect))
|
|
11
|
-
- Traduceri în limba română. Mulțumesc, [@rursache](https://github.com/sponsors/rursache)!
|
|
8
|
+
- Support for HeaterCooler
|
|
9
|
+
- Support for LightSensor
|
|
12
10
|
|
|
13
11
|
### Changed
|
|
14
|
-
- ⚠️ All accessory states are now saved across plugin/Homebridge restarts
|
|
15
|
-
- If you want to keep the old behavior, select the `Reset on Restart` option for each accessory you want to reset
|
|
16
|
-
- MQTT `options` JSON can now also include publish options, such as `retain`, in addition to client options
|
|
17
12
|
- Optimized MQTT connections by sharing across multiple accessories when possible
|
|
18
|
-
- Previously, every accessory
|
|
19
|
-
|
|
13
|
+
- Previously, every accessory had its own connection
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
- Config UI rendering issue when migrating deprecated fields
|
|
20
17
|
|
|
21
18
|
### Notes
|
|
22
19
|
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
|
@@ -25,18 +25,12 @@ This plugin is designed to be a simple replacement for the fantastic [homebridge
|
|
|
25
25
|
|
|
26
26
|
**HomebridgeEasyMQTT** currently supports the following accessory types but will be expanded over time as more use cases are requested. If there is an accessory type you'd like to see supported, please [create an issue in GitHub](https://github.com/mpatfield/homebridge-easy-mqtt/issues/new/choose).
|
|
27
27
|
|
|
28
|
-
- `AirPurifier`
|
|
29
|
-
- `AirQualitySensor`
|
|
30
28
|
- `CarbonDioxideSensor`
|
|
31
29
|
- `CarbonMonoxideSensor`
|
|
32
30
|
- `ContactSensor`
|
|
33
|
-
- `Fanv2`
|
|
34
|
-
- `GarageDoorOpener`
|
|
35
|
-
- `HeaterCooler`
|
|
36
31
|
- `HumiditySensor`
|
|
37
32
|
- `LeakSensor`
|
|
38
33
|
- `Lightbulb`
|
|
39
|
-
- `LightSensor`
|
|
40
34
|
- `LockMechanism`
|
|
41
35
|
- `MotionSensor`
|
|
42
36
|
- `OccupancySensor`
|
|
@@ -46,7 +40,6 @@ This plugin is designed to be a simple replacement for the fantastic [homebridge
|
|
|
46
40
|
- `Switch`
|
|
47
41
|
- `TemperatureSensor`
|
|
48
42
|
- `Thermostat`
|
|
49
|
-
- `Valve`
|
|
50
43
|
|
|
51
44
|
## Configuration
|
|
52
45
|
|
|
@@ -71,14 +64,7 @@ Using the Homebridge Config UI is the easiest way to set up this plugin. However
|
|
|
71
64
|
"broker": "string",
|
|
72
65
|
"username": "string",
|
|
73
66
|
"password": "string",
|
|
74
|
-
"options": "string"
|
|
75
|
-
"onConnect": [
|
|
76
|
-
{
|
|
77
|
-
"topic": "string",
|
|
78
|
-
"message": "string",
|
|
79
|
-
}
|
|
80
|
-
…
|
|
81
|
-
]
|
|
67
|
+
"options": "string"
|
|
82
68
|
},
|
|
83
69
|
"customCharacteristics": [
|
|
84
70
|
{
|
|
@@ -89,7 +75,6 @@ Using the Homebridge Config UI is the easiest way to set up this plugin. However
|
|
|
89
75
|
}
|
|
90
76
|
…
|
|
91
77
|
],
|
|
92
|
-
"resetOnRestart": false,
|
|
93
78
|
"disableLogging": false,
|
|
94
79
|
… // See Topics & Values below for additional attributes for each accessory type
|
|
95
80
|
],
|
|
@@ -103,7 +88,7 @@ Required fields are marked with an asterisk (*)
|
|
|
103
88
|
### Info
|
|
104
89
|
- `id*` - A unique ID to identify this accessory. Changing this value will result in a new accessory.
|
|
105
90
|
- `name*` - The display name for the accessory in HomeKit
|
|
106
|
-
- `type*` - The type of accessory
|
|
91
|
+
- `type*` - The type of accessory, currently Lightbulb, LockMechanism, Outlet, SecuritySystem, Switch, and Temperature Sensor are supported
|
|
107
92
|
- `group` - Items sharing the same group name will be grouped together in the Home app UI
|
|
108
93
|
- ⚠️ Changing the group name will require you to reconfigure any HomeKit scenes/automations for those accessories
|
|
109
94
|
- `manufacturer` - The accessory manufacturer which will display in HomeKit device details
|
|
@@ -112,21 +97,10 @@ Required fields are marked with an asterisk (*)
|
|
|
112
97
|
- `version` - The accessory software version which will display in HomeKit device details
|
|
113
98
|
|
|
114
99
|
### MQTT:
|
|
115
|
-
- `broker
|
|
100
|
+
- `broker*` - The URL and port to use for communicating with your MQTT device
|
|
116
101
|
- `username` - Username
|
|
117
102
|
- `password` - Password
|
|
118
103
|
- `options` - See [MQTT Options](#mqtt-options) below
|
|
119
|
-
- `onConnect` - See [MQTT OnConnect](#mqtt-onconnect) below
|
|
120
|
-
|
|
121
|
-
#### Environment Variables
|
|
122
|
-
|
|
123
|
-
Alternatively, you may set the following environment variables for broker, username, and password:
|
|
124
|
-
|
|
125
|
-
- `EASYMQTT_BROKER` - expects a fully formed url, `protocol://host:port/` where port is optional
|
|
126
|
-
- `EASYMQTT_USERNAME`
|
|
127
|
-
- `EASYMQTT_PASSWORD`
|
|
128
|
-
|
|
129
|
-
Note that setting the this information in the JSON config will override the environment variables.
|
|
130
104
|
|
|
131
105
|
## Topics & Values
|
|
132
106
|
|
|
@@ -136,8 +110,6 @@ You may define topics using a JSONPath dot notation to assist the parser in find
|
|
|
136
110
|
|
|
137
111
|
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.
|
|
138
112
|
|
|
139
|
-
These values are used for both determining current state and, where appropriate, publishing the new state to MQTT
|
|
140
|
-
|
|
141
113
|
### General Purpose
|
|
142
114
|
- `topicGetStatusActive` - Whether or not the accessory is connected/reachable
|
|
143
115
|
- `topicGetBatteryLow` - Wether or not the accessory has a low battery
|
|
@@ -146,12 +118,12 @@ These values are used for both determining current state and, where appropriate,
|
|
|
146
118
|
- `valueBatteryLow` - Accessory has a low battery level
|
|
147
119
|
|
|
148
120
|
### On/Off Accessories
|
|
149
|
-
|
|
150
|
-
#### Lightbulb
|
|
151
121
|
- `topicGetOn*` - The current state of the outlet, i.e. on/off
|
|
152
122
|
- `topicSetOn*` - For setting the state of the outlet
|
|
153
123
|
- `valueOn*` - Turned on, e.g. "true", or "1", or "On"
|
|
154
124
|
- `valueOff*` - Turned off, e.g. "false", or "0", or "Off"
|
|
125
|
+
|
|
126
|
+
#### Lightbulb
|
|
155
127
|
- `topicGetBrightness` - The current brightness as a percent
|
|
156
128
|
- `topicSetBrightness` - For setting the brightness
|
|
157
129
|
- `topicGetColorTemperature` - The current color temperature of the lightbulb
|
|
@@ -162,37 +134,15 @@ These values are used for both determining current state and, where appropriate,
|
|
|
162
134
|
- `topicSetSaturation` - For setting the saturation setting of the lightbulb
|
|
163
135
|
|
|
164
136
|
#### Outlet
|
|
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"
|
|
169
137
|
- `topicGetOutletInUse` - Whether or not the outlet is currently being used
|
|
170
138
|
- `valueOutletInUse` - Currently being used, e.g. "true", or "1", or "On"
|
|
171
139
|
|
|
172
140
|
#### Switch
|
|
173
|
-
-
|
|
174
|
-
- `topicSetOn*` - For setting the state of the outlet
|
|
175
|
-
- `valueOn*` - Turned on, e.g. "true", or "1", or "On"
|
|
176
|
-
- `valueOff*` - Turned off, e.g. "false", or "0", or "Off"
|
|
141
|
+
-
|
|
177
142
|
|
|
178
143
|
### Sensors
|
|
179
|
-
|
|
180
|
-
#### AirQualitySensor
|
|
181
|
-
- `topicGetAirQuality*` - Get air quality
|
|
182
|
-
- `topicGetNitrogenDioxideDensity` - Get nitrogen dioxide density in µg/m³
|
|
183
|
-
- `topicGetOzoneDensity` - Get ozone density in µg/m³
|
|
184
|
-
- `topicGetPM2_5Density` - Get PM2.5 density in µg/m³
|
|
185
|
-
- `topicGetPM10Density` - Get PM10 density in µg/m³
|
|
186
|
-
- `topicGetSulphurDioxideDensity` - Get sulphur dioxide density in µg/m³
|
|
187
|
-
- `topicGetVOCDensity` - Get VOC density in µg/m³
|
|
188
144
|
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
189
145
|
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
190
|
-
- `valueAQExcellent` - Air quality excellent
|
|
191
|
-
- `valueAQGood` - Air quality good
|
|
192
|
-
- `valueAQFair` - Air quality fair
|
|
193
|
-
- `valueAQInferior` - Air quality inferior
|
|
194
|
-
- `valueAQPoor` - Air quality poor
|
|
195
|
-
- `valueAQUnknown` - Air quality unknown
|
|
196
146
|
- `valueFault` - Accessory has a fault
|
|
197
147
|
- `valueTampered` - Accessory has been tampered with
|
|
198
148
|
|
|
@@ -200,187 +150,63 @@ These values are used for both determining current state and, where appropriate,
|
|
|
200
150
|
- `topicGetCarbonDioxideDetected*` - Whether or not the sensor has detected carbon dioxide
|
|
201
151
|
- `topicGetCarbonDioxideLevel` - The current carbon dioxide level
|
|
202
152
|
- `topicGetCarbonDioxidePeakLevel` - The peak carbon dioxide level
|
|
203
|
-
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
204
|
-
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
205
153
|
- `valueCarbonDioxideDetected*` - Accessory has detected carbon dioxide
|
|
206
|
-
- `valueFault` - Accessory has a fault
|
|
207
|
-
- `valueTampered` - Accessory has been tampered with
|
|
208
154
|
|
|
209
155
|
#### CarbonMonoxideSensor
|
|
210
156
|
- `topicGetCarbonMonoxideDetected*` - Whether or not the sensor has detected carbon monoxide
|
|
211
157
|
- `topicGetCarbonMonoxideLevel` - The current carbon monoxide level
|
|
212
158
|
- `topicGetCarbonMonoxidePeakLevel` - The peak carbon monoxide level
|
|
213
|
-
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
214
|
-
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
215
159
|
- `valueCarbonMonoxideDetected*` - Accessory has detected carbon monoxide
|
|
216
|
-
- `valueFault` - Accessory has a fault
|
|
217
|
-
- `valueTampered` - Accessory has been tampered with
|
|
218
160
|
|
|
219
161
|
#### ContactSensor
|
|
220
162
|
- `topicGetContactSensorState*` - Whether or not sensor has detected contact
|
|
221
|
-
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
222
|
-
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
223
163
|
- `valueContactDetected*` - Accessory has detected contact
|
|
224
|
-
- `valueFault` - Accessory has a fault
|
|
225
|
-
- `valueTampered` - Accessory has been tampered with
|
|
226
164
|
|
|
227
165
|
### HumiditySensor
|
|
228
|
-
- `topicGetCurrentRelativeHumidity
|
|
229
|
-
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
230
|
-
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
231
|
-
- `valueFault` - Accessory has a fault
|
|
232
|
-
- `valueTampered` - Accessory has been tampered with
|
|
166
|
+
- `topicGetCurrentRelativeHumidity` - The current relatively humidity
|
|
233
167
|
|
|
234
168
|
#### LeakSensor
|
|
235
169
|
- `topicGetLeakDetected*` - Whether or not sensor has detected a leak
|
|
236
|
-
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
237
|
-
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
238
170
|
- `valueLeakDetected*` - Accessory has detected a leak
|
|
239
|
-
- `valueFault` - Accessory has a fault
|
|
240
|
-
- `valueTampered` - Accessory has been tampered with
|
|
241
171
|
|
|
242
172
|
#### LightSensor
|
|
243
|
-
- `topicGetCurrentAmbientLightLevel
|
|
244
|
-
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
245
|
-
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
246
|
-
- `valueFault` - Accessory has a fault
|
|
247
|
-
- `valueTampered` - Accessory has been tampered with
|
|
173
|
+
- `topicGetCurrentAmbientLightLevel` - The current light level in lux units
|
|
248
174
|
|
|
249
175
|
#### MotionSensor
|
|
250
176
|
- `topicGetMotionDetected*` - Whether or not sensor has detected motion
|
|
251
|
-
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
252
|
-
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
253
177
|
- `valueMotionDetected*` - Accessory has detected motion
|
|
254
|
-
- `valueFault` - Accessory has a fault
|
|
255
|
-
- `valueTampered` - Accessory has been tampered with
|
|
256
178
|
|
|
257
179
|
#### OccupancySensor
|
|
258
180
|
- `topicGetOccupancyDetected*` - Whether or not sensor has detected occupancy
|
|
259
|
-
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
260
|
-
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
261
181
|
- `valueOccupancyDetected*` - Accessory has detected occupancy
|
|
262
|
-
- `valueFault` - Accessory has a fault
|
|
263
|
-
- `valueTampered` - Accessory has been tampered with
|
|
264
182
|
|
|
265
183
|
#### SmokeSensor
|
|
266
184
|
- `topicGetSmokeDetected*` - Whether or not sensor has detected smoke
|
|
267
|
-
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
268
|
-
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
269
185
|
- `valueSmokeDetected*` - Accessory has detected smoke
|
|
270
|
-
- `valueFault` - Accessory has a fault
|
|
271
|
-
- `valueTampered` - Accessory has been tampered with
|
|
272
186
|
|
|
273
187
|
#### TemperatureSensor
|
|
274
188
|
- `topicGetCurrentTemperature*` - The current temperature of the sensor
|
|
275
189
|
- `temperatureUnits` - The temperature units of the incoming value supplied by the sensor, `C` for Celsius (default) `F` for Fahrenheit
|
|
276
|
-
- `topicGetStatusFault` - Whether or not the sensor has a generic fault
|
|
277
|
-
- `topicGetStatusTampered` - Whether or not the sensor has been tampered with
|
|
278
|
-
- `valueFault` - Accessory has a fault
|
|
279
|
-
- `valueTampered` - Accessory has been tampered with
|
|
280
190
|
|
|
281
191
|
### Climate Controllers
|
|
282
|
-
|
|
283
|
-
#### Thermostat
|
|
284
192
|
- `temperatureUnits` - The temperature units of the incoming value supplied by the thermostat, `C` for Celsius (default) `F` for Fahrenheit
|
|
285
|
-
- `topicGetCurrentTemperature*` - Get the current temperature
|
|
286
|
-
- `topicGetCurrentHeatingCoolingState*` - Get the current mode (i.e. cooling, heating, off)
|
|
287
|
-
- `topicGetTargetHeatingCoolingState*` - Get the target mode (i.e. auto, cooling, heating, off)
|
|
288
|
-
- `topicSetTargetHeatingCoolingState*` - Set the target mode (i.e. auto, cooling, heating, off)
|
|
289
|
-
- `topicGetTargetTemperature*` - Get the target temperature
|
|
290
|
-
- `topicSetTargetTemperature*` - Set the target temperature
|
|
291
193
|
- `topicGetCoolingThresholdTemperature` - Get the cooling threshold temperature
|
|
292
194
|
- `topicSetCoolingThresholdTemperature` - Set the cooling threshold temparture
|
|
293
195
|
- `topicGetHeatingThresholdTemperature` - Get the heating threshold temperature
|
|
294
196
|
- `topicSetHeatingThresholdTemperature` - Set the heating threshold temperature
|
|
295
|
-
- `topicGetCurrentRelativeHumidity` - Get the current humidity
|
|
296
|
-
- `topicGetTargetRelativeHumidity` - Get the target humidity
|
|
297
|
-
- `topicSetTargetRelativeHumidity` - Set the target humidity
|
|
298
|
-
- `topicGetFilterChangeIndication` - Whether or not the filter needs to be changed. *Required if other filter topics are defined.
|
|
299
|
-
- `topicGetFilterLifeLevel` - Filter life remaining as a percentage
|
|
300
|
-
- `topicResetFilterIndication` - Used to reset the filter
|
|
301
|
-
- `valueModeAuto` - Auto mode
|
|
302
|
-
- `valueModeCool` - Cool mode
|
|
303
|
-
- `valueModeHeat` - Heat mode
|
|
304
|
-
- `valueModeOff` - Thermostat off
|
|
305
|
-
- `valueFilterChange` - Indicates that the filter needs to be changed. *Required if `topicGetFilterChangeIndication` is defined.
|
|
306
|
-
|
|
307
|
-
#### AirPurifier
|
|
308
|
-
- `topicGetActive*` - Get whether or not the accessory is currently active
|
|
309
|
-
- `topicSetActive*` - Set whether or not the accessory is currently active
|
|
310
|
-
- `topicGetCurrentPurifierState*` - Get the current mode (i.e. inactive, idle, purifying)
|
|
311
|
-
- `topicGetTargetPurifierState*` - Get the target mode (i.e. auto, manual)
|
|
312
|
-
- `topicSetTargetPurifierState*` - Set the target mode (i.e. auto, manual)
|
|
313
|
-
- `topicGetLockPhysicalControls` - Get whether or not the physical controls are locked
|
|
314
|
-
- `topicSetLockPhysicalControls` - Set whether or not the physical controls are locked
|
|
315
|
-
- `topicGetRotationSpeed` - Get the rotation speed as a percentage
|
|
316
|
-
- `topicSetRotationSpeed` - Set the rotation speed as a percentage
|
|
317
|
-
- `topicGetSwingMode` - Get whether or not accessory is oscillating
|
|
318
|
-
- `topicSetSwingMode` - Set whether or not accessory is oscillating
|
|
319
|
-
- `topicGetFilterChangeIndication` - Whether or not the filter needs to be changed. *Required if other filter topics are defined.
|
|
320
|
-
- `topicGetFilterLifeLevel` - Filter life remaining as a percentage
|
|
321
|
-
- `topicResetFilterIndication` - Used to reset the filter
|
|
322
|
-
- `valueStateActive*` - Accessory is currently active
|
|
323
|
-
- `valueStateInactive*` - Accessory is currently inactive
|
|
324
|
-
- `valueModeAuto` - Auto target mode
|
|
325
|
-
- `valueModeIdle` - Idle mode
|
|
326
|
-
- `valueModeInactive` - Inactive mode
|
|
327
|
-
- `valueModeManual` - Manual target mode
|
|
328
|
-
- `valueModePurifying` - Purifying mode
|
|
329
|
-
- `valueControlLock` - Physical controls are locked
|
|
330
|
-
- `valueControlUnlock` - Physical controls are unlocked
|
|
331
|
-
- `valueSwingEnabled` - Accessory is oscillating
|
|
332
|
-
- `valueSwingDisabled` - Accessory is not oscillating
|
|
333
|
-
- `valueFilterChange` - Indicates that the filter needs to be changed. *Required if `topicGetFilterChangeIndication` is defined.
|
|
334
|
-
|
|
335
|
-
#### Fanv2
|
|
336
|
-
- `topicGetActive*` - Get whether or not the accessory is currently active
|
|
337
|
-
- `topicSetActive*` - Set whether or not the accessory is currently active
|
|
338
|
-
- `topicGetCurrentFanState` - Get current fan mode (blowing, idle, inactive)
|
|
339
|
-
- `topicGetTargetFanState` - Get target fan mode (auto, manual)
|
|
340
|
-
- `topicSetTargetFanState` - Set target fan mode (auto, manual)
|
|
341
|
-
- `topicGetLockPhysicalControls` - Get whether or not the physical controls are locked
|
|
342
|
-
- `topicSetLockPhysicalControls` - Set whether or not the physical controls are locked
|
|
343
|
-
- `topicGetRotationDirection` - Get the fan rotation direction (clockwise, counter clockwise)
|
|
344
|
-
- `topicSetRotationDirection` - Set the fan rotation direction (clockwise, counter clockwise)
|
|
345
|
-
- `topicGetRotationSpeed` - Get the rotation speed as a percentage
|
|
346
|
-
- `topicSetRotationSpeed` - Set the rotation speed as a percentage
|
|
347
|
-
- `topicGetSwingMode` - Get whether or not accessory is oscillating
|
|
348
|
-
- `topicSetSwingMode` - Set whether or not accessory is oscillating
|
|
349
|
-
- `valueStateActive*` - Accessory is currently active
|
|
350
|
-
- `valueStateInactive*` - Accessory is currently inactive
|
|
351
|
-
- `valueModeBlowing` - Air blowing mode
|
|
352
|
-
- `valueModeIdle` - Idle mode
|
|
353
|
-
- `valueModeInactive` - Inactive mode
|
|
354
|
-
- `valueModeAuto` - Auto target mode
|
|
355
|
-
- `valueModeManual` - Manual target mode
|
|
356
|
-
- `valueDirectionClockwise` - Rotating clockwise
|
|
357
|
-
- `valueDirectionCounterClockwise` - Rotating counter clockwise
|
|
358
|
-
- `valueControlLock` - Physical controls are locked
|
|
359
|
-
- `valueControlUnlock` - Physical controls are unlocked
|
|
360
|
-
- `valueSwingEnabled` - Accessory is oscillating
|
|
361
|
-
- `valueSwingDisabled` - Accessory is not oscillating
|
|
362
197
|
|
|
363
198
|
#### HeaterCooler
|
|
364
|
-
- `temperatureUnits` - The temperature units of the incoming value supplied by the thermostat, `C` for Celsius (default) `F` for Fahrenheit
|
|
365
199
|
- `topicGetActive*` - Get whether or not the accessory is currently active
|
|
366
200
|
- `topicSetActive*` - Set whether or not the accessory is currently active
|
|
367
|
-
- `topicGetCurrentTemperature*` - Get the current temperature
|
|
368
201
|
- `topicGetCurrentHeaterCoolerState*` - Get the current mode (i.e. inactive, idle, heating, cooling)
|
|
369
202
|
- `topicGetTargetHeaterCoolerState*` - Get the target mode (i.e. auto, heat, cool)
|
|
370
203
|
- `topicSetTargetHeaterCoolerState*` - Set the target mode (i.e. auto, heat, cool)
|
|
371
|
-
- `topicGetCoolingThresholdTemperature` - Get the cooling threshold temperature
|
|
372
|
-
- `topicSetCoolingThresholdTemperature` - Set the cooling threshold temparture
|
|
373
|
-
- `topicGetHeatingThresholdTemperature` - Get the heating threshold temperature
|
|
374
|
-
- `topicSetHeatingThresholdTemperature` - Set the heating threshold temperature
|
|
375
204
|
- `topicGetLockPhysicalControls` - Get whether or not the physical controls are locked
|
|
376
205
|
- `topicSetLockPhysicalControls` - Set whether or not the physical controls are locked
|
|
377
206
|
- `topicGetRotationSpeed` - Get the rotation speed as a percentage
|
|
378
207
|
- `topicSetRotationSpeed` - Set the rotation speed as a percentage
|
|
379
208
|
- `topicGetSwingMode` - Get whether or not accessory is oscillating
|
|
380
209
|
- `topicSetSwingMode` - Set whether or not accessory is oscillating
|
|
381
|
-
- `topicGetFilterChangeIndication` - Whether or not the filter needs to be changed. *Required if other filter topics are defined.
|
|
382
|
-
- `topicGetFilterLifeLevel` - Filter life remaining as a percentage
|
|
383
|
-
- `topicResetFilterIndication` - Used to reset the filter
|
|
384
210
|
- `valueStateActive*` - Accessory is currently active
|
|
385
211
|
- `valueStateInactive*` - Accessory is currently inactive
|
|
386
212
|
- `valueModeAuto` - Mode is auto
|
|
@@ -392,27 +218,23 @@ These values are used for both determining current state and, where appropriate,
|
|
|
392
218
|
- `valueControlUnlock` - Physical controls are unlocked
|
|
393
219
|
- `valueSwingEnabled` - Accessory is oscillating
|
|
394
220
|
- `valueSwingDisabled` - Accessory is not oscillating
|
|
395
|
-
- `valueFilterChange` - Indicates that the filter needs to be changed. *Required if `topicGetFilterChangeIndication` is defined.
|
|
396
221
|
|
|
397
|
-
|
|
222
|
+
#### Thermostat
|
|
223
|
+
- `topicGetCurrentHeatingCoolingState*` - Get the current mode (i.e. cooling, heating, off)
|
|
224
|
+
- `topicGetTargetHeatingCoolingState*` - Get the target mode (i.e. auto, cooling, heating, off)
|
|
225
|
+
- `topicSetTargetHeatingCoolingState*` - Set the target mode (i.e. auto, cooling, heating, off)
|
|
226
|
+
- `topicGetCurrentTemperature*` - Get the current temperature
|
|
227
|
+
- `topicGetTargetTemperature*` - Get the target temperature
|
|
228
|
+
- `topicSetTargetTemperature*` - Set the target temperature
|
|
229
|
+
- `topicGetCurrentRelativeHumidity` - Get the current humidity
|
|
230
|
+
- `topicGetTargetRelativeHumidity` - Get the target humidity
|
|
231
|
+
- `topicSetTargetRelativeHumidity` - Set the target humidity
|
|
232
|
+
- `valueModeAuto` - Auto mode
|
|
233
|
+
- `valueModeCool` - Cool mode
|
|
234
|
+
- `valueModeHeat` - Heat mode
|
|
235
|
+
- `valueModeOff` - Thermostat off
|
|
398
236
|
|
|
399
|
-
|
|
400
|
-
- `topicGetCurrentDoorState*` - Current state of the garage door, i.e. open/opening/closed/closing/stopped
|
|
401
|
-
- `topicGetTargetDoorState*` - Target state of the garage door, i.e. open/closed
|
|
402
|
-
- `topicSetTargetDoorState*` - Set the target door state, i.e. open/closed
|
|
403
|
-
- `topicGetObstructionDetected*` - Whether or not the garage door is obstructed
|
|
404
|
-
- `topicGetCurrentLockState` - The current state of the garage lock, i.e. locked/unlocked
|
|
405
|
-
- `topicGetTargetLockState` - The target (i.e. desired) state of the garage lock
|
|
406
|
-
- `topicSetTargetLockState` - For setting the target (i.e. desired) state of the garage lock
|
|
407
|
-
- `valueDoorObstructed*` - Door is obstructed
|
|
408
|
-
- `valueDoorStateClosed` - Door is closed
|
|
409
|
-
- `valueDoorStateClosing` - Door is closing
|
|
410
|
-
- `valueDoorStateOpen` - Door is open
|
|
411
|
-
- `valueDoorStateOpening` - Door is opening
|
|
412
|
-
- `valueDoorStateStopped` - Door is stopped
|
|
413
|
-
- `valueLockStateJammed` - Door lock is jammed
|
|
414
|
-
- `valueLockStateSecured` - Door is locked
|
|
415
|
-
- `valueLockStateUnsecured` - Door is unlocked
|
|
237
|
+
### Others
|
|
416
238
|
|
|
417
239
|
#### LockMechanism
|
|
418
240
|
- `topicGetCurrentLockState*` - The current state of the lock, i.e. locked/unlocked
|
|
@@ -436,24 +258,6 @@ These values are used for both determining current state and, where appropriate,
|
|
|
436
258
|
- `valueFault` - Accessory has a fault
|
|
437
259
|
- `valueTampered` - Accessory has been tampered with
|
|
438
260
|
|
|
439
|
-
#### Valve
|
|
440
|
-
- `valveType` - One of `GENERIC_VALVE` (default), `IRRIGATION`, `SHOWER_HEAD`, or `WATER_FAUCET`
|
|
441
|
-
- `topicGetValveActive*` - For getting whether or not the valve is active
|
|
442
|
-
- `topicSetValveActive*` - For setting whether or not the valve is active
|
|
443
|
-
- `topicGetValveInUse*` - For getting whether or not the valve is in use
|
|
444
|
-
- `topicGetStatusFault` - For getting whether or not there is a fault
|
|
445
|
-
- `topicGetValveIsConfigured` - For getting wether or not valve is configured
|
|
446
|
-
- `topicSetValveIsConfigured` - For setting wether or not valve is configured
|
|
447
|
-
- `topicGetValveSetDuration` - For getting the set duration in seconds
|
|
448
|
-
- `topicSetValveSetDuration` - For setting the set duration in seconds
|
|
449
|
-
- `topicGetValveRemainingDuration` - For getting the time remaining in seconds
|
|
450
|
-
- `valueActive*` - Valve is active, e.g. "true", or "1", or "active"
|
|
451
|
-
- `valueInactive*` - Valve is not active e.g. "false", or "0", or "active"
|
|
452
|
-
- `valueInUse*` - Valve is in use, e.g. "true", or "1", or "used"
|
|
453
|
-
- `valueConfigured` - Valve is configured, e.g. "true", or "1", or "configured"
|
|
454
|
-
- `valueNotConfigured` - Valve is not configured, e.g. "false", or "0", or "unconfigured"
|
|
455
|
-
- `valueFault` - Valve has a fault, e.g. "error", or "-1"
|
|
456
|
-
|
|
457
261
|
## Logging/Debugging:
|
|
458
262
|
|
|
459
263
|
By default, devices will log activity, for example when a Switch is turned on or a LockMechanism is unlocked.
|
|
@@ -468,29 +272,10 @@ You may also turn on additional logging if you'd like to see the MQTT messages p
|
|
|
468
272
|
|
|
469
273
|
## MQTT Options
|
|
470
274
|
|
|
471
|
-
You are able to pass in any arbitrary MQTT options via `mqtt.options` in the config. This can
|
|
275
|
+
You are able to pass in any arbitrary MQTT options via `mqtt.options` in the config. This can include, for example, such as clientId, protocolVersion, etc. Just make sure the value provided is valid JSON. For example:
|
|
472
276
|
|
|
473
277
|
```
|
|
474
|
-
"options": "{ \"protocolVersion\": \"4\", \"clientId\": \"my-client-id\", \"
|
|
475
|
-
```
|
|
476
|
-
|
|
477
|
-
## MQTT OnConnect
|
|
478
|
-
|
|
479
|
-
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.
|
|
480
|
-
|
|
481
|
-
Each entry should have a topic and a message:
|
|
482
|
-
|
|
483
|
-
```
|
|
484
|
-
"onConnect": [
|
|
485
|
-
{
|
|
486
|
-
"topic": "some/arbitrary/topic",
|
|
487
|
-
"message": "connected",
|
|
488
|
-
},
|
|
489
|
-
{
|
|
490
|
-
"topic": "another/arbitrary/topic",
|
|
491
|
-
"message": "{ \"value\": \"can also be json\" }",
|
|
492
|
-
}
|
|
493
|
-
]
|
|
278
|
+
"options": "{ \"protocolVersion\": \"4\", \"clientId\": \"my-client-id\", \"rejectUnauthorized\": true }"
|
|
494
279
|
```
|
|
495
280
|
|
|
496
281
|
## JSONPaths
|
|
@@ -589,12 +374,6 @@ Due to the complexity, this was intentionally left out of the plugin config UI,
|
|
|
589
374
|
|
|
590
375
|
Since `customCharacteristics` is an array, you may define as many custom characteristics as you wish.
|
|
591
376
|
|
|
592
|
-
## Persistance
|
|
593
|
-
|
|
594
|
-
By default, all accessory values are saved and reloaded when the plugin restarts. However, you may override this behavior by selecting `Reset on Restart` option and accessories will be reset to defaults whenever the plugin or Homebridge restarts.
|
|
595
|
-
|
|
596
|
-
- `"resetOnRestart": true`
|
|
597
|
-
|
|
598
377
|
## Credits
|
|
599
378
|
|
|
600
379
|
[@arachnetech](https://github.com/arachnetech) for the fantastic [homebridge-mqttthing](https://github.com/arachnetech/homebridge-mqttthing) plugin which serves as the main inspiration for this project
|