@switchbot/homebridge-switchbot 3.5.0-beta.7 → 3.5.0-beta.70

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 +120 -17
  4. package/dist/device/blindtilt.d.ts +23 -96
  5. package/dist/device/blindtilt.d.ts.map +1 -1
  6. package/dist/device/blindtilt.js +425 -778
  7. package/dist/device/blindtilt.js.map +1 -1
  8. package/dist/device/bot.d.ts +26 -72
  9. package/dist/device/bot.d.ts.map +1 -1
  10. package/dist/device/bot.js +803 -837
  11. package/dist/device/bot.js.map +1 -1
  12. package/dist/device/ceilinglight.d.ts +14 -68
  13. package/dist/device/ceilinglight.d.ts.map +1 -1
  14. package/dist/device/ceilinglight.js +241 -606
  15. package/dist/device/ceilinglight.js.map +1 -1
  16. package/dist/device/colorbulb.d.ts +14 -75
  17. package/dist/device/colorbulb.d.ts.map +1 -1
  18. package/dist/device/colorbulb.js +283 -658
  19. package/dist/device/colorbulb.js.map +1 -1
  20. package/dist/device/contact.d.ts +15 -66
  21. package/dist/device/contact.d.ts.map +1 -1
  22. package/dist/device/contact.js +254 -545
  23. package/dist/device/contact.js.map +1 -1
  24. package/dist/device/curtain.d.ts +19 -88
  25. package/dist/device/curtain.d.ts.map +1 -1
  26. package/dist/device/curtain.js +412 -806
  27. package/dist/device/curtain.js.map +1 -1
  28. package/dist/device/device.d.ts +59 -0
  29. package/dist/device/device.d.ts.map +1 -0
  30. package/dist/device/device.js +711 -0
  31. package/dist/device/device.js.map +1 -0
  32. package/dist/device/fan.d.ts +51 -0
  33. package/dist/device/fan.d.ts.map +1 -0
  34. package/dist/device/fan.js +540 -0
  35. package/dist/device/fan.js.map +1 -0
  36. package/dist/device/hub.d.ts +16 -60
  37. package/dist/device/hub.d.ts.map +1 -1
  38. package/dist/device/hub.js +261 -616
  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 +240 -594
  43. package/dist/device/humidifier.js.map +1 -1
  44. package/dist/device/iosensor.d.ts +11 -64
  45. package/dist/device/iosensor.d.ts.map +1 -1
  46. package/dist/device/iosensor.js +196 -600
  47. package/dist/device/iosensor.js.map +1 -1
  48. package/dist/device/lightstrip.d.ts +11 -69
  49. package/dist/device/lightstrip.d.ts.map +1 -1
  50. package/dist/device/lightstrip.js +281 -586
  51. package/dist/device/lightstrip.js.map +1 -1
  52. package/dist/device/lock.d.ts +16 -63
  53. package/dist/device/lock.d.ts.map +1 -1
  54. package/dist/device/lock.js +252 -560
  55. package/dist/device/lock.js.map +1 -1
  56. package/dist/device/meter.d.ts +14 -64
  57. package/dist/device/meter.d.ts.map +1 -1
  58. package/dist/device/meter.js +191 -593
  59. package/dist/device/meter.js.map +1 -1
  60. package/dist/device/meterplus.d.ts +14 -65
  61. package/dist/device/meterplus.d.ts.map +1 -1
  62. package/dist/device/meterplus.js +180 -593
  63. package/dist/device/meterplus.js.map +1 -1
  64. package/dist/device/motion.d.ts +13 -69
  65. package/dist/device/motion.d.ts.map +1 -1
  66. package/dist/device/motion.js +188 -532
  67. package/dist/device/motion.js.map +1 -1
  68. package/dist/device/plug.d.ts +9 -57
  69. package/dist/device/plug.d.ts.map +1 -1
  70. package/dist/device/plug.js +96 -458
  71. package/dist/device/plug.js.map +1 -1
  72. package/dist/device/robotvacuumcleaner.d.ts +12 -63
  73. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  74. package/dist/device/robotvacuumcleaner.js +202 -521
  75. package/dist/device/robotvacuumcleaner.js.map +1 -1
  76. package/dist/device/waterdetector.d.ts +10 -63
  77. package/dist/device/waterdetector.d.ts.map +1 -1
  78. package/dist/device/waterdetector.js +146 -475
  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 +324 -452
  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 +93 -307
  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 +39 -281
  98. package/dist/irdevice/camera.js.map +1 -1
  99. package/dist/irdevice/fan.d.ts +10 -43
  100. package/dist/irdevice/fan.d.ts.map +1 -1
  101. package/dist/irdevice/fan.js +113 -341
  102. package/dist/irdevice/fan.js.map +1 -1
  103. package/dist/irdevice/irdevice.d.ts +40 -0
  104. package/dist/irdevice/irdevice.d.ts.map +1 -0
  105. package/dist/irdevice/irdevice.js +330 -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 +118 -362
  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 +438 -570
  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 +87 -335
  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 +45 -285
  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 +47 -291
  126. package/dist/irdevice/waterheater.js.map +1 -1
  127. package/dist/platform.d.ts +19 -6
  128. package/dist/platform.d.ts.map +1 -1
  129. package/dist/platform.js +310 -172
  130. package/dist/platform.js.map +1 -1
  131. package/dist/settings.d.ts +62 -19
  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 +77 -0
  136. package/dist/utils.d.ts.map +1 -1
  137. package/dist/utils.js +638 -1
  138. package/dist/utils.js.map +1 -1
  139. package/eslint.config.js +96 -0
  140. package/package.json +19 -15
  141. package/src/custom.d.ts +2 -1
  142. package/src/device/blindtilt.ts +462 -817
  143. package/src/device/bot.ts +862 -931
  144. package/src/device/ceilinglight.ts +259 -633
  145. package/src/device/colorbulb.ts +300 -688
  146. package/src/device/contact.ts +288 -571
  147. package/src/device/curtain.ts +441 -838
  148. package/src/device/device.ts +734 -0
  149. package/src/device/fan.ts +596 -0
  150. package/src/device/hub.ts +299 -645
  151. package/src/device/humidifier.ts +274 -647
  152. package/src/device/iosensor.ts +233 -626
  153. package/src/device/lightstrip.ts +309 -620
  154. package/src/device/lock.ts +292 -601
  155. package/src/device/meter.ts +228 -619
  156. package/src/device/meterplus.ts +216 -619
  157. package/src/device/motion.ts +218 -559
  158. package/src/device/plug.ts +111 -490
  159. package/src/device/robotvacuumcleaner.ts +228 -550
  160. package/src/device/waterdetector.ts +169 -501
  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 +350 -477
  165. package/src/irdevice/airpurifier.ts +120 -330
  166. package/src/irdevice/camera.ts +53 -301
  167. package/src/irdevice/fan.ts +130 -360
  168. package/src/irdevice/irdevice.ts +346 -0
  169. package/src/irdevice/light.ts +157 -412
  170. package/src/irdevice/other.ts +507 -648
  171. package/src/irdevice/tv.ts +117 -367
  172. package/src/irdevice/vacuumcleaner.ts +59 -311
  173. package/src/irdevice/waterheater.ts +61 -320
  174. package/src/platform.ts +355 -219
  175. package/src/settings.ts +116 -611
  176. package/src/utils.ts +642 -1
  177. package/src/device/waterdetector.json +0 -11
@@ -0,0 +1,40 @@
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
+ disablePushOnChanges(device: irdevice & irDevicesConfig): Promise<void>;
21
+ disablePushOffChanges(device: irdevice & irDevicesConfig): Promise<void>;
22
+ disablePushDetailChanges(device: irdevice & irDevicesConfig): Promise<void>;
23
+ commandType(): Promise<string>;
24
+ commandOn(): Promise<string>;
25
+ commandOff(): Promise<string>;
26
+ statusCode(statusCode: number): Promise<void>;
27
+ /**
28
+ * Logging for Device
29
+ */
30
+ infoLog(...log: any[]): void;
31
+ successLog(...log: any[]): void;
32
+ debugSuccessLog(...log: any[]): void;
33
+ warnLog(...log: any[]): void;
34
+ debugWarnLog(...log: any[]): void;
35
+ errorLog(...log: any[]): void;
36
+ debugErrorLog(...log: any[]): void;
37
+ debugLog(...log: any[]): void;
38
+ enablingDeviceLogging(): boolean;
39
+ }
40
+ //# sourceMappingURL=irdevice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irdevice.d.ts","sourceRoot":"","sources":["../../src/irdevice/irdevice.ts"],"names":[],"mappings":"AAIA,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;IA0BxC,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;IAejG,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,330 @@
1
+ export class irdeviceBase {
2
+ platform;
3
+ accessory;
4
+ device;
5
+ api;
6
+ log;
7
+ config;
8
+ hap;
9
+ // Config
10
+ deviceLogging;
11
+ disablePushOn;
12
+ disablePushOff;
13
+ disablePushDetail;
14
+ constructor(platform, accessory, device) {
15
+ this.platform = platform;
16
+ this.accessory = accessory;
17
+ this.device = device;
18
+ this.api = this.platform.api;
19
+ this.log = this.platform.log;
20
+ this.config = this.platform.config;
21
+ this.hap = this.api.hap;
22
+ this.getDeviceLogSettings(device);
23
+ this.getDeviceConfigSettings(device);
24
+ this.getDeviceContext(accessory, device);
25
+ this.disablePushOnChanges(device);
26
+ this.disablePushOffChanges(device);
27
+ // Set accessory information
28
+ accessory
29
+ .getService(this.hap.Service.AccessoryInformation)
30
+ .setCharacteristic(this.hap.Characteristic.Manufacturer, 'SwitchBot')
31
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
32
+ .setCharacteristic(this.hap.Characteristic.ConfiguredName, accessory.context.name)
33
+ .setCharacteristic(this.hap.Characteristic.Model, accessory.context.model)
34
+ .setCharacteristic(this.hap.Characteristic.SerialNumber, accessory.context.deviceId)
35
+ .setCharacteristic(this.hap.Characteristic.FirmwareRevision, accessory.context.firmware)
36
+ .getCharacteristic(this.hap.Characteristic.FirmwareRevision)
37
+ .updateValue(accessory.context.firmware);
38
+ }
39
+ async getDeviceLogSettings(device) {
40
+ if (this.platform.debugMode) {
41
+ this.deviceLogging = this.accessory.context.logging = 'debugMode';
42
+ this.debugWarnLog(`${this.device.remoteType}: ${this.accessory.displayName} Using Debug Mode Logging: ${this.deviceLogging}`);
43
+ }
44
+ else if (device.logging) {
45
+ this.deviceLogging = this.accessory.context.logging = device.logging;
46
+ this.debugWarnLog(`${this.device.remoteType}: ${this.accessory.displayName} Using Device Config Logging: ${this.deviceLogging}`);
47
+ }
48
+ else if (this.config.logging) {
49
+ this.deviceLogging = this.accessory.context.logging = this.config.logging;
50
+ this.debugWarnLog(`${this.device.remoteType}: ${this.accessory.displayName} Using Platform Config Logging: ${this.deviceLogging}`);
51
+ }
52
+ else {
53
+ this.deviceLogging = this.accessory.context.logging = 'standard';
54
+ this.debugWarnLog(`${this.device.remoteType}: ${this.accessory.displayName} Logging Not Set, Using: ${this.deviceLogging}`);
55
+ }
56
+ }
57
+ async getDeviceConfigSettings(device) {
58
+ const deviceConfig = {};
59
+ if (device.logging !== 'standard') {
60
+ deviceConfig['logging'] = device.logging;
61
+ }
62
+ if (device.connectionType !== '') {
63
+ deviceConfig['connectionType'] = device.connectionType;
64
+ }
65
+ if (device.external === true) {
66
+ deviceConfig['external'] = device.external;
67
+ }
68
+ if (device.customize === true) {
69
+ deviceConfig['customize'] = device.customize;
70
+ }
71
+ if (device.commandType !== '') {
72
+ deviceConfig['commandType'] = device.commandType;
73
+ }
74
+ if (device.customOn !== '') {
75
+ deviceConfig['customOn'] = device.customOn;
76
+ }
77
+ if (device.customOff !== '') {
78
+ deviceConfig['customOff'] = device.customOff;
79
+ }
80
+ if (device.disablePushOn === true) {
81
+ deviceConfig['disablePushOn'] = device.disablePushOn;
82
+ }
83
+ if (device.disablePushOff === true) {
84
+ deviceConfig['disablePushOff'] = device.disablePushOff;
85
+ }
86
+ if (device.disablePushDetail === true) {
87
+ deviceConfig['disablePushDetail'] = device.disablePushDetail;
88
+ }
89
+ let irairConfig = {};
90
+ if (device.irair) {
91
+ irairConfig = device.irair;
92
+ }
93
+ let irpurConfig = {};
94
+ if (device.irpur) {
95
+ irpurConfig = device.irpur;
96
+ }
97
+ let ircamConfig = {};
98
+ if (device.ircam) {
99
+ ircamConfig = device.ircam;
100
+ }
101
+ let irfanConfig = {};
102
+ if (device.irfan) {
103
+ irfanConfig = device.irfan;
104
+ }
105
+ let irlightConfig = {};
106
+ if (device.irlight) {
107
+ irlightConfig = device.irlight;
108
+ }
109
+ let otherConfig = {};
110
+ if (device.other) {
111
+ otherConfig = device.other;
112
+ }
113
+ let irtvConfig = {};
114
+ if (device.irtv) {
115
+ irtvConfig = device.irtv;
116
+ }
117
+ let irvcConfig = {};
118
+ if (device.irvc) {
119
+ irvcConfig = device.irvc;
120
+ }
121
+ let irwhConfig = {};
122
+ if (device.irwh) {
123
+ irwhConfig = device.irwh;
124
+ }
125
+ const config = Object.assign({}, deviceConfig, irairConfig, irpurConfig, ircamConfig, irfanConfig, irlightConfig, otherConfig, irtvConfig, irvcConfig, irwhConfig);
126
+ if (Object.entries(config).length !== 0) {
127
+ this.debugSuccessLog(`${this.device.remoteType}: ${this.accessory.displayName} Config: ${JSON.stringify(config)}`);
128
+ }
129
+ }
130
+ async getDeviceContext(accessory, device) {
131
+ accessory.context.name = device.deviceName;
132
+ accessory.context.model = device.remoteType;
133
+ accessory.context.deviceId = device.deviceId;
134
+ accessory.context.remoteType = device.remoteType;
135
+ if (device.firmware) {
136
+ accessory.context.firmware = device.firmware;
137
+ }
138
+ else if (device.firmware === undefined || accessory.context.firmware === undefined) {
139
+ device.firmware = this.platform.version;
140
+ accessory.context.firmware = device.firmware;
141
+ }
142
+ else {
143
+ accessory.context.firmware = 'Unknown';
144
+ }
145
+ }
146
+ async disablePushOnChanges(device) {
147
+ if (device.disablePushOn === undefined) {
148
+ this.disablePushOn = false;
149
+ }
150
+ else {
151
+ this.disablePushOn = device.disablePushOn;
152
+ }
153
+ }
154
+ async disablePushOffChanges(device) {
155
+ if (device.disablePushOff === undefined) {
156
+ this.disablePushOff = false;
157
+ }
158
+ else {
159
+ this.disablePushOff = device.disablePushOff;
160
+ }
161
+ }
162
+ async disablePushDetailChanges(device) {
163
+ if (device.disablePushDetail === undefined) {
164
+ this.disablePushDetail = false;
165
+ }
166
+ else {
167
+ this.disablePushDetail = device.disablePushDetail;
168
+ }
169
+ }
170
+ async commandType() {
171
+ let commandType;
172
+ if (this.device.commandType && this.device.customize) {
173
+ commandType = this.device.commandType;
174
+ }
175
+ else if (this.device.customize) {
176
+ commandType = 'customize';
177
+ }
178
+ else {
179
+ commandType = 'command';
180
+ }
181
+ return commandType;
182
+ }
183
+ async commandOn() {
184
+ let command;
185
+ if (this.device.customize && this.device.customOn) {
186
+ command = this.device.customOn;
187
+ }
188
+ else {
189
+ command = 'turnOn';
190
+ }
191
+ return command;
192
+ }
193
+ async commandOff() {
194
+ let command;
195
+ if (this.device.customize && this.device.customOff) {
196
+ command = this.device.customOff;
197
+ }
198
+ else {
199
+ command = 'turnOff';
200
+ }
201
+ return command;
202
+ }
203
+ async statusCode(statusCode) {
204
+ switch (statusCode) {
205
+ case 151:
206
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Command not supported by this deviceType, statusCode: ${statusCode}`);
207
+ break;
208
+ case 152:
209
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Device not found, statusCode: ${statusCode}`);
210
+ break;
211
+ case 160:
212
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Command is not supported, statusCode: ${statusCode}`);
213
+ break;
214
+ case 161:
215
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Device is offline, statusCode: ${statusCode}`);
216
+ break;
217
+ case 171:
218
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Hub Device is offline, statusCode: ${statusCode}. ` +
219
+ `Hub: ${this.device.hubDeviceId}`);
220
+ break;
221
+ case 190:
222
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Device internal error due to device states not synchronized with` +
223
+ ` server, Or command format is invalid, statusCode: ${statusCode}`);
224
+ break;
225
+ case 100:
226
+ this.debugLog(`${this.device.remoteType}: ${this.accessory.displayName} Command successfully sent, statusCode: ${statusCode}`);
227
+ break;
228
+ case 200:
229
+ this.debugLog(`${this.device.remoteType}: ${this.accessory.displayName} Request successful, statusCode: ${statusCode}`);
230
+ break;
231
+ case 400:
232
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Bad Request, The client has issued an invalid request. `
233
+ + `This is commonly used to specify validation errors in a request payload, statusCode: ${statusCode}`);
234
+ break;
235
+ case 401:
236
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Unauthorized, Authorization for the API is required, `
237
+ + `but the request has not been authenticated, statusCode: ${statusCode}`);
238
+ break;
239
+ case 403:
240
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Forbidden, The request has been authenticated but does not `
241
+ + `have appropriate permissions, or a requested resource is not found, statusCode: ${statusCode}`);
242
+ break;
243
+ case 404:
244
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Not Found, Specifies the requested path does not exist, `
245
+ + `statusCode: ${statusCode}`);
246
+ break;
247
+ case 406:
248
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Not Acceptable, The client has requested a MIME type via `
249
+ + `the Accept header for a value not supported by the server, statusCode: ${statusCode}`);
250
+ break;
251
+ case 415:
252
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Unsupported Media Type, The client has defined a contentType `
253
+ + `header that is not supported by the server, statusCode: ${statusCode}`);
254
+ break;
255
+ case 422:
256
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Unprocessable Entity, The client has made a valid request, `
257
+ + `but the server cannot process it. This is often used for APIs for which certain limits have been exceeded, statusCode: ${statusCode}`);
258
+ break;
259
+ case 429:
260
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Too Many Requests, The client has exceeded the number of `
261
+ + `requests allowed for a given time window, statusCode: ${statusCode}`);
262
+ break;
263
+ case 500:
264
+ this.errorLog(`${this.device.remoteType}: ${this.accessory.displayName} Internal Server Error, An unexpected error on the SmartThings `
265
+ + `servers has occurred. These errors should be rare, statusCode: ${statusCode}`);
266
+ break;
267
+ default:
268
+ this.infoLog(`${this.device.remoteType}: ${this.accessory.displayName} Unknown statusCode: `
269
+ + `${statusCode}, Submit Bugs Here: ' + 'https://tinyurl.com/SwitchBotBug`);
270
+ }
271
+ }
272
+ /**
273
+ * Logging for Device
274
+ */
275
+ infoLog(...log) {
276
+ if (this.enablingDeviceLogging()) {
277
+ this.log.info(String(...log));
278
+ }
279
+ }
280
+ successLog(...log) {
281
+ if (this.enablingDeviceLogging()) {
282
+ this.platform.log.success(String(...log));
283
+ }
284
+ }
285
+ debugSuccessLog(...log) {
286
+ if (this.enablingDeviceLogging()) {
287
+ if (this.deviceLogging?.includes('debug')) {
288
+ this.log.success('[DEBUG]', String(...log));
289
+ }
290
+ }
291
+ }
292
+ warnLog(...log) {
293
+ if (this.enablingDeviceLogging()) {
294
+ this.log.warn(String(...log));
295
+ }
296
+ }
297
+ debugWarnLog(...log) {
298
+ if (this.enablingDeviceLogging()) {
299
+ if (this.deviceLogging?.includes('debug')) {
300
+ this.log.warn('[DEBUG]', String(...log));
301
+ }
302
+ }
303
+ }
304
+ errorLog(...log) {
305
+ if (this.enablingDeviceLogging()) {
306
+ this.log.error(String(...log));
307
+ }
308
+ }
309
+ debugErrorLog(...log) {
310
+ if (this.enablingDeviceLogging()) {
311
+ if (this.deviceLogging?.includes('debug')) {
312
+ this.log.error('[DEBUG]', String(...log));
313
+ }
314
+ }
315
+ }
316
+ debugLog(...log) {
317
+ if (this.enablingDeviceLogging()) {
318
+ if (this.deviceLogging === 'debug') {
319
+ this.log.info('[DEBUG]', String(...log));
320
+ }
321
+ else {
322
+ this.log.debug(String(...log));
323
+ }
324
+ }
325
+ }
326
+ enablingDeviceLogging() {
327
+ return this.deviceLogging.includes('debug') || this.deviceLogging === 'standard';
328
+ }
329
+ }
330
+ //# 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":"AAAA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAW,eAAe,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAE7F;;;;GAIG;AACH,qBAAa,KAAK;IAwBd,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,SAAS;IACV,MAAM,EAAE,QAAQ,GAAG,eAAe;IAzB3C,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;IAE5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAGvC,EAAE,EAAG,mBAAmB,CAAC;IACzB,yBAAyB,CAAC,EAAE,mBAAmB,CAAC;IAChD,+BAA+B,CAAC,EAAE,mBAAmB,CAAC;IACtD,0BAA0B,CAAC,EAAE,mBAAmB,CAAC;IACjD,gCAAgC,CAAC,EAAE,mBAAmB,CAAC;IACvD,gBAAgB,EAAG,mBAAmB,CAAC;IAGvC,aAAa,EAAG,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;gBAGN,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC7B,MAAM,EAAE,QAAQ,GAAG,eAAe;IA2FrC,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAehD,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,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBnC,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAkCpC,WAAW,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC3C,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC7C,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,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAU9B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAU5B,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAU7B,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4E7C,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/B,aAAa;IAYb,YAAY,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkC/D,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBnE;;OAEG;IACH,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,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"}
1
+ {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../src/irdevice/light.ts"],"names":[],"mappings":"AAMA,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;IAoCxD,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IAoC7C,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;CAUtC"}