@switchbot/homebridge-switchbot 3.5.0-beta.9 → 3.5.1-beta.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 (177) hide show
  1. package/.vscode/settings.json +4 -1
  2. package/CHANGELOG.md +4 -1
  3. package/config.schema.json +164 -22
  4. package/dist/device/blindtilt.d.ts +21 -96
  5. package/dist/device/blindtilt.d.ts.map +1 -1
  6. package/dist/device/blindtilt.js +457 -866
  7. package/dist/device/blindtilt.js.map +1 -1
  8. package/dist/device/bot.d.ts +27 -72
  9. package/dist/device/bot.d.ts.map +1 -1
  10. package/dist/device/bot.js +851 -913
  11. package/dist/device/bot.js.map +1 -1
  12. package/dist/device/ceilinglight.d.ts +15 -69
  13. package/dist/device/ceilinglight.d.ts.map +1 -1
  14. package/dist/device/ceilinglight.js +316 -742
  15. package/dist/device/ceilinglight.js.map +1 -1
  16. package/dist/device/colorbulb.d.ts +15 -76
  17. package/dist/device/colorbulb.d.ts.map +1 -1
  18. package/dist/device/colorbulb.js +380 -833
  19. package/dist/device/colorbulb.js.map +1 -1
  20. package/dist/device/contact.d.ts +14 -66
  21. package/dist/device/contact.d.ts.map +1 -1
  22. package/dist/device/contact.js +267 -602
  23. package/dist/device/contact.js.map +1 -1
  24. package/dist/device/curtain.d.ts +18 -89
  25. package/dist/device/curtain.d.ts.map +1 -1
  26. package/dist/device/curtain.js +469 -897
  27. package/dist/device/curtain.js.map +1 -1
  28. package/dist/device/device.d.ts +76 -0
  29. package/dist/device/device.d.ts.map +1 -0
  30. package/dist/device/device.js +846 -0
  31. package/dist/device/device.js.map +1 -0
  32. package/dist/device/fan.d.ts +63 -0
  33. package/dist/device/fan.d.ts.map +1 -0
  34. package/dist/device/fan.js +645 -0
  35. package/dist/device/fan.js.map +1 -0
  36. package/dist/device/hub.d.ts +19 -58
  37. package/dist/device/hub.d.ts.map +1 -1
  38. package/dist/device/hub.js +304 -640
  39. package/dist/device/hub.js.map +1 -1
  40. package/dist/device/humidifier.d.ts +11 -66
  41. package/dist/device/humidifier.d.ts.map +1 -1
  42. package/dist/device/humidifier.js +300 -710
  43. package/dist/device/humidifier.js.map +1 -1
  44. package/dist/device/iosensor.d.ts +12 -64
  45. package/dist/device/iosensor.d.ts.map +1 -1
  46. package/dist/device/iosensor.js +225 -643
  47. package/dist/device/iosensor.js.map +1 -1
  48. package/dist/device/lightstrip.d.ts +12 -70
  49. package/dist/device/lightstrip.d.ts.map +1 -1
  50. package/dist/device/lightstrip.js +371 -742
  51. package/dist/device/lightstrip.js.map +1 -1
  52. package/dist/device/lock.d.ts +17 -63
  53. package/dist/device/lock.d.ts.map +1 -1
  54. package/dist/device/lock.js +309 -642
  55. package/dist/device/lock.js.map +1 -1
  56. package/dist/device/meter.d.ts +15 -64
  57. package/dist/device/meter.d.ts.map +1 -1
  58. package/dist/device/meter.js +223 -638
  59. package/dist/device/meter.js.map +1 -1
  60. package/dist/device/meterplus.d.ts +15 -65
  61. package/dist/device/meterplus.d.ts.map +1 -1
  62. package/dist/device/meterplus.js +216 -644
  63. package/dist/device/meterplus.js.map +1 -1
  64. package/dist/device/motion.d.ts +12 -69
  65. package/dist/device/motion.d.ts.map +1 -1
  66. package/dist/device/motion.js +209 -588
  67. package/dist/device/motion.js.map +1 -1
  68. package/dist/device/plug.d.ts +10 -57
  69. package/dist/device/plug.d.ts.map +1 -1
  70. package/dist/device/plug.js +141 -532
  71. package/dist/device/plug.js.map +1 -1
  72. package/dist/device/robotvacuumcleaner.d.ts +13 -63
  73. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  74. package/dist/device/robotvacuumcleaner.js +252 -609
  75. package/dist/device/robotvacuumcleaner.js.map +1 -1
  76. package/dist/device/waterdetector.d.ts +11 -63
  77. package/dist/device/waterdetector.d.ts.map +1 -1
  78. package/dist/device/waterdetector.js +179 -521
  79. package/dist/device/waterdetector.js.map +1 -1
  80. package/dist/homebridge-ui/public/index.html +22 -16
  81. package/dist/homebridge-ui/server.js +1 -1
  82. package/dist/homebridge-ui/server.js.map +1 -1
  83. package/dist/index.d.ts +1 -1
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +2 -2
  86. package/dist/index.js.map +1 -1
  87. package/dist/irdevice/airconditioner.d.ts +10 -50
  88. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  89. package/dist/irdevice/airconditioner.js +337 -482
  90. package/dist/irdevice/airconditioner.js.map +1 -1
  91. package/dist/irdevice/airpurifier.d.ts +8 -39
  92. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  93. package/dist/irdevice/airpurifier.js +108 -333
  94. package/dist/irdevice/airpurifier.js.map +1 -1
  95. package/dist/irdevice/camera.d.ts +7 -36
  96. package/dist/irdevice/camera.d.ts.map +1 -1
  97. package/dist/irdevice/camera.js +47 -299
  98. package/dist/irdevice/camera.js.map +1 -1
  99. package/dist/irdevice/fan.d.ts +7 -43
  100. package/dist/irdevice/fan.d.ts.map +1 -1
  101. package/dist/irdevice/fan.js +95 -364
  102. package/dist/irdevice/fan.js.map +1 -1
  103. package/dist/irdevice/irdevice.d.ts +46 -0
  104. package/dist/irdevice/irdevice.d.ts.map +1 -0
  105. package/dist/irdevice/irdevice.js +393 -0
  106. package/dist/irdevice/irdevice.js.map +1 -0
  107. package/dist/irdevice/light.d.ts +12 -45
  108. package/dist/irdevice/light.d.ts.map +1 -1
  109. package/dist/irdevice/light.js +121 -376
  110. package/dist/irdevice/light.js.map +1 -1
  111. package/dist/irdevice/other.d.ts +19 -48
  112. package/dist/irdevice/other.d.ts.map +1 -1
  113. package/dist/irdevice/other.js +441 -584
  114. package/dist/irdevice/other.js.map +1 -1
  115. package/dist/irdevice/tv.d.ts +8 -40
  116. package/dist/irdevice/tv.d.ts.map +1 -1
  117. package/dist/irdevice/tv.js +94 -353
  118. package/dist/irdevice/tv.js.map +1 -1
  119. package/dist/irdevice/vacuumcleaner.d.ts +7 -36
  120. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  121. package/dist/irdevice/vacuumcleaner.js +48 -299
  122. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  123. package/dist/irdevice/waterheater.d.ts +7 -36
  124. package/dist/irdevice/waterheater.d.ts.map +1 -1
  125. package/dist/irdevice/waterheater.js +50 -305
  126. package/dist/irdevice/waterheater.js.map +1 -1
  127. package/dist/platform.d.ts +22 -8
  128. package/dist/platform.d.ts.map +1 -1
  129. package/dist/platform.js +342 -191
  130. package/dist/platform.js.map +1 -1
  131. package/dist/settings.d.ts +66 -18
  132. package/dist/settings.d.ts.map +1 -1
  133. package/dist/settings.js +16 -552
  134. package/dist/settings.js.map +1 -1
  135. package/dist/utils.d.ts +95 -0
  136. package/dist/utils.d.ts.map +1 -1
  137. package/dist/utils.js +657 -1
  138. package/dist/utils.js.map +1 -1
  139. package/eslint.config.js +96 -0
  140. package/package.json +20 -16
  141. package/src/custom.d.ts +2 -1
  142. package/src/device/blindtilt.ts +488 -937
  143. package/src/device/bot.ts +907 -1016
  144. package/src/device/ceilinglight.ts +330 -798
  145. package/src/device/colorbulb.ts +394 -904
  146. package/src/device/contact.ts +298 -637
  147. package/src/device/curtain.ts +496 -954
  148. package/src/device/device.ts +872 -0
  149. package/src/device/fan.ts +692 -0
  150. package/src/device/hub.ts +338 -671
  151. package/src/device/humidifier.ts +330 -777
  152. package/src/device/iosensor.ts +258 -671
  153. package/src/device/lightstrip.ts +394 -809
  154. package/src/device/lock.ts +345 -700
  155. package/src/device/meter.ts +256 -666
  156. package/src/device/meterplus.ts +248 -672
  157. package/src/device/motion.ts +234 -622
  158. package/src/device/plug.ts +152 -572
  159. package/src/device/robotvacuumcleaner.ts +273 -653
  160. package/src/device/waterdetector.ts +198 -549
  161. package/src/homebridge-ui/public/index.html +22 -16
  162. package/src/homebridge-ui/server.ts +1 -1
  163. package/src/index.ts +4 -3
  164. package/src/irdevice/airconditioner.ts +368 -540
  165. package/src/irdevice/airpurifier.ts +134 -369
  166. package/src/irdevice/camera.ts +60 -324
  167. package/src/irdevice/fan.ts +111 -392
  168. package/src/irdevice/irdevice.ts +406 -0
  169. package/src/irdevice/light.ts +159 -425
  170. package/src/irdevice/other.ts +509 -661
  171. package/src/irdevice/tv.ts +123 -388
  172. package/src/irdevice/vacuumcleaner.ts +61 -324
  173. package/src/irdevice/waterheater.ts +63 -333
  174. package/src/platform.ts +395 -259
  175. package/src/settings.ts +120 -610
  176. package/src/utils.ts +661 -1
  177. package/src/device/waterdetector.json +0 -11
@@ -0,0 +1,46 @@
1
+ import type { SwitchBotPlatform } from '../platform.js';
2
+ import type { API, HAP, Logging, PlatformAccessory } from 'homebridge';
3
+ import type { SwitchBotPlatformConfig, irDevicesConfig, irdevice } from '../settings.js';
4
+ export declare abstract class irdeviceBase {
5
+ protected readonly platform: SwitchBotPlatform;
6
+ protected accessory: PlatformAccessory;
7
+ protected device: irdevice & irDevicesConfig;
8
+ readonly api: API;
9
+ readonly log: Logging;
10
+ readonly config: SwitchBotPlatformConfig;
11
+ protected readonly hap: HAP;
12
+ protected deviceLogging: string;
13
+ protected disablePushOn: boolean;
14
+ protected disablePushOff: boolean;
15
+ protected disablePushDetail?: boolean;
16
+ constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: irdevice & irDevicesConfig);
17
+ getDeviceLogSettings(device: irdevice & irDevicesConfig): Promise<void>;
18
+ getDeviceConfigSettings(device: irdevice & irDevicesConfig): Promise<void>;
19
+ getDeviceContext(accessory: PlatformAccessory, device: irdevice & irDevicesConfig): Promise<void>;
20
+ pushChangeRequest(bodyChange: string): Promise<{
21
+ body: any;
22
+ statusCode: any;
23
+ }>;
24
+ pushStatusCodes(statusCode: any, deviceStatus: any): Promise<void>;
25
+ successfulPushChange(statusCode: any, deviceStatus: any, bodyChange: any): Promise<void>;
26
+ disablePushOnChanges(device: irdevice & irDevicesConfig): Promise<void>;
27
+ disablePushOffChanges(device: irdevice & irDevicesConfig): Promise<void>;
28
+ disablePushDetailChanges(device: irdevice & irDevicesConfig): Promise<void>;
29
+ commandType(): Promise<string>;
30
+ commandOn(): Promise<string>;
31
+ commandOff(): Promise<string>;
32
+ statusCode(statusCode: number): Promise<void>;
33
+ /**
34
+ * Logging for Device
35
+ */
36
+ infoLog(...log: any[]): void;
37
+ successLog(...log: any[]): void;
38
+ debugSuccessLog(...log: any[]): void;
39
+ warnLog(...log: any[]): void;
40
+ debugWarnLog(...log: any[]): void;
41
+ errorLog(...log: any[]): void;
42
+ debugErrorLog(...log: any[]): void;
43
+ debugLog(...log: any[]): void;
44
+ enablingDeviceLogging(): boolean;
45
+ }
46
+ //# sourceMappingURL=irdevice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irdevice.d.ts","sourceRoot":"","sources":["../../src/irdevice/irdevice.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAEzF,8BAAsB,YAAY;IAa9B,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IAC9C,SAAS,CAAC,SAAS,EAAE,iBAAiB;IACtC,SAAS,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe;IAd9C,SAAgB,GAAG,EAAE,GAAG,CAAC;IACzB,SAAgB,GAAG,EAAE,OAAO,CAAC;IAC7B,SAAgB,MAAM,EAAG,uBAAuB,CAAC;IACjD,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAG5B,SAAS,CAAC,aAAa,EAAG,MAAM,CAAC;IACjC,SAAS,CAAC,aAAa,EAAG,OAAO,CAAC;IAClC,SAAS,CAAC,cAAc,EAAG,OAAO,CAAC;IACnC,SAAS,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;gBAGjB,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,QAAQ,GAAG,eAAe;IAyBxC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBvE,uBAAuB,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IA2E1E,gBAAgB,CAAC,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDjG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,UAAU,EAAE,GAAG,CAAC;KAAE,CAAC;IAQ/E,eAAe,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG;IAMlD,oBAAoB,CAAC,UAAU,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG;IAOxE,oBAAoB,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvE,qBAAqB,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxE,wBAAwB,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3E,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAY9B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAU5B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsEnD;;OAEG;IACH,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,UAAU,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM/B,eAAe,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAQpC,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,YAAY,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAQjC,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM7B,aAAa,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAQlC,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAU7B,qBAAqB,IAAI,OAAO;CAGjC"}
@@ -0,0 +1,393 @@
1
+ /* Copyright(C) 2021-2024, donavanbecker (https://github.com/donavanbecker). All rights reserved.
2
+ *
3
+ * device.ts: @switchbot/homebridge-switchbot.
4
+ */
5
+ import { request } from 'undici';
6
+ import { Devices } from '../settings.js';
7
+ export class irdeviceBase {
8
+ platform;
9
+ accessory;
10
+ device;
11
+ api;
12
+ log;
13
+ config;
14
+ hap;
15
+ // Config
16
+ deviceLogging;
17
+ disablePushOn;
18
+ disablePushOff;
19
+ disablePushDetail;
20
+ constructor(platform, accessory, device) {
21
+ this.platform = platform;
22
+ this.accessory = accessory;
23
+ this.device = device;
24
+ this.api = this.platform.api;
25
+ this.log = this.platform.log;
26
+ this.config = this.platform.config;
27
+ this.hap = this.api.hap;
28
+ this.getDeviceLogSettings(device);
29
+ this.getDeviceConfigSettings(device);
30
+ this.getDeviceContext(accessory, device);
31
+ this.disablePushOnChanges(device);
32
+ this.disablePushOffChanges(device);
33
+ // Set accessory information
34
+ accessory
35
+ .getService(this.hap.Service.AccessoryInformation)
36
+ .setCharacteristic(this.hap.Characteristic.Manufacturer, 'SwitchBot')
37
+ .setCharacteristic(this.hap.Characteristic.AppMatchingIdentifier, 'id1087374760')
38
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.context.name ?? accessory.displayName)
39
+ .setCharacteristic(this.hap.Characteristic.ConfiguredName, accessory.context.name ?? accessory.displayName)
40
+ .setCharacteristic(this.hap.Characteristic.Model, accessory.context.model ?? 'Unknown')
41
+ .setCharacteristic(this.hap.Characteristic.ProductData, accessory.context.deviceId)
42
+ .setCharacteristic(this.hap.Characteristic.SerialNumber, accessory.context.deviceId);
43
+ }
44
+ async getDeviceLogSettings(device) {
45
+ if (this.platform.debugMode) {
46
+ this.deviceLogging = this.accessory.context.logging = 'debugMode';
47
+ this.debugWarnLog(`${this.device.remoteType}: ${this.accessory.displayName} Using Debug Mode Logging: ${this.deviceLogging}`);
48
+ }
49
+ else if (device.logging) {
50
+ this.deviceLogging = this.accessory.context.logging = device.logging;
51
+ this.debugWarnLog(`${this.device.remoteType}: ${this.accessory.displayName} Using Device Config Logging: ${this.deviceLogging}`);
52
+ }
53
+ else if (this.config.logging) {
54
+ this.deviceLogging = this.accessory.context.logging = this.config.logging;
55
+ this.debugWarnLog(`${this.device.remoteType}: ${this.accessory.displayName} Using Platform Config Logging: ${this.deviceLogging}`);
56
+ }
57
+ else {
58
+ this.deviceLogging = this.accessory.context.logging = 'standard';
59
+ this.debugWarnLog(`${this.device.remoteType}: ${this.accessory.displayName} Logging Not Set, Using: ${this.deviceLogging}`);
60
+ }
61
+ }
62
+ async getDeviceConfigSettings(device) {
63
+ const deviceConfig = {};
64
+ if (device.logging !== 'standard') {
65
+ deviceConfig['logging'] = device.logging;
66
+ }
67
+ if (device.connectionType !== '') {
68
+ deviceConfig['connectionType'] = device.connectionType;
69
+ }
70
+ if (device.external === true) {
71
+ deviceConfig['external'] = device.external;
72
+ }
73
+ if (device.customize === true) {
74
+ deviceConfig['customize'] = device.customize;
75
+ }
76
+ if (device.commandType !== '') {
77
+ deviceConfig['commandType'] = device.commandType;
78
+ }
79
+ if (device.customOn !== '') {
80
+ deviceConfig['customOn'] = device.customOn;
81
+ }
82
+ if (device.customOff !== '') {
83
+ deviceConfig['customOff'] = device.customOff;
84
+ }
85
+ if (device.disablePushOn === true) {
86
+ deviceConfig['disablePushOn'] = device.disablePushOn;
87
+ }
88
+ if (device.disablePushOff === true) {
89
+ deviceConfig['disablePushOff'] = device.disablePushOff;
90
+ }
91
+ if (device.disablePushDetail === true) {
92
+ deviceConfig['disablePushDetail'] = device.disablePushDetail;
93
+ }
94
+ let irairConfig = {};
95
+ if (device.irair) {
96
+ irairConfig = device.irair;
97
+ }
98
+ let irpurConfig = {};
99
+ if (device.irpur) {
100
+ irpurConfig = device.irpur;
101
+ }
102
+ let ircamConfig = {};
103
+ if (device.ircam) {
104
+ ircamConfig = device.ircam;
105
+ }
106
+ let irfanConfig = {};
107
+ if (device.irfan) {
108
+ irfanConfig = device.irfan;
109
+ }
110
+ let irlightConfig = {};
111
+ if (device.irlight) {
112
+ irlightConfig = device.irlight;
113
+ }
114
+ let otherConfig = {};
115
+ if (device.other) {
116
+ otherConfig = device.other;
117
+ }
118
+ let irtvConfig = {};
119
+ if (device.irtv) {
120
+ irtvConfig = device.irtv;
121
+ }
122
+ let irvcConfig = {};
123
+ if (device.irvc) {
124
+ irvcConfig = device.irvc;
125
+ }
126
+ let irwhConfig = {};
127
+ if (device.irwh) {
128
+ irwhConfig = device.irwh;
129
+ }
130
+ const config = Object.assign({}, deviceConfig, irairConfig, irpurConfig, ircamConfig, irfanConfig, irlightConfig, otherConfig, irtvConfig, irvcConfig, irwhConfig);
131
+ if (Object.entries(config).length !== 0) {
132
+ this.debugSuccessLog(`${this.device.remoteType}: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
133
+ }
134
+ }
135
+ async getDeviceContext(accessory, device) {
136
+ accessory.context.name = device.deviceName;
137
+ accessory.context.model = device.remoteType;
138
+ accessory.context.deviceId = device.deviceId;
139
+ accessory.context.remoteType = device.remoteType;
140
+ if (device.firmware) {
141
+ accessory.context.firmware = device.firmware;
142
+ }
143
+ else if (device.firmware === undefined || accessory.context.firmware === undefined) {
144
+ device.firmware = this.platform.version;
145
+ accessory.context.firmware = device.firmware;
146
+ }
147
+ else {
148
+ accessory.context.firmware = 'Unknown';
149
+ }
150
+ // Firmware Version
151
+ let deviceFirmwareVersion;
152
+ if (device.firmware) {
153
+ deviceFirmwareVersion = device.firmware;
154
+ this.debugSuccessLog(`${device.remoteType}: ${accessory.displayName} 1 FirmwareRevision: ${device.firmware}`);
155
+ }
156
+ else if (accessory.context.deviceVersion) {
157
+ deviceFirmwareVersion = accessory.context.deviceVersion;
158
+ this.debugSuccessLog(`${device.remoteType}: ${accessory.displayName} 2 FirmwareRevision: ${accessory.context.deviceVersion}`);
159
+ }
160
+ else {
161
+ deviceFirmwareVersion = this.platform.version ?? '0.0.0';
162
+ if (this.platform.version) {
163
+ this.debugSuccessLog(`${device.remoteType}: ${accessory.displayName} 3 FirmwareRevision: ${this.platform.version}`);
164
+ }
165
+ else {
166
+ this.debugSuccessLog(`${device.remoteType}: ${accessory.displayName} 4 FirmwareRevision: ${deviceFirmwareVersion}`);
167
+ }
168
+ }
169
+ const version = deviceFirmwareVersion.toString();
170
+ this.debugLog(`${this.device.remoteType}: ${accessory.displayName} Firmware Version: ${version?.replace(/^V|-.*$/g, '')}`);
171
+ let deviceVersion;
172
+ if (version?.includes('.') === false) {
173
+ const replace = version?.replace(/^V|-.*$/g, '');
174
+ const match = replace?.match(/.{1,1}/g);
175
+ const validVersion = match?.join('.');
176
+ deviceVersion = validVersion ?? '0.0.0';
177
+ }
178
+ else {
179
+ deviceVersion = version?.replace(/^V|-.*$/g, '') ?? '0.0.0';
180
+ }
181
+ accessory
182
+ .getService(this.hap.Service.AccessoryInformation)
183
+ .setCharacteristic(this.hap.Characteristic.HardwareRevision, deviceVersion)
184
+ .setCharacteristic(this.hap.Characteristic.SoftwareRevision, deviceVersion)
185
+ .setCharacteristic(this.hap.Characteristic.FirmwareRevision, deviceVersion)
186
+ .getCharacteristic(this.hap.Characteristic.FirmwareRevision)
187
+ .updateValue(deviceVersion);
188
+ accessory.context.deviceVersion = deviceVersion;
189
+ this.debugSuccessLog(`${device.remoteType}: ${accessory.displayName} deviceVersion: ${accessory.context.deviceVersion}`);
190
+ }
191
+ async pushChangeRequest(bodyChange) {
192
+ return await request(`${Devices}/${this.device.deviceId}/commands`, {
193
+ body: bodyChange,
194
+ method: 'POST',
195
+ headers: this.platform.generateHeaders(),
196
+ });
197
+ }
198
+ async pushStatusCodes(statusCode, deviceStatus) {
199
+ this.debugWarnLog(`${this.device.remoteType}: ${this.accessory.displayName} statusCode: ${statusCode}`);
200
+ this.debugWarnLog(`${this.device.remoteType}: ${this.accessory.displayName} deviceStatus: ${JSON.stringify(deviceStatus)}`);
201
+ this.debugWarnLog(`${this.device.remoteType}: ${this.accessory.displayName} deviceStatus statusCode: ${deviceStatus.statusCode}`);
202
+ }
203
+ async successfulPushChange(statusCode, deviceStatus, bodyChange) {
204
+ this.debugSuccessLog(`${this.device.remoteType}: ${this.accessory.displayName} statusCode: ${statusCode} & deviceStatus `
205
+ + `StatusCode: ${deviceStatus.statusCode}`);
206
+ this.successLog(`${this.device.remoteType}: ${this.accessory.displayName} request to SwitchBot API,`
207
+ + ` body: ${JSON.stringify(JSON.parse(bodyChange))} sent successfully`);
208
+ }
209
+ async disablePushOnChanges(device) {
210
+ if (device.disablePushOn === undefined) {
211
+ this.disablePushOn = false;
212
+ }
213
+ else {
214
+ this.disablePushOn = device.disablePushOn;
215
+ }
216
+ }
217
+ async disablePushOffChanges(device) {
218
+ if (device.disablePushOff === undefined) {
219
+ this.disablePushOff = false;
220
+ }
221
+ else {
222
+ this.disablePushOff = device.disablePushOff;
223
+ }
224
+ }
225
+ async disablePushDetailChanges(device) {
226
+ if (device.disablePushDetail === undefined) {
227
+ this.disablePushDetail = false;
228
+ }
229
+ else {
230
+ this.disablePushDetail = device.disablePushDetail;
231
+ }
232
+ }
233
+ async commandType() {
234
+ let commandType;
235
+ if (this.device.commandType && this.device.customize) {
236
+ commandType = this.device.commandType;
237
+ }
238
+ else if (this.device.customize) {
239
+ commandType = 'customize';
240
+ }
241
+ else {
242
+ commandType = 'command';
243
+ }
244
+ return commandType;
245
+ }
246
+ async commandOn() {
247
+ let command;
248
+ if (this.device.customize && this.device.customOn) {
249
+ command = this.device.customOn;
250
+ }
251
+ else {
252
+ command = 'turnOn';
253
+ }
254
+ return command;
255
+ }
256
+ async commandOff() {
257
+ let command;
258
+ if (this.device.customize && this.device.customOff) {
259
+ command = this.device.customOff;
260
+ }
261
+ else {
262
+ command = 'turnOff';
263
+ }
264
+ return command;
265
+ }
266
+ async statusCode(statusCode) {
267
+ switch (statusCode) {
268
+ case 151:
269
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Command not supported by this deviceType, statusCode: ${statusCode}`);
270
+ break;
271
+ case 152:
272
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Device not found, statusCode: ${statusCode}`);
273
+ break;
274
+ case 160:
275
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Command is not supported, statusCode: ${statusCode}`);
276
+ break;
277
+ case 161:
278
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Device is offline, statusCode: ${statusCode}`);
279
+ break;
280
+ case 171:
281
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Hub Device is offline, statusCode: ${statusCode}. `
282
+ + `Hub: ${this.device.hubDeviceId}`);
283
+ break;
284
+ case 190:
285
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Device internal error due to device states not synchronized with`
286
+ + ` server, Or command format is invalid, statusCode: ${statusCode}`);
287
+ break;
288
+ case 100:
289
+ this.debugLog(`${this.device.remoteType}: ${this.accessory.displayName} Command successfully sent, statusCode: ${statusCode}`);
290
+ break;
291
+ case 200:
292
+ this.debugLog(`${this.device.remoteType}: ${this.accessory.displayName} Request successful, statusCode: ${statusCode}`);
293
+ break;
294
+ case 400:
295
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Bad Request, The client has issued an invalid request. `
296
+ + `This is commonly used to specify validation errors in a request payload, statusCode: ${statusCode}`);
297
+ break;
298
+ case 401:
299
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Unauthorized, Authorization for the API is required, `
300
+ + `but the request has not been authenticated, statusCode: ${statusCode}`);
301
+ break;
302
+ case 403:
303
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Forbidden, The request has been authenticated but does not `
304
+ + `have appropriate permissions, or a requested resource is not found, statusCode: ${statusCode}`);
305
+ break;
306
+ case 404:
307
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Not Found, Specifies the requested path does not exist, `
308
+ + `statusCode: ${statusCode}`);
309
+ break;
310
+ case 406:
311
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Not Acceptable, The client has requested a MIME type via `
312
+ + `the Accept header for a value not supported by the server, statusCode: ${statusCode}`);
313
+ break;
314
+ case 415:
315
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Unsupported Media Type, The client has defined a contentType `
316
+ + `header that is not supported by the server, statusCode: ${statusCode}`);
317
+ break;
318
+ case 422:
319
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Unprocessable Entity, The client has made a valid request, `
320
+ + `but the server cannot process it. This is often used for APIs for which certain limits have been exceeded, statusCode: ${statusCode}`);
321
+ break;
322
+ case 429:
323
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Too Many Requests, The client has exceeded the number of `
324
+ + `requests allowed for a given time window, statusCode: ${statusCode}`);
325
+ break;
326
+ case 500:
327
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Internal Server Error, An unexpected error on the SmartThings `
328
+ + `servers has occurred. These errors should be rare, statusCode: ${statusCode}`);
329
+ break;
330
+ default:
331
+ this.infoLog(`${this.device.remoteType}: ${this.accessory.displayName} Unknown statusCode: `
332
+ + `${statusCode}, Submit Bugs Here: ' + 'https://tinyurl.com/SwitchBotBug`);
333
+ }
334
+ }
335
+ /**
336
+ * Logging for Device
337
+ */
338
+ infoLog(...log) {
339
+ if (this.enablingDeviceLogging()) {
340
+ this.log.info(String(...log));
341
+ }
342
+ }
343
+ successLog(...log) {
344
+ if (this.enablingDeviceLogging()) {
345
+ this.platform.log.success(String(...log));
346
+ }
347
+ }
348
+ debugSuccessLog(...log) {
349
+ if (this.enablingDeviceLogging()) {
350
+ if (this.deviceLogging?.includes('debug')) {
351
+ this.log.success('[DEBUG]', String(...log));
352
+ }
353
+ }
354
+ }
355
+ warnLog(...log) {
356
+ if (this.enablingDeviceLogging()) {
357
+ this.log.warn(String(...log));
358
+ }
359
+ }
360
+ debugWarnLog(...log) {
361
+ if (this.enablingDeviceLogging()) {
362
+ if (this.deviceLogging?.includes('debug')) {
363
+ this.log.warn('[DEBUG]', String(...log));
364
+ }
365
+ }
366
+ }
367
+ errorLog(...log) {
368
+ if (this.enablingDeviceLogging()) {
369
+ this.log.error(String(...log));
370
+ }
371
+ }
372
+ debugErrorLog(...log) {
373
+ if (this.enablingDeviceLogging()) {
374
+ if (this.deviceLogging?.includes('debug')) {
375
+ this.log.error('[DEBUG]', String(...log));
376
+ }
377
+ }
378
+ }
379
+ debugLog(...log) {
380
+ if (this.enablingDeviceLogging()) {
381
+ if (this.deviceLogging === 'debug') {
382
+ this.log.info('[DEBUG]', String(...log));
383
+ }
384
+ else {
385
+ this.log.debug(String(...log));
386
+ }
387
+ }
388
+ }
389
+ enablingDeviceLogging() {
390
+ return this.deviceLogging.includes('debug') || this.deviceLogging === 'standard';
391
+ }
392
+ }
393
+ //# sourceMappingURL=irdevice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irdevice.js","sourceRoot":"","sources":["../../src/irdevice/irdevice.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,17 @@
1
- import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
2
- import { SwitchBotPlatform } from '../platform.js';
3
- import { irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
1
+ import { irdeviceBase } from './irdevice.js';
2
+ import type { SwitchBotPlatform } from '../platform.js';
3
+ import type { irDevicesConfig, irdevice } from '../settings.js';
4
+ import type { CharacteristicValue, PlatformAccessory } from 'homebridge';
4
5
  /**
5
6
  * Platform Accessory
6
7
  * An instance of this class is created for each accessory your platform registers
7
8
  * Each accessory may expose multiple services of different service types.
8
9
  */
9
- export declare class Light {
10
- private readonly platform;
11
- private accessory;
12
- device: irdevice & irDevicesConfig;
13
- readonly api: API;
14
- readonly log: Logging;
15
- readonly config: SwitchBotPlatformConfig;
16
- protected readonly hap: HAP;
17
- lightBulbService?: Service;
18
- ProgrammableSwitchServiceOn?: Service;
19
- ProgrammableSwitchServiceOff?: Service;
20
- On: CharacteristicValue;
21
- ProgrammableSwitchEventOn?: CharacteristicValue;
22
- ProgrammableSwitchOutputStateOn?: CharacteristicValue;
23
- ProgrammableSwitchEventOff?: CharacteristicValue;
24
- ProgrammableSwitchOutputStateOff?: CharacteristicValue;
25
- FirmwareRevision: CharacteristicValue;
26
- deviceLogging: string;
27
- disablePushOn?: boolean;
28
- disablePushOff?: boolean;
10
+ export declare class Light extends irdeviceBase {
11
+ readonly platform: SwitchBotPlatform;
12
+ private LightBulb?;
13
+ private ProgrammableSwitchOn?;
14
+ private ProgrammableSwitchOff?;
29
15
  constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: irdevice & irDevicesConfig);
30
16
  OnSet(value: CharacteristicValue): Promise<void>;
31
17
  ProgrammableSwitchOutputStateSetOn(value: CharacteristicValue): Promise<void>;
@@ -40,29 +26,10 @@ export declare class Light {
40
26
  * Light - "command" "channelAdd" "default" = next channel
41
27
  * Light - "command" "channelSub" "default" = previous channel
42
28
  */
43
- pushLightOnChanges(): Promise<void>;
44
- pushLightOffChanges(): Promise<void>;
45
- pushChanges(bodyChange: any): Promise<void>;
29
+ pushLightOnChanges(On: boolean): Promise<void>;
30
+ pushLightOffChanges(On: boolean): Promise<void>;
31
+ pushChanges(bodyChange: any, On: boolean): Promise<void>;
46
32
  updateHomeKitCharacteristics(): Promise<void>;
47
- disablePushOnChanges(device: irdevice & irDevicesConfig): Promise<void>;
48
- disablePushOffChanges(device: irdevice & irDevicesConfig): Promise<void>;
49
- commandType(): Promise<string>;
50
- commandOn(): Promise<string>;
51
- commandOff(): Promise<string>;
52
- statusCode(statusCode: number): Promise<void>;
53
33
  apiError(e: any): Promise<void>;
54
- deviceContext(): Promise<void>;
55
- deviceConfig(device: irdevice & irDevicesConfig): Promise<void>;
56
- deviceLogs(device: irdevice & irDevicesConfig): Promise<void>;
57
- /**
58
- * Logging for Device
59
- */
60
- infoLog(...log: any[]): void;
61
- warnLog(...log: any[]): void;
62
- debugWarnLog(...log: any[]): void;
63
- errorLog(...log: any[]): void;
64
- debugErrorLog(...log: any[]): void;
65
- debugLog(...log: any[]): void;
66
- enablingDeviceLogging(): boolean;
67
34
  }
68
35
  //# sourceMappingURL=light.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/irdevice/light.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/irdevice/light.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAElF;;;;GAIG;AACH,qBAAa,KAAM,SAAQ,YAAY;IAuBnC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB;IArBtC,OAAO,CAAC,SAAS,CAAC,CAIhB;IAEF,OAAO,CAAC,oBAAoB,CAAC,CAK3B;IAEF,OAAO,CAAC,qBAAqB,CAAC,CAK5B;gBAGS,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,QAAQ,GAAG,eAAe;IAuF9B,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBhD,kCAAkC,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7E,mCAAmC,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBpF;;;;;;;;;OASG;IACG,kBAAkB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAc9C,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/C,WAAW,CAAC,UAAU,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BxD,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC7C,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAUtC"}