@marcel2215/homebridge-supla-plugin 2.1.32 → 2.1.33

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 (120) hide show
  1. package/README.md +1 -67
  2. package/config.json +3 -0
  3. package/config.schema.json +75 -92
  4. package/dist/Accesories/ActionTriggerAccessory.d.ts +1 -0
  5. package/dist/Accesories/ActionTriggerAccessory.d.ts.map +1 -1
  6. package/dist/Accesories/ActionTriggerAccessory.js +9 -15
  7. package/dist/Accesories/ActionTriggerAccessory.js.map +1 -1
  8. package/dist/Accesories/AirQualityAccessory.d.ts +1 -3
  9. package/dist/Accesories/AirQualityAccessory.d.ts.map +1 -1
  10. package/dist/Accesories/AirQualityAccessory.js +5 -47
  11. package/dist/Accesories/AirQualityAccessory.js.map +1 -1
  12. package/dist/Accesories/ContactSensorAccessory.d.ts +1 -3
  13. package/dist/Accesories/ContactSensorAccessory.d.ts.map +1 -1
  14. package/dist/Accesories/ContactSensorAccessory.js +4 -32
  15. package/dist/Accesories/ContactSensorAccessory.js.map +1 -1
  16. package/dist/Accesories/DimmerAccessory.d.ts +3 -7
  17. package/dist/Accesories/DimmerAccessory.d.ts.map +1 -1
  18. package/dist/Accesories/DimmerAccessory.js +16 -84
  19. package/dist/Accesories/DimmerAccessory.js.map +1 -1
  20. package/dist/Accesories/DimmerRgbLightAccessory.d.ts +3 -11
  21. package/dist/Accesories/DimmerRgbLightAccessory.d.ts.map +1 -1
  22. package/dist/Accesories/DimmerRgbLightAccessory.js +26 -148
  23. package/dist/Accesories/DimmerRgbLightAccessory.js.map +1 -1
  24. package/dist/Accesories/DoorAccessory.d.ts +1 -14
  25. package/dist/Accesories/DoorAccessory.d.ts.map +1 -1
  26. package/dist/Accesories/DoorAccessory.js +20 -146
  27. package/dist/Accesories/DoorAccessory.js.map +1 -1
  28. package/dist/Accesories/ElectricityMeterAccessory.d.ts +1 -13
  29. package/dist/Accesories/ElectricityMeterAccessory.d.ts.map +1 -1
  30. package/dist/Accesories/ElectricityMeterAccessory.js +12 -127
  31. package/dist/Accesories/ElectricityMeterAccessory.js.map +1 -1
  32. package/dist/Accesories/FacadeBlindAccessory.d.ts +0 -6
  33. package/dist/Accesories/FacadeBlindAccessory.d.ts.map +1 -1
  34. package/dist/Accesories/FacadeBlindAccessory.js +64 -205
  35. package/dist/Accesories/FacadeBlindAccessory.js.map +1 -1
  36. package/dist/Accesories/FrontGateFsm.d.ts +68 -74
  37. package/dist/Accesories/FrontGateFsm.d.ts.map +1 -1
  38. package/dist/Accesories/FrontGateFsm.js +403 -563
  39. package/dist/Accesories/FrontGateFsm.js.map +1 -1
  40. package/dist/Accesories/GarageDoorOpenerAccesory.d.ts +3 -12
  41. package/dist/Accesories/GarageDoorOpenerAccesory.d.ts.map +1 -1
  42. package/dist/Accesories/GarageDoorOpenerAccesory.js +21 -168
  43. package/dist/Accesories/GarageDoorOpenerAccesory.js.map +1 -1
  44. package/dist/Accesories/GateAccessory.d.ts +2 -12
  45. package/dist/Accesories/GateAccessory.d.ts.map +1 -1
  46. package/dist/Accesories/GateAccessory.js +89 -258
  47. package/dist/Accesories/GateAccessory.js.map +1 -1
  48. package/dist/Accesories/GateLockAccessory.d.ts +1 -17
  49. package/dist/Accesories/GateLockAccessory.d.ts.map +1 -1
  50. package/dist/Accesories/GateLockAccessory.js +50 -375
  51. package/dist/Accesories/GateLockAccessory.js.map +1 -1
  52. package/dist/Accesories/LeakSensorAccessory.d.ts +1 -3
  53. package/dist/Accesories/LeakSensorAccessory.d.ts.map +1 -1
  54. package/dist/Accesories/LeakSensorAccessory.js +4 -32
  55. package/dist/Accesories/LeakSensorAccessory.js.map +1 -1
  56. package/dist/Accesories/LightBulbAccesory.d.ts +3 -4
  57. package/dist/Accesories/LightBulbAccesory.d.ts.map +1 -1
  58. package/dist/Accesories/LightBulbAccesory.js +12 -40
  59. package/dist/Accesories/LightBulbAccesory.js.map +1 -1
  60. package/dist/Accesories/PressureAccessory.d.ts +1 -3
  61. package/dist/Accesories/PressureAccessory.d.ts.map +1 -1
  62. package/dist/Accesories/PressureAccessory.js +5 -28
  63. package/dist/Accesories/PressureAccessory.js.map +1 -1
  64. package/dist/Accesories/RGBLightBulbAccesory.d.ts +1 -10
  65. package/dist/Accesories/RGBLightBulbAccesory.d.ts.map +1 -1
  66. package/dist/Accesories/RGBLightBulbAccesory.js +17 -136
  67. package/dist/Accesories/RGBLightBulbAccesory.js.map +1 -1
  68. package/dist/Accesories/RollerShutterAccessory.d.ts +0 -6
  69. package/dist/Accesories/RollerShutterAccessory.d.ts.map +1 -1
  70. package/dist/Accesories/RollerShutterAccessory.js +75 -221
  71. package/dist/Accesories/RollerShutterAccessory.js.map +1 -1
  72. package/dist/Accesories/SwitchAccessory.d.ts +3 -4
  73. package/dist/Accesories/SwitchAccessory.d.ts.map +1 -1
  74. package/dist/Accesories/SwitchAccessory.js +12 -40
  75. package/dist/Accesories/SwitchAccessory.js.map +1 -1
  76. package/dist/Accesories/TemperatureAccessory.d.ts +1 -3
  77. package/dist/Accesories/TemperatureAccessory.d.ts.map +1 -1
  78. package/dist/Accesories/TemperatureAccessory.js +5 -28
  79. package/dist/Accesories/TemperatureAccessory.js.map +1 -1
  80. package/dist/Accesories/TemperatureHumidityAccessory.d.ts +1 -5
  81. package/dist/Accesories/TemperatureHumidityAccessory.d.ts.map +1 -1
  82. package/dist/Accesories/TemperatureHumidityAccessory.js +9 -40
  83. package/dist/Accesories/TemperatureHumidityAccessory.js.map +1 -1
  84. package/dist/Accesories/ThermostatAccessory.d.ts +1 -18
  85. package/dist/Accesories/ThermostatAccessory.d.ts.map +1 -1
  86. package/dist/Accesories/ThermostatAccessory.js +34 -193
  87. package/dist/Accesories/ThermostatAccessory.js.map +1 -1
  88. package/dist/Accesories/ValveAccessory.d.ts +2 -5
  89. package/dist/Accesories/ValveAccessory.d.ts.map +1 -1
  90. package/dist/Accesories/ValveAccessory.js +8 -47
  91. package/dist/Accesories/ValveAccessory.js.map +1 -1
  92. package/dist/Accesories/WicketAccesory.d.ts +3 -18
  93. package/dist/Accesories/WicketAccesory.d.ts.map +1 -1
  94. package/dist/Accesories/WicketAccesory.js +14 -154
  95. package/dist/Accesories/WicketAccesory.js.map +1 -1
  96. package/dist/Heplers/ColorConverters.d.ts +2 -2
  97. package/dist/Heplers/ColorConverters.d.ts.map +1 -1
  98. package/dist/Heplers/ColorConverters.js +3 -7
  99. package/dist/Heplers/ColorConverters.js.map +1 -1
  100. package/dist/Heplers/SuplaChannelContext.d.ts +1 -3
  101. package/dist/Heplers/SuplaChannelContext.d.ts.map +1 -1
  102. package/dist/Heplers/SuplaChannelContext.js +1 -3
  103. package/dist/Heplers/SuplaChannelContext.js.map +1 -1
  104. package/dist/Heplers/SuplaMqttClient.d.ts +3 -11
  105. package/dist/Heplers/SuplaMqttClient.d.ts.map +1 -1
  106. package/dist/Heplers/SuplaMqttClient.js +112 -215
  107. package/dist/Heplers/SuplaMqttClient.js.map +1 -1
  108. package/dist/Heplers/SuplaMqttClientContext.d.ts +1 -2
  109. package/dist/Heplers/SuplaMqttClientContext.d.ts.map +1 -1
  110. package/dist/Heplers/SuplaMqttClientContext.js +1 -2
  111. package/dist/Heplers/SuplaMqttClientContext.js.map +1 -1
  112. package/dist/platform.d.ts +36 -93
  113. package/dist/platform.d.ts.map +1 -1
  114. package/dist/platform.js +236 -1285
  115. package/dist/platform.js.map +1 -1
  116. package/package.json +5 -10
  117. package/dist/Heplers/DisplayName.d.ts +0 -15
  118. package/dist/Heplers/DisplayName.d.ts.map +0 -1
  119. package/dist/Heplers/DisplayName.js +0 -174
  120. package/dist/Heplers/DisplayName.js.map +0 -1
@@ -7,14 +7,13 @@ export declare class SwitchAccessory {
7
7
  private readonly context;
8
8
  private service;
9
9
  private state;
10
- private connected?;
11
- private overcurrent?;
12
- private hasState;
10
+ private connected;
11
+ private overcurrent;
13
12
  private updateTimer?;
14
13
  constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
15
14
  handleOnGet(): Promise<CharacteristicValue>;
16
15
  handleOnSet(value: CharacteristicValue): Promise<void>;
16
+ private updateFault;
17
17
  private clearUpdateTimer;
18
- private assertAvailable;
19
18
  }
20
19
  //# sourceMappingURL=SwitchAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/SwitchAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,eAAe;IASxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAV1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAC,CAAU;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAU;IAC9B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,WAAW,CAAC,CAAiB;gBAGlB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAqEzC,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAS3C,WAAW,CAAC,KAAK,EAAE,mBAAmB;IAe5C,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,eAAe;CAOxB"}
1
+ {"version":3,"file":"SwitchAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/SwitchAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,eAAe;IAQxB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAC,CAAiB;gBAGlB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IA6CzC,WAAW,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI3C,WAAW,CAAC,KAAK,EAAE,mBAAmB;IAc5C,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,gBAAgB;CAMzB"}
@@ -7,7 +7,8 @@ class SwitchAccessory {
7
7
  this.accessory = accessory;
8
8
  this.context = context;
9
9
  this.state = false;
10
- this.hasState = false;
10
+ this.connected = true;
11
+ this.overcurrent = false;
11
12
  this.accessory.getService(this.platform.Service.AccessoryInformation)
12
13
  .setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
13
14
  .setCharacteristic(this.platform.Characteristic.Model, 'SwitchController');
@@ -21,68 +22,39 @@ class SwitchAccessory {
21
22
  this.clearUpdateTimer();
22
23
  });
23
24
  this.platform.registerMqttHandler(`${this.context.topic}/state/on`, (message) => {
24
- const state = this.platform.parseBooleanStrict(message.toString());
25
- if (state === undefined) {
26
- return;
27
- }
28
- this.state = state;
29
- this.hasState = true;
25
+ this.state = this.platform.parseBoolean(message.toString());
30
26
  this.service.updateCharacteristic(this.platform.Characteristic.On, this.state);
31
27
  }, this.accessory.UUID);
32
28
  this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
33
- const connected = this.platform.parseBooleanStrict(message.toString());
34
- if (connected === undefined) {
35
- return;
36
- }
37
- this.connected = connected;
38
- if (!connected) {
39
- this.hasState = false;
40
- this.overcurrent = undefined;
41
- this.clearUpdateTimer();
42
- }
29
+ this.connected = this.platform.parseBoolean(message.toString());
30
+ this.updateFault();
43
31
  }, this.accessory.UUID);
44
32
  this.platform.registerMqttHandler(`${this.context.topic}/state/overcurrent_relay_off`, (message) => {
45
- const overcurrent = this.platform.parseBooleanStrict(message.toString());
46
- if (overcurrent === undefined) {
47
- return;
48
- }
49
- this.overcurrent = overcurrent;
50
- }, this.accessory.UUID);
51
- this.platform.registerMqttTransportHandler?.((transportConnected) => {
52
- this.connected = transportConnected ? undefined : false;
53
- if (!transportConnected) {
54
- this.hasState = false;
55
- this.overcurrent = undefined;
56
- this.clearUpdateTimer();
57
- }
33
+ this.overcurrent = this.platform.parseBoolean(message.toString());
34
+ this.updateFault();
58
35
  }, this.accessory.UUID);
59
36
  }
60
37
  async handleOnGet() {
61
- if (this.connected === false || !this.hasState || this.overcurrent === true) {
62
- throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
63
- }
64
38
  return this.state;
65
39
  }
66
40
  async handleOnSet(value) {
67
- this.assertAvailable();
68
41
  this.platform.log.debug(`Publishing ${this.context.topic}/set/on = ${value.toString()}`);
69
- await this.platform.publishCommandAsync(`${this.context.topic}/set/on`, value.toString());
42
+ this.platform.publishCommand(`${this.context.topic}/set/on`, value.toString());
70
43
  this.clearUpdateTimer();
71
44
  this.updateTimer = setTimeout(() => {
72
45
  this.service.updateCharacteristic(this.platform.Characteristic.On, this.state);
73
46
  }, 300);
74
47
  }
48
+ updateFault() {
49
+ const fault = this.connected && !this.overcurrent ? 0 : 1;
50
+ this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, fault);
51
+ }
75
52
  clearUpdateTimer() {
76
53
  if (this.updateTimer) {
77
54
  clearTimeout(this.updateTimer);
78
55
  this.updateTimer = undefined;
79
56
  }
80
57
  }
81
- assertAvailable() {
82
- if (this.connected === false || !this.hasState || this.overcurrent === true) {
83
- throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
84
- }
85
- }
86
58
  }
87
59
  exports.SwitchAccessory = SwitchAccessory;
88
60
  //# sourceMappingURL=SwitchAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SwitchAccessory.js","sourceRoot":"","sources":["../../src/Accesories/SwitchAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SwitchAccessory.js","sourceRoot":"","sources":["../../src/Accesories/SwitchAccessory.ts"],"names":[],"mappings":"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"}
@@ -7,11 +7,9 @@ export declare class TemperatureAccessory {
7
7
  private readonly context;
8
8
  private service;
9
9
  private temperature;
10
- private connected?;
11
- private hasTemperature;
10
+ private connected;
12
11
  constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
13
12
  handleTemperatureGet(): Promise<CharacteristicValue>;
14
- private updateFault;
15
13
  private clamp;
16
14
  }
17
15
  //# sourceMappingURL=TemperatureAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemperatureAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/TemperatureAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,oBAAoB;IAO7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAR1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAC,CAAU;IAC5B,OAAO,CAAC,cAAc,CAAS;gBAGZ,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAuDzC,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAS1D,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"TemperatureAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/TemperatureAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,oBAAoB;IAM7B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAP1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,SAAS,CAAQ;gBAGN,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAyCzC,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI1D,OAAO,CAAC,KAAK;CAGd"}
@@ -7,7 +7,7 @@ class TemperatureAccessory {
7
7
  this.accessory = accessory;
8
8
  this.context = context;
9
9
  this.temperature = 0;
10
- this.hasTemperature = false;
10
+ this.connected = true;
11
11
  this.accessory.getService(this.platform.Service.AccessoryInformation)
12
12
  .setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
13
13
  .setCharacteristic(this.platform.Characteristic.Model, 'TemperatureSensor');
@@ -17,43 +17,20 @@ class TemperatureAccessory {
17
17
  this.service.getCharacteristic(this.platform.Characteristic.CurrentTemperature)
18
18
  .onGet(this.handleTemperatureGet.bind(this));
19
19
  this.platform.registerMqttHandler(`${this.context.topic}/state/temperature`, (message) => {
20
- const value = this.platform.parseFiniteNumberStrict(message.toString());
21
- if (value !== undefined) {
20
+ const value = parseFloat(message.toString());
21
+ if (!Number.isNaN(value)) {
22
22
  this.temperature = this.clamp(value, -50, 100);
23
- this.hasTemperature = true;
24
23
  this.service.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, this.temperature);
25
- this.updateFault();
26
24
  }
27
25
  }, this.accessory.UUID);
28
26
  this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
29
- const connected = this.platform.parseBooleanStrict(message.toString());
30
- if (connected === undefined) {
31
- return;
32
- }
33
- this.connected = connected;
34
- if (!connected) {
35
- this.hasTemperature = false;
36
- }
37
- this.updateFault();
27
+ this.connected = this.platform.parseBoolean(message.toString());
28
+ this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected ? 0 : 1);
38
29
  }, this.accessory.UUID);
39
- this.platform.registerMqttTransportHandler?.((transportConnected) => {
40
- if (!transportConnected) {
41
- this.connected = undefined;
42
- this.hasTemperature = false;
43
- this.updateFault();
44
- }
45
- }, this.accessory.UUID);
46
- this.updateFault();
47
30
  }
48
31
  async handleTemperatureGet() {
49
- if (this.connected !== true || !this.hasTemperature) {
50
- throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
51
- }
52
32
  return this.temperature;
53
33
  }
54
- updateFault() {
55
- this.service.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected === true && this.hasTemperature ? 0 : 1);
56
- }
57
34
  clamp(value, min, max) {
58
35
  return Math.min(Math.max(value, min), max);
59
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TemperatureAccessory.js","sourceRoot":"","sources":["../../src/Accesories/TemperatureAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemperatureAccessory.js","sourceRoot":"","sources":["../../src/Accesories/TemperatureAccessory.ts"],"names":[],"mappings":";;;AAIA,MAAa,oBAAoB;IAK/B,YACmB,QAAuB,EACvB,SAA4B,EAC5B,OAA4B;QAF5B,aAAQ,GAAR,QAAQ,CAAe;QACvB,cAAS,GAAT,SAAS,CAAmB;QAC5B,YAAO,GAAP,OAAO,CAAqB;QANvC,gBAAW,GAAG,CAAC,CAAC;QAChB,cAAS,GAAG,IAAI,CAAC;QAOvB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAE;aACnE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,YAAY,EAAE,OAAO,CAAC;aACrE,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAE9E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC;eAC5E,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAExE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC;QAEzF,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;aAC5E,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE/C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,oBAAoB,EACzC,CAAC,OAAO,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC/C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,EAC/C,IAAI,CAAC,WAAW,CACjB,CAAC;YACJ,CAAC;QACH,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC/B,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,kBAAkB,EACvC,CAAC,OAAO,EAAE,EAAE;YACV,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAC/B,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,EACxC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACvB,CAAC;QACJ,CAAC,EACD,IAAI,CAAC,SAAS,CAAC,IAAI,CACpB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;QACnD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;CACF;AAxDD,oDAwDC"}
@@ -9,14 +9,10 @@ export declare class TemperatureHumidityAccessory {
9
9
  private humidityService;
10
10
  private temperature;
11
11
  private humidity;
12
- private connected?;
13
- private hasTemperature;
14
- private hasHumidity;
12
+ private connected;
15
13
  constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
16
14
  handleTemperatureGet(): Promise<CharacteristicValue>;
17
15
  handleHumidityGet(): Promise<CharacteristicValue>;
18
16
  private clamp;
19
- private updateFaults;
20
- private assertAvailable;
21
17
  }
22
18
  //# sourceMappingURL=TemperatureHumidityAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemperatureHumidityAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/TemperatureHumidityAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,4BAA4B;IAUrC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAX1B,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAC,CAAU;IAC5B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;gBAGT,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IA6EzC,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKpD,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKvD,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;CAOxB"}
1
+ {"version":3,"file":"TemperatureHumidityAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/TemperatureHumidityAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,4BAA4B;IAQrC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAT1B,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAQ;gBAGN,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAgEzC,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIpD,iBAAiB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIvD,OAAO,CAAC,KAAK;CAGd"}
@@ -8,8 +8,7 @@ class TemperatureHumidityAccessory {
8
8
  this.context = context;
9
9
  this.temperature = 0;
10
10
  this.humidity = 0;
11
- this.hasTemperature = false;
12
- this.hasHumidity = false;
11
+ this.connected = true;
13
12
  this.accessory.getService(this.platform.Service.AccessoryInformation)
14
13
  .setCharacteristic(this.platform.Characteristic.Manufacturer, 'Supla')
15
14
  .setCharacteristic(this.platform.Characteristic.Model, 'HumidityTemperatureSensor');
@@ -24,65 +23,35 @@ class TemperatureHumidityAccessory {
24
23
  this.humidityService.getCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity)
25
24
  .onGet(this.handleHumidityGet.bind(this));
26
25
  this.platform.registerMqttHandler(`${this.context.topic}/state/temperature`, (message) => {
27
- const value = this.platform.parseFiniteNumberStrict(message.toString());
28
- if (value !== undefined) {
26
+ const value = parseFloat(message.toString());
27
+ if (!Number.isNaN(value)) {
29
28
  this.temperature = this.clamp(value, -50, 100);
30
- this.hasTemperature = true;
31
29
  this.temperatureService.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, this.temperature);
32
- this.updateFaults();
33
30
  }
34
31
  }, this.accessory.UUID);
35
32
  this.platform.registerMqttHandler(`${this.context.topic}/state/humidity`, (message) => {
36
- const value = this.platform.parseFiniteNumberStrict(message.toString());
37
- if (value !== undefined) {
33
+ const value = parseFloat(message.toString());
34
+ if (!Number.isNaN(value)) {
38
35
  this.humidity = this.clamp(value, 0, 100);
39
- this.hasHumidity = true;
40
36
  this.humidityService.updateCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity, this.humidity);
41
- this.updateFaults();
42
37
  }
43
38
  }, this.accessory.UUID);
44
39
  this.platform.registerMqttHandler(`${this.context.topic}/state/connected`, (message) => {
45
- const connected = this.platform.parseBooleanStrict(message.toString());
46
- if (connected === undefined) {
47
- return;
48
- }
49
- this.connected = connected;
50
- if (!connected) {
51
- this.hasTemperature = false;
52
- this.hasHumidity = false;
53
- }
54
- this.updateFaults();
55
- }, this.accessory.UUID);
56
- this.platform.registerMqttTransportHandler?.((transportConnected) => {
57
- if (!transportConnected) {
58
- this.connected = undefined;
59
- this.hasTemperature = false;
60
- this.hasHumidity = false;
61
- this.updateFaults();
62
- }
40
+ this.connected = this.platform.parseBoolean(message.toString());
41
+ const faultValue = this.connected ? 0 : 1;
42
+ this.temperatureService.updateCharacteristic(this.platform.Characteristic.StatusFault, faultValue);
43
+ this.humidityService.updateCharacteristic(this.platform.Characteristic.StatusFault, faultValue);
63
44
  }, this.accessory.UUID);
64
- this.updateFaults();
65
45
  }
66
46
  async handleTemperatureGet() {
67
- this.assertAvailable(this.hasTemperature);
68
47
  return this.temperature;
69
48
  }
70
49
  async handleHumidityGet() {
71
- this.assertAvailable(this.hasHumidity);
72
50
  return this.humidity;
73
51
  }
74
52
  clamp(value, min, max) {
75
53
  return Math.min(Math.max(value, min), max);
76
54
  }
77
- updateFaults() {
78
- this.temperatureService.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected === true && this.hasTemperature ? 0 : 1);
79
- this.humidityService.updateCharacteristic(this.platform.Characteristic.StatusFault, this.connected === true && this.hasHumidity ? 0 : 1);
80
- }
81
- assertAvailable(hasValue) {
82
- if (this.connected !== true || !hasValue) {
83
- throw new this.platform.api.hap.HapStatusError(-70402 /* this.platform.api.hap.HAPStatus.SERVICE_COMMUNICATION_FAILURE */);
84
- }
85
- }
86
55
  }
87
56
  exports.TemperatureHumidityAccessory = TemperatureHumidityAccessory;
88
57
  //# sourceMappingURL=TemperatureHumidityAccessory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemperatureHumidityAccessory.js","sourceRoot":"","sources":["../../src/Accesories/TemperatureHumidityAccessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemperatureHumidityAccessory.js","sourceRoot":"","sources":["../../src/Accesories/TemperatureHumidityAccessory.ts"],"names":[],"mappings":"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"}
@@ -11,16 +11,8 @@ export declare class ThermostatAccessory {
11
11
  private targetState;
12
12
  private currentState;
13
13
  private connected;
14
- private isOn?;
14
+ private isOn;
15
15
  private hasCurrentTemperature;
16
- private hasTargetTemperature;
17
- private rawMode?;
18
- private rawAction?;
19
- private modeStateRevision;
20
- private isOnStateRevision;
21
- private targetStateTransaction?;
22
- private targetStateReconciliationTimer?;
23
- private readonly targetStateReconciliationTimeoutMs;
24
16
  constructor(platform: SuplaPlatform, accessory: PlatformAccessory, context: SuplaChannelContext);
25
17
  handleCurrentTemperatureGet(): Promise<CharacteristicValue>;
26
18
  handleTargetTemperatureGet(): Promise<CharacteristicValue>;
@@ -28,18 +20,9 @@ export declare class ThermostatAccessory {
28
20
  handleCurrentStateGet(): Promise<CharacteristicValue>;
29
21
  handleTargetStateGet(): Promise<CharacteristicValue>;
30
22
  handleTargetStateSet(value: CharacteristicValue): Promise<void>;
31
- private recomputeHomeKitState;
32
23
  private toTargetState;
33
24
  private toCurrentState;
34
25
  private fromTargetState;
35
- private isKnownMode;
36
- private isKnownAction;
37
26
  private clamp;
38
- private assertAvailable;
39
- private recordTargetStateTransactionUncertainty;
40
- private noteFreshTransactionState;
41
- private updateFault;
42
- private clearTargetStateReconciliationTimer;
43
- private communicationError;
44
27
  }
45
28
  //# sourceMappingURL=ThermostatAccessory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThermostatAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/ThermostatAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAYrE,qBAAa,mBAAmB;IAmB5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IApB1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,kBAAkB,CAAM;IAChC,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,WAAW,CAA8D;IACjF,OAAO,CAAC,YAAY,CAA+D;IACnF,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,IAAI,CAAC,CAAU;IACvB,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,sBAAsB,CAAC,CAAoC;IACnE,OAAO,CAAC,8BAA8B,CAAC,CAAiB;IACxD,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAS;gBAGzC,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAoIzC,2BAA2B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAK3D,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAK1D,0BAA0B,CAAC,KAAK,EAAE,mBAAmB;IAiBrD,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKrD,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAKpD,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IAsCrD,OAAO,CAAC,qBAAqB;IAgB7B,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,uCAAuC;IAyC/C,OAAO,CAAC,yBAAyB;IAqBjC,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,mCAAmC;IAO3C,OAAO,CAAC,kBAAkB;CAK3B"}
1
+ {"version":3,"file":"ThermostatAccessory.d.ts","sourceRoot":"","sources":["../../src/Accesories/ThermostatAccessory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAErE,qBAAa,mBAAmB;IAW5B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAZ1B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,kBAAkB,CAAM;IAChC,OAAO,CAAC,iBAAiB,CAAM;IAC/B,OAAO,CAAC,WAAW,CAA8D;IACjF,OAAO,CAAC,YAAY,CAA+D;IACnF,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,qBAAqB,CAAS;gBAGnB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,iBAAiB,EAC5B,OAAO,EAAE,mBAAmB;IAgHzC,2BAA2B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI3D,0BAA0B,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAI1D,0BAA0B,CAAC,KAAK,EAAE,mBAAmB;IAYrD,qBAAqB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIrD,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAIpD,oBAAoB,CAAC,KAAK,EAAE,mBAAmB;IAqBrD,OAAO,CAAC,aAAa;IAyBrB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,KAAK;CAGd"}