homebridge-easy-mqtt 1.3.0 → 1.4.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -4
- package/README.md +46 -20
- package/config.schema.json +298 -3
- package/dist/accessory/abstract/base.js +1 -1
- package/dist/accessory/abstract/base.js.map +1 -1
- package/dist/accessory/abstract/helper.js +4 -1
- package/dist/accessory/abstract/helper.js.map +1 -1
- package/dist/accessory/abstract/mqtt.js +3 -4
- package/dist/accessory/abstract/mqtt.js.map +1 -1
- package/dist/accessory/climate/climate.d.ts +12 -0
- package/dist/accessory/climate/climate.js +31 -0
- package/dist/accessory/climate/climate.js.map +1 -0
- package/dist/accessory/climate/heaterCooler.d.ts +23 -0
- package/dist/accessory/climate/heaterCooler.js +157 -0
- package/dist/accessory/climate/heaterCooler.js.map +1 -0
- package/dist/accessory/{thermostat.d.ts → climate/thermostat.d.ts} +5 -8
- package/dist/accessory/{thermostat.js → climate/thermostat.js} +4 -24
- package/dist/accessory/climate/thermostat.js.map +1 -0
- package/dist/accessory/security.js +2 -2
- package/dist/accessory/security.js.map +1 -1
- package/dist/accessory/sensor/carbonDioxide.js +1 -1
- package/dist/accessory/sensor/carbonDioxide.js.map +1 -1
- package/dist/accessory/sensor/carbonMonoxide.js +1 -1
- package/dist/accessory/sensor/carbonMonoxide.js.map +1 -1
- package/dist/accessory/sensor/contact.js +1 -1
- package/dist/accessory/sensor/contact.js.map +1 -1
- package/dist/accessory/sensor/humidity.js.map +1 -1
- package/dist/accessory/sensor/leak.js +1 -1
- package/dist/accessory/sensor/leak.js.map +1 -1
- package/dist/accessory/sensor/motion.js +1 -1
- package/dist/accessory/sensor/motion.js.map +1 -1
- package/dist/accessory/sensor/occupancy.js +1 -1
- package/dist/accessory/sensor/occupancy.js.map +1 -1
- package/dist/accessory/sensor/sensor.js +2 -2
- package/dist/accessory/sensor/sensor.js.map +1 -1
- package/dist/accessory/sensor/smoke.js +1 -1
- package/dist/accessory/sensor/smoke.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 +57 -9
- package/dist/i18n/en.js +65 -17
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/fr.d.ts +61 -27
- package/dist/i18n/fr.js +4 -18
- package/dist/i18n/fr.js.map +1 -1
- package/dist/i18n/i18n.d.ts +57 -9
- package/dist/i18n/template.d.ts +57 -9
- package/dist/model/enums.d.ts +7 -0
- package/dist/model/enums.js +7 -0
- package/dist/model/enums.js.map +1 -1
- package/dist/model/mqtt.d.ts +9 -5
- package/dist/model/mqtt.js +80 -40
- package/dist/model/mqtt.js.map +1 -1
- package/dist/model/types.d.ts +45 -19
- package/package.json +1 -1
- package/dist/accessory/thermostat.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +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.1 (2025-09-XX)
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- Support for HeaterCooler
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Optimized MQTT connections by sharing across multiple accessories when possible
|
|
12
|
+
- Previously, every accessory had its own connection
|
|
13
|
+
|
|
14
|
+
### Notes
|
|
15
|
+
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!
|
|
16
|
+
|
|
5
17
|
## 1.3.0 (2025-09-14)
|
|
6
18
|
|
|
7
19
|
### Added
|
|
@@ -20,10 +32,6 @@ All notable changes to homebridge-dummy will be documented in this file.
|
|
|
20
32
|
### Fixed
|
|
21
33
|
- Exponential backoff for MQTT connection errors
|
|
22
34
|
|
|
23
|
-
### Notes
|
|
24
|
-
|
|
25
|
-
• 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!
|
|
26
|
-
|
|
27
35
|
## 1.2.0 (2025-09-02)
|
|
28
36
|
|
|
29
37
|
### Added
|
package/README.md
CHANGED
|
@@ -185,6 +185,52 @@ As with topics, you will also need to populate the appropriate values based on t
|
|
|
185
185
|
- `topicGetCurrentTemperature*` - The current temperature of the sensor
|
|
186
186
|
- `temperatureUnits` - The temperature units of the incoming value supplied by the sensor, `C` for Celsius (default) `F` for Fahrenheit
|
|
187
187
|
|
|
188
|
+
### Climate Controllers
|
|
189
|
+
- `temperatureUnits` - The temperature units of the incoming value supplied by the thermostat, `C` for Celsius (default) `F` for Fahrenheit
|
|
190
|
+
- `topicGetCoolingThresholdTemperature` - Get the cooling threshold temperature
|
|
191
|
+
- `topicSetCoolingThresholdTemperature` - Set the cooling threshold temparture
|
|
192
|
+
- `topicGetHeatingThresholdTemperature` - Get the heating threshold temperature
|
|
193
|
+
- `topicSetHeatingThresholdTemperature` - Set the heating threshold temperature
|
|
194
|
+
|
|
195
|
+
#### HeaterCooler
|
|
196
|
+
- `topicGetActive*` - Get whether or not the accessory is currently active
|
|
197
|
+
- `topicSetActive*` - Set whether or not the accessory is currently active
|
|
198
|
+
- `topicGetCurrentHeaterCoolerState*` - Get the current mode (i.e. inactive, idle, heating, cooling)
|
|
199
|
+
- `topicGetTargetHeaterCoolerState*` - Get the target mode (i.e. auto, heat, cool)
|
|
200
|
+
- `topicSetTargetHeaterCoolerState*` - Set the target mode (i.e. auto, heat, cool)
|
|
201
|
+
- `topicGetLockPhysicalControls` - Get whether or not the physical controls are locked
|
|
202
|
+
- `topicSetLockPhysicalControls` - Set whether or not the physical controls are locked
|
|
203
|
+
- `topicGetRotationSpeed` - Get the rotation speed as a percentage
|
|
204
|
+
- `topicSetRotationSpeed` - Set the rotation speed as a percentage
|
|
205
|
+
- `topicGetSwingMode` - Get whether or not accessory is oscillating
|
|
206
|
+
- `topicSetSwingMode` - Set whether or not accessory is oscillating
|
|
207
|
+
- `valueStateActive*` - Accessory is currently active
|
|
208
|
+
- `valueStateInactive*` - Accessory is currently inactive
|
|
209
|
+
- `valueModeAuto` - Mode is auto
|
|
210
|
+
- `valueModeCool` - Mode is cool/cooling
|
|
211
|
+
- `valueModeHeat` - Mode is heat/heating
|
|
212
|
+
- `valueModeIdle` - Mode is idle
|
|
213
|
+
- `valueModeInactive` - Mode is inactive
|
|
214
|
+
- `valueControlLock` - Physical controls are locked
|
|
215
|
+
- `valueControlUnlock` - Physical controls are unlocked
|
|
216
|
+
- `valueSwingEnabled` - Accessory is oscillating
|
|
217
|
+
- `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
|
|
233
|
+
|
|
188
234
|
### Others
|
|
189
235
|
|
|
190
236
|
#### LockMechanism
|
|
@@ -209,26 +255,6 @@ As with topics, you will also need to populate the appropriate values based on t
|
|
|
209
255
|
- `valueFault` - Accessory has a fault
|
|
210
256
|
- `valueTampered` - Accessory has been tampered with
|
|
211
257
|
|
|
212
|
-
### Thermostat
|
|
213
|
-
- `temperatureUnits` - The temperature units of the incoming value supplied by the thermostat, `C` for Celsius (default) `F` for Fahrenheit
|
|
214
|
-
- `topicGetCurrentHeatingCoolingState*` - Get the current mode (i.e. cooling, heating, off)
|
|
215
|
-
- `topicGetTargetHeatingCoolingState*` - Get the target mode (i.e. auto, cooling, heating, off)
|
|
216
|
-
- `topicSetTargetHeatingCoolingState*` - Set the target mode (i.e. auto, cooling, heating, off)
|
|
217
|
-
- `topicGetCurrentTemperature*` - Get the current temperature
|
|
218
|
-
- `topicGetTargetTemperature*` - Get the target temperature
|
|
219
|
-
- `topicSetTargetTemperature*` - Set the target temperature
|
|
220
|
-
- `topicGetCurrentRelativeHumidity` - Get the current humidity
|
|
221
|
-
- `topicGetTargetRelativeHumidity` - Get the target humidity
|
|
222
|
-
- `topicSetTargetRelativeHumidity` - Set the target humidity
|
|
223
|
-
- `topicGetCoolingThresholdTemperature` - Get the cooling threshold temperature
|
|
224
|
-
- `topicSetCoolingThresholdTemperature` - Set the cooling threshold temparture
|
|
225
|
-
- `topicGetHeatingThresholdTemperature` - Get the heating threshold temperature
|
|
226
|
-
- `topicSetHeatingThresholdTemperature` - Set the heating threshold temperature
|
|
227
|
-
- `valueModeAuto` - Auto mode
|
|
228
|
-
- `valueModeCool` - Cool mode
|
|
229
|
-
- `valueModeHeat` - Heat mode
|
|
230
|
-
- `valueModeOff` - Thermostat off
|
|
231
|
-
|
|
232
258
|
## Logging/Debugging:
|
|
233
259
|
|
|
234
260
|
By default, devices will log activity, for example when a Switch is turned on or a LockMechanism is unlocked.
|
package/config.schema.json
CHANGED
|
@@ -21,8 +21,8 @@
|
|
|
21
21
|
"type": {
|
|
22
22
|
"type": "string",
|
|
23
23
|
"title": "${config.title.type}",
|
|
24
|
-
"enum": [ "CarbonMonoxideSensor", "CarbonDioxideSensor", "ContactSensor", "HumiditySensor", "LeakSensor", "Lightbulb", "LockMechanism", "MotionSensor", "OccupancySensor", "Outlet", "SecuritySystem", "SmokeSensor", "Switch", "TemperatureSensor", "Thermostat"],
|
|
25
|
-
"enumNames": ["${config.enumNames.carbonMonoxideSensor}", "${config.enumNames.carbonDioxideSensor}", "${config.enumNames.contactSensor}", "${config.enumNames.humiditySensor}", "${config.enumNames.leakSensor}", "${config.enumNames.lightbulb}", "${config.enumNames.lockMechanism}", "${config.enumNames.motionSensor}", "${config.enumNames.occupancySensor}", "${config.enumNames.outlet}", "${config.enumNames.securitySystem}", "${config.enumNames.smokeSensor}", "${config.enumNames.switch}", "${config.enumNames.temperatureSensor}", "${config.enumNames.thermostat}"],
|
|
24
|
+
"enum": [ "CarbonMonoxideSensor", "CarbonDioxideSensor", "ContactSensor", "HeaterCooler", "HumiditySensor", "LeakSensor", "Lightbulb", "LockMechanism", "MotionSensor", "OccupancySensor", "Outlet", "SecuritySystem", "SmokeSensor", "Switch", "TemperatureSensor", "Thermostat"],
|
|
25
|
+
"enumNames": ["${config.enumNames.carbonMonoxideSensor}", "${config.enumNames.carbonDioxideSensor}", "${config.enumNames.contactSensor}", "${config.enumNames.heaterCooler}", "${config.enumNames.humiditySensor}", "${config.enumNames.leakSensor}", "${config.enumNames.lightbulb}", "${config.enumNames.lockMechanism}", "${config.enumNames.motionSensor}", "${config.enumNames.occupancySensor}", "${config.enumNames.outlet}", "${config.enumNames.securitySystem}", "${config.enumNames.smokeSensor}", "${config.enumNames.switch}", "${config.enumNames.temperatureSensor}", "${config.enumNames.thermostat}"],
|
|
26
26
|
"required": true
|
|
27
27
|
},
|
|
28
28
|
"group": {
|
|
@@ -295,6 +295,50 @@
|
|
|
295
295
|
"type": "string",
|
|
296
296
|
"title": "${config.title.topicSetHeatingThresholdTemperature}"
|
|
297
297
|
},
|
|
298
|
+
"topicGetActive": {
|
|
299
|
+
"type": "string",
|
|
300
|
+
"title": "${config.title.topicGetActive}"
|
|
301
|
+
},
|
|
302
|
+
"topicGetCurrentHeaterCoolerState": {
|
|
303
|
+
"type": "string",
|
|
304
|
+
"title": "${config.title.topicGetCurrentHeaterCoolerState}"
|
|
305
|
+
},
|
|
306
|
+
"topicGetLockPhysicalControls": {
|
|
307
|
+
"type": "string",
|
|
308
|
+
"title": "${config.title.topicGetLockPhysicalControls}"
|
|
309
|
+
},
|
|
310
|
+
"topicGetRotationSpeed": {
|
|
311
|
+
"type": "string",
|
|
312
|
+
"title": "${config.title.topicGetRotationSpeed}"
|
|
313
|
+
},
|
|
314
|
+
"topicGetSwingMode": {
|
|
315
|
+
"type": "string",
|
|
316
|
+
"title": "${config.title.topicGetSwingMode}"
|
|
317
|
+
},
|
|
318
|
+
"topicGetTargetHeaterCoolerState": {
|
|
319
|
+
"type": "string",
|
|
320
|
+
"title": "${config.title.topicGetTargetHeaterCoolerState}"
|
|
321
|
+
},
|
|
322
|
+
"topicSetActive": {
|
|
323
|
+
"type": "string",
|
|
324
|
+
"title": "${config.title.topicSetActive}"
|
|
325
|
+
},
|
|
326
|
+
"topicSetLockPhysicalControls": {
|
|
327
|
+
"type": "string",
|
|
328
|
+
"title": "${config.title.topicSetLockPhysicalControls}"
|
|
329
|
+
},
|
|
330
|
+
"topicSetRotationSpeed": {
|
|
331
|
+
"type": "string",
|
|
332
|
+
"title": "${config.title.topicSetRotationSpeed}"
|
|
333
|
+
},
|
|
334
|
+
"topicSetSwingMode": {
|
|
335
|
+
"type": "string",
|
|
336
|
+
"title": "${config.title.topicSetSwingMode}"
|
|
337
|
+
},
|
|
338
|
+
"topicSetTargetHeaterCoolerState": {
|
|
339
|
+
"type": "string",
|
|
340
|
+
"title": "${config.title.topicSetTargetHeaterCoolerState}"
|
|
341
|
+
},
|
|
298
342
|
"valueBatteryLow": {
|
|
299
343
|
"type": "string",
|
|
300
344
|
"title": "${config.title.valueBatteryLow}"
|
|
@@ -399,6 +443,38 @@
|
|
|
399
443
|
"type": "string",
|
|
400
444
|
"title": "${config.title.valueModeOff}"
|
|
401
445
|
},
|
|
446
|
+
"valueControlLock": {
|
|
447
|
+
"type": "string",
|
|
448
|
+
"title": "${config.title.valueControlLock}"
|
|
449
|
+
},
|
|
450
|
+
"valueControlUnlock": {
|
|
451
|
+
"type": "string",
|
|
452
|
+
"title": "${config.title.valueControlUnlock}"
|
|
453
|
+
},
|
|
454
|
+
"valueModeIdle": {
|
|
455
|
+
"type": "string",
|
|
456
|
+
"title": "${config.title.valueModeIdle}"
|
|
457
|
+
},
|
|
458
|
+
"valueModeInactive": {
|
|
459
|
+
"type": "string",
|
|
460
|
+
"title": "${config.title.valueModeInactive}"
|
|
461
|
+
},
|
|
462
|
+
"valueStateActive": {
|
|
463
|
+
"type": "string",
|
|
464
|
+
"title": "${config.title.valueStateActive}"
|
|
465
|
+
},
|
|
466
|
+
"valueStateInactive": {
|
|
467
|
+
"type": "string",
|
|
468
|
+
"title": "${config.title.valueStateInactive}"
|
|
469
|
+
},
|
|
470
|
+
"valueSwingEnabled": {
|
|
471
|
+
"type": "string",
|
|
472
|
+
"title": "${config.title.valueSwingEnabled}"
|
|
473
|
+
},
|
|
474
|
+
"valueSwingDisabled": {
|
|
475
|
+
"type": "string",
|
|
476
|
+
"title": "${config.title.valueSwingDisabled}"
|
|
477
|
+
},
|
|
402
478
|
"disableLogging": {
|
|
403
479
|
"type": "boolean",
|
|
404
480
|
"title": "${config.title.disableLogging}"
|
|
@@ -406,6 +482,10 @@
|
|
|
406
482
|
}
|
|
407
483
|
},
|
|
408
484
|
"default": []
|
|
485
|
+
},
|
|
486
|
+
"verbose": {
|
|
487
|
+
"type": "boolean",
|
|
488
|
+
"default": false
|
|
409
489
|
}
|
|
410
490
|
}
|
|
411
491
|
},
|
|
@@ -747,6 +827,147 @@
|
|
|
747
827
|
}
|
|
748
828
|
]
|
|
749
829
|
},
|
|
830
|
+
{
|
|
831
|
+
"type": "fieldset",
|
|
832
|
+
"notitle": true,
|
|
833
|
+
"condition": {
|
|
834
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'HeaterCooler';"
|
|
835
|
+
},
|
|
836
|
+
"items": [
|
|
837
|
+
{
|
|
838
|
+
"type": "div",
|
|
839
|
+
"displayFlex": true,
|
|
840
|
+
"flex-direction": "row",
|
|
841
|
+
"items": [
|
|
842
|
+
{
|
|
843
|
+
"key": "accessories[].topicGetCurrentTemperature",
|
|
844
|
+
"flex": "0 0 50%"
|
|
845
|
+
},
|
|
846
|
+
{
|
|
847
|
+
"key": "accessories[].temperatureUnits",
|
|
848
|
+
"title": "${config.title.sourceUnits}",
|
|
849
|
+
"flex": "0 0 25%"
|
|
850
|
+
}
|
|
851
|
+
]
|
|
852
|
+
},
|
|
853
|
+
{
|
|
854
|
+
"type": "div",
|
|
855
|
+
"displayFlex": true,
|
|
856
|
+
"flex-direction": "row",
|
|
857
|
+
"items": [
|
|
858
|
+
{
|
|
859
|
+
"key": "accessories[].topicGetActive",
|
|
860
|
+
"flex": "0 0 50%"
|
|
861
|
+
},
|
|
862
|
+
{
|
|
863
|
+
"key": "accessories[].topicSetActive",
|
|
864
|
+
"flex": "0 0 50%"
|
|
865
|
+
}
|
|
866
|
+
]
|
|
867
|
+
},
|
|
868
|
+
{
|
|
869
|
+
"type": "div",
|
|
870
|
+
"displayFlex": true,
|
|
871
|
+
"flex-direction": "row",
|
|
872
|
+
"items": [
|
|
873
|
+
{
|
|
874
|
+
"key": "accessories[].topicGetCurrentHeaterCoolerState",
|
|
875
|
+
"flex": "0 0 50%"
|
|
876
|
+
}
|
|
877
|
+
]
|
|
878
|
+
},
|
|
879
|
+
{
|
|
880
|
+
"type": "div",
|
|
881
|
+
"displayFlex": true,
|
|
882
|
+
"flex-direction": "row",
|
|
883
|
+
"items": [
|
|
884
|
+
{
|
|
885
|
+
"key": "accessories[].topicGetTargetHeaterCoolerState",
|
|
886
|
+
"flex": "0 0 50%"
|
|
887
|
+
},
|
|
888
|
+
{
|
|
889
|
+
"key": "accessories[].topicSetTargetHeaterCoolerState",
|
|
890
|
+
"flex": "0 0 50%"
|
|
891
|
+
}
|
|
892
|
+
]
|
|
893
|
+
},
|
|
894
|
+
{
|
|
895
|
+
"type": "div",
|
|
896
|
+
"displayFlex": true,
|
|
897
|
+
"flex-direction": "row",
|
|
898
|
+
"items": [
|
|
899
|
+
{
|
|
900
|
+
"key": "accessories[].topicGetCoolingThresholdTemperature",
|
|
901
|
+
"flex": "0 0 50%"
|
|
902
|
+
},
|
|
903
|
+
{
|
|
904
|
+
"key": "accessories[].topicSetCoolingThresholdTemperature",
|
|
905
|
+
"flex": "0 0 50%"
|
|
906
|
+
}
|
|
907
|
+
]
|
|
908
|
+
},
|
|
909
|
+
{
|
|
910
|
+
"type": "div",
|
|
911
|
+
"displayFlex": true,
|
|
912
|
+
"flex-direction": "row",
|
|
913
|
+
"items": [
|
|
914
|
+
{
|
|
915
|
+
"key": "accessories[].topicGetHeatingThresholdTemperature",
|
|
916
|
+
"flex": "0 0 50%"
|
|
917
|
+
},
|
|
918
|
+
{
|
|
919
|
+
"key": "accessories[].topicSetHeatingThresholdTemperature",
|
|
920
|
+
"flex": "0 0 50%"
|
|
921
|
+
}
|
|
922
|
+
]
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
"type": "div",
|
|
926
|
+
"displayFlex": true,
|
|
927
|
+
"flex-direction": "row",
|
|
928
|
+
"items": [
|
|
929
|
+
{
|
|
930
|
+
"key": "accessories[].topicGetLockPhysicalControls",
|
|
931
|
+
"flex": "0 0 50%"
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
"key": "accessories[].topicSetLockPhysicalControls",
|
|
935
|
+
"flex": "0 0 50%"
|
|
936
|
+
}
|
|
937
|
+
]
|
|
938
|
+
},
|
|
939
|
+
{
|
|
940
|
+
"type": "div",
|
|
941
|
+
"displayFlex": true,
|
|
942
|
+
"flex-direction": "row",
|
|
943
|
+
"items": [
|
|
944
|
+
{
|
|
945
|
+
"key": "accessories[].topicGetRotationSpeed",
|
|
946
|
+
"flex": "0 0 50%"
|
|
947
|
+
},
|
|
948
|
+
{
|
|
949
|
+
"key": "accessories[].topicSetRotationSpeed",
|
|
950
|
+
"flex": "0 0 50%"
|
|
951
|
+
}
|
|
952
|
+
]
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
"type": "div",
|
|
956
|
+
"displayFlex": true,
|
|
957
|
+
"flex-direction": "row",
|
|
958
|
+
"items": [
|
|
959
|
+
{
|
|
960
|
+
"key": "accessories[].topicGetSwingMode",
|
|
961
|
+
"flex": "0 0 50%"
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
"key": "accessories[].topicSetSwingMode",
|
|
965
|
+
"flex": "0 0 50%"
|
|
966
|
+
}
|
|
967
|
+
]
|
|
968
|
+
}
|
|
969
|
+
]
|
|
970
|
+
},
|
|
750
971
|
{
|
|
751
972
|
"type": "div",
|
|
752
973
|
"displayFlex": true,
|
|
@@ -881,7 +1102,7 @@
|
|
|
881
1102
|
{
|
|
882
1103
|
"key": "accessories[].temperatureUnits",
|
|
883
1104
|
"title": "${config.title.sourceUnits}",
|
|
884
|
-
"flex": "0 0
|
|
1105
|
+
"flex": "0 0 25%"
|
|
885
1106
|
}
|
|
886
1107
|
]
|
|
887
1108
|
},
|
|
@@ -1012,6 +1233,80 @@
|
|
|
1012
1233
|
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type !== undefined;"
|
|
1013
1234
|
},
|
|
1014
1235
|
"items": [
|
|
1236
|
+
{
|
|
1237
|
+
"type": "fieldset",
|
|
1238
|
+
"notitle": true,
|
|
1239
|
+
"condition": {
|
|
1240
|
+
"functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'HeaterCooler';"
|
|
1241
|
+
},
|
|
1242
|
+
"items": [
|
|
1243
|
+
{
|
|
1244
|
+
"type": "div",
|
|
1245
|
+
"displayFlex": true,
|
|
1246
|
+
"flex-direction": "row",
|
|
1247
|
+
"items": [
|
|
1248
|
+
{
|
|
1249
|
+
"key": "accessories[].valueStateActive",
|
|
1250
|
+
"flex": "0 0 20%"
|
|
1251
|
+
},
|
|
1252
|
+
{
|
|
1253
|
+
"key": "accessories[].valueStateInactive",
|
|
1254
|
+
"flex": "0 0 20%"
|
|
1255
|
+
}
|
|
1256
|
+
]
|
|
1257
|
+
},
|
|
1258
|
+
{
|
|
1259
|
+
"type": "div",
|
|
1260
|
+
"displayFlex": true,
|
|
1261
|
+
"flex-direction": "row",
|
|
1262
|
+
"items": [
|
|
1263
|
+
{
|
|
1264
|
+
"key": "accessories[].valueModeAuto",
|
|
1265
|
+
"flex": "0 0 20%"
|
|
1266
|
+
},
|
|
1267
|
+
{
|
|
1268
|
+
"key": "accessories[].valueModeCool",
|
|
1269
|
+
"flex": "0 0 20%"
|
|
1270
|
+
},
|
|
1271
|
+
{
|
|
1272
|
+
"key": "accessories[].valueModeHeat",
|
|
1273
|
+
"flex": "0 0 20%"
|
|
1274
|
+
},
|
|
1275
|
+
{
|
|
1276
|
+
"key": "accessories[].valueModeIdle",
|
|
1277
|
+
"flex": "0 0 20%"
|
|
1278
|
+
},
|
|
1279
|
+
{
|
|
1280
|
+
"key": "accessories[].valueModeInactive",
|
|
1281
|
+
"flex": "0 0 20%"
|
|
1282
|
+
}
|
|
1283
|
+
]
|
|
1284
|
+
},
|
|
1285
|
+
{
|
|
1286
|
+
"type": "div",
|
|
1287
|
+
"displayFlex": true,
|
|
1288
|
+
"flex-direction": "row",
|
|
1289
|
+
"items": [
|
|
1290
|
+
{
|
|
1291
|
+
"key": "accessories[].valueControlLock",
|
|
1292
|
+
"flex": "0 0 20%"
|
|
1293
|
+
},
|
|
1294
|
+
{
|
|
1295
|
+
"key": "accessories[].valueControlUnlock",
|
|
1296
|
+
"flex": "0 0 20%"
|
|
1297
|
+
},
|
|
1298
|
+
{
|
|
1299
|
+
"key": "accessories[].valueSwingEnabled",
|
|
1300
|
+
"flex": "0 0 20%"
|
|
1301
|
+
},
|
|
1302
|
+
{
|
|
1303
|
+
"key": "accessories[].valueSwingDisabled",
|
|
1304
|
+
"flex": "0 0 20%"
|
|
1305
|
+
}
|
|
1306
|
+
]
|
|
1307
|
+
}
|
|
1308
|
+
]
|
|
1309
|
+
},
|
|
1015
1310
|
{
|
|
1016
1311
|
"type": "div",
|
|
1017
1312
|
"displayFlex": true,
|
|
@@ -17,7 +17,7 @@ export class BaseAccessory extends MQTTAccessory {
|
|
|
17
17
|
.setCharacteristic(Characteristic.FirmwareRevision, config.info.version ?? getVersion());
|
|
18
18
|
}
|
|
19
19
|
this.setupCharacteristic(CharacteristicKey.BatteryLevel, 100, 'topicGetBatteryLevel', this.bindOnUpdateNumeric(CharacteristicKey.BatteryLevel, strings.accessory.batteryLevel), false);
|
|
20
|
-
this.setupCharacteristic(CharacteristicKey.StatusLowBattery,
|
|
20
|
+
this.setupCharacteristic(CharacteristicKey.StatusLowBattery, Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL, 'topicGetBatteryLow', this.onBatteryLowUpdate.bind(this), false);
|
|
21
21
|
this.setupCharacteristic(CharacteristicKey.StatusActive, true, 'topicGetStatusActive', this.onStatusActiveUpdate.bind(this), false);
|
|
22
22
|
}
|
|
23
23
|
async onBatteryLowUpdate(topic, value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/accessory/abstract/base.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAO,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,MAAM,OAAgB,aAAmE,SAAQ,aAAgB;IAE/G,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAS,EAAE,GAAQ,EAAE,SAAkB;QACzI,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAE;iBAChD,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;iBACxD,iBAAiB,CAAC,cAAc,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;iBAClE,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,aAAa,CAAC;iBACzF,iBAAiB,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC9E,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;iBAC1F,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;QAC3F,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,YAAY,EAAE,GAAG,EAC1D,sBAAsB,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,CAAC;QAE3H,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/accessory/abstract/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import { strings } from '../../i18n/i18n.js';
|
|
|
2
2
|
import { AccessoryType } from '../../model/enums.js';
|
|
3
3
|
import { LockMechanismAccessory } from '../lock.js';
|
|
4
4
|
import { SecuritySystemAccessory } from '../security.js';
|
|
5
|
-
import {
|
|
5
|
+
import { HeaterCoolerAccessory } from '../climate/heaterCooler.js';
|
|
6
|
+
import { ThermostatAccessory } from '../climate/thermostat.js';
|
|
6
7
|
import { LightbulbAccessory } from '../onoff/lightbulb.js';
|
|
7
8
|
import { OutletAccessory } from '../onoff/outlet.js';
|
|
8
9
|
import { SwitchAccessory } from '../onoff/switch.js';
|
|
@@ -23,6 +24,8 @@ export function createAccessory(Service, Characteristic, platformAccessory, acce
|
|
|
23
24
|
return new COSensorAccessory(Service, Characteristic, platformAccessory, accessoryConfig, log, isGrouped);
|
|
24
25
|
case AccessoryType.ContactSensor:
|
|
25
26
|
return new ContactSensorAccessory(Service, Characteristic, platformAccessory, accessoryConfig, log, isGrouped);
|
|
27
|
+
case AccessoryType.HeaterCooler:
|
|
28
|
+
return new HeaterCoolerAccessory(Service, Characteristic, platformAccessory, accessoryConfig, log, isGrouped);
|
|
26
29
|
case AccessoryType.HumiditySensor:
|
|
27
30
|
return new HumiditySensorAccessory(Service, Characteristic, platformAccessory, accessoryConfig, log, isGrouped);
|
|
28
31
|
case AccessoryType.LeakSensor:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/accessory/abstract/helper.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/accessory/abstract/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,12 +20,11 @@ export class MQTTAccessory {
|
|
|
20
20
|
this.log = log;
|
|
21
21
|
const name = config.info.name;
|
|
22
22
|
if (this.assert('mqtt')) {
|
|
23
|
-
this.mqttClient =
|
|
23
|
+
this.mqttClient = MQTT.connect(log, config.mqtt, name, (client) => {
|
|
24
24
|
this.topicHandlers.forEach(topicHandler => {
|
|
25
|
-
|
|
25
|
+
client.subscribe(topicHandler.topic, topicHandler.handler);
|
|
26
26
|
});
|
|
27
|
-
}
|
|
28
|
-
this.mqttClient.connect();
|
|
27
|
+
});
|
|
29
28
|
}
|
|
30
29
|
const serviceInstance = Service[this.getAccessoryType()];
|
|
31
30
|
if (isGrouped) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../../src/accessory/abstract/mqtt.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,OAAO,EAAO,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAKnD,MAAM,OAAgB,aAAa;IAYZ;IAEA;IACA;IAbJ,UAAU,CAAmB;IAE7B,UAAU,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEpD,aAAa,GAAmB,EAAE,CAAC;IAEnC,gBAAgB,CAAU;IAE3C,YACE,OAAoB,EACD,cAAkC,EACrD,SAA4B,EACT,MAAS,EACT,GAAQ,EAC3B,SAAkB;QAJC,mBAAc,GAAd,cAAc,CAAoB;QAElC,WAAM,GAAN,MAAM,CAAG;QACT,QAAG,GAAH,GAAG,CAAK;QAI3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QAE9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"mqtt.js","sourceRoot":"","sources":["../../../src/accessory/abstract/mqtt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CharacteristicValue, PlatformAccessory } from 'homebridge';
|
|
2
|
+
import { BaseAccessory } from '../abstract/base.js';
|
|
3
|
+
import { TemperatureUnits } from '../../model/enums.js';
|
|
4
|
+
import { CharacteristicType, ClimateControlConfig, ServiceType } from '../../model/types.js';
|
|
5
|
+
import { Log } from '../../tools/log.js';
|
|
6
|
+
export declare const DEFAULT_TEMPERATURE = 10;
|
|
7
|
+
export declare abstract class ClimateControlAccessory<C extends ClimateControlConfig = ClimateControlConfig> extends BaseAccessory<C> {
|
|
8
|
+
constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: C, log: Log, isGrouped: boolean);
|
|
9
|
+
protected get temperatureUnits(): TemperatureUnits;
|
|
10
|
+
private bindOnSetThreshold;
|
|
11
|
+
protected temperatureFromCV(value: CharacteristicValue): number;
|
|
12
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BaseAccessory } from '../abstract/base.js';
|
|
2
|
+
import { strings } from '../../i18n/i18n.js';
|
|
3
|
+
import { CharacteristicKey, TemperatureUnits } from '../../model/enums.js';
|
|
4
|
+
import { fromCelsius } from '../../tools/temperature.js';
|
|
5
|
+
export const DEFAULT_TEMPERATURE = 10;
|
|
6
|
+
const DEFAULT_COOLING_THRESHOLD = 25;
|
|
7
|
+
const DEFAULT_HEATING_THRESHOLD = 20;
|
|
8
|
+
export class ClimateControlAccessory extends BaseAccessory {
|
|
9
|
+
constructor(Service, Characteristic, accessory, config, log, isGrouped) {
|
|
10
|
+
super(Service, Characteristic, accessory, config, log, isGrouped);
|
|
11
|
+
this.setCharacteristicValue(CharacteristicKey.TemperatureDisplayUnits, this.temperatureUnits === TemperatureUnits.FAHRENHEIT ? 1 : 0);
|
|
12
|
+
this.setupCharacteristic(CharacteristicKey.CurrentTemperature, DEFAULT_TEMPERATURE, 'topicGetCurrentTemperature', this.bindTemperatureUpdate(config, CharacteristicKey.CurrentTemperature, strings.climate.temperatureUpdate), true);
|
|
13
|
+
this.setupCharacteristic(CharacteristicKey.CoolingThresholdTemperature, DEFAULT_COOLING_THRESHOLD, 'topicGetCoolingThresholdTemperature', this.bindTemperatureUpdate(config, CharacteristicKey.CoolingThresholdTemperature, strings.climate.coolingThreshold), false, 'topicSetCoolingThresholdTemperature', this.bindOnSetThreshold(CharacteristicKey.CoolingThresholdTemperature, 'topicSetCoolingThresholdTemperature', strings.climate.coolingThresholdFuture));
|
|
14
|
+
this.setupCharacteristic(CharacteristicKey.HeatingThresholdTemperature, DEFAULT_HEATING_THRESHOLD, 'topicGetHeatingThresholdTemperature', this.bindTemperatureUpdate(config, CharacteristicKey.HeatingThresholdTemperature, strings.climate.heatingThreshold), false, 'topicSetHeatingThresholdTemperature', this.bindOnSetThreshold(CharacteristicKey.HeatingThresholdTemperature, 'topicSetHeatingThresholdTemperature', strings.climate.heatingThresholdFuture));
|
|
15
|
+
}
|
|
16
|
+
get temperatureUnits() {
|
|
17
|
+
return this.config.temperatureUnits ?? TemperatureUnits.CELSIUS;
|
|
18
|
+
}
|
|
19
|
+
bindOnSetThreshold(charKey, topic, logTemplate) {
|
|
20
|
+
return (async (value) => {
|
|
21
|
+
const temperature = this.temperatureFromCV(value);
|
|
22
|
+
const logString = logTemplate.replace('%d°%s', `${temperature}°${this.temperatureUnits}`);
|
|
23
|
+
this.onSet(charKey, value, temperature, topic, logString);
|
|
24
|
+
}).bind(this);
|
|
25
|
+
}
|
|
26
|
+
temperatureFromCV(value) {
|
|
27
|
+
const celsiusTemperature = value;
|
|
28
|
+
return this.temperatureUnits === TemperatureUnits.FAHRENHEIT ? fromCelsius(celsiusTemperature, this.temperatureUnits) : celsiusTemperature;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=climate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"climate.js","sourceRoot":"","sources":["../../../src/accessory/climate/climate.ts"],"names":[],"mappings":"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"}
|