@switchbot/homebridge-switchbot 4.1.1-beta.2 → 4.1.1-beta.3
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.
- package/dist/device/blindtilt.js +102 -102
- package/dist/device/blindtilt.js.map +1 -1
- package/dist/device/bot.js +85 -85
- package/dist/device/bot.js.map +1 -1
- package/dist/device/ceilinglight.js +98 -98
- package/dist/device/ceilinglight.js.map +1 -1
- package/dist/device/colorbulb.js +140 -140
- package/dist/device/colorbulb.js.map +1 -1
- package/dist/device/contact.js +44 -44
- package/dist/device/contact.js.map +1 -1
- package/dist/device/curtain.js +82 -82
- package/dist/device/curtain.js.map +1 -1
- package/dist/device/device.d.ts +11 -11
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/device.js +41 -41
- package/dist/device/device.js.map +1 -1
- package/dist/device/fan.js +96 -96
- package/dist/device/fan.js.map +1 -1
- package/dist/device/hub.js +43 -43
- package/dist/device/hub.js.map +1 -1
- package/dist/device/humidifier.js +84 -84
- package/dist/device/humidifier.js.map +1 -1
- package/dist/device/iosensor.js +44 -44
- package/dist/device/iosensor.js.map +1 -1
- package/dist/device/lightstrip.js +119 -119
- package/dist/device/lightstrip.js.map +1 -1
- package/dist/device/lock.js +75 -75
- package/dist/device/lock.js.map +1 -1
- package/dist/device/meter.js +44 -44
- package/dist/device/meter.js.map +1 -1
- package/dist/device/meterplus.js +42 -42
- package/dist/device/meterplus.js.map +1 -1
- package/dist/device/meterpro.js +42 -42
- package/dist/device/meterpro.js.map +1 -1
- package/dist/device/motion.js +42 -42
- package/dist/device/motion.js.map +1 -1
- package/dist/device/plug.js +60 -60
- package/dist/device/plug.js.map +1 -1
- package/dist/device/robotvacuumcleaner.js +74 -74
- package/dist/device/robotvacuumcleaner.js.map +1 -1
- package/dist/device/waterdetector.js +44 -44
- package/dist/device/waterdetector.js.map +1 -1
- package/dist/irdevice/airconditioner.js +31 -31
- package/dist/irdevice/airconditioner.js.map +1 -1
- package/dist/irdevice/airpurifier.js +10 -10
- package/dist/irdevice/airpurifier.js.map +1 -1
- package/dist/irdevice/camera.js +9 -9
- package/dist/irdevice/camera.js.map +1 -1
- package/dist/irdevice/fan.js +11 -11
- package/dist/irdevice/fan.js.map +1 -1
- package/dist/irdevice/irdevice.js +11 -11
- package/dist/irdevice/irdevice.js.map +1 -1
- package/dist/irdevice/light.js +9 -9
- package/dist/irdevice/light.js.map +1 -1
- package/dist/irdevice/other.js +55 -55
- package/dist/irdevice/other.js.map +1 -1
- package/dist/irdevice/tv.js +33 -33
- package/dist/irdevice/tv.js.map +1 -1
- package/dist/irdevice/vacuumcleaner.js +9 -9
- package/dist/irdevice/vacuumcleaner.js.map +1 -1
- package/dist/irdevice/waterheater.js +9 -9
- package/dist/irdevice/waterheater.js.map +1 -1
- package/dist/platform.js +228 -228
- package/dist/platform.js.map +1 -1
- package/package.json +1 -1
- package/src/device/blindtilt.ts +102 -102
- package/src/device/bot.ts +85 -85
- package/src/device/ceilinglight.ts +98 -98
- package/src/device/colorbulb.ts +140 -140
- package/src/device/contact.ts +44 -44
- package/src/device/curtain.ts +82 -82
- package/src/device/device.ts +41 -41
- package/src/device/fan.ts +96 -96
- package/src/device/hub.ts +43 -43
- package/src/device/humidifier.ts +84 -84
- package/src/device/iosensor.ts +44 -44
- package/src/device/lightstrip.ts +119 -119
- package/src/device/lock.ts +75 -75
- package/src/device/meter.ts +44 -44
- package/src/device/meterplus.ts +42 -42
- package/src/device/meterpro.ts +42 -42
- package/src/device/motion.ts +42 -42
- package/src/device/plug.ts +60 -60
- package/src/device/robotvacuumcleaner.ts +74 -74
- package/src/device/waterdetector.ts +44 -44
- package/src/irdevice/airconditioner.ts +31 -31
- package/src/irdevice/airpurifier.ts +10 -10
- package/src/irdevice/camera.ts +9 -9
- package/src/irdevice/fan.ts +11 -11
- package/src/irdevice/irdevice.ts +11 -11
- package/src/irdevice/light.ts +9 -9
- package/src/irdevice/other.ts +55 -55
- package/src/irdevice/tv.ts +33 -33
- package/src/irdevice/vacuumcleaner.ts +9 -9
- package/src/irdevice/waterheater.ts +9 -9
- package/src/platform.ts +228 -228
package/dist/device/motion.js
CHANGED
|
@@ -114,54 +114,54 @@ export class Motion extends deviceBase {
|
|
|
114
114
|
});
|
|
115
115
|
}
|
|
116
116
|
async BLEparseStatus() {
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
this.debugLog('BLEparseStatus');
|
|
118
|
+
this.debugLog(`(moveDetected) = BLE: (${this.serviceData.movement}), current: (${this.MotionSensor.MotionDetected})`);
|
|
119
119
|
// Movement
|
|
120
120
|
this.MotionSensor.MotionDetected = this.serviceData.movement;
|
|
121
|
-
|
|
121
|
+
this.debugLog(`MotionDetected: ${this.MotionSensor.MotionDetected}`);
|
|
122
122
|
// CurrentAmbientLightLevel
|
|
123
123
|
if (!this.device.hide_lightsensor && this.LightSensor?.Service) {
|
|
124
124
|
const set_minLux = this.device.set_minLux ?? 1;
|
|
125
125
|
const set_maxLux = this.device.set_maxLux ?? 6001;
|
|
126
126
|
const lightLevel = this.serviceData.lightLevel === 'bright' ? set_maxLux : set_minLux;
|
|
127
127
|
this.LightSensor.CurrentAmbientLightLevel = await this.getLightLevel(lightLevel, set_minLux, set_maxLux, 2);
|
|
128
|
-
|
|
128
|
+
this.debugLog(`LightLevel: ${this.serviceData.lightLevel}, CurrentAmbientLightLevel: ${this.LightSensor.CurrentAmbientLightLevel}`);
|
|
129
129
|
}
|
|
130
130
|
// BatteryLevel
|
|
131
131
|
this.Battery.BatteryLevel = this.serviceData.battery;
|
|
132
|
-
|
|
132
|
+
this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`);
|
|
133
133
|
// StatusLowBattery
|
|
134
134
|
this.Battery.StatusLowBattery = this.Battery.BatteryLevel < 10
|
|
135
135
|
? this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW
|
|
136
136
|
: this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
|
|
137
|
-
|
|
137
|
+
this.debugLog(`StatusLowBattery: ${this.Battery.StatusLowBattery}`);
|
|
138
138
|
}
|
|
139
139
|
async openAPIparseStatus() {
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
this.debugLog('openAPIparseStatus');
|
|
141
|
+
this.debugLog(`(moveDetected) = OpenAPI: (${this.deviceStatus.moveDetected}), current: (${this.MotionSensor.MotionDetected})`);
|
|
142
142
|
// Motion State
|
|
143
143
|
this.MotionSensor.MotionDetected = this.deviceStatus.moveDetected;
|
|
144
|
-
|
|
144
|
+
this.debugLog(`MotionDetected: ${this.MotionSensor.MotionDetected}`);
|
|
145
145
|
// CurrentAmbientLightLevel
|
|
146
146
|
if (!this.device.hide_lightsensor && this.LightSensor?.Service) {
|
|
147
147
|
const set_minLux = this.device.set_minLux ?? 1;
|
|
148
148
|
const set_maxLux = this.device.set_maxLux ?? 6001;
|
|
149
149
|
const lightLevel = this.deviceStatus.brightness === 'bright' ? set_maxLux : set_minLux;
|
|
150
150
|
this.LightSensor.CurrentAmbientLightLevel = await this.getLightLevel(lightLevel, set_minLux, set_maxLux, 2);
|
|
151
|
-
|
|
151
|
+
this.debugLog(`LightLevel: ${this.deviceStatus.brightness}, CurrentAmbientLightLevel: ${this.LightSensor.CurrentAmbientLightLevel}`);
|
|
152
152
|
}
|
|
153
153
|
// BatteryLevel
|
|
154
154
|
this.Battery.BatteryLevel = this.deviceStatus.battery;
|
|
155
|
-
|
|
155
|
+
this.debugLog(`BatteryLevel: ${this.Battery.BatteryLevel}`);
|
|
156
156
|
// StatusLowBattery
|
|
157
157
|
this.Battery.StatusLowBattery = this.Battery.BatteryLevel < 10
|
|
158
158
|
? this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_LOW
|
|
159
159
|
: this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
|
|
160
|
-
|
|
160
|
+
this.debugLog(`StatusLowBattery: ${this.Battery.StatusLowBattery}`);
|
|
161
161
|
// FirmwareVersion
|
|
162
162
|
if (this.deviceStatus.version) {
|
|
163
163
|
const version = this.deviceStatus.version.toString();
|
|
164
|
-
|
|
164
|
+
this.debugLog(`Firmware Version: ${version.replace(/^V|-.*$/g, '')}`);
|
|
165
165
|
const deviceVersion = version.replace(/^V|-.*$/g, '') ?? '0.0.0';
|
|
166
166
|
this.accessory
|
|
167
167
|
.getService(this.hap.Service.AccessoryInformation)
|
|
@@ -170,22 +170,22 @@ export class Motion extends deviceBase {
|
|
|
170
170
|
.getCharacteristic(this.hap.Characteristic.FirmwareRevision)
|
|
171
171
|
.updateValue(deviceVersion);
|
|
172
172
|
this.accessory.context.version = deviceVersion;
|
|
173
|
-
|
|
173
|
+
this.debugLog(`version: ${this.accessory.context.version}`);
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
176
|
async parseStatusWebhook() {
|
|
177
|
-
|
|
178
|
-
|
|
177
|
+
this.debugLog('parseStatusWebhook');
|
|
178
|
+
this.debugLog(`(detectionState) = Webhook: (${this.webhookContext.detectionState}), current: (${this.MotionSensor.MotionDetected})`);
|
|
179
179
|
// MotionDetected
|
|
180
180
|
this.MotionSensor.MotionDetected = this.webhookContext.detectionState === 'DETECTED';
|
|
181
|
-
|
|
181
|
+
this.debugLog(`MotionDetected: ${this.MotionSensor.MotionDetected}`);
|
|
182
182
|
}
|
|
183
183
|
/**
|
|
184
184
|
* Asks the SwitchBot API for the latest device information
|
|
185
185
|
*/
|
|
186
186
|
async refreshStatus() {
|
|
187
187
|
if (!this.device.enableCloudService && this.OpenAPI) {
|
|
188
|
-
|
|
188
|
+
this.errorLog(`refreshStatus enableCloudService: ${this.device.enableCloudService}`);
|
|
189
189
|
}
|
|
190
190
|
else if (this.BLE) {
|
|
191
191
|
await this.BLERefreshStatus();
|
|
@@ -195,11 +195,11 @@ export class Motion extends deviceBase {
|
|
|
195
195
|
}
|
|
196
196
|
else {
|
|
197
197
|
await this.offlineOff();
|
|
198
|
-
|
|
198
|
+
this.debugWarnLog(`Connection Type: ${this.device.connectionType}, refreshStatus will not happen.`);
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
async BLERefreshStatus() {
|
|
202
|
-
|
|
202
|
+
this.debugLog('BLERefreshStatus');
|
|
203
203
|
const switchBotBLE = await this.switchbotBLE();
|
|
204
204
|
if (switchBotBLE === undefined) {
|
|
205
205
|
await this.BLERefreshConnection(switchBotBLE);
|
|
@@ -216,79 +216,79 @@ export class Motion extends deviceBase {
|
|
|
216
216
|
await this.updateHomeKitCharacteristics();
|
|
217
217
|
}
|
|
218
218
|
else {
|
|
219
|
-
|
|
219
|
+
this.errorLog(`failed to get serviceData, serviceData: ${JSON.stringify(serviceData)}`);
|
|
220
220
|
await this.BLERefreshConnection(switchBotBLE);
|
|
221
221
|
}
|
|
222
222
|
})();
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
225
|
async registerPlatformBLE() {
|
|
226
|
-
|
|
226
|
+
this.debugLog('registerPlatformBLE');
|
|
227
227
|
if (this.config.options?.BLE) {
|
|
228
|
-
|
|
228
|
+
this.debugLog('is listening to Platform BLE.');
|
|
229
229
|
try {
|
|
230
230
|
const formattedDeviceId = formatDeviceIdAsMac(this.device.deviceId);
|
|
231
231
|
this.device.bleMac = formattedDeviceId;
|
|
232
|
-
|
|
232
|
+
this.debugLog(`bleMac: ${this.device.bleMac}`);
|
|
233
233
|
this.platform.bleEventHandler[this.device.bleMac] = async (context) => {
|
|
234
234
|
try {
|
|
235
|
-
|
|
235
|
+
this.debugLog(`received BLE: ${JSON.stringify(context)}`);
|
|
236
236
|
this.serviceData = context;
|
|
237
237
|
await this.BLEparseStatus();
|
|
238
238
|
await this.updateHomeKitCharacteristics();
|
|
239
239
|
}
|
|
240
240
|
catch (e) {
|
|
241
|
-
|
|
241
|
+
this.errorLog(`failed to handle BLE. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
|
|
242
242
|
}
|
|
243
243
|
};
|
|
244
244
|
}
|
|
245
245
|
catch (error) {
|
|
246
|
-
|
|
246
|
+
this.errorLog(`failed to format device ID as MAC, Error: ${error}`);
|
|
247
247
|
}
|
|
248
248
|
}
|
|
249
249
|
else {
|
|
250
|
-
|
|
250
|
+
this.debugLog('is not listening to Platform BLE');
|
|
251
251
|
}
|
|
252
252
|
}
|
|
253
253
|
async openAPIRefreshStatus() {
|
|
254
|
-
|
|
254
|
+
this.debugLog('openAPIRefreshStatus');
|
|
255
255
|
try {
|
|
256
|
-
const
|
|
257
|
-
const deviceStatus =
|
|
258
|
-
|
|
256
|
+
const response = await this.deviceRefreshStatus();
|
|
257
|
+
const deviceStatus = response.body;
|
|
258
|
+
this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
259
259
|
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
260
|
-
|
|
260
|
+
this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
261
261
|
this.deviceStatus = deviceStatus.body;
|
|
262
262
|
await this.openAPIparseStatus();
|
|
263
263
|
await this.updateHomeKitCharacteristics();
|
|
264
264
|
}
|
|
265
265
|
else {
|
|
266
|
-
|
|
267
|
-
|
|
266
|
+
this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
267
|
+
this.debugWarnLog(deviceStatus);
|
|
268
268
|
}
|
|
269
269
|
}
|
|
270
270
|
catch (e) {
|
|
271
271
|
await this.apiError(e);
|
|
272
|
-
|
|
272
|
+
this.errorLog(`failed openAPIRefreshStatus with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
async registerWebhook() {
|
|
276
276
|
if (this.device.webhook) {
|
|
277
|
-
|
|
277
|
+
this.debugLog('is listening webhook.');
|
|
278
278
|
this.platform.webhookEventHandler[this.device.deviceId] = async (context) => {
|
|
279
279
|
try {
|
|
280
|
-
|
|
280
|
+
this.debugLog(`received Webhook: ${JSON.stringify(context)}`);
|
|
281
281
|
this.webhookContext = context;
|
|
282
282
|
await this.parseStatusWebhook();
|
|
283
283
|
await this.updateHomeKitCharacteristics();
|
|
284
284
|
}
|
|
285
285
|
catch (e) {
|
|
286
|
-
|
|
286
|
+
this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
|
|
287
287
|
}
|
|
288
288
|
};
|
|
289
289
|
}
|
|
290
290
|
else {
|
|
291
|
-
|
|
291
|
+
this.debugLog('is not listening webhook.');
|
|
292
292
|
}
|
|
293
293
|
}
|
|
294
294
|
/**
|
|
@@ -307,9 +307,9 @@ export class Motion extends deviceBase {
|
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
309
|
async BLERefreshConnection(switchbot) {
|
|
310
|
-
|
|
310
|
+
this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${switchbot}`);
|
|
311
311
|
if (this.platform.config.credentials?.token && this.device.connectionType === 'BLE/OpenAPI') {
|
|
312
|
-
|
|
312
|
+
this.warnLog('Using OpenAPI Connection to Refresh Status');
|
|
313
313
|
await this.openAPIRefreshStatus();
|
|
314
314
|
}
|
|
315
315
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"motion.js","sourceRoot":"","sources":["../../src/device/motion.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"motion.js","sourceRoot":"","sources":["../../src/device/motion.ts"],"names":[],"mappings":"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"}
|
package/dist/device/plug.js
CHANGED
|
@@ -81,28 +81,28 @@ export class Plug extends deviceBase {
|
|
|
81
81
|
}
|
|
82
82
|
catch (e) {
|
|
83
83
|
await this.apiError(e);
|
|
84
|
-
|
|
84
|
+
this.errorLog(`failed pushChanges with ${device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
|
|
85
85
|
}
|
|
86
86
|
this.plugUpdateInProgress = false;
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
89
|
async BLEparseStatus() {
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
this.debugLog('BLEparseStatus');
|
|
91
|
+
this.debugLog(`(powerState) = BLE: (${this.serviceData.state}), current:(${this.Outlet.On})`);
|
|
92
92
|
// On
|
|
93
93
|
this.Outlet.On = this.serviceData.state === 'on';
|
|
94
|
-
|
|
94
|
+
this.debugLog(`On: ${this.Outlet.On}`);
|
|
95
95
|
}
|
|
96
96
|
async openAPIparseStatus() {
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
this.debugLog('openAPIparseStatus');
|
|
98
|
+
this.debugLog(`(powerState) = OpenAPI: (${this.deviceStatus.power}), current:(${this.Outlet.On})`);
|
|
99
99
|
// On
|
|
100
100
|
this.Outlet.On = this.deviceStatus.power === 'on';
|
|
101
|
-
|
|
101
|
+
this.debugLog(`On: ${this.Outlet.On}`);
|
|
102
102
|
// Firmware Version
|
|
103
103
|
if (this.deviceStatus.version) {
|
|
104
104
|
const version = this.deviceStatus.version.toString();
|
|
105
|
-
|
|
105
|
+
this.debugLog(`Firmware Version: ${version.replace(/^V|-.*$/g, '')}`);
|
|
106
106
|
const deviceVersion = version.replace(/^V|-.*$/g, '') ?? '0.0.0';
|
|
107
107
|
this.accessory
|
|
108
108
|
.getService(this.hap.Service.AccessoryInformation)
|
|
@@ -111,22 +111,22 @@ export class Plug extends deviceBase {
|
|
|
111
111
|
.getCharacteristic(this.hap.Characteristic.FirmwareRevision)
|
|
112
112
|
.updateValue(deviceVersion);
|
|
113
113
|
this.accessory.context.version = deviceVersion;
|
|
114
|
-
|
|
114
|
+
this.debugSuccessLog(`version: ${this.accessory.context.version}`);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
async parseStatusWebhook() {
|
|
118
|
-
|
|
119
|
-
|
|
118
|
+
this.debugLog('parseStatusWebhook');
|
|
119
|
+
this.debugLog(`(powerState) = Webhook: (${this.webhookContext.powerState}), current:(${this.Outlet.On})`);
|
|
120
120
|
// On
|
|
121
121
|
this.Outlet.On = this.webhookContext.powerState === 'ON';
|
|
122
|
-
|
|
122
|
+
this.debugLog(`On: ${this.Outlet.On}`);
|
|
123
123
|
}
|
|
124
124
|
/**
|
|
125
125
|
* Asks the SwitchBot API for the latest device information
|
|
126
126
|
*/
|
|
127
127
|
async refreshStatus() {
|
|
128
128
|
if (!this.device.enableCloudService && this.OpenAPI) {
|
|
129
|
-
|
|
129
|
+
this.errorLog(`refreshStatus enableCloudService: ${this.device.enableCloudService}`);
|
|
130
130
|
}
|
|
131
131
|
else if (this.BLE) {
|
|
132
132
|
await this.BLERefreshStatus();
|
|
@@ -136,11 +136,11 @@ export class Plug extends deviceBase {
|
|
|
136
136
|
}
|
|
137
137
|
else {
|
|
138
138
|
await this.offlineOff();
|
|
139
|
-
|
|
139
|
+
this.debugWarnLog(`Connection Type: ${this.device.connectionType}, refreshStatus will not happen.`);
|
|
140
140
|
}
|
|
141
141
|
}
|
|
142
142
|
async BLERefreshStatus() {
|
|
143
|
-
|
|
143
|
+
this.debugLog('BLERefreshStatus');
|
|
144
144
|
const switchBotBLE = await this.switchbotBLE();
|
|
145
145
|
if (switchBotBLE === undefined) {
|
|
146
146
|
await this.BLERefreshConnection(switchBotBLE);
|
|
@@ -158,79 +158,79 @@ export class Plug extends deviceBase {
|
|
|
158
158
|
await this.updateHomeKitCharacteristics();
|
|
159
159
|
}
|
|
160
160
|
else {
|
|
161
|
-
|
|
161
|
+
this.errorLog(`failed to get serviceData, serviceData: ${JSON.stringify(serviceData)}`);
|
|
162
162
|
await this.BLERefreshConnection(switchBotBLE);
|
|
163
163
|
}
|
|
164
164
|
})();
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
async registerPlatformBLE() {
|
|
168
|
-
|
|
168
|
+
this.debugLog('registerPlatformBLE');
|
|
169
169
|
if (this.config.options?.BLE) {
|
|
170
|
-
|
|
170
|
+
this.debugLog('is listening to Platform BLE.');
|
|
171
171
|
try {
|
|
172
172
|
const formattedDeviceId = formatDeviceIdAsMac(this.device.deviceId);
|
|
173
173
|
this.device.bleMac = formattedDeviceId;
|
|
174
|
-
|
|
174
|
+
this.debugLog(`bleMac: ${this.device.bleMac}`);
|
|
175
175
|
this.platform.bleEventHandler[this.device.bleMac] = async (context) => {
|
|
176
176
|
try {
|
|
177
|
-
|
|
177
|
+
this.debugLog(`received BLE: ${JSON.stringify(context)}`);
|
|
178
178
|
this.serviceData = context;
|
|
179
179
|
await this.BLEparseStatus();
|
|
180
180
|
await this.updateHomeKitCharacteristics();
|
|
181
181
|
}
|
|
182
182
|
catch (e) {
|
|
183
|
-
|
|
183
|
+
this.errorLog(`failed to handle BLE. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
|
|
184
184
|
}
|
|
185
185
|
};
|
|
186
186
|
}
|
|
187
187
|
catch (error) {
|
|
188
|
-
|
|
188
|
+
this.errorLog(`failed to format device ID as MAC, Error: ${error}`);
|
|
189
189
|
}
|
|
190
190
|
}
|
|
191
191
|
else {
|
|
192
|
-
|
|
192
|
+
this.debugLog('is not listening to Platform BLE');
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
async openAPIRefreshStatus() {
|
|
196
|
-
|
|
196
|
+
this.debugLog('openAPIRefreshStatus');
|
|
197
197
|
try {
|
|
198
|
-
const
|
|
199
|
-
const deviceStatus =
|
|
200
|
-
|
|
198
|
+
const response = await this.deviceRefreshStatus();
|
|
199
|
+
const deviceStatus = response.body;
|
|
200
|
+
this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
201
201
|
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
202
|
-
|
|
202
|
+
this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
203
203
|
this.deviceStatus = deviceStatus.body;
|
|
204
204
|
await this.openAPIparseStatus();
|
|
205
205
|
await this.updateHomeKitCharacteristics();
|
|
206
206
|
}
|
|
207
207
|
else {
|
|
208
|
-
|
|
209
|
-
|
|
208
|
+
this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
209
|
+
this.debugWarnLog(deviceStatus);
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
catch (e) {
|
|
213
213
|
await this.apiError(e);
|
|
214
|
-
|
|
214
|
+
this.errorLog(`failed openAPIRefreshStatus with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
|
|
215
215
|
}
|
|
216
216
|
}
|
|
217
217
|
async registerWebhook() {
|
|
218
218
|
if (this.device.webhook) {
|
|
219
|
-
|
|
219
|
+
this.debugLog('is listening webhook.');
|
|
220
220
|
this.platform.webhookEventHandler[this.device.deviceId] = async (context) => {
|
|
221
221
|
try {
|
|
222
|
-
|
|
222
|
+
this.debugLog(`received Webhook: ${JSON.stringify(context)}`);
|
|
223
223
|
this.webhookContext = context;
|
|
224
224
|
await this.parseStatusWebhook();
|
|
225
225
|
await this.updateHomeKitCharacteristics();
|
|
226
226
|
}
|
|
227
227
|
catch (e) {
|
|
228
|
-
|
|
228
|
+
this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
|
|
229
229
|
}
|
|
230
230
|
};
|
|
231
231
|
}
|
|
232
232
|
else {
|
|
233
|
-
|
|
233
|
+
this.debugLog('is not listening webhook.');
|
|
234
234
|
}
|
|
235
235
|
}
|
|
236
236
|
/**
|
|
@@ -244,7 +244,7 @@ export class Plug extends deviceBase {
|
|
|
244
244
|
*/
|
|
245
245
|
async pushChanges() {
|
|
246
246
|
if (!this.device.enableCloudService && this.OpenAPI) {
|
|
247
|
-
|
|
247
|
+
this.errorLog(`pushChanges enableCloudService: ${this.device.enableCloudService}`);
|
|
248
248
|
}
|
|
249
249
|
else if (this.BLE) {
|
|
250
250
|
await this.BLEpushChanges();
|
|
@@ -254,7 +254,7 @@ export class Plug extends deviceBase {
|
|
|
254
254
|
}
|
|
255
255
|
else {
|
|
256
256
|
await this.offlineOff();
|
|
257
|
-
|
|
257
|
+
this.debugWarnLog(`Connection Type: ${this.device.connectionType}, pushChanges will not happen.`);
|
|
258
258
|
}
|
|
259
259
|
// Refresh the status from the API
|
|
260
260
|
interval(15000)
|
|
@@ -265,22 +265,22 @@ export class Plug extends deviceBase {
|
|
|
265
265
|
});
|
|
266
266
|
}
|
|
267
267
|
async BLEpushChanges() {
|
|
268
|
-
|
|
268
|
+
this.debugLog('BLEpushChanges');
|
|
269
269
|
if (this.Outlet.On !== this.accessory.context.On) {
|
|
270
|
-
|
|
270
|
+
this.debugLog(`BLEpushChanges On: ${this.Outlet.On}, OnCached: ${this.accessory.context.On}`);
|
|
271
271
|
const switchBotBLE = await this.platform.connectBLE(this.accessory, this.device);
|
|
272
272
|
try {
|
|
273
273
|
const formattedDeviceId = formatDeviceIdAsMac(this.device.deviceId);
|
|
274
274
|
this.device.bleMac = formattedDeviceId;
|
|
275
|
-
|
|
275
|
+
this.debugLog(`bleMac: ${this.device.bleMac}`);
|
|
276
276
|
if (switchBotBLE !== false) {
|
|
277
277
|
switchBotBLE
|
|
278
278
|
.discover({ model: this.device.bleModel, id: this.device.bleMac })
|
|
279
279
|
.then(async (device_list) => {
|
|
280
280
|
const deviceList = device_list;
|
|
281
|
-
|
|
281
|
+
this.infoLog(`On: ${this.Outlet.On}`);
|
|
282
282
|
return await this.retryBLE({
|
|
283
|
-
max:
|
|
283
|
+
max: this.maxRetryBLE(),
|
|
284
284
|
fn: async () => {
|
|
285
285
|
if (this.Outlet.On) {
|
|
286
286
|
return await deviceList[0].turnOn();
|
|
@@ -292,30 +292,30 @@ export class Plug extends deviceBase {
|
|
|
292
292
|
});
|
|
293
293
|
})
|
|
294
294
|
.then(async () => {
|
|
295
|
-
|
|
295
|
+
this.successLog(`On: ${this.Outlet.On} sent over SwitchBot BLE, sent successfully`);
|
|
296
296
|
await this.updateHomeKitCharacteristics();
|
|
297
297
|
})
|
|
298
298
|
.catch(async (e) => {
|
|
299
299
|
await this.apiError(e);
|
|
300
|
-
|
|
300
|
+
this.errorLog(`failed BLEpushChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
|
|
301
301
|
await this.BLEPushConnection();
|
|
302
302
|
});
|
|
303
303
|
}
|
|
304
304
|
else {
|
|
305
|
-
|
|
305
|
+
this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${JSON.stringify(switchBotBLE)}`);
|
|
306
306
|
await this.BLEPushConnection();
|
|
307
307
|
}
|
|
308
308
|
}
|
|
309
309
|
catch (error) {
|
|
310
|
-
|
|
310
|
+
this.errorLog(`failed to format device ID as MAC, Error: ${error}`);
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
313
|
else {
|
|
314
|
-
|
|
314
|
+
this.debugLog(`No changes (BLEpushChanges), On: ${this.Outlet.On}, OnCached: ${this.accessory.context.On}`);
|
|
315
315
|
}
|
|
316
316
|
}
|
|
317
317
|
async openAPIpushChanges() {
|
|
318
|
-
|
|
318
|
+
this.debugLog('openAPIpushChanges');
|
|
319
319
|
if (this.Outlet.On !== this.accessory.context.On) {
|
|
320
320
|
const command = this.Outlet.On ? 'turnOn' : 'turnOff';
|
|
321
321
|
const bodyChange = {
|
|
@@ -323,13 +323,13 @@ export class Plug extends deviceBase {
|
|
|
323
323
|
parameter: 'default',
|
|
324
324
|
commandType: 'command',
|
|
325
325
|
};
|
|
326
|
-
|
|
326
|
+
this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
|
|
327
327
|
try {
|
|
328
|
-
const
|
|
329
|
-
const deviceStatus =
|
|
330
|
-
|
|
328
|
+
const response = await this.pushChangeRequest(bodyChange);
|
|
329
|
+
const deviceStatus = response.body;
|
|
330
|
+
this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
331
331
|
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
332
|
-
|
|
332
|
+
this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
333
333
|
await this.updateHomeKitCharacteristics();
|
|
334
334
|
}
|
|
335
335
|
else {
|
|
@@ -338,11 +338,11 @@ export class Plug extends deviceBase {
|
|
|
338
338
|
}
|
|
339
339
|
catch (e) {
|
|
340
340
|
await this.apiError(e);
|
|
341
|
-
|
|
341
|
+
this.errorLog(`failed openAPIpushChanges with ${this.device.connectionType} Connection, Error Message: ${JSON.stringify(e.message)}`);
|
|
342
342
|
}
|
|
343
343
|
}
|
|
344
344
|
else {
|
|
345
|
-
|
|
345
|
+
this.debugLog(`No changes (openAPIpushChanges), On: ${this.Outlet.On}, OnCached: ${this.accessory.context.On}`);
|
|
346
346
|
}
|
|
347
347
|
}
|
|
348
348
|
/**
|
|
@@ -350,10 +350,10 @@ export class Plug extends deviceBase {
|
|
|
350
350
|
*/
|
|
351
351
|
async OnSet(value) {
|
|
352
352
|
if (this.Outlet.On !== this.accessory.context.On) {
|
|
353
|
-
|
|
353
|
+
this.infoLog(`Set On: ${value}`);
|
|
354
354
|
}
|
|
355
355
|
else {
|
|
356
|
-
|
|
356
|
+
this.debugLog(`No Changes, On: ${value}`);
|
|
357
357
|
}
|
|
358
358
|
this.Outlet.On = value;
|
|
359
359
|
this.doPlugUpdate.next();
|
|
@@ -364,14 +364,14 @@ export class Plug extends deviceBase {
|
|
|
364
364
|
}
|
|
365
365
|
async BLEPushConnection() {
|
|
366
366
|
if (this.platform.config.credentials?.token && this.device.connectionType === 'BLE/OpenAPI') {
|
|
367
|
-
|
|
367
|
+
this.warnLog('Using OpenAPI Connection to Push Changes');
|
|
368
368
|
await this.openAPIpushChanges();
|
|
369
369
|
}
|
|
370
370
|
}
|
|
371
371
|
async BLERefreshConnection(switchbot) {
|
|
372
|
-
|
|
372
|
+
this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${switchbot}`);
|
|
373
373
|
if (this.platform.config.credentials?.token && this.device.connectionType === 'BLE/OpenAPI') {
|
|
374
|
-
|
|
374
|
+
this.warnLog('Using OpenAPI Connection to Refresh Status');
|
|
375
375
|
await this.openAPIRefreshStatus();
|
|
376
376
|
}
|
|
377
377
|
}
|