homebridge-easy-mqtt 1.4.1-beta.0 → 1.4.1-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.
Files changed (141) hide show
  1. package/CHANGELOG.md +2 -1
  2. package/README.md +18 -1
  3. package/config.schema.json +140 -6
  4. package/dist/accessory/abstract/base.d.ts +2 -4
  5. package/dist/accessory/abstract/base.js +16 -16
  6. package/dist/accessory/abstract/base.js.map +1 -1
  7. package/dist/accessory/abstract/common.d.ts +4 -1
  8. package/dist/accessory/abstract/common.js +49 -1
  9. package/dist/accessory/abstract/common.js.map +1 -1
  10. package/dist/accessory/abstract/group.d.ts +2 -4
  11. package/dist/accessory/abstract/group.js +11 -11
  12. package/dist/accessory/abstract/group.js.map +1 -1
  13. package/dist/accessory/abstract/helper.d.ts +3 -5
  14. package/dist/accessory/abstract/helper.js +34 -30
  15. package/dist/accessory/abstract/helper.js.map +1 -1
  16. package/dist/accessory/abstract/mqtt.d.ts +9 -8
  17. package/dist/accessory/abstract/mqtt.js +31 -24
  18. package/dist/accessory/abstract/mqtt.js.map +1 -1
  19. package/dist/accessory/addons/filter.js +7 -7
  20. package/dist/accessory/addons/filter.js.map +1 -1
  21. package/dist/accessory/button/button.d.ts +6 -0
  22. package/dist/accessory/{button.js → button/button.js} +6 -10
  23. package/dist/accessory/button/button.js.map +1 -0
  24. package/dist/accessory/button/doorbell.d.ts +7 -0
  25. package/dist/accessory/button/doorbell.js +25 -0
  26. package/dist/accessory/button/doorbell.js.map +1 -0
  27. package/dist/accessory/button/stateless.d.ts +6 -0
  28. package/dist/accessory/button/stateless.js +8 -0
  29. package/dist/accessory/button/stateless.js.map +1 -0
  30. package/dist/accessory/{abstract/customCharacteristic.js → characteristic/custom.js} +1 -1
  31. package/dist/accessory/characteristic/custom.js.map +1 -0
  32. package/dist/accessory/climate/active.d.ts +2 -4
  33. package/dist/accessory/climate/active.js +13 -13
  34. package/dist/accessory/climate/active.js.map +1 -1
  35. package/dist/accessory/climate/fan2.d.ts +2 -4
  36. package/dist/accessory/climate/fan2.js +17 -17
  37. package/dist/accessory/climate/fan2.js.map +1 -1
  38. package/dist/accessory/climate/heaterCooler.d.ts +2 -4
  39. package/dist/accessory/climate/heaterCooler.js +16 -16
  40. package/dist/accessory/climate/heaterCooler.js.map +1 -1
  41. package/dist/accessory/climate/purifier.d.ts +2 -4
  42. package/dist/accessory/climate/purifier.js +14 -14
  43. package/dist/accessory/climate/purifier.js.map +1 -1
  44. package/dist/accessory/climate/temperatureControl.d.ts +3 -4
  45. package/dist/accessory/climate/temperatureControl.js +7 -7
  46. package/dist/accessory/climate/temperatureControl.js.map +1 -1
  47. package/dist/accessory/climate/thermostat.d.ts +2 -4
  48. package/dist/accessory/climate/thermostat.js +15 -15
  49. package/dist/accessory/climate/thermostat.js.map +1 -1
  50. package/dist/accessory/garage.d.ts +2 -4
  51. package/dist/accessory/garage.js +15 -15
  52. package/dist/accessory/garage.js.map +1 -1
  53. package/dist/accessory/lock.d.ts +2 -4
  54. package/dist/accessory/lock.js +10 -10
  55. package/dist/accessory/lock.js.map +1 -1
  56. package/dist/accessory/onoff/lightbulb.d.ts +2 -4
  57. package/dist/accessory/onoff/lightbulb.js +11 -11
  58. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  59. package/dist/accessory/onoff/onoff.d.ts +2 -4
  60. package/dist/accessory/onoff/onoff.js +6 -6
  61. package/dist/accessory/onoff/onoff.js.map +1 -1
  62. package/dist/accessory/onoff/outlet.d.ts +2 -4
  63. package/dist/accessory/onoff/outlet.js +4 -4
  64. package/dist/accessory/onoff/outlet.js.map +1 -1
  65. package/dist/accessory/onoff/switch.d.ts +2 -4
  66. package/dist/accessory/onoff/switch.js +2 -2
  67. package/dist/accessory/onoff/switch.js.map +1 -1
  68. package/dist/accessory/position/blind.d.ts +2 -4
  69. package/dist/accessory/position/blind.js +7 -7
  70. package/dist/accessory/position/blind.js.map +1 -1
  71. package/dist/accessory/position/position.d.ts +2 -4
  72. package/dist/accessory/position/position.js +17 -17
  73. package/dist/accessory/position/position.js.map +1 -1
  74. package/dist/accessory/security.d.ts +2 -4
  75. package/dist/accessory/security.js +16 -16
  76. package/dist/accessory/security.js.map +1 -1
  77. package/dist/accessory/sensor/air.d.ts +2 -4
  78. package/dist/accessory/sensor/air.js +23 -23
  79. package/dist/accessory/sensor/air.js.map +1 -1
  80. package/dist/accessory/sensor/carbonDioxide.d.ts +2 -4
  81. package/dist/accessory/sensor/carbonDioxide.js +6 -6
  82. package/dist/accessory/sensor/carbonDioxide.js.map +1 -1
  83. package/dist/accessory/sensor/carbonMonoxide.d.ts +2 -4
  84. package/dist/accessory/sensor/carbonMonoxide.js +6 -6
  85. package/dist/accessory/sensor/carbonMonoxide.js.map +1 -1
  86. package/dist/accessory/sensor/contact.d.ts +2 -4
  87. package/dist/accessory/sensor/contact.js +5 -5
  88. package/dist/accessory/sensor/contact.js.map +1 -1
  89. package/dist/accessory/sensor/humidity.d.ts +2 -4
  90. package/dist/accessory/sensor/humidity.js +4 -4
  91. package/dist/accessory/sensor/humidity.js.map +1 -1
  92. package/dist/accessory/sensor/leak.d.ts +2 -4
  93. package/dist/accessory/sensor/leak.js +4 -4
  94. package/dist/accessory/sensor/leak.js.map +1 -1
  95. package/dist/accessory/sensor/light.d.ts +2 -4
  96. package/dist/accessory/sensor/light.js +4 -4
  97. package/dist/accessory/sensor/light.js.map +1 -1
  98. package/dist/accessory/sensor/motion.d.ts +2 -4
  99. package/dist/accessory/sensor/motion.js +4 -4
  100. package/dist/accessory/sensor/motion.js.map +1 -1
  101. package/dist/accessory/sensor/occupancy.d.ts +2 -4
  102. package/dist/accessory/sensor/occupancy.js +4 -4
  103. package/dist/accessory/sensor/occupancy.js.map +1 -1
  104. package/dist/accessory/sensor/sensor.d.ts +2 -4
  105. package/dist/accessory/sensor/sensor.js +7 -7
  106. package/dist/accessory/sensor/sensor.js.map +1 -1
  107. package/dist/accessory/sensor/smoke.d.ts +2 -4
  108. package/dist/accessory/sensor/smoke.js +4 -4
  109. package/dist/accessory/sensor/smoke.js.map +1 -1
  110. package/dist/accessory/sensor/temperature.d.ts +2 -4
  111. package/dist/accessory/sensor/temperature.js +4 -4
  112. package/dist/accessory/sensor/temperature.js.map +1 -1
  113. package/dist/accessory/valve.d.ts +2 -4
  114. package/dist/accessory/valve.js +14 -14
  115. package/dist/accessory/valve.js.map +1 -1
  116. package/dist/homebridge/platform.js +4 -2
  117. package/dist/homebridge/platform.js.map +1 -1
  118. package/dist/homebridge-ui/public/index.html +1 -1
  119. package/dist/homebridge-ui/public/ui.js +1 -1
  120. package/dist/i18n/en.d.ts +22 -0
  121. package/dist/i18n/en.js +23 -1
  122. package/dist/i18n/en.js.map +1 -1
  123. package/dist/i18n/fr.d.ts +22 -0
  124. package/dist/i18n/i18n.d.ts +22 -0
  125. package/dist/i18n/it.d.ts +22 -0
  126. package/dist/i18n/ro.d.ts +22 -0
  127. package/dist/i18n/template.d.ts +22 -0
  128. package/dist/i18n/vi.d.ts +22 -0
  129. package/dist/model/enums.d.ts +6 -2
  130. package/dist/model/enums.js +80 -77
  131. package/dist/model/enums.js.map +1 -1
  132. package/dist/model/types.d.ts +24 -1
  133. package/dist/tools/log.d.ts +1 -1
  134. package/dist/tools/log.js.map +1 -1
  135. package/dist/tools/properties.js +1 -1
  136. package/dist/tools/properties.js.map +1 -1
  137. package/package.json +1 -1
  138. package/dist/accessory/abstract/customCharacteristic.js.map +0 -1
  139. package/dist/accessory/button.d.ts +0 -10
  140. package/dist/accessory/button.js.map +0 -1
  141. /package/dist/accessory/{abstract/customCharacteristic.d.ts → characteristic/custom.d.ts} +0 -0
package/CHANGELOG.md CHANGED
@@ -2,9 +2,10 @@
2
2
 
3
3
  All notable changes to homebridge-dummy will be documented in this file.
4
4
 
5
- ## 1.4.1-beta.0 (2025-10-10)
5
+ ## 1.4.1-beta.1 (2025-10-10)
6
6
 
7
7
  ### Added
8
+ - `Doorbell` accessory type
8
9
  - Traduzioni in italiano. Grazie, [@Shikaban](https://github.com/sponsors/Shikaban)!
9
10
 
10
11
  ### Notes
package/README.md CHANGED
@@ -30,6 +30,7 @@ This plugin is designed to be a simple replacement for the fantastic [homebridge
30
30
  - `CarbonDioxideSensor`
31
31
  - `CarbonMonoxideSensor`
32
32
  - `ContactSensor`
33
+ - `Doorbell`
33
34
  - `Fanv2`
34
35
  - `GarageDoorOpener`
35
36
  - `HeaterCooler`
@@ -466,11 +467,27 @@ These values are used for both determining current state and, where appropriate,
466
467
  - `valueTampered` - Accessory has been tampered with
467
468
 
468
469
  #### StatelessProgrammableSwitch
469
- - `topicEventButtonPress` - Event for button press event
470
+ - `topicEventButtonPress*` - Event for button press event
470
471
  - `valueSinglePress` - Single press event
471
472
  - `valueDoublePress` - Double press event
472
473
  - `valueLongPress` - Long press event
473
474
 
475
+ ### Doorbell
476
+ - `maximumBrightness` - Set a maximum to use values (i.e. 1, 2, 3) rather than a percentage for brightness
477
+ - `maximumVolume` - Set a maximum to use values (i.e. 1, 2, 3) rather than a percentage for volume
478
+ - `topicEventButtonPress*` - Event for button press event
479
+ - `topicGetBrightness` - Get the brightness
480
+ - `topicSetBrightness` - Set the brightness
481
+ - `topicGetMuted` - Get whether or not the doorbell is muted
482
+ - `topicSetMuted` - Set whether or not the doorbell is muted
483
+ - `topicGetVolume` - Get the volume
484
+ - `topicSetVolume` - Set the volume
485
+ - `valueSinglePress` - Single press event
486
+ - `valueDoublePress` - Double press event
487
+ - `valueLongPress` - Long press event
488
+ - `valueMuted` - Doorbell muted
489
+ - `valueUnmuted` - Doorbell unmuted
490
+
474
491
  #### Valve
475
492
  - `valveType` - One of `GENERIC_VALVE` (default), `IRRIGATION`, `SHOWER_HEAD`, or `WATER_FAUCET`
476
493
  - `topicGetValveActive*` - For getting whether or not the valve is active
@@ -21,8 +21,8 @@
21
21
  "type": {
22
22
  "type": "string",
23
23
  "title": "${config.title.type}",
24
- "enum": [ "AirPurifier", "AirQualitySensor", "CarbonMonoxideSensor", "CarbonDioxideSensor", "ContactSensor", "Fanv2", "GarageDoorOpener", "HeaterCooler", "HumiditySensor", "LeakSensor", "Lightbulb", "LightSensor", "LockMechanism", "MotionSensor", "OccupancySensor", "Outlet", "SecuritySystem", "SmokeSensor", "StatelessProgrammableSwitch", "Switch", "TemperatureSensor", "Thermostat", "Valve", "WindowCovering"],
25
- "enumNames": ["${config.enumNames.airPurifier}", "${config.enumNames.airQualitySensor}", "${config.enumNames.carbonMonoxideSensor}", "${config.enumNames.carbonDioxideSensor}", "${config.enumNames.contactSensor}", "${config.enumNames.fanv2}", "${config.enumNames.garageDoorOpener}", "${config.enumNames.heaterCooler}", "${config.enumNames.humiditySensor}", "${config.enumNames.leakSensor}", "${config.enumNames.lightbulb}", "${config.enumNames.lightSensor}", "${config.enumNames.lockMechanism}", "${config.enumNames.motionSensor}", "${config.enumNames.occupancySensor}", "${config.enumNames.outlet}", "${config.enumNames.securitySystem}", "${config.enumNames.smokeSensor}", "${config.enumNames.statelessSwitch}", "${config.enumNames.switch}", "${config.enumNames.temperatureSensor}", "${config.enumNames.thermostat}", "${config.enumNames.valve}", "${config.enumNames.windowCovering}"],
24
+ "enum": [ "AirPurifier", "AirQualitySensor", "CarbonMonoxideSensor", "CarbonDioxideSensor", "ContactSensor", "Doorbell", "Fanv2", "GarageDoorOpener", "HeaterCooler", "HumiditySensor", "LeakSensor", "Lightbulb", "LightSensor", "LockMechanism", "MotionSensor", "OccupancySensor", "Outlet", "SecuritySystem", "SmokeSensor", "StatelessProgrammableSwitch", "Switch", "TemperatureSensor", "Thermostat", "Valve", "WindowCovering"],
25
+ "enumNames": ["${config.enumNames.airPurifier}", "${config.enumNames.airQualitySensor}", "${config.enumNames.carbonMonoxideSensor}", "${config.enumNames.carbonDioxideSensor}", "${config.enumNames.contactSensor}", "${config.enumNames.doorbell}", "${config.enumNames.fanv2}", "${config.enumNames.garageDoorOpener}", "${config.enumNames.heaterCooler}", "${config.enumNames.humiditySensor}", "${config.enumNames.leakSensor}", "${config.enumNames.lightbulb}", "${config.enumNames.lightSensor}", "${config.enumNames.lockMechanism}", "${config.enumNames.motionSensor}", "${config.enumNames.occupancySensor}", "${config.enumNames.outlet}", "${config.enumNames.securitySystem}", "${config.enumNames.smokeSensor}", "${config.enumNames.statelessSwitch}", "${config.enumNames.switch}", "${config.enumNames.temperatureSensor}", "${config.enumNames.thermostat}", "${config.enumNames.valve}", "${config.enumNames.windowCovering}"],
26
26
  "required": true
27
27
  },
28
28
  "group": {
@@ -134,6 +134,10 @@
134
134
  "type": "integer",
135
135
  "title": "${config.title.maximum}"
136
136
  },
137
+ "maximumVolume": {
138
+ "type": "integer",
139
+ "title": "${config.title.maximum}"
140
+ },
137
141
  "temperatureUnits": {
138
142
  "type": "string",
139
143
  "title": "${config.title.sourceUnits}",
@@ -546,6 +550,22 @@
546
550
  "type": "string",
547
551
  "title": "${config.title.topicEventButtonPress}"
548
552
  },
553
+ "topicGetMuted": {
554
+ "type": "string",
555
+ "title": "${config.title.topicGetMuted}"
556
+ },
557
+ "topicGetVolume": {
558
+ "type": "string",
559
+ "title": "${config.title.topicGetVolume}"
560
+ },
561
+ "topicSetMuted": {
562
+ "type": "string",
563
+ "title": "${config.title.topicSetMuted}"
564
+ },
565
+ "topicSetVolume": {
566
+ "type": "string",
567
+ "title": "${config.title.topicSetVolume}"
568
+ },
549
569
  "valueBatteryLow": {
550
570
  "type": "string",
551
571
  "title": "${config.title.valueBatteryLow}"
@@ -814,6 +834,14 @@
814
834
  "type": "string",
815
835
  "title": "${config.title.valueLongPress}"
816
836
  },
837
+ "valueMuted": {
838
+ "type": "string",
839
+ "title": "${config.title.valueMuted}"
840
+ },
841
+ "valueUnmuted": {
842
+ "type": "string",
843
+ "title": "${config.title.valueUnmuted}"
844
+ },
817
845
  "resetOnRestart": {
818
846
  "type": "boolean",
819
847
  "title": "${config.title.resetOnRestart}"
@@ -1227,8 +1255,8 @@
1227
1255
  "info": {
1228
1256
  "properties": {
1229
1257
  "type" : {
1230
- "const": "StatelessProgrammableSwitch"
1231
- }
1258
+ "enum": ["Doorbell, StatelessProgrammableSwitch"]
1259
+ }
1232
1260
  }
1233
1261
  }
1234
1262
  }
@@ -1629,6 +1657,32 @@
1629
1657
  "then": {
1630
1658
  "required": ["topicGetCurrentVerticalTiltAngle"]
1631
1659
  }
1660
+ },
1661
+ {
1662
+ "if": {
1663
+ "properties": {
1664
+ "topicGetMuted": {
1665
+ "minLength": 1
1666
+ }
1667
+ },
1668
+ "required": ["topicGetMuted"]
1669
+ },
1670
+ "then": {
1671
+ "required": ["topicSetMuted", "valueMuted", "valueUnmuted"]
1672
+ }
1673
+ },
1674
+ {
1675
+ "if": {
1676
+ "properties": {
1677
+ "topicSetMuted": {
1678
+ "minLength": 1
1679
+ }
1680
+ },
1681
+ "required": ["topicSetMuted"]
1682
+ },
1683
+ "then": {
1684
+ "required": ["topicGetMuted"]
1685
+ }
1632
1686
  }
1633
1687
  ]
1634
1688
  },
@@ -1837,7 +1891,7 @@
1837
1891
  "type": "fieldset",
1838
1892
  "notitle": true,
1839
1893
  "condition": {
1840
- "functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'StatelessProgrammableSwitch';"
1894
+ "functionBody": "return ['Doorbell', 'StatelessProgrammableSwitch'].includes(model.accessories?.[arguments[1]]?.info?.type);"
1841
1895
  },
1842
1896
  "items": [
1843
1897
  {
@@ -1853,6 +1907,68 @@
1853
1907
  }
1854
1908
  ]
1855
1909
  },
1910
+ {
1911
+ "type": "fieldset",
1912
+ "notitle": true,
1913
+ "condition": {
1914
+ "functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'Doorbell';"
1915
+ },
1916
+ "items": [
1917
+ {
1918
+ "type": "div",
1919
+ "displayFlex": true,
1920
+ "flex-direction": "row",
1921
+ "items": [
1922
+ {
1923
+ "key": "accessories[].topicGetBrightness",
1924
+ "flex": "0 0 40%"
1925
+ },
1926
+ {
1927
+ "key": "accessories[].topicSetBrightness",
1928
+ "flex": "0 0 40%"
1929
+ },
1930
+ {
1931
+ "key": "accessories[].maximumBrightness",
1932
+ "flex": "0 0 20%"
1933
+ }
1934
+ ]
1935
+ },
1936
+ {
1937
+ "type": "div",
1938
+ "displayFlex": true,
1939
+ "flex-direction": "row",
1940
+ "items": [
1941
+ {
1942
+ "key": "accessories[].topicGetVolume",
1943
+ "flex": "0 0 40%"
1944
+ },
1945
+ {
1946
+ "key": "accessories[].topicSetVolume",
1947
+ "flex": "0 0 40%"
1948
+ },
1949
+ {
1950
+ "key": "accessories[].maximumVolume",
1951
+ "flex": "0 0 20%"
1952
+ }
1953
+ ]
1954
+ },
1955
+ {
1956
+ "type": "div",
1957
+ "displayFlex": true,
1958
+ "flex-direction": "row",
1959
+ "items": [
1960
+ {
1961
+ "key": "accessories[].topicGetMuted",
1962
+ "flex": "0 0 50%"
1963
+ },
1964
+ {
1965
+ "key": "accessories[].topicSetMuted",
1966
+ "flex": "0 0 50%"
1967
+ }
1968
+ ]
1969
+ }
1970
+ ]
1971
+ },
1856
1972
  {
1857
1973
  "type": "fieldset",
1858
1974
  "notitle": true,
@@ -3247,7 +3363,7 @@
3247
3363
  "type": "fieldset",
3248
3364
  "notitle": true,
3249
3365
  "condition": {
3250
- "functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'StatelessProgrammableSwitch';"
3366
+ "functionBody": "return ['Doorbell', 'StatelessProgrammableSwitch'].includes(model.accessories?.[arguments[1]]?.info?.type);"
3251
3367
  },
3252
3368
  "items": [
3253
3369
  {
@@ -3271,6 +3387,24 @@
3271
3387
  }
3272
3388
  ]
3273
3389
  },
3390
+ {
3391
+ "type": "div",
3392
+ "displayFlex": true,
3393
+ "flex-direction": "row",
3394
+ "condition": {
3395
+ "functionBody": "return model.accessories?.[arguments[1]]?.info?.type === 'Doorbell';"
3396
+ },
3397
+ "items": [
3398
+ {
3399
+ "key": "accessories[].valueMuted",
3400
+ "flex": "0 0 25%"
3401
+ },
3402
+ {
3403
+ "key": "accessories[].valueUnmuted",
3404
+ "flex": "0 0 25%"
3405
+ }
3406
+ ]
3407
+ },
3274
3408
  {
3275
3409
  "type": "fieldset",
3276
3410
  "notitle": true,
@@ -1,9 +1,7 @@
1
- import { PlatformAccessory } from 'homebridge';
2
1
  import { MQTTAccessory } from './mqtt.js';
3
- import { CharacteristicType, BaseAccessoryConfig, ServiceType } from '../../model/types.js';
4
- import { Log } from '../../tools/log.js';
2
+ import { BaseAccessoryConfig, MQTTAccessoryDependency } from '../../model/types.js';
5
3
  export declare abstract class BaseAccessory<C extends BaseAccessoryConfig = BaseAccessoryConfig> extends MQTTAccessory<C> {
6
- constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: C, log: Log, isGrouped: boolean);
4
+ constructor(dependency: MQTTAccessoryDependency<C>);
7
5
  private onBatteryLowUpdate;
8
6
  private onStatusActiveUpdate;
9
7
  }
@@ -1,28 +1,28 @@
1
1
  import { MQTTAccessory } from './mqtt.js';
2
2
  import { PLATFORM_NAME } from '../../homebridge/settings.js';
3
3
  import { strings } from '../../i18n/i18n.js';
4
- import { CharacteristicKey } from '../../model/enums.js';
4
+ import { HKCharacteristicKey } from '../../model/enums.js';
5
5
  import { LogType } from '../../tools/log.js';
6
6
  import getVersion from '../../tools/version.js';
7
7
  export class BaseAccessory extends MQTTAccessory {
8
- constructor(Service, Characteristic, accessory, config, log, isGrouped) {
9
- super(Service, Characteristic, accessory, config, log, isGrouped);
10
- if (!isGrouped) {
11
- accessory.getService(Service.AccessoryInformation)
12
- .setCharacteristic(Characteristic.Name, config.info.name)
13
- .setCharacteristic(Characteristic.ConfiguredName, config.info.name)
14
- .setCharacteristic(Characteristic.Manufacturer, config.info.manufacturer ?? PLATFORM_NAME)
15
- .setCharacteristic(Characteristic.Model, config.info.model ?? config.info.type)
16
- .setCharacteristic(Characteristic.SerialNumber, config.info.serialNumber ?? this.identifier)
17
- .setCharacteristic(Characteristic.FirmwareRevision, config.info.version ?? getVersion());
8
+ constructor(dependency) {
9
+ super(dependency);
10
+ if (!dependency.isGrouped) {
11
+ this.platformAccessory.getService(dependency.Service.AccessoryInformation)
12
+ .setCharacteristic(dependency.Characteristic.Name, dependency.config.info.name)
13
+ .setCharacteristic(dependency.Characteristic.ConfiguredName, dependency.config.info.name)
14
+ .setCharacteristic(dependency.Characteristic.Manufacturer, dependency.config.info.manufacturer ?? PLATFORM_NAME)
15
+ .setCharacteristic(dependency.Characteristic.Model, dependency.config.info.model ?? dependency.config.info.type)
16
+ .setCharacteristic(dependency.Characteristic.SerialNumber, dependency.config.info.serialNumber ?? this.identifier)
17
+ .setCharacteristic(dependency.Characteristic.FirmwareRevision, dependency.config.info.version ?? getVersion());
18
18
  }
19
- this.setup(CharacteristicKey.BatteryLevel, 100, 'topicGetBatteryLevel', this.bindOnUpdateNumeric(CharacteristicKey.BatteryLevel, strings.accessory.batteryLevel), false);
20
- this.setup(CharacteristicKey.StatusLowBattery, Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL, 'topicGetBatteryLow', this.onBatteryLowUpdate.bind(this), false);
21
- this.setup(CharacteristicKey.StatusActive, true, 'topicGetStatusActive', this.onStatusActiveUpdate.bind(this), false);
19
+ this.setup(HKCharacteristicKey.BatteryLevel, 100, 'topicGetBatteryLevel', this.bindOnUpdateNumeric(HKCharacteristicKey.BatteryLevel, strings.accessory.batteryLevel), false);
20
+ this.setup(HKCharacteristicKey.StatusLowBattery, dependency.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL, 'topicGetBatteryLow', this.onBatteryLowUpdate.bind(this), false);
21
+ this.setup(HKCharacteristicKey.StatusActive, true, 'topicGetStatusActive', this.onStatusActiveUpdate.bind(this), false);
22
22
  }
23
23
  async onBatteryLowUpdate(topic, value) {
24
24
  const batteryLow = value === this.getPrimitiveValue('valueBatteryLow') ? 1 : 0;
25
- if (!this.onUpdate(CharacteristicKey.StatusLowBattery, batteryLow)) {
25
+ if (!this.onUpdate(HKCharacteristicKey.StatusLowBattery, batteryLow)) {
26
26
  return;
27
27
  }
28
28
  if (batteryLow) {
@@ -34,7 +34,7 @@ export class BaseAccessory extends MQTTAccessory {
34
34
  }
35
35
  async onStatusActiveUpdate(topic, value) {
36
36
  const statusActive = value === this.getPrimitiveValue('valueStatusActive');
37
- if (!this.onUpdate(CharacteristicKey.StatusActive, statusActive)) {
37
+ if (!this.onUpdate(HKCharacteristicKey.StatusActive, statusActive)) {
38
38
  return;
39
39
  }
40
40
  if (statusActive) {
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/accessory/abstract/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/accessory/abstract/base.ts"],"names":[],"mappings":"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"}
@@ -33,8 +33,11 @@ export declare abstract class Common<C extends Assertable> {
33
33
  private setupGet;
34
34
  protected setupSet(characteristicKey: CharacteristicKey, setTopicKey?: keyof C | undefined, onSetHandler?: CharacteristicSetHandler | undefined): void;
35
35
  protected bindOnUpdateNumeric(key: CharacteristicKey, logTemplate: string): OnUpdateHandler;
36
+ protected bindOnUpdateBoolean(key: CharacteristicKey, positiveKey: keyof C, negativeKey: keyof C, logTrue: string, logFalse: string): OnUpdateHandler;
36
37
  protected bindOnUpdateNumericBoolean(charKey: CharacteristicKey, valueKey: keyof C, logTrue: string, logFalse: string): OnUpdateHandler;
37
- protected bindTemperatureUpdate<C extends TemperatureConfig>(config: C, charKey: CharacteristicKey, logTemplate: string): OnUpdateHandler;
38
+ protected bindOnUpdateTemperature<C extends TemperatureConfig>(config: C, charKey: CharacteristicKey, logTemplate: string): OnUpdateHandler;
39
+ protected bindOnSetNumeric(key: CharacteristicKey, topic: keyof C, logTemplate: string): (value: CharacteristicValue) => Promise<void>;
40
+ protected bindOnSetBoolean(key: CharacteristicKey, setTopicKey: keyof C, positiveKey: keyof C, negativeKey: keyof C, positiveValue: CharacteristicValue, positiveLogString: string, negativeLogString: string): (value: CharacteristicValue) => Promise<void>;
38
41
  protected onUpdate(key: CharacteristicKey, value: CharacteristicValue, logString?: string | undefined): boolean;
39
42
  protected onSet(key: CharacteristicKey, value: CharacteristicValue, publish: PrimitiveTypes, topic: keyof C, logString: string | undefined): void;
40
43
  protected logIfDesired(message: string, ...parameters: string[]): void;
@@ -107,13 +107,31 @@ export class Common {
107
107
  this.onUpdate(key, value, logString);
108
108
  }).bind(this);
109
109
  }
110
+ bindOnUpdateBoolean(key, positiveKey, negativeKey, logTrue, logFalse) {
111
+ return (async (_topic, value) => {
112
+ let bool = undefined;
113
+ switch (value) {
114
+ case this.getPrimitiveValue(positiveKey):
115
+ bool = true;
116
+ break;
117
+ case this.getPrimitiveValue(negativeKey):
118
+ bool = false;
119
+ break;
120
+ default:
121
+ this.log.error(strings.characteristic.unknownValue);
122
+ return;
123
+ }
124
+ const logString = bool ? logTrue : logFalse;
125
+ this.onUpdate(key, bool, logString);
126
+ }).bind(this);
127
+ }
110
128
  bindOnUpdateNumericBoolean(charKey, valueKey, logTrue, logFalse) {
111
129
  return (async (_topic, value) => {
112
130
  const numeric = value === this.getPrimitiveValue(valueKey) ? 1 : 0;
113
131
  this.onUpdate(charKey, numeric, numeric ? logTrue : logFalse);
114
132
  }).bind(this);
115
133
  }
116
- bindTemperatureUpdate(config, charKey, logTemplate) {
134
+ bindOnUpdateTemperature(config, charKey, logTemplate) {
117
135
  return (async (_topic, value) => {
118
136
  if (typeof value !== 'number') {
119
137
  this.log.error(strings.climate.badTemperatureValue, this.name, `'${value}'`);
@@ -125,6 +143,36 @@ export class Common {
125
143
  this.onUpdate(charKey, temperature, logString);
126
144
  }).bind(this);
127
145
  }
146
+ bindOnSetNumeric(key, topic, logTemplate) {
147
+ return (async (value) => {
148
+ if (typeof value !== 'number') {
149
+ this.log.error(strings.characteristic.badValue, this.name, key, `'${value}'`);
150
+ return;
151
+ }
152
+ const logString = logTemplate.replace('%d', value.toString());
153
+ this.onSet(key, value, value, topic, logString);
154
+ }).bind(this);
155
+ }
156
+ bindOnSetBoolean(key, setTopicKey, positiveKey, negativeKey, positiveValue, positiveLogString, negativeLogString) {
157
+ return (async (value) => {
158
+ if (!this.assert(setTopicKey, positiveKey, negativeKey)) {
159
+ return;
160
+ }
161
+ if (!setTopicKey.toString().startsWith('topic')) {
162
+ throw new Error(`Trying to fetch topic with unexpected property name '${setTopicKey.toString()}'`);
163
+ }
164
+ if (!positiveKey.toString().startsWith('value')) {
165
+ throw new Error(`Trying to fetch value with unexpected property name '${positiveKey.toString()}'`);
166
+ }
167
+ if (!negativeKey.toString().startsWith('value')) {
168
+ throw new Error(`Trying to fetch value with unexpected property name '${negativeKey.toString()}'`);
169
+ }
170
+ const booleanValue = value === positiveValue;
171
+ const logString = booleanValue ? positiveLogString : negativeLogString;
172
+ const publish = booleanValue ? this.config[positiveKey] : this.config[negativeKey];
173
+ this.onSet(key, value, publish, setTopicKey, logString);
174
+ }).bind(this);
175
+ }
128
176
  onUpdate(key, value, logString = undefined) {
129
177
  if (value === this.properties.get(key)) {
130
178
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/accessory/abstract/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/accessory/abstract/common.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
- import { PlatformAccessory } from 'homebridge';
2
- import { BaseAccessoryConfig, CharacteristicType, ServiceType } from '../../model/types.js';
3
- import { Log } from '../../tools/log.js';
1
+ import { AccessoryDependency, BaseAccessoryConfig } from '../../model/types.js';
4
2
  export declare class GroupAccessory {
5
3
  private readonly accessories;
6
- constructor(Service: ServiceType, Characteristic: CharacteristicType, platformAccessory: PlatformAccessory, log: Log, name: string, configs: BaseAccessoryConfig[]);
4
+ constructor(dependency: AccessoryDependency, name: string, configs: BaseAccessoryConfig[]);
7
5
  teardown(): void;
8
6
  }
@@ -3,20 +3,20 @@ import { PLATFORM_NAME } from '../../homebridge/settings.js';
3
3
  import getVersion from '../../tools/version.js';
4
4
  export class GroupAccessory {
5
5
  accessories = [];
6
- constructor(Service, Characteristic, platformAccessory, log, name, configs) {
6
+ constructor(dependency, name, configs) {
7
7
  if (configs.length === 0) {
8
8
  throw new Error('Trying to create a group with no accessories');
9
9
  }
10
- platformAccessory.getService(Service.AccessoryInformation)
11
- .setCharacteristic(Characteristic.Name, name)
12
- .setCharacteristic(Characteristic.ConfiguredName, name)
13
- .setCharacteristic(Characteristic.Manufacturer, configs[0].info.manufacturer ?? PLATFORM_NAME)
14
- .setCharacteristic(Characteristic.Model, configs[0].info.model ?? GroupAccessory.name)
15
- .setCharacteristic(Characteristic.SerialNumber, configs[0].info.serialNumber ?? name)
16
- .setCharacteristic(Characteristic.FirmwareRevision, configs[0].info.version ?? getVersion());
10
+ dependency.platformAccessory.getService(dependency.Service.AccessoryInformation)
11
+ .setCharacteristic(dependency.Characteristic.Name, name)
12
+ .setCharacteristic(dependency.Characteristic.ConfiguredName, name)
13
+ .setCharacteristic(dependency.Characteristic.Manufacturer, configs[0].info.manufacturer ?? PLATFORM_NAME)
14
+ .setCharacteristic(dependency.Characteristic.Model, configs[0].info.model ?? GroupAccessory.name)
15
+ .setCharacteristic(dependency.Characteristic.SerialNumber, configs[0].info.serialNumber ?? name)
16
+ .setCharacteristic(dependency.Characteristic.FirmwareRevision, configs[0].info.version ?? getVersion());
17
17
  const keepSubtypes = new Set();
18
18
  for (const config of configs) {
19
- const accessory = createAccessory(Service, Characteristic, platformAccessory, config, log, true);
19
+ const accessory = createAccessory(dependency, config, true);
20
20
  if (!accessory) {
21
21
  continue;
22
22
  }
@@ -24,9 +24,9 @@ export class GroupAccessory {
24
24
  this.accessories.push(accessory);
25
25
  }
26
26
  ;
27
- for (const service of [...platformAccessory.services]) {
27
+ for (const service of [...dependency.platformAccessory.services]) {
28
28
  if (service.subtype && !keepSubtypes.has(service.subtype)) {
29
- platformAccessory.removeService(service);
29
+ dependency.platformAccessory.removeService(service);
30
30
  }
31
31
  }
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../src/accessory/abstract/group.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,MAAM,OAAO,cAAc;IAER,WAAW,GAA2C,EAAE,CAAC;IAE1E,YACE,OAAoB,EACpB,cAAkC,EAClC,iBAAoC,EACpC,GAAQ,EACR,IAAY,EACZ,OAA8B;QAG9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAE;aACxD,iBAAiB,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;aAC5C,iBAAiB,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC;aACtD,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,aAAa,CAAC;aAC7F,iBAAiB,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC;aACrF,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;aACpF,iBAAiB,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;QAE/F,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAEvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAE7B,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;YACjG,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YAED,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,OAAQ,CAAC,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAAA,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,WAAW,CAAC,OAAO,CAAE,SAAS,CAAC,EAAE;YACpC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../src/accessory/abstract/group.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAEhD,MAAM,OAAO,cAAc;IAER,WAAW,GAA2C,EAAE,CAAC;IAE1E,YACE,UAA+B,EAC/B,IAAY,EACZ,OAA8B;QAG9B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QAED,UAAU,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAE;aAC9E,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;aACvD,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,EAAE,IAAI,CAAC;aACjE,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,aAAa,CAAC;aACxG,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC,IAAI,CAAC;aAChG,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;aAC/F,iBAAiB,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE,CAAC,CAAC;QAE1G,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAEvC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAE7B,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS;YACX,CAAC;YAED,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,OAAQ,CAAC,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QAAA,CAAC;QAEF,KAAK,MAAM,OAAO,IAAI,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,IAAI,OAAO,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC1D,UAAU,CAAC,iBAAiB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;IACH,CAAC;IAEM,QAAQ;QACb,IAAI,CAAC,WAAW,CAAC,OAAO,CAAE,SAAS,CAAC,EAAE;YACpC,SAAS,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,6 +1,4 @@
1
- import { PlatformAccessory } from 'homebridge';
2
1
  import { BaseAccessory } from './base.js';
3
- import * as Configs from '../../model/types.js';
4
- import { Log } from '../../tools/log.js';
5
- export declare function createIdentifier(info: Configs.InfoConfig): string;
6
- export declare function createAccessory(Service: Configs.ServiceType, Characteristic: Configs.CharacteristicType, platformAccessory: PlatformAccessory, accessoryConfig: Configs.BaseAccessoryConfig, log: Log, isGrouped?: boolean): BaseAccessory | undefined;
2
+ import * as Types from '../../model/types.js';
3
+ export declare function createIdentifier(info: Types.InfoConfig): string;
4
+ export declare function createAccessory(dependency: Types.AccessoryDependency, config: Types.BaseAccessoryConfig, isGrouped?: boolean): BaseAccessory | undefined;