@switchbot/homebridge-switchbot 1.15.1-beta.7 → 1.15.1-beta.9

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 (112) hide show
  1. package/.prettierrc +1 -1
  2. package/dist/device/bot.d.ts +8 -7
  3. package/dist/device/bot.d.ts.map +1 -1
  4. package/dist/device/bot.js +97 -21
  5. package/dist/device/bot.js.map +1 -1
  6. package/dist/device/colorbulb.d.ts +8 -7
  7. package/dist/device/colorbulb.d.ts.map +1 -1
  8. package/dist/device/colorbulb.js +221 -56
  9. package/dist/device/colorbulb.js.map +1 -1
  10. package/dist/device/contact.d.ts +3 -3
  11. package/dist/device/contact.d.ts.map +1 -1
  12. package/dist/device/contact.js +50 -7
  13. package/dist/device/contact.js.map +1 -1
  14. package/dist/device/curtain.d.ts +9 -8
  15. package/dist/device/curtain.d.ts.map +1 -1
  16. package/dist/device/curtain.js +95 -21
  17. package/dist/device/curtain.js.map +1 -1
  18. package/dist/device/humidifier.d.ts +8 -7
  19. package/dist/device/humidifier.d.ts.map +1 -1
  20. package/dist/device/humidifier.js +180 -59
  21. package/dist/device/humidifier.js.map +1 -1
  22. package/dist/device/lock.d.ts +8 -7
  23. package/dist/device/lock.d.ts.map +1 -1
  24. package/dist/device/lock.js +98 -22
  25. package/dist/device/lock.js.map +1 -1
  26. package/dist/device/meter.d.ts +4 -4
  27. package/dist/device/meter.d.ts.map +1 -1
  28. package/dist/device/meter.js +51 -8
  29. package/dist/device/meter.js.map +1 -1
  30. package/dist/device/meterplus.d.ts +3 -3
  31. package/dist/device/meterplus.d.ts.map +1 -1
  32. package/dist/device/meterplus.js +49 -6
  33. package/dist/device/meterplus.js.map +1 -1
  34. package/dist/device/motion.d.ts +3 -3
  35. package/dist/device/motion.d.ts.map +1 -1
  36. package/dist/device/motion.js +49 -9
  37. package/dist/device/motion.js.map +1 -1
  38. package/dist/device/plug.d.ts +8 -7
  39. package/dist/device/plug.d.ts.map +1 -1
  40. package/dist/device/plug.js +96 -20
  41. package/dist/device/plug.js.map +1 -1
  42. package/dist/device/striplight.d.ts +8 -7
  43. package/dist/device/striplight.d.ts.map +1 -1
  44. package/dist/device/striplight.js +186 -47
  45. package/dist/device/striplight.js.map +1 -1
  46. package/dist/irdevice/airconditioner.d.ts +7 -6
  47. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  48. package/dist/irdevice/airconditioner.js +40 -6
  49. package/dist/irdevice/airconditioner.js.map +1 -1
  50. package/dist/irdevice/airpurifier.d.ts +7 -6
  51. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  52. package/dist/irdevice/airpurifier.js +46 -11
  53. package/dist/irdevice/airpurifier.js.map +1 -1
  54. package/dist/irdevice/camera.d.ts +7 -6
  55. package/dist/irdevice/camera.d.ts.map +1 -1
  56. package/dist/irdevice/camera.js +40 -6
  57. package/dist/irdevice/camera.js.map +1 -1
  58. package/dist/irdevice/fan.d.ts +8 -7
  59. package/dist/irdevice/fan.d.ts.map +1 -1
  60. package/dist/irdevice/fan.js +40 -6
  61. package/dist/irdevice/fan.js.map +1 -1
  62. package/dist/irdevice/light.d.ts +7 -6
  63. package/dist/irdevice/light.d.ts.map +1 -1
  64. package/dist/irdevice/light.js +40 -6
  65. package/dist/irdevice/light.js.map +1 -1
  66. package/dist/irdevice/other.d.ts +7 -6
  67. package/dist/irdevice/other.d.ts.map +1 -1
  68. package/dist/irdevice/other.js +40 -6
  69. package/dist/irdevice/other.js.map +1 -1
  70. package/dist/irdevice/tv.d.ts +8 -7
  71. package/dist/irdevice/tv.d.ts.map +1 -1
  72. package/dist/irdevice/tv.js +40 -6
  73. package/dist/irdevice/tv.js.map +1 -1
  74. package/dist/irdevice/vacuumcleaner.d.ts +7 -6
  75. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  76. package/dist/irdevice/vacuumcleaner.js +40 -6
  77. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  78. package/dist/irdevice/waterheater.d.ts +7 -6
  79. package/dist/irdevice/waterheater.d.ts.map +1 -1
  80. package/dist/irdevice/waterheater.js +40 -6
  81. package/dist/irdevice/waterheater.js.map +1 -1
  82. package/dist/platform.d.ts +3 -5
  83. package/dist/platform.d.ts.map +1 -1
  84. package/dist/platform.js +141 -95
  85. package/dist/platform.js.map +1 -1
  86. package/dist/settings.d.ts +2 -21
  87. package/dist/settings.d.ts.map +1 -1
  88. package/dist/settings.js +3 -3
  89. package/dist/settings.js.map +1 -1
  90. package/package.json +6 -7
  91. package/src/device/bot.ts +97 -30
  92. package/src/device/colorbulb.ts +225 -93
  93. package/src/device/contact.ts +49 -10
  94. package/src/device/curtain.ts +98 -31
  95. package/src/device/humidifier.ts +182 -77
  96. package/src/device/lock.ts +97 -30
  97. package/src/device/meter.ts +51 -12
  98. package/src/device/meterplus.ts +48 -9
  99. package/src/device/motion.ts +48 -12
  100. package/src/device/plug.ts +97 -29
  101. package/src/device/striplight.ts +189 -68
  102. package/src/irdevice/airconditioner.ts +44 -9
  103. package/src/irdevice/airpurifier.ts +52 -17
  104. package/src/irdevice/camera.ts +46 -11
  105. package/src/irdevice/fan.ts +50 -15
  106. package/src/irdevice/light.ts +48 -13
  107. package/src/irdevice/other.ts +46 -11
  108. package/src/irdevice/tv.ts +56 -21
  109. package/src/irdevice/vacuumcleaner.ts +46 -11
  110. package/src/irdevice/waterheater.ts +46 -11
  111. package/src/platform.ts +154 -108
  112. package/src/settings.ts +2 -25
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.VacuumCleaner = void 0;
7
+ const https_1 = __importDefault(require("https"));
8
+ const crypto_1 = __importDefault(require("crypto"));
4
9
  const settings_1 = require("../settings");
5
10
  /**
6
11
  * Platform Accessory
@@ -94,9 +99,38 @@ class VacuumCleaner {
94
99
  this.infoLog(`Vacuum Cleaner: ${this.accessory.displayName} Sending request to SwitchBot API. command: ${payload.command},` +
95
100
  ` parameter: ${payload.parameter}, commandType: ${payload.commandType}`);
96
101
  // Make the API request
97
- const push = await this.platform.axios.post(`${settings_1.DeviceURL}/${this.device.deviceId}/commands`, payload);
98
- this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} pushChanges: ${push.data}`);
99
- this.statusCode(push);
102
+ const t = Date.now();
103
+ const nonce = 'requestID';
104
+ const data = this.platform.config.credentials?.token + t + nonce;
105
+ const signTerm = crypto_1.default.createHmac('sha256', this.platform.config.credentials?.secret).update(Buffer.from(data, 'utf-8')).digest();
106
+ const sign = signTerm.toString('base64');
107
+ this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} sign: ${sign}`);
108
+ const options = {
109
+ hostname: settings_1.HostDomain,
110
+ port: 443,
111
+ path: `${settings_1.DevicePath}/${this.device.deviceId}/commands`,
112
+ method: 'POST',
113
+ headers: {
114
+ 'Authorization': this.platform.config.credentials?.token,
115
+ 'sign': sign,
116
+ 'nonce': nonce,
117
+ 't': t,
118
+ 'Content-Type': 'application/json',
119
+ },
120
+ };
121
+ const req = https_1.default.request(options, (res) => {
122
+ this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} statusCode: ${res.statusCode}`);
123
+ this.statusCode({ res });
124
+ res.on('data', (d) => {
125
+ this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} d: ${d}`);
126
+ });
127
+ });
128
+ req.on('error', (error) => {
129
+ this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} error: ${error}`);
130
+ });
131
+ req.write(payload);
132
+ req.end();
133
+ this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} pushchanges: ${JSON.stringify(req)}`);
100
134
  this.OnCached = this.On;
101
135
  this.accessory.context.On = this.OnCached;
102
136
  this.updateHomeKitCharacteristics();
@@ -110,8 +144,8 @@ class VacuumCleaner {
110
144
  this.apiError(e);
111
145
  }
112
146
  }
113
- async statusCode(push) {
114
- switch (push.data.statusCode) {
147
+ async statusCode({ res }) {
148
+ switch (res.statusCode) {
115
149
  case 151:
116
150
  this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} Command not supported by this device type.`);
117
151
  break;
@@ -129,7 +163,7 @@ class VacuumCleaner {
129
163
  break;
130
164
  case 190:
131
165
  this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} Device internal error due to device states not synchronized` +
132
- ` with server, Or command: ${JSON.stringify(push.data)} format is invalid`);
166
+ ` with server, Or command: ${JSON.stringify(res)} format is invalid`);
133
167
  break;
134
168
  case 100:
135
169
  this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} Command successfully sent.`);
@@ -1 +1 @@
1
- {"version":3,"file":"vacuumcleaner.js","sourceRoot":"","sources":["../../src/irdevice/vacuumcleaner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vacuumcleaner.js","sourceRoot":"","sources":["../../src/irdevice/vacuumcleaner.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { AxiosResponse } from 'axios';
1
+ /// <reference types="node" />
2
+ import { IncomingMessage } from 'http';
2
3
  import { SwitchBotPlatform } from '../platform';
3
- import { irDevicesConfig, irdevice, payload } from '../settings';
4
+ import { irDevicesConfig, irdevice } from '../settings';
4
5
  import { CharacteristicValue, PlatformAccessory, Service } from 'homebridge';
5
6
  /**
6
7
  * Platform Accessory
@@ -30,10 +31,10 @@ export declare class WaterHeater {
30
31
  */
31
32
  pushWaterHeaterOnChanges(): Promise<void>;
32
33
  pushWaterHeaterOffChanges(): Promise<void>;
33
- pushChanges(payload: payload): Promise<void>;
34
- statusCode(push: AxiosResponse<{
35
- statusCode: number;
36
- }>): Promise<void>;
34
+ pushChanges(payload: any): Promise<void>;
35
+ statusCode({ res }: {
36
+ res: IncomingMessage;
37
+ }): Promise<void>;
37
38
  apiError(e: any): Promise<void>;
38
39
  config(device: irdevice & irDevicesConfig): Promise<void>;
39
40
  logs(device: irdevice & irDevicesConfig): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"waterheater.d.ts","sourceRoot":"","sources":["../../src/irdevice/waterheater.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAa,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE7E;;;;GAIG;AACH,qBAAa,WAAW;IAWV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAqB,OAAO,CAAC,SAAS;IAA4B,MAAM,EAAE,QAAQ,GAAG,eAAe;IATzI,YAAY,EAAG,OAAO,CAAC;IAGvB,MAAM,EAAG,mBAAmB,CAAC;IAC7B,YAAY,EAAG,mBAAmB,CAAC;IAGnC,aAAa,EAAG,MAAM,CAAC;gBAEM,QAAQ,EAAE,iBAAiB,EAAU,SAAS,EAAE,iBAAiB,EAAS,MAAM,EAAE,QAAQ,GAAG,eAAe;IAqCnI,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpD,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IASnD;;;;;;;;;OASG;IACG,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1C,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB5C,UAAU,CAAC,IAAI,EAAE,aAAa,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA+BtE,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/B,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAazD,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7D;;OAEG;IACH,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM7B,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAU7B,qBAAqB,IAAI,OAAO;CAGjC"}
1
+ {"version":3,"file":"waterheater.d.ts","sourceRoot":"","sources":["../../src/irdevice/waterheater.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAA0B,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAE7E;;;;GAIG;AACH,qBAAa,WAAW;IAWV,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAqB,OAAO,CAAC,SAAS;IAA4B,MAAM,EAAE,QAAQ,GAAG,eAAe;IATzI,YAAY,EAAG,OAAO,CAAC;IAGvB,MAAM,EAAG,mBAAmB,CAAC;IAC7B,YAAY,EAAG,mBAAmB,CAAC;IAGnC,aAAa,EAAG,MAAM,CAAC;gBAEM,QAAQ,EAAE,iBAAiB,EAAU,SAAS,EAAE,iBAAiB,EAAS,MAAM,EAAE,QAAQ,GAAG,eAAe;IAqCnI,SAAS,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAcpD,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC;IASnD;;;;;;;;;OASG;IACG,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzC,yBAAyB,IAAI,OAAO,CAAC,IAAI,CAAC;IAW1C,WAAW,CAAC,OAAO,KAAA,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDnC,UAAU,CAAC,EAAE,GAAG,EAAE,EAAE;QAAE,GAAG,EAAE,eAAe,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B5D,QAAQ,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/B,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAazD,IAAI,CAAC,MAAM,EAAE,QAAQ,GAAG,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7D;;OAEG;IACH,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM7B,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAU7B,qBAAqB,IAAI,OAAO;CAGjC"}
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.WaterHeater = void 0;
7
+ const https_1 = __importDefault(require("https"));
8
+ const crypto_1 = __importDefault(require("crypto"));
4
9
  const settings_1 = require("../settings");
5
10
  /**
6
11
  * Platform Accessory
@@ -100,9 +105,38 @@ class WaterHeater {
100
105
  this.infoLog(`Water Heater: ${this.accessory.displayName} Sending request to SwitchBot API. command: ${payload.command},` +
101
106
  ` parameter: ${payload.parameter}, commandType: ${payload.commandType}`);
102
107
  // Make the API request
103
- const push = await this.platform.axios.post(`${settings_1.DeviceURL}/${this.device.deviceId}/commands`, payload);
104
- this.debugLog(`Water Heater: ${this.accessory.displayName} pushChanges: ${push.data}`);
105
- this.statusCode(push);
108
+ const t = Date.now();
109
+ const nonce = 'requestID';
110
+ const data = this.platform.config.credentials?.token + t + nonce;
111
+ const signTerm = crypto_1.default.createHmac('sha256', this.platform.config.credentials?.secret).update(Buffer.from(data, 'utf-8')).digest();
112
+ const sign = signTerm.toString('base64');
113
+ this.debugLog(`Water Heater: ${this.accessory.displayName} sign: ${sign}`);
114
+ const options = {
115
+ hostname: settings_1.HostDomain,
116
+ port: 443,
117
+ path: `${settings_1.DevicePath}/${this.device.deviceId}/commands`,
118
+ method: 'POST',
119
+ headers: {
120
+ Authorization: this.platform.config.credentials?.token,
121
+ sign: sign,
122
+ nonce: nonce,
123
+ t: t,
124
+ 'Content-Type': 'application/json',
125
+ },
126
+ };
127
+ const req = https_1.default.request(options, (res) => {
128
+ this.debugLog(`Water Heater: ${this.accessory.displayName} statusCode: ${res.statusCode}`);
129
+ this.statusCode({ res });
130
+ res.on('data', (d) => {
131
+ this.debugLog(`Water Heater: ${this.accessory.displayName} d: ${d}`);
132
+ });
133
+ });
134
+ req.on('error', (error) => {
135
+ this.errorLog(`Water Heater: ${this.accessory.displayName} error: ${error}`);
136
+ });
137
+ req.write(payload);
138
+ req.end();
139
+ this.debugLog(`Water Heater: ${this.accessory.displayName} pushchanges: ${JSON.stringify(req)}`);
106
140
  this.updateHomeKitCharacteristics();
107
141
  }
108
142
  catch (e) {
@@ -113,8 +147,8 @@ class WaterHeater {
113
147
  this.apiError(e);
114
148
  }
115
149
  }
116
- async statusCode(push) {
117
- switch (push.data.statusCode) {
150
+ async statusCode({ res }) {
151
+ switch (res.statusCode) {
118
152
  case 151:
119
153
  this.errorLog(`Water Heater: ${this.accessory.displayName} Command not supported by this device type.`);
120
154
  break;
@@ -132,7 +166,7 @@ class WaterHeater {
132
166
  break;
133
167
  case 190:
134
168
  this.errorLog(`Water Heater: ${this.accessory.displayName} Device internal error due to device states not synchronized` +
135
- ` with server, Or command: ${JSON.stringify(push.data)} format is invalid`);
169
+ ` with server, Or command: ${JSON.stringify(res)} format is invalid`);
136
170
  break;
137
171
  case 100:
138
172
  this.debugLog(`Water Heater: ${this.accessory.displayName} Command successfully sent.`);
@@ -1 +1 @@
1
- {"version":3,"file":"waterheater.js","sourceRoot":"","sources":["../../src/irdevice/waterheater.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"waterheater.js","sourceRoot":"","sources":["../../src/irdevice/waterheater.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { AxiosInstance } from 'axios';
2
1
  import { API, DynamicPlatformPlugin, Logger, PlatformAccessory, Service, Characteristic } from 'homebridge';
3
- import { irdevice, device, SwitchBotPlatformConfig, deviceResponses, devicesConfig } from './settings';
2
+ import { irdevice, device, SwitchBotPlatformConfig, devicesConfig } from './settings';
4
3
  /**
5
4
  * HomebridgePlatform
6
5
  * This class is the main constructor for your plugin, this is where you should
@@ -13,9 +12,8 @@ export declare class SwitchBotPlatform implements DynamicPlatformPlugin {
13
12
  readonly Service: typeof Service;
14
13
  readonly Characteristic: typeof Characteristic;
15
14
  readonly accessories: PlatformAccessory[];
16
- axios: AxiosInstance;
17
15
  version: any;
18
- deviceStatus: deviceResponses;
16
+ deviceStatus: any;
19
17
  registeringDevice: boolean;
20
18
  debugMode: boolean;
21
19
  platformLogging?: string;
@@ -71,7 +69,7 @@ export declare class SwitchBotPlatform implements DynamicPlatformPlugin {
71
69
  connectionTypeNewIRAccessory(accessory: PlatformAccessory): Promise<void>;
72
70
  connectionTypeExistingIRAccessory(existingAccessory: PlatformAccessory): Promise<void>;
73
71
  unregisterPlatformAccessories(existingAccessory: PlatformAccessory): void;
74
- deviceListInfo(devices: deviceResponses): void;
72
+ deviceListInfo(devices: any): void;
75
73
  deviceInfo(device: (irdevice & devicesConfig) | (device & devicesConfig)): Promise<void>;
76
74
  connectBLE(): any;
77
75
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAwBA,OAAc,EAAE,aAAa,EAAsB,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAAyC,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9I;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,qBAAqB;aAmBjC,GAAG,EAAE,MAAM;aAAkB,MAAM,EAAE,uBAAuB;aAAkB,GAAG,EAAE,GAAG;IAlBlH,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IAE/C,KAAK,EAAE,aAAa,CAExB;IAEH,OAAO,MAAkD;IACzD,YAAY,EAAG,eAAe,CAAC;IAC/B,iBAAiB,EAAG,OAAO,CAAC;IAC5B,SAAS,EAAG,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAgB,WAAW,EAAE,GAAG,CAAC;gBAEL,GAAG,EAAE,MAAM,EAAkB,MAAM,EAAE,uBAAuB,EAAkB,GAAG,EAAE,GAAG;IAsElH,IAAI;IAoBJ;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C;;OAEG;IACG,YAAY;IAyFlB;;;;OAIG;IACG,WAAW;IA6CjB;;OAEG;IACG,eAAe;IA0GrB,WAAW,CAAC,CAAC,EAAE,GAAG;IA0ClB,OAAO,CAAC,YAAY;IAqEpB,OAAO,CAAC,cAAc;IA+DtB,OAAO,CAAC,cAAc;YAiBR,gBAAgB;YAwDhB,SAAS;YA4DT,WAAW;YAuDX,eAAe;YAuDf,YAAY;YAuDZ,aAAa;YAuDb,aAAa;IAkE3B,OAAO,CAAC,gBAAgB;YAeV,UAAU;YAuDV,UAAU;YAuDV,eAAe;YAuDf,gBAAgB;YAuDhB,QAAQ;YAsDR,SAAS;YAwDT,WAAW;YAuDX,oBAAoB;YAuDpB,iBAAiB;YAuDjB,iBAAiB;YAuDjB,mBAAmB;YAuDnB,YAAY;YAuDZ,YAAY;IAuDb,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,SAAS,EAAE,iBAAiB;IAQvF,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,iBAAiB,EAAE,iBAAiB;IAQpG,4BAA4B,CAAC,SAAS,EAAE,iBAAiB;IAIzD,iCAAiC,CAAC,iBAAiB,EAAE,iBAAiB;IAI5E,6BAA6B,CAAC,iBAAiB,EAAE,iBAAiB;IAMlE,cAAc,CAAC,OAAO,EAAE,eAAe;IAMjC,UAAU,CAAC,MAAM,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,GAAG,aAAa,CAAC;IAcrF,UAAU;IAaV;;;OAGG;IACH,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM7B,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAU7B,uBAAuB,IAAI,OAAO;CAGnC"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAA8B,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,aAAa,EAA0B,MAAM,YAAY,CAAC;AAE1I;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,qBAAqB;aAejC,GAAG,EAAE,MAAM;aAAkB,MAAM,EAAE,uBAAuB;aAAkB,GAAG,EAAE,GAAG;IAdlH,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IAEtD,OAAO,MAAkD;IACzD,YAAY,EAAG,GAAG,CAAC;IACnB,iBAAiB,EAAG,OAAO,CAAC;IAC5B,SAAS,EAAG,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAgB,WAAW,EAAE,GAAG,CAAC;gBAEL,GAAG,EAAE,MAAM,EAAkB,MAAM,EAAE,uBAAuB,EAAkB,GAAG,EAAE,GAAG;IAmDlH,IAAI;IAoBJ;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C;;OAEG;IACG,YAAY;IAyFlB;;;;OAIG;IACG,WAAW;IA6CjB;;OAEG;IACG,eAAe;IAgJrB,WAAW,CAAC,CAAC,EAAE,GAAG;IA0ClB,OAAO,CAAC,YAAY;IAqEpB,OAAO,CAAC,cAAc;IA+DtB,OAAO,CAAC,cAAc;YAiBR,gBAAgB;YAwDhB,SAAS;YA4DT,WAAW;YAuDX,eAAe;YAuDf,YAAY;YAuDZ,aAAa;YAuDb,aAAa;IAkE3B,OAAO,CAAC,gBAAgB;YAeV,UAAU;YAuDV,UAAU;YAuDV,eAAe;YAuDf,gBAAgB;YAuDhB,QAAQ;YAsDR,SAAS;YAwDT,WAAW;YAuDX,oBAAoB;YAuDpB,iBAAiB;YAuDjB,iBAAiB;YAuDjB,mBAAmB;YAuDnB,YAAY;YAuDZ,YAAY;IAuDb,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,SAAS,EAAE,iBAAiB;IAQvF,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,EAAE,iBAAiB,EAAE,iBAAiB;IAQpG,4BAA4B,CAAC,SAAS,EAAE,iBAAiB;IAIzD,iCAAiC,CAAC,iBAAiB,EAAE,iBAAiB;IAI5E,6BAA6B,CAAC,iBAAiB,EAAE,iBAAiB;IAMlE,cAAc,CAAC,OAAO,KAAA;IAMhB,UAAU,CAAC,MAAM,EAAE,CAAC,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,GAAG,aAAa,CAAC;IA6CrF,UAAU;IAaV;;;OAGG;IACH,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM5B,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAM7B,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI;IAU7B,uBAAuB,IAAI,OAAO;CAGnC"}
package/dist/platform.js CHANGED
@@ -24,11 +24,11 @@ const airpurifier_1 = require("./irdevice/airpurifier");
24
24
  const waterheater_1 = require("./irdevice/waterheater");
25
25
  const vacuumcleaner_1 = require("./irdevice/vacuumcleaner");
26
26
  const airconditioner_1 = require("./irdevice/airconditioner");
27
+ const https_1 = __importDefault(require("https"));
27
28
  const crypto_1 = __importDefault(require("crypto"));
28
29
  const buffer_1 = require("buffer");
29
30
  const fakegato_history_1 = __importDefault(require("fakegato-history"));
30
31
  const fs_1 = require("fs");
31
- const axios_1 = __importDefault(require("axios"));
32
32
  const settings_1 = require("./settings");
33
33
  /**
34
34
  * HomebridgePlatform
@@ -44,20 +44,8 @@ class SwitchBotPlatform {
44
44
  this.Characteristic = this.api.hap.Characteristic;
45
45
  // this is used to track restored cached accessories
46
46
  this.accessories = [];
47
- this.axios = axios_1.default.create({
48
- responseType: 'json',
49
- });
50
47
  this.version = require('../package.json').version || '1.12.8'; // eslint-disable-line @typescript-eslint/no-var-requires
51
48
  this.logs();
52
- const token = this.config.credentials?.token;
53
- const secret = this.config.credentials?.secret;
54
- const t = Date.now().toString();
55
- const nonce = '';
56
- const data = token + t + nonce;
57
- const signTerm = crypto_1.default.createHmac('sha256', secret)
58
- .update(buffer_1.Buffer.from(data, 'utf-8'))
59
- .digest();
60
- const sign = buffer_1.Buffer.from(String(signTerm), 'binary').toString('base64');
61
49
  this.debugLog('Finished initializing platform:', this.config.name);
62
50
  // only load if configured
63
51
  if (!this.config) {
@@ -79,15 +67,6 @@ class SwitchBotPlatform {
79
67
  }
80
68
  return;
81
69
  }
82
- // setup axios interceptor to add headers / api key to each request
83
- this.axios.interceptors.request.use((request) => {
84
- request.headers.Authorization = token;
85
- request.headers.sign = sign;
86
- request.headers.t = t;
87
- request.headers.nonce = nonce;
88
- request.headers['Content-Type'] = 'application/json; charset=utf8';
89
- return request;
90
- });
91
70
  // import fakegato-history module
92
71
  this.fakegatoAPI = (0, fakegato_history_1.default)(api);
93
72
  // When this event is fired it means Homebridge has restored all cached accessories from disk.
@@ -276,82 +255,120 @@ class SwitchBotPlatform {
276
255
  async discoverDevices() {
277
256
  try {
278
257
  if (this.config.credentials?.token) {
279
- const devicesAPI = (await this.axios.get(settings_1.DeviceURL)).data;
280
- this.deviceListInfo(devicesAPI);
281
- this.debugLog(JSON.stringify(devicesAPI));
282
- // SwitchBot Devices
283
- if (devicesAPI.body.deviceList.length !== 0) {
284
- this.infoLog(`Total SwitchBot Devices Found: ${devicesAPI.body.deviceList.length}`);
285
- }
286
- else {
287
- this.debugLog(`Total SwitchBot Devices Found: ${devicesAPI.body.deviceList.length}`);
288
- }
289
- const deviceLists = devicesAPI.body.deviceList;
290
- if (!this.config.options?.devices) {
291
- this.debugLog(`SwitchBot Device Config Not Set: ${JSON.stringify(this.config.options?.devices)}`);
292
- const devices = deviceLists.map((v) => v);
293
- for (const device of devices) {
294
- if (device.deviceType) {
295
- if (device.configDeviceName) {
296
- device.deviceName = device.configDeviceName;
258
+ const t = Date.now();
259
+ const nonce = 'requestID';
260
+ const data = this.config.credentials?.token + t + nonce;
261
+ const signTerm = crypto_1.default.createHmac('sha256', this.config.credentials?.secret).update(buffer_1.Buffer.from(data, 'utf-8')).digest();
262
+ const sign = signTerm.toString('base64');
263
+ this.debugLog(sign);
264
+ const options = {
265
+ hostname: settings_1.HostDomain,
266
+ port: 443,
267
+ path: settings_1.DevicePath,
268
+ method: 'GET',
269
+ headers: {
270
+ 'Authorization': this.config.credentials?.token,
271
+ 'sign': sign,
272
+ 'nonce': nonce,
273
+ 't': t,
274
+ 'Content-Type': 'application/json',
275
+ },
276
+ };
277
+ const req = https_1.default.request(options, (res) => {
278
+ this.debugLog(`statusCode: ${res.statusCode}`);
279
+ this.debugLog(`headers: ${JSON.stringify(res.headers)}`);
280
+ let rawData = '';
281
+ res.on('data', (d) => {
282
+ rawData += d;
283
+ this.debugLog(`d: ${d}`);
284
+ });
285
+ res.on('end', () => {
286
+ try {
287
+ const devicesAPI = JSON.parse(rawData);
288
+ this.debugLog(`devicesAPI: ${JSON.stringify(devicesAPI.body)}`);
289
+ // SwitchBot Devices
290
+ if (devicesAPI.body.deviceList.length !== 0) {
291
+ this.infoLog(`Total SwitchBot Devices Found: ${devicesAPI.body.deviceList.length}`);
297
292
  }
298
- this.createDevice(device);
299
- }
300
- }
301
- }
302
- else if (this.config.credentials.token && this.config.options.devices) {
303
- this.debugLog(`SwitchBot Device Config Set: ${JSON.stringify(this.config.options?.devices)}`);
304
- const deviceConfigs = this.config.options?.devices;
305
- const mergeBydeviceId = (a1, a2) => a1.map((itm) => ({
306
- ...a2.find((item) => item.deviceId.toUpperCase().replace(/[^A-Z0-9]+/g, '') === itm.deviceId.toUpperCase().replace(/[^A-Z0-9]+/g, '') && item),
307
- ...itm,
308
- }));
309
- const devices = mergeBydeviceId(deviceLists, deviceConfigs);
310
- this.debugLog(`SwitchBot Devices: ${JSON.stringify(devices)}`);
311
- for (const device of devices) {
312
- if (device.deviceType) {
313
- if (device.configDeviceName) {
314
- device.deviceName = device.configDeviceName;
293
+ else {
294
+ this.debugLog(`Total SwitchBot Devices Found: ${devicesAPI.body.deviceList.length}`);
295
+ }
296
+ const deviceLists = devicesAPI.body.deviceList;
297
+ if (!this.config.options?.devices) {
298
+ this.debugLog(`SwitchBot Device Config Not Set: ${JSON.stringify(this.config.options?.devices)}`);
299
+ const devices = deviceLists.map((v) => v);
300
+ for (const device of devices) {
301
+ if (device.deviceType) {
302
+ if (device.configDeviceName) {
303
+ device.deviceName = device.configDeviceName;
304
+ }
305
+ this.createDevice(device);
306
+ }
307
+ }
308
+ }
309
+ else if (this.config.credentials?.token && this.config.options.devices) {
310
+ this.debugLog(`SwitchBot Device Config Set: ${JSON.stringify(this.config.options?.devices)}`);
311
+ const deviceConfigs = this.config.options?.devices;
312
+ const mergeBydeviceId = (a1, a2) => a1.map((itm) => ({
313
+ ...a2.find((item) => item.deviceId.toUpperCase().replace(/[^A-Z0-9]+/g, '') === itm.deviceId.toUpperCase().replace(/[^A-Z0-9]+/g, '') && item),
314
+ ...itm,
315
+ }));
316
+ const devices = mergeBydeviceId(deviceLists, deviceConfigs);
317
+ this.debugLog(`SwitchBot Devices: ${JSON.stringify(devices)}`);
318
+ for (const device of devices) {
319
+ if (device.deviceType) {
320
+ if (device.configDeviceName) {
321
+ device.deviceName = device.configDeviceName;
322
+ }
323
+ this.createDevice(device);
324
+ }
325
+ }
326
+ }
327
+ else {
328
+ this.errorLog('SwitchBot Token Supplied, Issue with Auth.');
329
+ }
330
+ // IR Devices
331
+ if (devicesAPI.body.infraredRemoteList.length !== 0) {
332
+ this.infoLog(`Total IR Devices Found: ${devicesAPI.body.infraredRemoteList.length}`);
333
+ }
334
+ else {
335
+ this.debugLog(`Total IR Devices Found: ${devicesAPI.body.infraredRemoteList.length}`);
336
+ }
337
+ const irDeviceLists = devicesAPI.body.infraredRemoteList;
338
+ if (!this.config.options?.irdevices) {
339
+ this.debugLog(`IR Device Config Not Set: ${JSON.stringify(this.config.options?.irdevices)}`);
340
+ const devices = irDeviceLists.map((v) => v);
341
+ for (const device of devices) {
342
+ if (device.remoteType) {
343
+ this.createIRDevice(device);
344
+ }
345
+ }
346
+ }
347
+ else {
348
+ this.debugLog(`IR Device Config Set: ${JSON.stringify(this.config.options?.irdevices)}`);
349
+ const irDeviceConfig = this.config.options?.irdevices;
350
+ const mergeIRBydeviceId = (a1, a2) => a1.map((itm) => ({
351
+ ...a2.find((item) => item.deviceId.toUpperCase().replace(/[^A-Z0-9]+/g, '') === itm.deviceId.toUpperCase().replace(/[^A-Z0-9]+/g, '') && item),
352
+ ...itm,
353
+ }));
354
+ const devices = mergeIRBydeviceId(irDeviceLists, irDeviceConfig);
355
+ this.debugLog(`IR Devices: ${JSON.stringify(devices)}`);
356
+ for (const device of devices) {
357
+ if (device.remoteType) {
358
+ this.createIRDevice(device);
359
+ }
360
+ }
315
361
  }
316
- this.createDevice(device);
317
- }
318
- }
319
- }
320
- else {
321
- this.errorLog('SwitchBot Token Supplied, Issue with Auth.');
322
- }
323
- // IR Devices
324
- if (devicesAPI.body.infraredRemoteList.length !== 0) {
325
- this.infoLog(`Total IR Devices Found: ${devicesAPI.body.infraredRemoteList.length}`);
326
- }
327
- else {
328
- this.debugLog(`Total IR Devices Found: ${devicesAPI.body.infraredRemoteList.length}`);
329
- }
330
- const irDeviceLists = devicesAPI.body.infraredRemoteList;
331
- if (!this.config.options?.irdevices) {
332
- this.debugLog(`IR Device Config Not Set: ${JSON.stringify(this.config.options?.irdevices)}`);
333
- const devices = irDeviceLists.map((v) => v);
334
- for (const device of devices) {
335
- if (device.remoteType) {
336
- this.createIRDevice(device);
337
362
  }
338
- }
339
- }
340
- else {
341
- this.debugLog(`IR Device Config Set: ${JSON.stringify(this.config.options?.irdevices)}`);
342
- const irDeviceConfig = this.config.options?.irdevices;
343
- const mergeIRBydeviceId = (a1, a2) => a1.map((itm) => ({
344
- ...a2.find((item) => item.deviceId.toUpperCase().replace(/[^A-Z0-9]+/g, '') === itm.deviceId.toUpperCase().replace(/[^A-Z0-9]+/g, '') && item),
345
- ...itm,
346
- }));
347
- const devices = mergeIRBydeviceId(irDeviceLists, irDeviceConfig);
348
- this.debugLog(`IR Devices: ${JSON.stringify(devices)}`);
349
- for (const device of devices) {
350
- if (device.remoteType) {
351
- this.createIRDevice(device);
363
+ catch (e) {
364
+ this.errorLog(e.message);
352
365
  }
353
- }
354
- }
366
+ });
367
+ });
368
+ req.on('error', (error) => {
369
+ this.errorLog(error);
370
+ });
371
+ req.end();
355
372
  }
356
373
  else if (!this.config.credentials?.token && this.config.options?.devices) {
357
374
  this.debugLog(`SwitchBot Device Manual Config Set: ${JSON.stringify(this.config.options?.devices)}`);
@@ -1651,7 +1668,36 @@ class SwitchBotPlatform {
1651
1668
  async deviceInfo(device) {
1652
1669
  if (this.platformLogging?.includes('debug')) {
1653
1670
  this.warnLog(JSON.stringify(device));
1654
- this.deviceStatus = (await this.axios.get(`${settings_1.DeviceURL}/${device.deviceId}/status`)).data;
1671
+ const t = Date.now();
1672
+ const nonce = 'requestID';
1673
+ const data = this.config.credentials?.token + t + nonce;
1674
+ const signTerm = crypto_1.default.createHmac('sha256', this.config.credentials?.secret).update(buffer_1.Buffer.from(data, 'utf-8')).digest();
1675
+ const sign = signTerm.toString('base64');
1676
+ this.debugLog(sign);
1677
+ const options = {
1678
+ hostname: settings_1.HostDomain,
1679
+ port: 443,
1680
+ path: `${settings_1.DevicePath}/${device.deviceId}/status`,
1681
+ method: 'GET',
1682
+ headers: {
1683
+ Authorization: this.config.credentials?.token,
1684
+ sign: sign,
1685
+ nonce: nonce,
1686
+ t: t,
1687
+ 'Content-Type': 'application/json',
1688
+ },
1689
+ };
1690
+ const req = https_1.default.request(options, (res) => {
1691
+ this.debugLog(`statusCode: ${res.statusCode}`);
1692
+ res.on('data', (d) => {
1693
+ process.stdout.write(d);
1694
+ });
1695
+ });
1696
+ req.on('error', (error) => {
1697
+ this.errorLog(error);
1698
+ });
1699
+ req.end();
1700
+ this.deviceStatus = req;
1655
1701
  if (this.deviceStatus.message === 'success') {
1656
1702
  this.warnLog(`${device.deviceName} deviceInfoStatus: ${JSON.stringify(this.deviceStatus)}`);
1657
1703
  }