@switchbot/homebridge-switchbot 1.3.1-beta.9 → 1.4.1-beta.2

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 (103) hide show
  1. package/CHANGELOG.md +18 -2
  2. package/config.schema.json +82 -32
  3. package/dist/devices/bots.d.ts +15 -3
  4. package/dist/devices/bots.d.ts.map +1 -1
  5. package/dist/devices/bots.js +227 -165
  6. package/dist/devices/bots.js.map +1 -1
  7. package/dist/devices/colorbulb.d.ts +14 -3
  8. package/dist/devices/colorbulb.d.ts.map +1 -1
  9. package/dist/devices/colorbulb.js +163 -105
  10. package/dist/devices/colorbulb.js.map +1 -1
  11. package/dist/devices/contact.d.ts +13 -3
  12. package/dist/devices/contact.d.ts.map +1 -1
  13. package/dist/devices/contact.js +102 -63
  14. package/dist/devices/contact.js.map +1 -1
  15. package/dist/devices/curtains.d.ts +14 -5
  16. package/dist/devices/curtains.d.ts.map +1 -1
  17. package/dist/devices/curtains.js +180 -140
  18. package/dist/devices/curtains.js.map +1 -1
  19. package/dist/devices/humidifiers.d.ts +14 -3
  20. package/dist/devices/humidifiers.d.ts.map +1 -1
  21. package/dist/devices/humidifiers.js +173 -133
  22. package/dist/devices/humidifiers.js.map +1 -1
  23. package/dist/devices/meters.d.ts +17 -13
  24. package/dist/devices/meters.d.ts.map +1 -1
  25. package/dist/devices/meters.js +150 -105
  26. package/dist/devices/meters.js.map +1 -1
  27. package/dist/devices/motion.d.ts +13 -3
  28. package/dist/devices/motion.d.ts.map +1 -1
  29. package/dist/devices/motion.js +89 -45
  30. package/dist/devices/motion.js.map +1 -1
  31. package/dist/devices/plugs.d.ts +15 -3
  32. package/dist/devices/plugs.d.ts.map +1 -1
  33. package/dist/devices/plugs.js +115 -53
  34. package/dist/devices/plugs.js.map +1 -1
  35. package/dist/irdevices/airconditioners.d.ts +13 -3
  36. package/dist/irdevices/airconditioners.d.ts.map +1 -1
  37. package/dist/irdevices/airconditioners.js +97 -46
  38. package/dist/irdevices/airconditioners.js.map +1 -1
  39. package/dist/irdevices/airpurifiers.d.ts +13 -3
  40. package/dist/irdevices/airpurifiers.d.ts.map +1 -1
  41. package/dist/irdevices/airpurifiers.js +85 -31
  42. package/dist/irdevices/airpurifiers.js.map +1 -1
  43. package/dist/irdevices/cameras.d.ts +12 -3
  44. package/dist/irdevices/cameras.d.ts.map +1 -1
  45. package/dist/irdevices/cameras.js +73 -24
  46. package/dist/irdevices/cameras.js.map +1 -1
  47. package/dist/irdevices/fans.d.ts +12 -3
  48. package/dist/irdevices/fans.d.ts.map +1 -1
  49. package/dist/irdevices/fans.js +83 -35
  50. package/dist/irdevices/fans.js.map +1 -1
  51. package/dist/irdevices/lights.d.ts +12 -3
  52. package/dist/irdevices/lights.d.ts.map +1 -1
  53. package/dist/irdevices/lights.js +74 -25
  54. package/dist/irdevices/lights.js.map +1 -1
  55. package/dist/irdevices/others.d.ts +12 -3
  56. package/dist/irdevices/others.d.ts.map +1 -1
  57. package/dist/irdevices/others.js +80 -31
  58. package/dist/irdevices/others.js.map +1 -1
  59. package/dist/irdevices/tvs.d.ts +12 -3
  60. package/dist/irdevices/tvs.d.ts.map +1 -1
  61. package/dist/irdevices/tvs.js +90 -42
  62. package/dist/irdevices/tvs.js.map +1 -1
  63. package/dist/irdevices/vacuumcleaners.d.ts +12 -3
  64. package/dist/irdevices/vacuumcleaners.d.ts.map +1 -1
  65. package/dist/irdevices/vacuumcleaners.js +73 -24
  66. package/dist/irdevices/vacuumcleaners.js.map +1 -1
  67. package/dist/irdevices/waterheaters.d.ts +12 -3
  68. package/dist/irdevices/waterheaters.d.ts.map +1 -1
  69. package/dist/irdevices/waterheaters.js +73 -24
  70. package/dist/irdevices/waterheaters.js.map +1 -1
  71. package/dist/platform.d.ts +10 -10
  72. package/dist/platform.d.ts.map +1 -1
  73. package/dist/platform.js +290 -307
  74. package/dist/platform.js.map +1 -1
  75. package/dist/settings.d.ts +9 -6
  76. package/dist/settings.d.ts.map +1 -1
  77. package/dist/settings.js.map +1 -1
  78. package/nodemon.json +1 -1
  79. package/package.json +6 -6
  80. package/src/devices/bots.ts +221 -152
  81. package/src/devices/colorbulb.ts +172 -108
  82. package/src/devices/contact.ts +109 -64
  83. package/src/devices/curtains.ts +190 -146
  84. package/src/devices/humidifiers.ts +181 -135
  85. package/src/devices/meters.ts +156 -105
  86. package/src/devices/motion.ts +95 -45
  87. package/src/devices/plugs.ts +121 -53
  88. package/src/irdevices/airconditioners.ts +102 -46
  89. package/src/irdevices/airpurifiers.ts +91 -31
  90. package/src/irdevices/cameras.ts +79 -24
  91. package/src/irdevices/fans.ts +89 -36
  92. package/src/irdevices/lights.ts +80 -25
  93. package/src/irdevices/others.ts +86 -31
  94. package/src/irdevices/tvs.ts +96 -42
  95. package/src/irdevices/vacuumcleaners.ts +79 -24
  96. package/src/irdevices/waterheaters.ts +79 -24
  97. package/src/platform.ts +285 -302
  98. package/src/settings.ts +10 -6
  99. package/dist/devices/indoorcam.d.ts +0 -64
  100. package/dist/devices/indoorcam.d.ts.map +0 -1
  101. package/dist/devices/indoorcam.js +0 -249
  102. package/dist/devices/indoorcam.js.map +0 -1
  103. package/src/devices/indoorcam.ts +0 -309
@@ -1 +1 @@
1
- {"version":3,"file":"humidifiers.js","sourceRoot":"","sources":["../../src/devices/humidifiers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"humidifiers.js","sourceRoot":"","sources":["../../src/devices/humidifiers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Subject } from 'rxjs';
2
2
  import { SwitchBotPlatform } from '../platform';
3
3
  import { Service, PlatformAccessory, CharacteristicValue } from 'homebridge';
4
- import { device, devicesConfig, serviceData, switchbot, deviceStatusResponse } from '../settings';
4
+ import { device, devicesConfig, serviceData, switchbot, deviceStatusResponse, temperature } from '../settings';
5
5
  /**
6
6
  * Platform Accessory
7
7
  * An instance of this class is created for each accessory your platform registers
@@ -15,8 +15,11 @@ export declare class Meter {
15
15
  temperatureservice?: Service;
16
16
  humidityservice?: Service;
17
17
  CurrentRelativeHumidity: CharacteristicValue;
18
+ CurrentRelativeHumidityCached: CharacteristicValue;
18
19
  CurrentTemperature: CharacteristicValue;
20
+ CurrentTemperatureCached: CharacteristicValue;
19
21
  BatteryLevel: CharacteristicValue;
22
+ BatteryLevelCached: CharacteristicValue;
20
23
  ChargingState: CharacteristicValue;
21
24
  StatusLowBattery: CharacteristicValue;
22
25
  Active: CharacteristicValue;
@@ -25,15 +28,16 @@ export declare class Meter {
25
28
  connected?: boolean;
26
29
  switchbot: switchbot;
27
30
  serviceData: serviceData;
31
+ temperature: temperature['c'];
28
32
  battery: serviceData['battery'];
29
33
  humidity: serviceData['humidity'];
30
- fahrenheit: serviceData['fahrenheit'];
31
- temperature: serviceData['temperature'];
32
- private readonly deviceDebug;
33
- private readonly debugDebug;
34
+ deviceLogging: string;
35
+ deviceRefreshRate: number;
34
36
  meterUpdateInProgress: boolean;
35
37
  doMeterUpdate: Subject<void>;
36
38
  constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: device & devicesConfig);
39
+ refreshRate(): void;
40
+ logs(): void;
37
41
  /**
38
42
  * Parse the device status from the SwitchBot api
39
43
  */
@@ -51,14 +55,14 @@ export declare class Meter {
51
55
  * Updates the status for each of the HomeKit Characteristics
52
56
  */
53
57
  updateHomeKitCharacteristics(): void;
54
- apiError(e: any): void;
58
+ apiError(): void;
55
59
  /**
56
- * Converts the value to celsius if the temperature units are in Fahrenheit
57
- */
58
- toCelsius(value: number): number;
59
- /**
60
- * Converts the value to fahrenheit if the temperature units are in Fahrenheit
61
- */
62
- toFahrenheit(value: number): number;
60
+ * Logging for Device
61
+ */
62
+ infoLog(...log: any[]): void;
63
+ warnLog(...log: any[]): void;
64
+ errorLog(...log: any[]): void;
65
+ debugLog(...log: any[]): void;
66
+ enablingDeviceLogging(): boolean;
63
67
  }
64
68
  //# sourceMappingURL=meters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"meters.d.ts","sourceRoot":"","sources":["../../src/devices/meters.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,OAAO,EAAE,MAAM,MAAM,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAS,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACpF,OAAO,EAAa,MAAM,EAAE,aAAa,EAAE,WAAW,EAAM,SAAS,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEjH;;;;GAIG;AACH,qBAAa,KAAK;IAoCd,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,SAAS;IACV,MAAM,EAAE,MAAM,GAAG,aAAa;IApCvC,OAAO,CAAC,OAAO,CAAU;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAG1B,uBAAuB,EAAG,mBAAmB,CAAC;IAC9C,kBAAkB,EAAG,mBAAmB,CAAC;IACzC,YAAY,EAAG,mBAAmB,CAAC;IACnC,aAAa,EAAG,mBAAmB,CAAC;IACpC,gBAAgB,EAAG,mBAAmB,CAAC;IACvC,MAAM,EAAG,mBAAmB,CAAC;IAC7B,UAAU,EAAG,mBAAmB,CAAC;IAGjC,YAAY,EAAG,oBAAoB,CAAC;IAGpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAG,SAAS,CAAC;IACtB,WAAW,EAAG,WAAW,CAAC;IAC1B,OAAO,EAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,EAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IACnC,UAAU,EAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IACvC,WAAW,EAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAGzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA+E;IAC3G,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA8E;IAGzG,qBAAqB,EAAG,OAAO,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAGV,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,GAAG,aAAa;IAgHvC;;OAEG;IACG,WAAW;YAQH,cAAc;YA+Bd,kBAAkB;IAiChC;;OAEG;IACG,aAAa;IAQnB,OAAO,CAAC,UAAU;YAOJ,gBAAgB;YA8DhB,oBAAoB;IAuBlC;;OAEG;IACH,4BAA4B;IA+BrB,QAAQ,CAAC,CAAC,EAAE,GAAG;IAWtB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM;IAKvB;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM;CAG3B"}
1
+ {"version":3,"file":"meters.d.ts","sourceRoot":"","sources":["../../src/devices/meters.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,OAAO,EAAE,MAAM,MAAM,CAAC;AAEzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAS,mBAAmB,EAAa,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAa,MAAM,EAAE,aAAa,EAAE,WAAW,EAAM,SAAS,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE9H;;;;GAIG;AACH,qBAAa,KAAK;IAsCd,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,SAAS;IACV,MAAM,EAAE,MAAM,GAAG,aAAa;IAtCvC,OAAO,CAAC,OAAO,CAAU;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;IAG1B,uBAAuB,EAAG,mBAAmB,CAAC;IAC9C,6BAA6B,EAAG,mBAAmB,CAAC;IACpD,kBAAkB,EAAG,mBAAmB,CAAC;IACzC,wBAAwB,EAAG,mBAAmB,CAAC;IAC/C,YAAY,EAAG,mBAAmB,CAAC;IACnC,kBAAkB,EAAG,mBAAmB,CAAC;IACzC,aAAa,EAAG,mBAAmB,CAAC;IACpC,gBAAgB,EAAG,mBAAmB,CAAC;IACvC,MAAM,EAAG,mBAAmB,CAAC;IAC7B,UAAU,EAAG,mBAAmB,CAAC;IAGjC,YAAY,EAAG,oBAAoB,CAAC;IAGpC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,EAAG,SAAS,CAAC;IACtB,WAAW,EAAG,WAAW,CAAC;IAC1B,WAAW,EAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,EAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACjC,QAAQ,EAAG,WAAW,CAAC,UAAU,CAAC,CAAC;IAGnC,aAAa,EAAG,MAAM,CAAC;IACvB,iBAAiB,EAAG,MAAM,CAAC;IAG3B,qBAAqB,EAAG,OAAO,CAAC;IAChC,aAAa,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAGV,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,GAAG,aAAa;IAkIvC,WAAW;IAQX,IAAI;IAUJ;;OAEG;IACG,WAAW;YAQH,cAAc;YA0Bd,kBAAkB;IA2BhC;;OAEG;IACG,aAAa;IAQnB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,gBAAgB;YAmEV,oBAAoB;IA6BlC;;OAEG;IACH,4BAA4B;IA+BrB,QAAQ;IAIf;;KAEC;IACD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMrB,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMrB,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMtB,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAUtB,qBAAqB,IAAI,OAAO;CAGjC"}
@@ -18,18 +18,37 @@ class Meter {
18
18
  this.platform = platform;
19
19
  this.accessory = accessory;
20
20
  this.device = device;
21
- // Config
22
- this.deviceDebug = this.platform.config.options?.debug === 'device' || this.platform.debugMode;
23
- this.debugDebug = this.platform.config.options?.debug === 'debug' || this.platform.debugMode;
24
- // Meter Config
25
- this.platform.device(`Meter: ${this.accessory.displayName} Config: (ble: ${device.ble}, unit: ${device.meter?.unit},`
26
- + ` hide_temperature: ${device.meter?.hide_temperature}, hide_humidity: ${device.meter?.hide_humidity})`);
27
21
  // default placeholders
28
- this.BatteryLevel = 0;
29
- this.ChargingState = 2;
30
- this.StatusLowBattery = this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW;
31
- this.CurrentRelativeHumidity = 0;
32
- this.CurrentTemperature = 0;
22
+ this.refreshRate();
23
+ this.logs();
24
+ if (this.BatteryLevel === undefined) {
25
+ this.BatteryLevel = 100;
26
+ }
27
+ else {
28
+ this.BatteryLevel = this.accessory.context.BatteryLevel;
29
+ }
30
+ if (this.BatteryLevel < 15) {
31
+ this.StatusLowBattery = this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW;
32
+ }
33
+ else {
34
+ this.StatusLowBattery = this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
35
+ }
36
+ this.ChargingState = this.platform.Characteristic.ChargingState.NOT_CHARGEABLE;
37
+ if (this.CurrentRelativeHumidity === undefined) {
38
+ this.CurrentRelativeHumidity = 0;
39
+ }
40
+ else {
41
+ this.CurrentRelativeHumidity = this.accessory.context.CurrentRelativeHumidity;
42
+ }
43
+ if (this.CurrentTemperature === undefined) {
44
+ this.CurrentTemperature = 0;
45
+ }
46
+ else {
47
+ this.CurrentTemperature = this.accessory.context.CurrentTemperature;
48
+ }
49
+ // Meter Config
50
+ this.debugLog(`Meter: ${this.accessory.displayName} Config: (ble: ${device.ble}, hide_temperature: ${device.meter?.hide_temperature},`
51
+ + ` hide_humidity: ${device.meter?.hide_humidity})`);
33
52
  // this is subject we use to track when we need to POST changes to the SwitchBot API
34
53
  this.doMeterUpdate = new rxjs_1.Subject();
35
54
  this.meterUpdateInProgress = false;
@@ -58,12 +77,12 @@ class Meter {
58
77
  this.service.setCharacteristic(this.platform.Characteristic.ChargingState, 2);
59
78
  // Temperature Sensor Service
60
79
  if (device.meter?.hide_temperature) {
61
- this.platform.device(`Meter: ${accessory.displayName} Removing Temperature Sensor Service`);
80
+ this.debugLog(`Meter: ${accessory.displayName} Removing Temperature Sensor Service`);
62
81
  this.temperatureservice = this.accessory.getService(this.platform.Service.TemperatureSensor);
63
82
  accessory.removeService(this.temperatureservice);
64
83
  }
65
84
  else if (!this.temperatureservice) {
66
- this.platform.device(`Meter: ${accessory.displayName} Add Temperature Sensor Service`);
85
+ this.debugLog(`Meter: ${accessory.displayName} Add Temperature Sensor Service`);
67
86
  (this.temperatureservice =
68
87
  this.accessory.getService(this.platform.Service.TemperatureSensor) ||
69
88
  this.accessory.addService(this.platform.Service.TemperatureSensor)), `${accessory.displayName} Temperature Sensor`;
@@ -82,16 +101,16 @@ class Meter {
82
101
  });
83
102
  }
84
103
  else {
85
- this.platform.device(`Meter: ${accessory.displayName} Temperature Sensor Service Not Added`);
104
+ this.debugLog(`Meter: ${accessory.displayName} Temperature Sensor Service Not Added`);
86
105
  }
87
106
  // Humidity Sensor Service
88
107
  if (device.meter?.hide_humidity) {
89
- this.platform.device(`Meter: ${accessory.displayName} Removing Humidity Sensor Service`);
108
+ this.debugLog(`Meter: ${accessory.displayName} Removing Humidity Sensor Service`);
90
109
  this.humidityservice = this.accessory.getService(this.platform.Service.HumiditySensor);
91
110
  accessory.removeService(this.humidityservice);
92
111
  }
93
112
  else if (!this.humidityservice) {
94
- this.platform.device(`Meter: ${accessory.displayName} Add Humidity Sensor Service`);
113
+ this.debugLog(`Meter: ${accessory.displayName} Add Humidity Sensor Service`);
95
114
  (this.humidityservice =
96
115
  this.accessory.getService(this.platform.Service.HumiditySensor) ||
97
116
  this.accessory.addService(this.platform.Service.HumiditySensor)), `${accessory.displayName} Humidity Sensor`;
@@ -106,17 +125,36 @@ class Meter {
106
125
  });
107
126
  }
108
127
  else {
109
- this.platform.device(`Meter: ${accessory.displayName} Humidity Sensor Service Not Added`);
128
+ this.debugLog(`Meter: ${accessory.displayName} Humidity Sensor Service Not Added`);
110
129
  }
111
130
  // Retrieve initial values and updateHomekit
112
131
  this.updateHomeKitCharacteristics();
113
132
  // Start an update interval
114
- (0, rxjs_1.interval)(this.platform.config.options.refreshRate * 1000)
133
+ (0, rxjs_1.interval)(this.deviceRefreshRate * 1000)
115
134
  .pipe((0, operators_1.skipWhile)(() => this.meterUpdateInProgress))
116
135
  .subscribe(() => {
117
136
  this.refreshStatus();
118
137
  });
119
138
  }
139
+ refreshRate() {
140
+ if (this.device.refreshRate) {
141
+ this.deviceRefreshRate = this.accessory.context.refreshRate = this.device.refreshRate;
142
+ }
143
+ else if (this.platform.config.options.refreshRate) {
144
+ this.deviceRefreshRate = this.accessory.context.refreshRate = this.platform.config.options.refreshRate;
145
+ }
146
+ }
147
+ logs() {
148
+ if (this.device.logging) {
149
+ this.deviceLogging = this.accessory.context.logging = this.device.logging;
150
+ }
151
+ else if (this.platform.config.options?.logging) {
152
+ this.deviceLogging = this.accessory.context.logging = this.platform.config.options?.logging;
153
+ }
154
+ else {
155
+ this.deviceLogging = this.accessory.context.logging = 'standard';
156
+ }
157
+ }
120
158
  /**
121
159
  * Parse the device status from the SwitchBot api
122
160
  */
@@ -129,38 +167,31 @@ class Meter {
129
167
  }
130
168
  }
131
169
  async BLEparseStatus() {
132
- this.platform.debug(`Meter: ${this.accessory.displayName} BLE parseStatus`);
170
+ this.debugLog(`Meter: ${this.accessory.displayName} BLE parseStatus`);
133
171
  // Battery
134
172
  this.BatteryLevel = Number(this.battery);
135
173
  if (this.BatteryLevel < 15) {
136
- this.StatusLowBattery = 1;
174
+ this.StatusLowBattery = this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW;
137
175
  }
138
176
  else {
139
- this.StatusLowBattery = 0;
177
+ this.StatusLowBattery = this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
140
178
  }
141
- this.platform.debug(`${this.accessory.displayName} BatteryLevel: ${this.BatteryLevel}, StatusLowBattery: ${this.StatusLowBattery}`);
179
+ this.debugLog(`${this.accessory.displayName} BatteryLevel: ${this.BatteryLevel}, StatusLowBattery: ${this.StatusLowBattery}`);
142
180
  if (!this.device.meter?.hide_humidity) {
143
181
  // Humidity
144
182
  this.CurrentRelativeHumidity = Number(this.humidity);
145
- this.platform.debug(`Meter: ${this.accessory.displayName} Humidity: ${this.CurrentRelativeHumidity}%`);
183
+ this.debugLog(`Meter: ${this.accessory.displayName} Humidity: ${this.CurrentRelativeHumidity}%`);
146
184
  }
147
185
  // Current Temperature
148
186
  if (!this.device.meter?.hide_temperature) {
149
- if (this.device.meter?.unit === 1) {
150
- this.CurrentTemperature = this.toFahrenheit(this.temperature.c);
151
- }
152
- else if (this.device.meter?.unit === 0) {
153
- this.CurrentTemperature = this.toCelsius(this.temperature.c);
154
- }
155
- else {
156
- this.CurrentTemperature = Number(this.temperature?.c);
157
- }
158
- this.platform.debug(`Meter: ${this.accessory.displayName} Temperature: ${this.CurrentTemperature}°c`);
187
+ this.temperature < 0 ? 0 : this.temperature > 100 ? 100 : this.temperature;
188
+ this.CurrentTemperature = this.temperature;
189
+ this.debugLog(`Meter: ${this.accessory.displayName} Temperature: ${this.CurrentTemperature}°c`);
159
190
  }
160
191
  }
161
192
  async openAPIparseStatus() {
162
193
  if (this.platform.config.credentials?.openToken) {
163
- this.platform.debug(`Meter: ${this.accessory.displayName} OpenAPI parseStatus`);
194
+ this.debugLog(`Meter: ${this.accessory.displayName} OpenAPI parseStatus`);
164
195
  if (this.deviceStatus.body) {
165
196
  this.BatteryLevel = 100;
166
197
  }
@@ -168,28 +199,20 @@ class Meter {
168
199
  this.BatteryLevel = 10;
169
200
  }
170
201
  if (this.BatteryLevel < 15) {
171
- this.StatusLowBattery = 1;
202
+ this.StatusLowBattery = this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW;
172
203
  }
173
204
  else {
174
- this.StatusLowBattery = 0;
205
+ this.StatusLowBattery = this.platform.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
175
206
  }
176
207
  // Current Relative Humidity
177
208
  if (!this.device.meter?.hide_humidity) {
178
209
  this.CurrentRelativeHumidity = this.deviceStatus.body.humidity;
179
- this.platform.debug(`Meter: ${this.accessory.displayName} Humidity: ${this.CurrentRelativeHumidity}%`);
210
+ this.debugLog(`Meter: ${this.accessory.displayName} Humidity: ${this.CurrentRelativeHumidity}%`);
180
211
  }
181
212
  // Current Temperature
182
213
  if (!this.device.meter?.hide_temperature) {
183
- if (this.device.meter?.unit === 1) {
184
- this.CurrentTemperature = this.toFahrenheit(this.deviceStatus.body.temperature);
185
- }
186
- else if (this.device.meter?.unit === 0) {
187
- this.CurrentTemperature = this.toCelsius(this.deviceStatus.body.temperature);
188
- }
189
- else {
190
- this.CurrentTemperature = Number(this.deviceStatus.body.temperature);
191
- }
192
- this.platform.debug(`Meter: ${this.accessory.displayName} Temperature: ${this.CurrentTemperature}°c`);
214
+ this.CurrentTemperature = Number(this.deviceStatus.body.temperature);
215
+ this.debugLog(`Meter: ${this.accessory.displayName} Temperature: ${this.CurrentTemperature}°c`);
193
216
  }
194
217
  }
195
218
  }
@@ -198,20 +221,20 @@ class Meter {
198
221
  */
199
222
  async refreshStatus() {
200
223
  if (this.device.ble) {
201
- await this.BLErefreshStatus();
224
+ this.BLErefreshStatus();
202
225
  }
203
226
  else {
204
- await this.openAPIRefreshStatus();
227
+ this.openAPIRefreshStatus();
205
228
  }
206
229
  }
207
230
  connectBLE() {
208
231
  const switchbot = new node_switchbot_1.default();
209
232
  this.device.bleMac = ((this.device.deviceId.match(/.{1,2}/g)).join(':')).toLowerCase();
210
- this.platform.device(`Meter: ${this.accessory.displayName} BLE Address: ${this.device.bleMac}`);
233
+ this.debugLog(`Meter: ${this.accessory.displayName} BLE Address: ${this.device.bleMac}`);
211
234
  return switchbot;
212
235
  }
213
- async BLErefreshStatus() {
214
- this.platform.debug(`Meter: ${this.accessory.displayName} BLE RefreshStatus`);
236
+ BLErefreshStatus() {
237
+ this.debugLog(`Meter: ${this.accessory.displayName} BLE RefreshStatus`);
215
238
  // eslint-disable-next-line @typescript-eslint/no-var-requires
216
239
  const switchbot = this.connectBLE();
217
240
  // Start to monitor advertisement packets
@@ -222,21 +245,20 @@ class Meter {
222
245
  // Set an event hander
223
246
  switchbot.onadvertisement = (ad) => {
224
247
  this.serviceData = ad.serviceData;
225
- this.temperature = ad.serviceData.temperature;
226
- this.fahrenheit = ad.serviceData.fahrenheit;
248
+ this.temperature = ad.serviceData.temperature.c;
227
249
  this.humidity = ad.serviceData.humidity;
228
250
  this.battery = ad.serviceData.battery;
229
- this.platform.device(`Meter: ${this.accessory.displayName} serviceData: ${JSON.stringify(ad.serviceData)}`);
230
- this.platform.device(`Meter: ${this.accessory.displayName} model: ${ad.serviceData.model}, modelName: ${ad.serviceData.modelName}, `
231
- + `temperature: ${JSON.stringify(ad.serviceData.temperature)}, fahrenheit: ${ad.serviceData.fahrenheit}, `
232
- + `humidity: ${ad.serviceData.humidity}, battery: ${ad.serviceData.battery}`);
251
+ this.debugLog(`Meter: ${this.accessory.displayName} serviceData: ${JSON.stringify(ad.serviceData)}`);
252
+ this.debugLog(`Meter: ${this.accessory.displayName} model: ${ad.serviceData.model}, modelName: ${ad.serviceData.modelName}, `
253
+ + `temperature: ${JSON.stringify(ad.serviceData.temperature?.c)}, humidity: ${ad.serviceData.humidity}, `
254
+ + `battery: ${ad.serviceData.battery}`);
233
255
  if (this.serviceData) {
234
256
  this.connected = true;
235
- this.platform.device(`Meter: ${this.accessory.displayName} connected: ${this.connected}`);
257
+ this.debugLog(`Meter: ${this.accessory.displayName} connected: ${this.connected}`);
236
258
  }
237
259
  else {
238
260
  this.connected = false;
239
- this.platform.device(`Meter: ${this.accessory.displayName} connected: ${this.connected}`);
261
+ this.debugLog(`Meter: ${this.accessory.displayName} connected: ${this.connected}`);
240
262
  }
241
263
  };
242
264
  // Wait 10 seconds
@@ -245,53 +267,65 @@ class Meter {
245
267
  // Stop to monitor
246
268
  switchbot.stopScan();
247
269
  if (this.connected) {
270
+ this.CurrentTemperatureCached = this.temperature;
271
+ this.accessory.context.CurrentTemperature = this.CurrentTemperatureCached;
272
+ this.CurrentRelativeHumidityCached = this.humidity;
273
+ this.accessory.context.CurrentRelativeHumidity = this.CurrentRelativeHumidityCached;
274
+ this.BatteryLevelCached = this.battery;
275
+ this.accessory.context.BatteryLevel = this.BatteryLevelCached;
248
276
  this.parseStatus();
249
277
  this.updateHomeKitCharacteristics();
250
278
  }
251
279
  else {
252
- this.platform.log.error(`Meter: ${this.accessory.displayName} wasn't able to establish BLE Connection`);
280
+ this.errorLog(`Meter: ${this.accessory.displayName} wasn't able to establish BLE Connection`);
253
281
  if (this.platform.config.credentials?.openToken) {
254
- this.platform.log.warn(`Meter: ${this.accessory.displayName} Using OpenAPI Connection`);
255
- await this.openAPIRefreshStatus();
282
+ this.warnLog(`Meter: ${this.accessory.displayName} Using OpenAPI Connection`);
283
+ this.openAPIRefreshStatus();
256
284
  }
257
285
  }
258
286
  }).catch(async (e) => {
259
- this.platform.log.error(`Meter: ${this.accessory.displayName} failed refreshStatus with BLE Connection`);
260
- if (this.deviceDebug) {
261
- this.platform.log.error(`Meter: ${this.accessory.displayName} failed refreshStatus with BLE Connection,`
287
+ this.errorLog(`Meter: ${this.accessory.displayName} failed refreshStatus with BLE Connection`);
288
+ if (this.deviceLogging === 'debug') {
289
+ this.errorLog(`Meter: ${this.accessory.displayName} failed refreshStatus with BLE Connection,`
262
290
  + ` Error Message: ${JSON.stringify(e.message)}`);
263
291
  }
264
- if (this.debugDebug) {
265
- this.platform.log.error(`Meter: ${this.accessory.displayName} failed refreshStatus with BLE Connection,`
292
+ if (this.platform.debugMode) {
293
+ this.errorLog(`Meter: ${this.accessory.displayName} failed refreshStatus with BLE Connection,`
266
294
  + ` Error: ${JSON.stringify(e)}`);
267
295
  }
268
296
  if (this.platform.config.credentials?.openToken) {
269
- this.platform.log.warn(`Meter: ${this.accessory.displayName} Using OpenAPI Connection`);
270
- await this.openAPIRefreshStatus();
297
+ this.warnLog(`Meter: ${this.accessory.displayName} Using OpenAPI Connection`);
298
+ this.openAPIRefreshStatus();
271
299
  }
272
- this.apiError(e);
300
+ this.apiError();
273
301
  });
274
302
  }
275
303
  async openAPIRefreshStatus() {
276
304
  if (this.platform.config.credentials?.openToken) {
277
- this.platform.debug(`Meter: ${this.accessory.displayName} OpenAPI RefreshStatus`);
305
+ this.debugLog(`Meter: ${this.accessory.displayName} OpenAPI RefreshStatus`);
278
306
  try {
279
307
  this.deviceStatus = (await this.platform.axios.get(`${settings_1.DeviceURL}/${this.device.deviceId}/status`)).data;
280
- this.platform.debug(`Meter: ${this.accessory.displayName} openAPIRefreshStatus: ${JSON.stringify(this.deviceStatus)}`);
308
+ this.debugLog(`Meter: ${this.accessory.displayName} openAPIRefreshStatus: ${JSON.stringify(this.deviceStatus)}`);
309
+ this.CurrentTemperatureCached = this.deviceStatus.body.humidity;
310
+ this.accessory.context.CurrentTemperature = this.CurrentTemperatureCached;
311
+ this.CurrentRelativeHumidityCached = this.deviceStatus.body.humidity;
312
+ this.accessory.context.CurrentRelativeHumidity = this.CurrentRelativeHumidityCached;
313
+ this.BatteryLevelCached = 100;
314
+ this.accessory.context.BatteryLevel = this.BatteryLevelCached;
281
315
  this.parseStatus();
282
316
  this.updateHomeKitCharacteristics();
283
317
  }
284
318
  catch (e) {
285
- this.platform.log.error(`Meter: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection`);
286
- if (this.deviceDebug) {
287
- this.platform.log.error(`Meter: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,`
319
+ this.errorLog(`Meter: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection`);
320
+ if (this.deviceLogging === 'debug') {
321
+ this.errorLog(`Meter: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,`
288
322
  + ` Error Message: ${JSON.stringify(e.message)}`);
289
323
  }
290
- if (this.debugDebug) {
291
- this.platform.log.error(`Meter: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,`
324
+ if (this.platform.debugMode) {
325
+ this.errorLog(`Meter: ${this.accessory.displayName} failed refreshStatus with OpenAPI Connection,`
292
326
  + ` Error: ${JSON.stringify(e)}`);
293
327
  }
294
- this.apiError(e);
328
+ this.apiError();
295
329
  }
296
330
  }
297
331
  }
@@ -300,60 +334,71 @@ class Meter {
300
334
  */
301
335
  updateHomeKitCharacteristics() {
302
336
  if (this.StatusLowBattery === undefined) {
303
- this.platform.debug(`Meter: ${this.accessory.displayName} StatusLowBattery: ${this.StatusLowBattery}`);
337
+ this.debugLog(`Meter: ${this.accessory.displayName} StatusLowBattery: ${this.StatusLowBattery}`);
304
338
  }
305
339
  else {
306
340
  this.service.updateCharacteristic(this.platform.Characteristic.StatusLowBattery, this.StatusLowBattery);
307
- this.platform.device(`Meter: ${this.accessory.displayName} updateCharacteristic StatusLowBattery: ${this.StatusLowBattery}`);
341
+ this.debugLog(`Meter: ${this.accessory.displayName} updateCharacteristic StatusLowBattery: ${this.StatusLowBattery}`);
308
342
  }
309
343
  if (this.BatteryLevel === undefined) {
310
- this.platform.debug(`Meter: ${this.accessory.displayName} BatteryLevel: ${this.BatteryLevel}`);
344
+ this.debugLog(`Meter: ${this.accessory.displayName} BatteryLevel: ${this.BatteryLevel}`);
311
345
  }
312
346
  else {
313
347
  this.service.updateCharacteristic(this.platform.Characteristic.BatteryLevel, this.BatteryLevel);
314
- this.platform.device(`Meter: ${this.accessory.displayName} updateCharacteristic BatteryLevel: ${this.BatteryLevel}`);
348
+ this.debugLog(`Meter: ${this.accessory.displayName} updateCharacteristic BatteryLevel: ${this.BatteryLevel}`);
315
349
  }
316
350
  if (!this.device.meter?.hide_humidity) {
317
351
  if (this.CurrentRelativeHumidity === undefined) {
318
- this.platform.debug(`Meter: ${this.accessory.displayName} CurrentRelativeHumidity: ${this.CurrentRelativeHumidity}`);
352
+ this.debugLog(`Meter: ${this.accessory.displayName} CurrentRelativeHumidity: ${this.CurrentRelativeHumidity}`);
319
353
  }
320
354
  else {
321
355
  this.humidityservice?.updateCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity, this.CurrentRelativeHumidity);
322
- this.platform.device(`Meter: ${this.accessory.displayName} updateCharacteristic CurrentRelativeHumidity: ${this.CurrentRelativeHumidity}`);
356
+ this.debugLog(`Meter: ${this.accessory.displayName} updateCharacteristic CurrentRelativeHumidity: ${this.CurrentRelativeHumidity}`);
323
357
  }
324
358
  }
325
359
  if (!this.device.meter?.hide_temperature) {
326
360
  if (this.CurrentTemperature === undefined) {
327
- this.platform.debug(`Meter: ${this.accessory.displayName} CurrentTemperature: ${this.CurrentTemperature}`);
361
+ this.debugLog(`Meter: ${this.accessory.displayName} CurrentTemperature: ${this.CurrentTemperature}`);
328
362
  }
329
363
  else {
330
364
  this.temperatureservice?.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, this.CurrentTemperature);
331
- this.platform.device(`Meter: ${this.accessory.displayName} updateCharacteristic CurrentTemperature: ${this.CurrentTemperature}`);
365
+ this.debugLog(`Meter: ${this.accessory.displayName} updateCharacteristic CurrentTemperature: ${this.CurrentTemperature}`);
332
366
  }
333
367
  }
334
368
  }
335
- apiError(e) {
336
- this.service.updateCharacteristic(this.platform.Characteristic.StatusLowBattery, e);
337
- this.service.updateCharacteristic(this.platform.Characteristic.BatteryLevel, e);
338
- if (!this.device.meter?.hide_humidity) {
339
- this.humidityservice?.updateCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity, e);
369
+ apiError() {
370
+ throw new this.platform.api.hap.HapStatusError(-70402 /* SERVICE_COMMUNICATION_FAILURE */);
371
+ }
372
+ /**
373
+ * Logging for Device
374
+ */
375
+ infoLog(...log) {
376
+ if (this.enablingDeviceLogging()) {
377
+ this.platform.log.info(String(...log));
340
378
  }
341
- if (!this.device.meter?.hide_temperature) {
342
- this.temperatureservice?.updateCharacteristic(this.platform.Characteristic.CurrentTemperature, e);
379
+ }
380
+ warnLog(...log) {
381
+ if (this.enablingDeviceLogging()) {
382
+ this.platform.log.warn(String(...log));
343
383
  }
344
384
  }
345
- /**
346
- * Converts the value to celsius if the temperature units are in Fahrenheit
347
- */
348
- toCelsius(value) {
349
- // celsius should be to the nearest 0.5 degree
350
- return Math.round((5 / 9) * (value - 32) * 2) / 2;
385
+ errorLog(...log) {
386
+ if (this.enablingDeviceLogging()) {
387
+ this.platform.log.error(String(...log));
388
+ }
351
389
  }
352
- /**
353
- * Converts the value to fahrenheit if the temperature units are in Fahrenheit
354
- */
355
- toFahrenheit(value) {
356
- return Math.round((value * 9) / 5 + 32);
390
+ debugLog(...log) {
391
+ if (this.enablingDeviceLogging()) {
392
+ if (this.deviceLogging === 'debug') {
393
+ this.platform.log.info('[DEBUG]', String(...log));
394
+ }
395
+ else {
396
+ this.platform.log.debug(String(...log));
397
+ }
398
+ }
399
+ }
400
+ enablingDeviceLogging() {
401
+ return this.deviceLogging === 'debug' || this.deviceLogging === 'standard';
357
402
  }
358
403
  }
359
404
  exports.Meter = Meter;