homebridge-easy-mqtt 1.4.0-beta.9 → 1.4.0

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 (124) hide show
  1. package/CHANGELOG.md +20 -6
  2. package/README.md +237 -22
  3. package/config.schema.json +1361 -92
  4. package/dist/accessory/abstract/base.js +5 -5
  5. package/dist/accessory/abstract/base.js.map +1 -1
  6. package/dist/accessory/abstract/common.d.ts +43 -0
  7. package/dist/accessory/abstract/common.js +172 -0
  8. package/dist/accessory/abstract/common.js.map +1 -0
  9. package/dist/accessory/abstract/helper.d.ts +1 -0
  10. package/dist/accessory/abstract/helper.js +21 -2
  11. package/dist/accessory/abstract/helper.js.map +1 -1
  12. package/dist/accessory/abstract/mqtt.d.ts +15 -26
  13. package/dist/accessory/abstract/mqtt.js +26 -143
  14. package/dist/accessory/abstract/mqtt.js.map +1 -1
  15. package/dist/accessory/addons/addon.d.ts +24 -0
  16. package/dist/accessory/addons/addon.js +52 -0
  17. package/dist/accessory/addons/addon.js.map +1 -0
  18. package/dist/accessory/addons/filter.d.ts +11 -0
  19. package/dist/accessory/addons/filter.js +37 -0
  20. package/dist/accessory/addons/filter.js.map +1 -0
  21. package/dist/accessory/button.d.ts +10 -0
  22. package/dist/accessory/button.js +43 -0
  23. package/dist/accessory/button.js.map +1 -0
  24. package/dist/accessory/climate/active.js +14 -8
  25. package/dist/accessory/climate/active.js.map +1 -1
  26. package/dist/accessory/climate/fan2.d.ts +20 -0
  27. package/dist/accessory/climate/fan2.js +122 -0
  28. package/dist/accessory/climate/fan2.js.map +1 -0
  29. package/dist/accessory/climate/heaterCooler.js +4 -2
  30. package/dist/accessory/climate/heaterCooler.js.map +1 -1
  31. package/dist/accessory/climate/purifier.js +5 -3
  32. package/dist/accessory/climate/purifier.js.map +1 -1
  33. package/dist/accessory/climate/temperatureControl.d.ts +1 -1
  34. package/dist/accessory/climate/temperatureControl.js +10 -8
  35. package/dist/accessory/climate/temperatureControl.js.map +1 -1
  36. package/dist/accessory/climate/thermostat.js +8 -8
  37. package/dist/accessory/climate/thermostat.js.map +1 -1
  38. package/dist/accessory/garage.d.ts +17 -0
  39. package/dist/accessory/garage.js +110 -0
  40. package/dist/accessory/garage.js.map +1 -0
  41. package/dist/accessory/lock.d.ts +2 -2
  42. package/dist/accessory/lock.js +3 -3
  43. package/dist/accessory/lock.js.map +1 -1
  44. package/dist/accessory/onoff/lightbulb.js +9 -4
  45. package/dist/accessory/onoff/lightbulb.js.map +1 -1
  46. package/dist/accessory/onoff/onoff.js +1 -1
  47. package/dist/accessory/onoff/onoff.js.map +1 -1
  48. package/dist/accessory/onoff/outlet.js +1 -1
  49. package/dist/accessory/onoff/outlet.js.map +1 -1
  50. package/dist/accessory/position/blind.d.ts +10 -0
  51. package/dist/accessory/position/blind.js +22 -0
  52. package/dist/accessory/position/blind.js.map +1 -0
  53. package/dist/accessory/position/position.d.ts +14 -0
  54. package/dist/accessory/position/position.js +88 -0
  55. package/dist/accessory/position/position.js.map +1 -0
  56. package/dist/accessory/security.js +4 -4
  57. package/dist/accessory/security.js.map +1 -1
  58. package/dist/accessory/sensor/air.d.ts +14 -0
  59. package/dist/accessory/sensor/air.js +96 -0
  60. package/dist/accessory/sensor/air.js.map +1 -0
  61. package/dist/accessory/sensor/carbonDioxide.js +3 -3
  62. package/dist/accessory/sensor/carbonDioxide.js.map +1 -1
  63. package/dist/accessory/sensor/carbonMonoxide.js +3 -3
  64. package/dist/accessory/sensor/carbonMonoxide.js.map +1 -1
  65. package/dist/accessory/sensor/contact.js +1 -1
  66. package/dist/accessory/sensor/contact.js.map +1 -1
  67. package/dist/accessory/sensor/humidity.js +1 -1
  68. package/dist/accessory/sensor/humidity.js.map +1 -1
  69. package/dist/accessory/sensor/leak.js +1 -1
  70. package/dist/accessory/sensor/leak.js.map +1 -1
  71. package/dist/accessory/sensor/light.js +1 -1
  72. package/dist/accessory/sensor/light.js.map +1 -1
  73. package/dist/accessory/sensor/motion.js +1 -1
  74. package/dist/accessory/sensor/motion.js.map +1 -1
  75. package/dist/accessory/sensor/occupancy.js +1 -1
  76. package/dist/accessory/sensor/occupancy.js.map +1 -1
  77. package/dist/accessory/sensor/sensor.js +4 -4
  78. package/dist/accessory/sensor/sensor.js.map +1 -1
  79. package/dist/accessory/sensor/smoke.js +1 -1
  80. package/dist/accessory/sensor/smoke.js.map +1 -1
  81. package/dist/accessory/sensor/temperature.js +1 -1
  82. package/dist/accessory/sensor/temperature.js.map +1 -1
  83. package/dist/accessory/valve.js +7 -7
  84. package/dist/accessory/valve.js.map +1 -1
  85. package/dist/homebridge/platform.js +4 -2
  86. package/dist/homebridge/platform.js.map +1 -1
  87. package/dist/homebridge-ui/public/index.html +1 -1
  88. package/dist/homebridge-ui/public/ui.js +1 -1
  89. package/dist/i18n/en.d.ts +183 -16
  90. package/dist/i18n/en.js +236 -69
  91. package/dist/i18n/en.js.map +1 -1
  92. package/dist/i18n/fr.d.ts +452 -18
  93. package/dist/i18n/fr.js +269 -2
  94. package/dist/i18n/fr.js.map +1 -1
  95. package/dist/i18n/i18n.d.ts +185 -17
  96. package/dist/i18n/i18n.js +6 -0
  97. package/dist/i18n/i18n.js.map +1 -1
  98. package/dist/i18n/ro.d.ts +347 -33
  99. package/dist/i18n/ro.js +164 -17
  100. package/dist/i18n/ro.js.map +1 -1
  101. package/dist/i18n/template.d.ts +183 -16
  102. package/dist/i18n/template.js +1 -1
  103. package/dist/i18n/vi.d.ts +1059 -0
  104. package/dist/i18n/vi.js +528 -0
  105. package/dist/i18n/vi.js.map +1 -0
  106. package/dist/model/enums.d.ts +35 -6
  107. package/dist/model/enums.js +34 -5
  108. package/dist/model/enums.js.map +1 -1
  109. package/dist/model/mqtt.d.ts +4 -3
  110. package/dist/model/mqtt.js +30 -9
  111. package/dist/model/mqtt.js.map +1 -1
  112. package/dist/model/types.d.ts +97 -4
  113. package/dist/tools/log.d.ts +7 -5
  114. package/dist/tools/log.js.map +1 -1
  115. package/dist/tools/properties.d.ts +11 -0
  116. package/dist/tools/properties.js +73 -0
  117. package/dist/tools/properties.js.map +1 -0
  118. package/dist/tools/temperature.d.ts +7 -3
  119. package/dist/tools/temperature.js +20 -9
  120. package/dist/tools/temperature.js.map +1 -1
  121. package/dist/tools/validation.d.ts +2 -0
  122. package/dist/tools/validation.js +11 -0
  123. package/dist/tools/validation.js.map +1 -1
  124. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/accessory/security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/accessory/security.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,EAAO,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,OAAO,uBAAwB,SAAQ,aAA6B;IAEvD,SAAS,CAAoC;IAE9D,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAsB,EAAE,GAAQ,EAAE,SAAkB;QACtJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC;YACvB,CAAC,cAAc,EAAE,cAAc,CAAC,0BAA0B,CAAC,QAAQ,CAAC;YACpE,CAAC,cAAc,EAAE,cAAc,CAAC,0BAA0B,CAAC,QAAQ,CAAC;YACpE,CAAC,eAAe,EAAE,cAAc,CAAC,0BAA0B,CAAC,SAAS,CAAC;YACtE,CAAC,aAAa,EAAE,cAAc,CAAC,0BAA0B,CAAC,QAAQ,CAAC;YACnE,CAAC,qBAAqB,EAAE,cAAc,CAAC,0BAA0B,CAAC,eAAe,CAAC;SACnF,CAAC,CAAC;QAEH,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,SAAS,CAAC,CAAC;QACzH,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1D,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,cAAc,CAAC,0BAA0B,CAAC,QAAQ,EACzG,8BAA8B,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAC3E,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC,CAAC;QAExF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,qBAAqB,CAAC,CAAC;QAE5F,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,cAAc,CAAC,yBAAyB,CAAC,MAAM,EACrG,6BAA6B,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EACxE,6BAA6B,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAChE,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,EAAE,CAAC,CAAC;QAEvF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,YAAY,EAAE,wBAAwB,EAC/G,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EACvI,KAAK,CACN,CAAC;QAEF,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,qBAAqB,EAClG,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,WAAW,EAAE,YAAY,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAC3H,KAAK,CACN,CAAC;IACJ,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,cAAc,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,KAAa,EAAE,KAAqB;QAErE,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,OAAiB,IAAI,IAAI,CAAC,cAAc,CAAC,yBAAyB,CAAC,MAAM,EAAE,CAAC;YAC9E,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,0BAA0B,EAAE,OAAO,CAAC,EAAE,CAAC;YAC1E,OAAO;QACT,CAAC;QAED,IAAI,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,eAAe,EAAE,CAAC;YAC/E,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,KAAa,EAAE,KAAqB;QAEpE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC1G,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAA0B;QAEvD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,yBAAyB,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5I,CAAC;IAEO,WAAW,CAAC,KAA0B;QAE5C,IAAI,SAAS,GAAG,SAAS,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;YACpC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;QACrE,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,SAAS,CAAC,KAAqB;QACrC,QAAQ,KAAK,EAAE,CAAC;YAChB,KAAK,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,CAAC;gBAChD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,CAAC;gBAChD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,KAAK,CAAC;gBACjD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7C,KAAK,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,KAAK,CAAC;gBAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3C,KAAK,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,CAAC;gBACvD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC;IAEO,gBAAgB,CAAC,KAA0B,EAAE,SAAkB,KAAK;QAC1E,QAAO,KAAK,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,QAAQ;gBAC1D,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAChF,KAAK,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,QAAQ;gBAC1D,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;YAChF,KAAK,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,SAAS;gBAC3D,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClF,KAAK,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,QAAQ;gBAC1D,OAAO,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;YACtF,KAAK,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC,eAAe;gBACjE,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;YACzC;gBACE,OAAO,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QACvC,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,14 @@
1
+ import { PlatformAccessory } from 'homebridge';
2
+ import { SensorAccessory } from './sensor.js';
3
+ import { AccessoryType } from '../../model/enums.js';
4
+ import { CharacteristicType, AirSensorConfig, ServiceType } from '../../model/types.js';
5
+ import { Log } from '../../tools/log.js';
6
+ export declare class AirSensorAccessory extends SensorAccessory<AirSensorConfig> {
7
+ private readonly STATE_MAP;
8
+ constructor(Service: ServiceType, Characteristic: CharacteristicType, accessory: PlatformAccessory, config: AirSensorConfig, log: Log, isGrouped: boolean);
9
+ protected getAccessoryType(): AccessoryType;
10
+ private onAirQualityUpdate;
11
+ private toCVState;
12
+ private qualityStringForCV;
13
+ private logTemplateForDensityKey;
14
+ }
@@ -0,0 +1,96 @@
1
+ import { SensorAccessory } from './sensor.js';
2
+ import { strings } from '../../i18n/i18n.js';
3
+ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
+ const MAX_DENSITY = 5000;
5
+ export class AirSensorAccessory extends SensorAccessory {
6
+ STATE_MAP;
7
+ constructor(Service, Characteristic, accessory, config, log, isGrouped) {
8
+ super(Service, Characteristic, accessory, config, log, isGrouped);
9
+ this.STATE_MAP = new Map([
10
+ ['valueAQUnknown', Characteristic.AirQuality.UNKNOWN],
11
+ ['valueAQExcellent', Characteristic.AirQuality.EXCELLENT],
12
+ ['valueAQGood', Characteristic.AirQuality.GOOD],
13
+ ['valueAQFair', Characteristic.AirQuality.FAIR],
14
+ ['valueAQInferior', Characteristic.AirQuality.INFERIOR],
15
+ ['valueAQPoor', Characteristic.AirQuality.POOR],
16
+ ]);
17
+ const validStates = Array.from(this.STATE_MAP.keys()).filter((key) => this.getRawValue(key, false) !== undefined);
18
+ if (validStates.length === 0 || (validStates.length === 1 && validStates[0] === 'valueAQUnknown')) {
19
+ this.log.error(strings.sensor.air.noStateValues, this.name);
20
+ return;
21
+ }
22
+ this.setup(CharacteristicKey.AirQuality, Characteristic.AirQuality.UNKNOWN, 'topicGetAirQuality', this.onAirQualityUpdate.bind(this), true)?.setProps({ validValues: validStates.map((key) => this.STATE_MAP.get(key)) });
23
+ const densityMap = new Map([
24
+ ['topicGetNitrogenDioxideDensity', CharacteristicKey.NitrogenDioxideDensity],
25
+ ['topicGetOzoneDensity', CharacteristicKey.OzoneDensity],
26
+ ['topicGetPM10Density', CharacteristicKey.PM10Density],
27
+ ['topicGetPM2_5Density', CharacteristicKey.PM2_5Density],
28
+ ['topicGetSulphurDioxideDensity', CharacteristicKey.SulphurDioxideDensity],
29
+ ['topicGetVOCDensity', CharacteristicKey.VOCDensity],
30
+ ]);
31
+ densityMap.forEach((key, topic) => {
32
+ this.setup(key, 0, topic, this.bindOnUpdateNumeric(key, this.logTemplateForDensityKey(key)), false)
33
+ ?.setProps({ maxValue: MAX_DENSITY });
34
+ });
35
+ }
36
+ getAccessoryType() {
37
+ return AccessoryType.AirQualitySensor;
38
+ }
39
+ async onAirQualityUpdate(topic, value) {
40
+ const current = this.toCVState(value);
41
+ this.onUpdate(CharacteristicKey.AirQuality, current, this.qualityStringForCV(current));
42
+ }
43
+ toCVState(value) {
44
+ switch (value) {
45
+ case this.getPrimitiveValue('valueAQUnknown', false):
46
+ return this.STATE_MAP.get('valueAQUnknown');
47
+ case this.getPrimitiveValue('valueAQExcellent', false):
48
+ return this.STATE_MAP.get('valueAQExcellent');
49
+ case this.getPrimitiveValue('valueAQGood', false):
50
+ return this.STATE_MAP.get('valueAQGood');
51
+ case this.getPrimitiveValue('valueAQFair', false):
52
+ return this.STATE_MAP.get('valueAQFair');
53
+ case this.getPrimitiveValue('valueAQInferior', false):
54
+ return this.STATE_MAP.get('valueAQInferior');
55
+ case this.getPrimitiveValue('valueAQPoor', false):
56
+ return this.STATE_MAP.get('valueAQPoor');
57
+ }
58
+ this.logIfDesired(strings.sensor.air.unknownValue, `'${value}'`);
59
+ return this.STATE_MAP.get('valueAQUnknown');
60
+ }
61
+ qualityStringForCV(state) {
62
+ switch (state) {
63
+ case this.Characteristic.AirQuality.EXCELLENT:
64
+ return strings.sensor.air.qualityExcellent;
65
+ case this.Characteristic.AirQuality.GOOD:
66
+ return strings.sensor.air.qualityGood;
67
+ case this.Characteristic.AirQuality.FAIR:
68
+ return strings.sensor.air.qualityFair;
69
+ case this.Characteristic.AirQuality.INFERIOR:
70
+ return strings.sensor.air.qualityInferior;
71
+ case this.Characteristic.AirQuality.POOR:
72
+ return strings.sensor.air.qualityPoor;
73
+ case this.Characteristic.AirQuality.UNKNOWN:
74
+ default:
75
+ return strings.sensor.air.qualityUnknown;
76
+ }
77
+ }
78
+ logTemplateForDensityKey(key) {
79
+ switch (key) {
80
+ case CharacteristicKey.NitrogenDioxideDensity:
81
+ return strings.sensor.air.densityNitrogen;
82
+ case CharacteristicKey.OzoneDensity:
83
+ return strings.sensor.air.densityOzone;
84
+ case CharacteristicKey.PM10Density:
85
+ return strings.sensor.air.densityPM10;
86
+ case CharacteristicKey.PM2_5Density:
87
+ return strings.sensor.air.densityPM2_5;
88
+ case CharacteristicKey.SulphurDioxideDensity:
89
+ return strings.sensor.air.densitySulphur;
90
+ case CharacteristicKey.VOCDensity:
91
+ return strings.sensor.air.densityVOC;
92
+ }
93
+ throw new Error(`Missing log template for density key '${key}'`);
94
+ }
95
+ }
96
+ //# sourceMappingURL=air.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"air.js","sourceRoot":"","sources":["../../../src/accessory/sensor/air.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,9 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  export class CO2SensorAccessory extends SensorAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setupCharacteristic(CharacteristicKey.CarbonDioxideDetected, Characteristic.CarbonDioxideDetected.CO2_LEVELS_NORMAL, 'topicGetCarbonDioxideDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.CarbonDioxideDetected, 'valueCarbonDioxideDetected', strings.sensor.carbonDioxide.active, strings.sensor.carbonDioxide.inactive), true);
8
- this.setupCharacteristic(CharacteristicKey.CarbonDioxideLevel, 0, 'topicGetCarbonDioxideLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonDioxideLevel, strings.sensor.carbonDioxide.level), false);
9
- this.setupCharacteristic(CharacteristicKey.CarbonDioxidePeakLevel, 0, 'topicGetCarbonDioxidePeakLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonDioxidePeakLevel, strings.sensor.carbonDioxide.peakLevel), false);
7
+ this.setup(CharacteristicKey.CarbonDioxideDetected, Characteristic.CarbonDioxideDetected.CO2_LEVELS_NORMAL, 'topicGetCarbonDioxideDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.CarbonDioxideDetected, 'valueCarbonDioxideDetected', strings.sensor.carbonDioxide.active, strings.sensor.carbonDioxide.inactive), true);
8
+ this.setup(CharacteristicKey.CarbonDioxideLevel, 0, 'topicGetCarbonDioxideLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonDioxideLevel, strings.sensor.carbonDioxide.level), false);
9
+ this.setup(CharacteristicKey.CarbonDioxidePeakLevel, 0, 'topicGetCarbonDioxidePeakLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonDioxidePeakLevel, strings.sensor.carbonDioxide.peakLevel), false);
10
10
  }
11
11
  getAccessoryType() {
12
12
  return AccessoryType.CarbonDioxideSensor;
@@ -1 +1 @@
1
- {"version":3,"file":"carbonDioxide.js","sourceRoot":"","sources":["../../../src/accessory/sensor/carbonDioxide.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,kBAAmB,SAAQ,eAAgC;IAEtE,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAuB,EAAE,GAAQ,EAAE,SAAkB;QACvJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,cAAc,CAAC,qBAAqB,CAAC,iBAAiB,EACtH,+BAA+B,EAC/B,IAAI,CAAC,0BAA0B,CAC7B,iBAAiB,CAAC,qBAAqB,EACvC,4BAA4B,EAC5B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAC7E,IAAI,CAAC,CAAC;QAER,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,EAC9D,4BAA4B,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAE3I,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,EAClE,gCAAgC,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IACzJ,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,mBAAmB,CAAC;IAC3C,CAAC;CACF"}
1
+ {"version":3,"file":"carbonDioxide.js","sourceRoot":"","sources":["../../../src/accessory/sensor/carbonDioxide.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,kBAAmB,SAAQ,eAAgC;IAEtE,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAuB,EAAE,GAAQ,EAAE,SAAkB;QACvJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,cAAc,CAAC,qBAAqB,CAAC,iBAAiB,EACxG,+BAA+B,EAC/B,IAAI,CAAC,0BAA0B,CAC7B,iBAAiB,CAAC,qBAAqB,EACvC,4BAA4B,EAC5B,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,EAC7E,IAAI,CAAC,CAAC;QAER,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,EAChD,4BAA4B,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAE3I,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,EACpD,gCAAgC,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IACzJ,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,mBAAmB,CAAC;IAC3C,CAAC;CACF"}
@@ -4,9 +4,9 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  export class COSensorAccessory extends SensorAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setupCharacteristic(CharacteristicKey.CarbonMonoxideDetected, Characteristic.CarbonMonoxideDetected.CO_LEVELS_NORMAL, 'topicGetCarbonMonoxideDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.CarbonMonoxideDetected, 'valueCarbonMonoxideDetected', strings.sensor.carbonMonoxide.active, strings.sensor.carbonMonoxide.inactive), true);
8
- this.setupCharacteristic(CharacteristicKey.CarbonMonoxideLevel, 0, 'topicGetCarbonMonoxideLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonMonoxideLevel, strings.sensor.carbonMonoxide.level), false);
9
- this.setupCharacteristic(CharacteristicKey.CarbonMonoxidePeakLevel, 0, 'topicGetCarbonMonoxidePeakLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonMonoxidePeakLevel, strings.sensor.carbonMonoxide.peakLevel), false);
7
+ this.setup(CharacteristicKey.CarbonMonoxideDetected, Characteristic.CarbonMonoxideDetected.CO_LEVELS_NORMAL, 'topicGetCarbonMonoxideDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.CarbonMonoxideDetected, 'valueCarbonMonoxideDetected', strings.sensor.carbonMonoxide.active, strings.sensor.carbonMonoxide.inactive), true);
8
+ this.setup(CharacteristicKey.CarbonMonoxideLevel, 0, 'topicGetCarbonMonoxideLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonMonoxideLevel, strings.sensor.carbonMonoxide.level), false);
9
+ this.setup(CharacteristicKey.CarbonMonoxidePeakLevel, 0, 'topicGetCarbonMonoxidePeakLevel', this.bindOnUpdateNumeric(CharacteristicKey.CarbonMonoxidePeakLevel, strings.sensor.carbonMonoxide.peakLevel), false);
10
10
  }
11
11
  getAccessoryType() {
12
12
  return AccessoryType.CarbonMonoxideSensor;
@@ -1 +1 @@
1
- {"version":3,"file":"carbonMonoxide.js","sourceRoot":"","sources":["../../../src/accessory/sensor/carbonMonoxide.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,iBAAkB,SAAQ,eAA+B;IAEpE,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAsB,EAAE,GAAQ,EAAE,SAAkB;QACtJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,cAAc,CAAC,sBAAsB,CAAC,gBAAgB,EACvH,gCAAgC,EAChC,IAAI,CAAC,0BAA0B,CAC7B,iBAAiB,CAAC,sBAAsB,EACxC,6BAA6B,EAC7B,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAC/E,IAAI,CAAC,CAAC;QAER,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC,EAC/D,6BAA6B,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9I,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC,EACnE,iCAAiC,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5J,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,oBAAoB,CAAC;IAC5C,CAAC;CACF"}
1
+ {"version":3,"file":"carbonMonoxide.js","sourceRoot":"","sources":["../../../src/accessory/sensor/carbonMonoxide.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,iBAAkB,SAAQ,eAA+B;IAEpE,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAsB,EAAE,GAAQ,EAAE,SAAkB;QACtJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,cAAc,CAAC,sBAAsB,CAAC,gBAAgB,EACzG,gCAAgC,EAChC,IAAI,CAAC,0BAA0B,CAC7B,iBAAiB,CAAC,sBAAsB,EACxC,6BAA6B,EAC7B,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAC/E,IAAI,CAAC,CAAC;QAER,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,CAAC,EACjD,6BAA6B,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;QAE9I,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC,EACrD,iCAAiC,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5J,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,oBAAoB,CAAC;IAC5C,CAAC;CACF"}
@@ -4,7 +4,7 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  export class ContactSensorAccessory extends SensorAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setupCharacteristic(CharacteristicKey.ContactSensorState, Characteristic.ContactSensorState.CONTACT_NOT_DETECTED, 'topicGetContactSensorState', this.onContactStateUpdate.bind(this), true);
7
+ this.setup(CharacteristicKey.ContactSensorState, Characteristic.ContactSensorState.CONTACT_NOT_DETECTED, 'topicGetContactSensorState', this.onContactStateUpdate.bind(this), true);
8
8
  }
9
9
  getAccessoryType() {
10
10
  return AccessoryType.ContactSensor;
@@ -1 +1 @@
1
- {"version":3,"file":"contact.js","sourceRoot":"","sources":["../../../src/accessory/sensor/contact.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,sBAAuB,SAAQ,eAAoC;IAE9E,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA2B,EAAE,GAAQ,EAAE,SAAkB;QACjJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,cAAc,CAAC,kBAAkB,CAAC,oBAAoB,EACnH,4BAA4B,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,aAAa,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,KAAa,EAAE,KAAqB;QACrE,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1I,CAAC;CACF"}
1
+ {"version":3,"file":"contact.js","sourceRoot":"","sources":["../../../src/accessory/sensor/contact.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,sBAAuB,SAAQ,eAAoC;IAE9E,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA2B,EAAE,GAAQ,EAAE,SAAkB;QACjJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,cAAc,CAAC,kBAAkB,CAAC,oBAAoB,EACrG,4BAA4B,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,aAAa,CAAC;IACrC,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAAC,KAAa,EAAE,KAAqB;QACrE,MAAM,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1I,CAAC;CACF"}
@@ -4,7 +4,7 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  export class HumiditySensorAccessory extends SensorAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setupCharacteristic(CharacteristicKey.CurrentRelativeHumidity, 0, 'topicGetCurrentRelativeHumidity', this.bindOnUpdateNumeric(CharacteristicKey.CurrentRelativeHumidity, strings.climate.humidityUpdate), true);
7
+ this.setup(CharacteristicKey.CurrentRelativeHumidity, 0, 'topicGetCurrentRelativeHumidity', this.bindOnUpdateNumeric(CharacteristicKey.CurrentRelativeHumidity, strings.climate.humidityUpdate), true);
8
8
  }
9
9
  getAccessoryType() {
10
10
  return AccessoryType.HumiditySensor;
@@ -1 +1 @@
1
- {"version":3,"file":"humidity.js","sourceRoot":"","sources":["../../../src/accessory/sensor/humidity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,uBAAwB,SAAQ,eAAqC;IAEhF,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA4B,EAAE,GAAQ,EAAE,SAAkB;QAClJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC,EACnE,iCAAiC,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;IAClJ,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,cAAc,CAAC;IACtC,CAAC;CACF"}
1
+ {"version":3,"file":"humidity.js","sourceRoot":"","sources":["../../../src/accessory/sensor/humidity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,uBAAwB,SAAQ,eAAqC;IAEhF,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA4B,EAAE,GAAQ,EAAE,SAAkB;QAClJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,CAAC,EACrD,iCAAiC,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,uBAAuB,EAAE,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;IAClJ,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,cAAc,CAAC;IACtC,CAAC;CACF"}
@@ -4,7 +4,7 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  export class LeakSensorAccessory extends SensorAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setupCharacteristic(CharacteristicKey.LeakDetected, Characteristic.LeakDetected.LEAK_NOT_DETECTED, 'topicGetLeakDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.LeakDetected, 'valueLeakDetected', strings.sensor.leak.active, strings.sensor.leak.inactive), true);
7
+ this.setup(CharacteristicKey.LeakDetected, Characteristic.LeakDetected.LEAK_NOT_DETECTED, 'topicGetLeakDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.LeakDetected, 'valueLeakDetected', strings.sensor.leak.active, strings.sensor.leak.inactive), true);
8
8
  }
9
9
  getAccessoryType() {
10
10
  return AccessoryType.LeakSensor;
@@ -1 +1 @@
1
- {"version":3,"file":"leak.js","sourceRoot":"","sources":["../../../src/accessory/sensor/leak.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,mBAAoB,SAAQ,eAAiC;IAExE,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAwB,EAAE,GAAQ,EAAE,SAAkB;QACxJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,iBAAiB,EACpG,sBAAsB,EACtB,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,YAAY,EAAE,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1J,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"leak.js","sourceRoot":"","sources":["../../../src/accessory/sensor/leak.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,mBAAoB,SAAQ,eAAiC;IAExE,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAwB,EAAE,GAAQ,EAAE,SAAkB;QACxJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,cAAc,CAAC,YAAY,CAAC,iBAAiB,EACtF,sBAAsB,EACtB,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,YAAY,EAAE,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1J,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,UAAU,CAAC;IAClC,CAAC;CACF"}
@@ -4,7 +4,7 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  export class LightSensorAccessory extends SensorAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setupCharacteristic(CharacteristicKey.CurrentAmbientLightLevel, 0.0001, 'topicGetCurrentAmbientLightLevel', this.bindOnUpdateNumeric(CharacteristicKey.CurrentAmbientLightLevel, strings.sensor.light.level), true);
7
+ this.setup(CharacteristicKey.CurrentAmbientLightLevel, 0.0001, 'topicGetCurrentAmbientLightLevel', this.bindOnUpdateNumeric(CharacteristicKey.CurrentAmbientLightLevel, strings.sensor.light.level), true);
8
8
  }
9
9
  getAccessoryType() {
10
10
  return AccessoryType.LightSensor;
@@ -1 +1 @@
1
- {"version":3,"file":"light.js","sourceRoot":"","sources":["../../../src/accessory/sensor/light.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,oBAAqB,SAAQ,eAAkC;IAE1E,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAyB,EAAE,GAAQ,EAAE,SAAkB;QACzJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,mBAAmB,CACtB,iBAAiB,CAAC,wBAAwB,EAAE,MAAM,EAClD,kCAAkC,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EACpI,IAAI,CAAC,CAAC;IACV,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,WAAW,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"light.js","sourceRoot":"","sources":["../../../src/accessory/sensor/light.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,oBAAqB,SAAQ,eAAkC;IAE1E,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAyB,EAAE,GAAQ,EAAE,SAAkB;QACzJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CACR,iBAAiB,CAAC,wBAAwB,EAAE,MAAM,EAClD,kCAAkC,EAAE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EACpI,IAAI,CAAC,CAAC;IACV,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,WAAW,CAAC;IACnC,CAAC;CACF"}
@@ -4,7 +4,7 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  export class MotionSensorAccessory extends SensorAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setupCharacteristic(CharacteristicKey.MotionDetected, false, 'topicGetMotionDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.MotionDetected, 'valueMotionDetected', strings.sensor.motion.active, strings.sensor.motion.inactive), true);
7
+ this.setup(CharacteristicKey.MotionDetected, false, 'topicGetMotionDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.MotionDetected, 'valueMotionDetected', strings.sensor.motion.active, strings.sensor.motion.inactive), true);
8
8
  }
9
9
  getAccessoryType() {
10
10
  return AccessoryType.MotionSensor;
@@ -1 +1 @@
1
- {"version":3,"file":"motion.js","sourceRoot":"","sources":["../../../src/accessory/sensor/motion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,qBAAsB,SAAQ,eAAmC;IAE5E,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA0B,EAAE,GAAQ,EAAE,SAAkB;QAChJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,EAC9D,wBAAwB,EACxB,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,cAAc,EAAE,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EACtJ,IAAI,CAAC,CAAC;IACV,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,YAAY,CAAC;IACpC,CAAC;CACF"}
1
+ {"version":3,"file":"motion.js","sourceRoot":"","sources":["../../../src/accessory/sensor/motion.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,qBAAsB,SAAQ,eAAmC;IAE5E,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA0B,EAAE,GAAQ,EAAE,SAAkB;QAChJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,cAAc,EAAE,KAAK,EAChD,wBAAwB,EACxB,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,cAAc,EAAE,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EACtJ,IAAI,CAAC,CAAC;IACV,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,YAAY,CAAC;IACpC,CAAC;CACF"}
@@ -4,7 +4,7 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  export class OccupancySensorAccessory extends SensorAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setupCharacteristic(CharacteristicKey.OccupancyDetected, Characteristic.OccupancyDetected.OCCUPANCY_NOT_DETECTED, 'topicGetOccupancyDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.OccupancyDetected, 'valueOccupancyDetected', strings.sensor.occupancy.active, strings.sensor.occupancy.inactive), true);
7
+ this.setup(CharacteristicKey.OccupancyDetected, Characteristic.OccupancyDetected.OCCUPANCY_NOT_DETECTED, 'topicGetOccupancyDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.OccupancyDetected, 'valueOccupancyDetected', strings.sensor.occupancy.active, strings.sensor.occupancy.inactive), true);
8
8
  }
9
9
  getAccessoryType() {
10
10
  return AccessoryType.OccupancySensor;
@@ -1 +1 @@
1
- {"version":3,"file":"occupancy.js","sourceRoot":"","sources":["../../../src/accessory/sensor/occupancy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,wBAAyB,SAAQ,eAAsC;IAElF,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA6B,EAAE,GAAQ,EAAE,SAAkB;QACnJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAAC,sBAAsB,EACnH,2BAA2B,EAC3B,IAAI,CAAC,0BAA0B,CAC7B,iBAAiB,CAAC,iBAAiB,EACnC,wBAAwB,EACxB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EACrE,IAAI,CAAC,CAAC;IACV,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,eAAe,CAAC;IACvC,CAAC;CACF"}
1
+ {"version":3,"file":"occupancy.js","sourceRoot":"","sources":["../../../src/accessory/sensor/occupancy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,wBAAyB,SAAQ,eAAsC;IAElF,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA6B,EAAE,GAAQ,EAAE,SAAkB;QACnJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,cAAc,CAAC,iBAAiB,CAAC,sBAAsB,EACrG,2BAA2B,EAC3B,IAAI,CAAC,0BAA0B,CAC7B,iBAAiB,CAAC,iBAAiB,EACnC,wBAAwB,EACxB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EACrE,IAAI,CAAC,CAAC;IACV,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,eAAe,CAAC;IACvC,CAAC;CACF"}
@@ -5,11 +5,11 @@ import { LogType } from '../../tools/log.js';
5
5
  export class SensorAccessory extends BaseAccessory {
6
6
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
7
7
  super(Service, Characteristic, accessory, config, log, isGrouped);
8
- this.setupCharacteristic(CharacteristicKey.StatusTampered, Characteristic.StatusTampered.NOT_TAMPERED, 'topicGetStatusTampered', this.onTamperedUpdate.bind(this), false);
9
- this.setupCharacteristic(CharacteristicKey.StatusFault, Characteristic.StatusFault.NO_FAULT, 'topicGetStatusFault', this.onFaultUpdate.bind(this), false);
8
+ this.setup(CharacteristicKey.StatusTampered, Characteristic.StatusTampered.NOT_TAMPERED, 'topicGetStatusTampered', this.onTamperedUpdate.bind(this), false);
9
+ this.setup(CharacteristicKey.StatusFault, Characteristic.StatusFault.NO_FAULT, 'topicGetStatusFault', this.onFaultUpdate.bind(this), false);
10
10
  }
11
11
  async onTamperedUpdate(topic, value) {
12
- const tampered = value === this.getPrimitiveValue('valueTampered');
12
+ const tampered = value === this.getPrimitiveValue('valueTampered') ? 1 : 0;
13
13
  if (!this.onUpdate(CharacteristicKey.StatusTampered, tampered)) {
14
14
  return;
15
15
  }
@@ -21,7 +21,7 @@ export class SensorAccessory extends BaseAccessory {
21
21
  }
22
22
  }
23
23
  async onFaultUpdate(topic, value) {
24
- const fault = value === this.getPrimitiveValue('valueFault');
24
+ const fault = value === this.getPrimitiveValue('valueFault') ? 1 : 0;
25
25
  if (!this.onUpdate(CharacteristicKey.StatusFault, fault)) {
26
26
  return;
27
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sensor.js","sourceRoot":"","sources":["../../../src/accessory/sensor/sensor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAO,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAgB,eAAuD,SAAQ,aAAgB;IAEnG,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,mBAAmB,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,YAAY,EACnG,wBAAwB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAErE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,QAAQ,EACzF,qBAAqB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,KAAqB;QAEjE,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;QACnE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,KAAqB;QAE9D,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"sensor.js","sourceRoot":"","sources":["../../../src/accessory/sensor/sensor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGzD,OAAO,EAAO,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,OAAgB,eAAuD,SAAQ,aAAgB;IAEnG,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,KAAK,CAAC,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,YAAY,EACrF,wBAAwB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAErE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC,QAAQ,EAC3E,qBAAqB,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,KAAa,EAAE,KAAqB;QAEjE,MAAM,QAAQ,GAAG,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,KAAqB;QAE9D,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;CACF"}
@@ -4,7 +4,7 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  export class SmokeSensorAccessory extends SensorAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setupCharacteristic(CharacteristicKey.SmokeDetected, Characteristic.SmokeDetected.SMOKE_NOT_DETECTED, 'topicGetSmokeDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.SmokeDetected, 'valueSmokeDetected', strings.sensor.smoke.active, strings.sensor.smoke.inactive), true);
7
+ this.setup(CharacteristicKey.SmokeDetected, Characteristic.SmokeDetected.SMOKE_NOT_DETECTED, 'topicGetSmokeDetected', this.bindOnUpdateNumericBoolean(CharacteristicKey.SmokeDetected, 'valueSmokeDetected', strings.sensor.smoke.active, strings.sensor.smoke.inactive), true);
8
8
  }
9
9
  getAccessoryType() {
10
10
  return AccessoryType.SmokeSensor;
@@ -1 +1 @@
1
- {"version":3,"file":"smoke.js","sourceRoot":"","sources":["../../../src/accessory/sensor/smoke.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,oBAAqB,SAAQ,eAAkC;IAE1E,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAyB,EAAE,GAAQ,EAAE,SAAkB;QACzJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,aAAa,EAAE,cAAc,CAAC,aAAa,CAAC,kBAAkB,EACvG,uBAAuB,EACvB,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,aAAa,EAAE,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAClJ,IAAI,CAAC,CAAC;IACV,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,WAAW,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"smoke.js","sourceRoot":"","sources":["../../../src/accessory/sensor/smoke.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,oBAAqB,SAAQ,eAAkC;IAE1E,YAAY,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAAyB,EAAE,GAAQ,EAAE,SAAkB;QACzJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,aAAa,EAAE,cAAc,CAAC,aAAa,CAAC,kBAAkB,EACzF,uBAAuB,EACvB,IAAI,CAAC,0BAA0B,CAAC,iBAAiB,CAAC,aAAa,EAAE,oBAAoB,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,EAClJ,IAAI,CAAC,CAAC;IACV,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,WAAW,CAAC;IACnC,CAAC;CACF"}
@@ -4,7 +4,7 @@ import { AccessoryType, CharacteristicKey } from '../../model/enums.js';
4
4
  export class TemperatureSensorAccessory extends SensorAccessory {
5
5
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
6
6
  super(Service, Characteristic, accessory, config, log, isGrouped);
7
- this.setupCharacteristic(CharacteristicKey.CurrentTemperature, 0, 'topicGetCurrentTemperature', this.bindTemperatureUpdate(config, CharacteristicKey.CurrentTemperature, strings.climate.temperatureUpdate), true);
7
+ this.setup(CharacteristicKey.CurrentTemperature, 0, 'topicGetCurrentTemperature', this.bindTemperatureUpdate(config, CharacteristicKey.CurrentTemperature, strings.climate.temperatureUpdate), true);
8
8
  }
9
9
  getAccessoryType() {
10
10
  return AccessoryType.TemperatureSensor;
@@ -1 +1 @@
1
- {"version":3,"file":"temperature.js","sourceRoot":"","sources":["../../../src/accessory/sensor/temperature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,0BAA2B,SAAQ,eAAwC;IAEtF,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA+B,EAAE,GAAQ,EAAE,SAAkB;QACrJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,EAAE,4BAA4B,EAC5F,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC;IACvH,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,iBAAiB,CAAC;IACzC,CAAC;CACF"}
1
+ {"version":3,"file":"temperature.js","sourceRoot":"","sources":["../../../src/accessory/sensor/temperature.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAKxE,MAAM,OAAO,0BAA2B,SAAQ,eAAwC;IAEtF,YACE,OAAoB,EAAE,cAAkC,EAAE,SAA4B,EAAE,MAA+B,EAAE,GAAQ,EAAE,SAAkB;QACrJ,KAAK,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,CAAC,EAAE,4BAA4B,EAC9E,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,CAAC,kBAAkB,EAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,CAAC;IACvH,CAAC;IAES,gBAAgB;QACxB,OAAO,aAAa,CAAC,iBAAiB,CAAC;IACzC,CAAC;CACF"}
@@ -6,18 +6,18 @@ export class ValveAccessory extends BaseAccessory {
6
6
  constructor(Service, Characteristic, accessory, config, log, isGrouped) {
7
7
  super(Service, Characteristic, accessory, config, log, isGrouped);
8
8
  this.setCharacteristicValue(CharacteristicKey.ValveType, this.toValveTypeCV(this.config.valveType));
9
- this.setupCharacteristic(CharacteristicKey.Active, Characteristic.Active.INACTIVE, 'topicGetValveActive', this.bindOnUpdateNumericBoolean(CharacteristicKey.Active, 'valueActive', strings.valve.active, strings.valve.inactive), true, 'topicSetValveActive', this.onSetActive.bind(this));
10
- this.setupCharacteristic(CharacteristicKey.InUse, Characteristic.InUse.NOT_IN_USE, 'topicGetValveInUse', this.bindOnUpdateNumericBoolean(CharacteristicKey.InUse, 'valueInUse', strings.valve.inUse, strings.valve.notInUse), true);
11
- this.setupCharacteristic(CharacteristicKey.StatusFault, Characteristic.StatusFault.NO_FAULT, 'topicGetStatusFault', this.onFaultUpdate.bind(this), false);
12
- this.setupCharacteristic(CharacteristicKey.SetDuration, 0, 'topicGetValveSetDuration', this.bindOnUpdateNumeric(CharacteristicKey.SetDuration, strings.valve.setDuration), false, 'topicSetValveSetDuration', this.onSetSetDuration.bind(this));
13
- this.setupCharacteristic(CharacteristicKey.RemainingDuration, 0, 'topicGetValveRemainingDuration', this.bindOnUpdateNumeric(CharacteristicKey.RemainingDuration, strings.valve.durationRemaining), false);
14
- this.setupCharacteristic(CharacteristicKey.IsConfigured, Characteristic.IsConfigured.NOT_CONFIGURED, 'topicGetValveIsConfigured', this.bindOnUpdateNumericBoolean(CharacteristicKey.IsConfigured, 'valueConfigured', strings.valve.configured, strings.valve.notConfigured), false, 'topicSetValveIsConfigured', this.onSetIsConfigured.bind(this));
9
+ this.setup(CharacteristicKey.Active, Characteristic.Active.INACTIVE, 'topicGetValveActive', this.bindOnUpdateNumericBoolean(CharacteristicKey.Active, 'valueActive', strings.valve.active, strings.valve.inactive), true, 'topicSetValveActive', this.onSetActive.bind(this));
10
+ this.setup(CharacteristicKey.InUse, Characteristic.InUse.NOT_IN_USE, 'topicGetValveInUse', this.bindOnUpdateNumericBoolean(CharacteristicKey.InUse, 'valueInUse', strings.valve.inUse, strings.valve.notInUse), true);
11
+ this.setup(CharacteristicKey.StatusFault, Characteristic.StatusFault.NO_FAULT, 'topicGetStatusFault', this.onFaultUpdate.bind(this), false);
12
+ this.setup(CharacteristicKey.SetDuration, 0, 'topicGetValveSetDuration', this.bindOnUpdateNumeric(CharacteristicKey.SetDuration, strings.valve.setDuration), false, 'topicSetValveSetDuration', this.onSetSetDuration.bind(this));
13
+ this.setup(CharacteristicKey.RemainingDuration, 0, 'topicGetValveRemainingDuration', this.bindOnUpdateNumeric(CharacteristicKey.RemainingDuration, strings.valve.durationRemaining), false);
14
+ this.setup(CharacteristicKey.IsConfigured, Characteristic.IsConfigured.NOT_CONFIGURED, 'topicGetValveIsConfigured', this.bindOnUpdateNumericBoolean(CharacteristicKey.IsConfigured, 'valueConfigured', strings.valve.configured, strings.valve.notConfigured), false, 'topicSetValveIsConfigured', this.onSetIsConfigured.bind(this));
15
15
  }
16
16
  getAccessoryType() {
17
17
  return AccessoryType.Valve;
18
18
  }
19
19
  async onFaultUpdate(topic, value) {
20
- const fault = value === this.getPrimitiveValue('valueFault');
20
+ const fault = value === this.getPrimitiveValue('valueFault') ? 1 : 0;
21
21
  if (!this.onUpdate(CharacteristicKey.StatusFault, fault)) {
22
22
  return;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"valve.js","sourceRoot":"","sources":["../../src/accessory/valve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"valve.js","sourceRoot":"","sources":["../../src/accessory/valve.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { PLATFORM_NAME, PLUGIN_NAME } from './settings.js';
2
2
  import { GroupAccessory } from '../accessory/abstract/group.js';
3
- import { createAccessory } from '../accessory/abstract/helper.js';
3
+ import { createAccessory, createIdentifier } from '../accessory/abstract/helper.js';
4
4
  import { setLanguage, strings } from '../i18n/i18n.js';
5
5
  import { Log } from '../tools/log.js';
6
6
  import getVersion from '../tools/version.js';
7
7
  import { assert } from '../tools/validation.js';
8
+ import { Properties } from '../tools/properties.js';
8
9
  export class HomebridgeEasyMQTT {
9
10
  config;
10
11
  api;
@@ -35,6 +36,7 @@ export class HomebridgeEasyMQTT {
35
36
  });
36
37
  }
37
38
  async setup() {
39
+ await Properties.initStorage(this.api.user.persistPath());
38
40
  if (!this.config.accessories) {
39
41
  this.config.accessories = [];
40
42
  }
@@ -54,7 +56,7 @@ export class HomebridgeEasyMQTT {
54
56
  groups.set(groupName, group);
55
57
  continue;
56
58
  }
57
- const id = accessoryConfig.info.id ?? `${PLUGIN_NAME}:${accessoryConfig.info.type}:${accessoryConfig.info.name}`;
59
+ const id = createIdentifier(accessoryConfig.info);
58
60
  const uuid = this.api.hap.uuid.generate(id);
59
61
  const platformAccessory = this.createPlatformAccessory(accessoryConfig.info.name, uuid);
60
62
  const accessory = createAccessory(Service, Characteristic, platformAccessory, accessoryConfig, this.log);
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../src/homebridge/platform.ts"],"names":[],"mappings":"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"}
@@ -24,4 +24,4 @@
24
24
 
25
25
  <footer id="footer" class="text-center" style="display: none; font-style: italic; font-size: 0.9em;" i18n="required"></footer>
26
26
 
27
- <script src="ui.js?v=1.4.0-beta.9"></script>
27
+ <script src="ui.js?v=1.4.0"></script>
@@ -1 +1 @@
1
- "use strict";(()=>{var u={arrow:"&rarr;",easy_mqtt:"Easy MQTT",github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-easy-mqtt/">GitHub</a>'};function m(n){document.querySelectorAll("[i18n]").forEach(t=>{let o=t.getAttribute("i18n"),r=n.config[o],e=t.getAttribute("i18n_replace");e&&(r=r.replace("%s",u[e])),t.innerHTML=r})}function S(n){let t=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(t.join(","))).sort((r,e)=>t.indexOf(r.tagName.toLowerCase())-t.indexOf(e.tagName.toLowerCase())).forEach(r=>{let e=r.innerHTML;e=e.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(g,i,a)=>n.config[i]&&typeof n.config[i]=="object"&&a in n.config[i]?n.config[i][a]:g),r.innerHTML!==e&&(r.innerHTML=e)})}function d(n){let t=Array.from(window.parent.document.querySelectorAll("fieldset legend"));for(let o of t){let e=o.closest("fieldset")?.querySelector('input[type="text"][name="name"]');e&&o.textContent!==(e.value||n.config.title.accessory)&&(o.textContent=e.value!==""?e.value:n.config.title.accessory),e&&!e.dataset.accessoryNameListener&&(e.addEventListener("input",()=>d(n)),e.dataset.accessoryNameListener="true")}}function f(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(n==="x"?t:t&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let t=Math.random()*16|0;return(n==="x"?t:t&3|8).toString(16)})}function s(n){let t=!1;n.accessories?.forEach(o=>{if(o.info.id===void 0){let r=f();o.info.id=r,t=!0}}),t&&homebridge.updatePluginConfig([n])}async function x(n){let t=!1;for(let o of n)for(let r of o.accessories??[]){if(r.info.type!=="LockMechanism")continue;let e=r;e.topicGetLockCurrentState!==void 0&&(e.topicGetCurrentLockState=e.topicGetLockCurrentState,e.topicGetLockCurrentState=void 0,t=!0),e.topicGetLockTargetState!==void 0&&(e.topicGetTargetLockState=e.topicGetLockTargetState,e.topicGetLockTargetState=void 0,t=!0),e.topicSetTargetState!==void 0&&(e.topicSetTargetLockState=e.topicSetTargetState,e.topicSetTargetState=void 0,t=!0)}t&&await homebridge.updatePluginConfig(n)}function l(n){document.getElementById("pageIntro").style.display="none",document.getElementById("support").style.display="block",document.getElementById("footer").style.display="block",new MutationObserver(()=>{S(n),d(n)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.addEventListener("configChanged",o=>{let r=o.data;r.length&&s(r[0])}),homebridge.showSchemaForm(),homebridge.hideSpinner(),homebridge.enableSaveButton()}function p(n){document.getElementById("introContinue").addEventListener("click",async()=>{l(n)}),document.getElementById("pageIntro").style.display="block",homebridge.hideSpinner()}homebridge.disableSaveButton(),homebridge.showSpinner();(async()=>{let n=await homebridge.i18nCurrentLang(),t=await homebridge.request("i18n",n);m(t);let o=await homebridge.getPluginConfig();o.length?(await x(o),l(t)):(await homebridge.updatePluginConfig([{name:u.easy_mqtt}]),p(t))})();})();
1
+ "use strict";(()=>{var l={arrow:"&rarr;",easy_mqtt:"Easy MQTT",github:'<a target="_blank" href="https://github.com/mpatfield/homebridge-easy-mqtt/">GitHub</a>'};function S(n){document.querySelectorAll("[i18n]").forEach(t=>{let o=t.getAttribute("i18n"),r=n.config[o],e=t.getAttribute("i18n_replace");e&&(r=r.replace("%s",l[e])),t.innerHTML=r})}function m(n){let t=["span","label","legend","option","p"];Array.from(window.parent.document.querySelectorAll(t.join(","))).sort((r,e)=>t.indexOf(r.tagName.toLowerCase())-t.indexOf(e.tagName.toLowerCase())).forEach(r=>{let e=r.innerHTML;e=e.replaceAll(/\$\{config\.(title|description|enumNames)\.([^}]+)\}/g,(d,i,a)=>n.config[i]&&typeof n.config[i]=="object"&&a in n.config[i]?n.config[i][a]:d),r.innerHTML!==e&&(r.innerHTML=e)})}function u(n){let t=Array.from(window.parent.document.querySelectorAll("fieldset legend"));for(let o of t){let e=o.closest("fieldset")?.querySelector('input[type="text"][name="name"]');e&&o.textContent!==(e.value||n.config.title.accessory)&&(o.textContent=e.value!==""?e.value:n.config.title.accessory),e&&!e.dataset.accessoryNameListener&&(e.addEventListener("input",()=>u(n)),e.dataset.accessoryNameListener="true")}}function f(){if(typeof crypto<"u"){if(crypto.randomUUID)return crypto.randomUUID();if(crypto.getRandomValues)return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let t=crypto.getRandomValues(new Uint8Array(1))[0]&15;return(n==="x"?t:t&3|8).toString(16)})}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let t=Math.random()*16|0;return(n==="x"?t:t&3|8).toString(16)})}function s(n){let t=!1;n.accessories?.forEach(o=>{if(o.info.id===void 0){let r=f();o.info.id=r,t=!0}}),t&&homebridge.updatePluginConfig([n])}async function x(n){let t=!1;for(let o of n)for(let r of o.accessories??[]){if(r.info.type!=="LockMechanism")continue;let e=r;e.topicGetLockCurrentState!==void 0&&(e.topicGetCurrentLockState=e.topicGetLockCurrentState,e.topicGetLockCurrentState=void 0,t=!0),e.topicGetLockTargetState!==void 0&&(e.topicGetTargetLockState=e.topicGetLockTargetState,e.topicGetLockTargetState=void 0,t=!0),e.topicSetTargetState!==void 0&&(e.topicSetTargetLockState=e.topicSetTargetState,e.topicSetTargetState=void 0,t=!0)}t&&await homebridge.updatePluginConfig(n)}function g(n){document.getElementById("pageIntro").style.display="none",document.getElementById("support").style.display="block",document.getElementById("footer").style.display="block",new MutationObserver(()=>{m(n),u(n)}).observe(window.parent.document.body,{childList:!0,subtree:!0}),homebridge.addEventListener("configChanged",o=>{let r=o.data;r.length&&s(r[0])}),homebridge.showSchemaForm(),homebridge.hideSpinner(),homebridge.enableSaveButton()}function p(n){document.getElementById("introContinue").addEventListener("click",async()=>{g(n)}),document.getElementById("pageIntro").style.display="block",homebridge.hideSpinner()}homebridge.disableSaveButton(),homebridge.showSpinner();(async()=>{let n=await homebridge.i18nCurrentLang(),t=await homebridge.request("i18n",n);S(t);let o=await homebridge.getPluginConfig();o.length?(await x(o),g(t)):(await homebridge.updatePluginConfig([{name:l.easy_mqtt}]),p(t))})();})();