From 53c557eeb936268bf5a9a4ce90b4a36950e6567c Mon Sep 17 00:00:00 2001 From: Donavan Becker Date: Sun, 29 Sep 2024 23:34:15 -0500 Subject: [PATCH] more changes --- package-lock.json | 8 ++--- package.json | 2 +- src/device/blindtilt.ts | 25 +++++++------- src/device/bot.ts | 25 +++++++------- src/device/ceilinglight.ts | 58 +++++++++++++++----------------- src/device/colorbulb.ts | 58 +++++++++++++++----------------- src/device/contact.ts | 14 ++++---- src/device/curtain.ts | 25 +++++++------- src/device/device.ts | 8 ++--- src/device/fan.ts | 47 ++++++++++++-------------- src/device/hub.ts | 14 ++++---- src/device/humidifier.ts | 47 ++++++++++++-------------- src/device/iosensor.ts | 14 ++++---- src/device/lightstrip.ts | 47 ++++++++++++-------------- src/device/lock.ts | 25 +++++++------- src/device/meter.ts | 14 ++++---- src/device/meterplus.ts | 14 ++++---- src/device/motion.ts | 14 ++++---- src/device/plug.ts | 25 +++++++------- src/device/robotvacuumcleaner.ts | 36 ++++++++++---------- src/device/waterdetector.ts | 14 ++++---- src/irdevice/airconditioner.ts | 11 +++--- src/irdevice/airpurifier.ts | 11 +++--- src/irdevice/camera.ts | 11 +++--- src/irdevice/fan.ts | 11 +++--- src/irdevice/irdevice.ts | 13 ++++--- src/irdevice/light.ts | 11 +++--- src/irdevice/other.ts | 11 +++--- src/irdevice/tv.ts | 11 +++--- src/irdevice/vacuumcleaner.ts | 11 +++--- src/irdevice/waterheater.ts | 11 +++--- src/platform.ts | 20 +++++------ 32 files changed, 314 insertions(+), 352 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8b58ea19..3c7e0bf0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "async-mqtt": "^2.6.3", "fakegato-history": "^0.6.5", "homebridge-lib": "^7.0.8", - "node-switchbot": "2.5.0-beta.22", + "node-switchbot": "2.5.0-beta.23", "rxjs": "^7.8.1" }, "devDependencies": { @@ -11956,9 +11956,9 @@ } }, "node_modules/node-switchbot": { - "version": "2.5.0-beta.22", - "resolved": "https://registry.npmjs.org/node-switchbot/-/node-switchbot-2.5.0-beta.22.tgz", - "integrity": "sha512-rEdNvBdGpY5JwZGUxA060gJUHqph4+U9SG+sL+SSY6KVoy9EMGk78rewIyQDDd3szMenRlog4gNqgJPHt7v2bA==", + "version": "2.5.0-beta.23", + "resolved": "https://registry.npmjs.org/node-switchbot/-/node-switchbot-2.5.0-beta.23.tgz", + "integrity": "sha512-dl6X6QwxkKUWX7fyhrVKidxNY5tyfJ/CqUeLw02eViT0p3ml+EqudlzmrrZ1Pz4gjtB85As1cdTc+XMij0HjrA==", "license": "MIT", "dependencies": { "@stoprocent/noble": "^1.15.0", diff --git a/package.json b/package.json index 5ca81e46..ed662319 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,7 @@ "async-mqtt": "^2.6.3", "fakegato-history": "^0.6.5", "homebridge-lib": "^7.0.8", - "node-switchbot": "2.5.0-beta.22", + "node-switchbot": "2.5.0-beta.23", "rxjs": "^7.8.1" }, "devDependencies": { diff --git a/src/device/blindtilt.ts b/src/device/blindtilt.ts index b1f0213c..86e39fb6 100644 --- a/src/device/blindtilt.ts +++ b/src/device/blindtilt.ts @@ -504,17 +504,17 @@ export class BlindTilt extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) @@ -636,14 +636,13 @@ export class BlindTilt extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/device/bot.ts b/src/device/bot.ts index 74b28fc6..22124a15 100644 --- a/src/device/bot.ts +++ b/src/device/bot.ts @@ -598,17 +598,17 @@ export class Bot extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) @@ -753,14 +753,13 @@ export class Bot extends deviceBase { } this.debugLog(`Sending request to SwitchBot API, body: ${JSON.stringify(bodyChange)},`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } if (this.device.bot?.mode === 'multipress') { diff --git a/src/device/ceilinglight.ts b/src/device/ceilinglight.ts index 8a725108..032df072 100644 --- a/src/device/ceilinglight.ts +++ b/src/device/ceilinglight.ts @@ -332,17 +332,17 @@ export class CeilingLight extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) @@ -470,14 +470,13 @@ export class CeilingLight extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -503,14 +502,13 @@ export class CeilingLight extends deviceBase { } await this.debugLog(`(pushHueSaturationChanges) SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`(pushHueSaturationChanges) statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`(pushHueSaturationChanges) statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`(pushHueSaturationChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`(pushHueSaturationChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -534,14 +532,13 @@ export class CeilingLight extends deviceBase { } await this.debugLog(`(pushColorTemperatureChanges) SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`(pushColorTemperatureChanges) statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`(pushColorTemperatureChanges) statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`(pushColorTemperatureChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`(pushColorTemperatureChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -563,14 +560,13 @@ export class CeilingLight extends deviceBase { } await this.debugLog(`(pushBrightnessChanges) SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`(pushBrightnessChanges) statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`(pushBrightnessChanges) statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`(pushBrightnessChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`(pushBrightnessChanges) statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/device/colorbulb.ts b/src/device/colorbulb.ts index 9dc88b33..a655b699 100644 --- a/src/device/colorbulb.ts +++ b/src/device/colorbulb.ts @@ -355,17 +355,17 @@ export class ColorBulb extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) @@ -618,14 +618,13 @@ export class ColorBulb extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -650,14 +649,13 @@ export class ColorBulb extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -681,14 +679,13 @@ export class ColorBulb extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -710,14 +707,13 @@ export class ColorBulb extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/device/contact.ts b/src/device/contact.ts index 9232a164..c5e0bfe6 100644 --- a/src/device/contact.ts +++ b/src/device/contact.ts @@ -345,17 +345,17 @@ export class Contact extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) diff --git a/src/device/curtain.ts b/src/device/curtain.ts index d72dcfd8..3292cb30 100644 --- a/src/device/curtain.ts +++ b/src/device/curtain.ts @@ -502,17 +502,17 @@ export class Curtain extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) @@ -654,14 +654,13 @@ export class Curtain extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/device/device.ts b/src/device/device.ts index 74f25dad..5222aa07 100644 --- a/src/device/device.ts +++ b/src/device/device.ts @@ -344,16 +344,16 @@ export abstract class deviceBase { } } - async pushChangeRequest(bodyChange: bodyChange): Promise<{ body: any, statusCode: any }> { + async pushChangeRequest(bodyChange: bodyChange): Promise<{ body: any }> { return this.platform.switchBotAPI.controlDevice(this.device.deviceId, bodyChange.command, bodyChange.parameter, bodyChange.commandType) } - async deviceRefreshStatus(): Promise<{ body: any, statusCode: any }> { + async deviceRefreshStatus(): Promise<{ body: any }> { return await this.platform.retryRequest(this.device.deviceId, this.deviceMaxRetries, this.deviceDelayBetweenRetries) } - async successfulStatusCodes(statusCode: any, deviceStatus: any) { - return (statusCode === 200 || statusCode === 100) && (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100) + async successfulStatusCodes(deviceStatus: any) { + return (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100) } /** diff --git a/src/device/fan.ts b/src/device/fan.ts index 83de5a4b..fadfcdb9 100644 --- a/src/device/fan.ts +++ b/src/device/fan.ts @@ -369,17 +369,17 @@ export class Fan extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) @@ -502,14 +502,13 @@ export class Fan extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -531,14 +530,13 @@ export class Fan extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -561,14 +559,13 @@ export class Fan extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/device/hub.ts b/src/device/hub.ts index 5eed3c71..98c82c7f 100644 --- a/src/device/hub.ts +++ b/src/device/hub.ts @@ -337,17 +337,17 @@ export class Hub extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) diff --git a/src/device/humidifier.ts b/src/device/humidifier.ts index 219a588d..c22e7d63 100644 --- a/src/device/humidifier.ts +++ b/src/device/humidifier.ts @@ -367,17 +367,17 @@ export class Humidifier extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) @@ -474,14 +474,13 @@ export class Humidifier extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -511,14 +510,13 @@ export class Humidifier extends deviceBase { } await this.debugLog(`pushAutoChanges, SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -544,14 +542,13 @@ export class Humidifier extends deviceBase { } await this.debugLog(`pushActiveChanges, SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/device/iosensor.ts b/src/device/iosensor.ts index cdee13a5..4f2971c8 100644 --- a/src/device/iosensor.ts +++ b/src/device/iosensor.ts @@ -332,17 +332,17 @@ export class IOSensor extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) diff --git a/src/device/lightstrip.ts b/src/device/lightstrip.ts index 5b241a81..6e89d84a 100644 --- a/src/device/lightstrip.ts +++ b/src/device/lightstrip.ts @@ -359,17 +359,17 @@ export class StripLight extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) @@ -584,14 +584,13 @@ export class StripLight extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -616,14 +615,13 @@ export class StripLight extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -645,14 +643,13 @@ export class StripLight extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/device/lock.ts b/src/device/lock.ts index 593f2758..6889a1ba 100644 --- a/src/device/lock.ts +++ b/src/device/lock.ts @@ -372,17 +372,17 @@ export class Lock extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) @@ -490,14 +490,13 @@ export class Lock extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/device/meter.ts b/src/device/meter.ts index 869397b1..af82ab1c 100644 --- a/src/device/meter.ts +++ b/src/device/meter.ts @@ -327,17 +327,17 @@ export class Meter extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) diff --git a/src/device/meterplus.ts b/src/device/meterplus.ts index 7c2f1cf6..7cdb3aa8 100644 --- a/src/device/meterplus.ts +++ b/src/device/meterplus.ts @@ -329,17 +329,17 @@ export class MeterPlus extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) diff --git a/src/device/motion.ts b/src/device/motion.ts index e0fae3eb..54193462 100644 --- a/src/device/motion.ts +++ b/src/device/motion.ts @@ -304,17 +304,17 @@ export class Motion extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) diff --git a/src/device/plug.ts b/src/device/plug.ts index 8139257d..96411b4a 100644 --- a/src/device/plug.ts +++ b/src/device/plug.ts @@ -228,17 +228,17 @@ export class Plug extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) @@ -351,14 +351,13 @@ export class Plug extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/device/robotvacuumcleaner.ts b/src/device/robotvacuumcleaner.ts index 15c0deb1..7a203927 100644 --- a/src/device/robotvacuumcleaner.ts +++ b/src/device/robotvacuumcleaner.ts @@ -314,17 +314,17 @@ export class RobotVacuumCleaner extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) @@ -434,14 +434,13 @@ export class RobotVacuumCleaner extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { @@ -471,14 +470,13 @@ export class RobotVacuumCleaner extends deviceBase { } await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/device/waterdetector.ts b/src/device/waterdetector.ts index 215ffb76..ebf11f5a 100644 --- a/src/device/waterdetector.ts +++ b/src/device/waterdetector.ts @@ -318,17 +318,17 @@ export class WaterDetector extends deviceBase { async openAPIRefreshStatus(): Promise { await this.debugLog('openAPIRefreshStatus') try { - const { body, statusCode } = await this.deviceRefreshStatus() - const deviceStatus: any = await body.json() - await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + const { body } = await this.deviceRefreshStatus() + const deviceStatus: any = await body + await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) this.deviceStatus = deviceStatus.body await this.openAPIparseStatus() await this.updateHomeKitCharacteristics() } else { - await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) - await this.debugWarnLog(statusCode, deviceStatus) + await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`) + await this.debugWarnLog(deviceStatus) } } catch (e: any) { await this.apiError(e) diff --git a/src/irdevice/airconditioner.ts b/src/irdevice/airconditioner.ts index 73ed69dd..b5752032 100644 --- a/src/irdevice/airconditioner.ts +++ b/src/irdevice/airconditioner.ts @@ -316,14 +316,13 @@ export class AirConditioner extends irdeviceBase { if (this.device.connectionType === 'OpenAPI' && !this.disablePushDetail) { await this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.pushStatusCodes(statusCode, deviceStatus) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.successfulPushChange(statusCode, deviceStatus, bodyChange) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.pushStatusCodes(deviceStatus) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.successfulPushChange(deviceStatus, bodyChange) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/irdevice/airpurifier.ts b/src/irdevice/airpurifier.ts index 556ab426..a3f98d73 100644 --- a/src/irdevice/airpurifier.ts +++ b/src/irdevice/airpurifier.ts @@ -213,14 +213,13 @@ export class AirPurifier extends irdeviceBase { if (this.device.connectionType === 'OpenAPI') { this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.pushStatusCodes(statusCode, deviceStatus) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.successfulPushChange(statusCode, deviceStatus, bodyChange) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.pushStatusCodes(deviceStatus) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.successfulPushChange(deviceStatus, bodyChange) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/irdevice/camera.ts b/src/irdevice/camera.ts index fe4f1233..e42eee90 100644 --- a/src/irdevice/camera.ts +++ b/src/irdevice/camera.ts @@ -100,14 +100,13 @@ export class Camera extends irdeviceBase { if (this.device.connectionType === 'OpenAPI') { this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.pushStatusCodes(statusCode, deviceStatus) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.successfulPushChange(statusCode, deviceStatus, bodyChange) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.pushStatusCodes(deviceStatus) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.successfulPushChange(deviceStatus, bodyChange) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/irdevice/fan.ts b/src/irdevice/fan.ts index e8e2e560..b881d90c 100644 --- a/src/irdevice/fan.ts +++ b/src/irdevice/fan.ts @@ -191,14 +191,13 @@ export class IRFan extends irdeviceBase { if (this.device.connectionType === 'OpenAPI') { this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.pushStatusCodes(statusCode, deviceStatus) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.successfulPushChange(statusCode, deviceStatus, bodyChange) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.pushStatusCodes(deviceStatus) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.successfulPushChange(deviceStatus, bodyChange) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/irdevice/irdevice.ts b/src/irdevice/irdevice.ts index d5433728..2a8a435e 100644 --- a/src/irdevice/irdevice.ts +++ b/src/irdevice/irdevice.ts @@ -125,12 +125,12 @@ export abstract class irdeviceBase { this.debugSuccessLog(`version: ${accessory.context.version}`) } - async pushChangeRequest(bodyChange: bodyChange): Promise<{ body: any, statusCode: any }> { + async pushChangeRequest(bodyChange: bodyChange): Promise<{ body: any }> { return this.platform.switchBotAPI.controlDevice(this.device.deviceId, bodyChange.command, bodyChange.parameter, bodyChange.commandType) } - async successfulStatusCodes(statusCode: any, deviceStatus: any) { - return (statusCode === 200 || statusCode === 100) && (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100) + async successfulStatusCodes(deviceStatus: any) { + return (deviceStatus.statusCode === 200 || deviceStatus.statusCode === 100) } /** @@ -155,14 +155,13 @@ export abstract class irdeviceBase { } } - async pushStatusCodes(statusCode: any, deviceStatus: any) { - await this.debugWarnLog(`statusCode: ${statusCode}`) + async pushStatusCodes(deviceStatus: any) { await this.debugWarnLog(`deviceStatus: ${JSON.stringify(deviceStatus)}`) await this.debugWarnLog(`deviceStatus statusCode: ${deviceStatus.statusCode}`) } - async successfulPushChange(statusCode: any, deviceStatus: any, bodyChange: any) { - this.debugSuccessLog(`statusCode: ${statusCode} & deviceStatus StatusCode: ${deviceStatus.statusCode}`) + async successfulPushChange(deviceStatus: any, bodyChange: any) { + this.debugSuccessLog(`deviceStatus StatusCode: ${deviceStatus.statusCode}`) this.successLog(`request to SwitchBot API, body: ${JSON.stringify(JSON.parse(bodyChange))} sent successfully`) } diff --git a/src/irdevice/light.ts b/src/irdevice/light.ts index ebd44782..4892f9ca 100644 --- a/src/irdevice/light.ts +++ b/src/irdevice/light.ts @@ -198,15 +198,14 @@ export class Light extends irdeviceBase { if (this.device.connectionType === 'OpenAPI') { this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.pushStatusCodes(statusCode, deviceStatus) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.successfulPushChange(statusCode, deviceStatus, bodyChange) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.pushStatusCodes(deviceStatus) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.successfulPushChange(deviceStatus, bodyChange) this.accessory.context.On = On await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/irdevice/other.ts b/src/irdevice/other.ts index 70aed097..e9a4be72 100644 --- a/src/irdevice/other.ts +++ b/src/irdevice/other.ts @@ -447,14 +447,13 @@ export class Others extends irdeviceBase { if (this.device.connectionType === 'OpenAPI') { this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.pushStatusCodes(statusCode, deviceStatus) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.successfulPushChange(statusCode, deviceStatus, bodyChange) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.pushStatusCodes(deviceStatus) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.successfulPushChange(deviceStatus, bodyChange) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/irdevice/tv.ts b/src/irdevice/tv.ts index b6c8c21e..ce4229da 100644 --- a/src/irdevice/tv.ts +++ b/src/irdevice/tv.ts @@ -346,14 +346,13 @@ export class TV extends irdeviceBase { if (this.device.connectionType === 'OpenAPI') { await this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.pushStatusCodes(statusCode, deviceStatus) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.successfulPushChange(statusCode, deviceStatus, bodyChange) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.pushStatusCodes(deviceStatus) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.successfulPushChange(deviceStatus, bodyChange) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/irdevice/vacuumcleaner.ts b/src/irdevice/vacuumcleaner.ts index 9ed7f736..4d5554c9 100644 --- a/src/irdevice/vacuumcleaner.ts +++ b/src/irdevice/vacuumcleaner.ts @@ -97,14 +97,13 @@ export class VacuumCleaner extends irdeviceBase { if (this.device.connectionType === 'OpenAPI') { await this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.pushStatusCodes(statusCode, deviceStatus) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.successfulPushChange(statusCode, deviceStatus, bodyChange) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.pushStatusCodes(deviceStatus) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.successfulPushChange(deviceStatus, bodyChange) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/irdevice/waterheater.ts b/src/irdevice/waterheater.ts index 75046118..fc1031b8 100644 --- a/src/irdevice/waterheater.ts +++ b/src/irdevice/waterheater.ts @@ -98,14 +98,13 @@ export class WaterHeater extends irdeviceBase { if (this.device.connectionType === 'OpenAPI') { this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`) try { - const { body, statusCode } = await this.pushChangeRequest(bodyChange) - const deviceStatus: any = await body.json() - await this.pushStatusCodes(statusCode, deviceStatus) - if (await this.successfulStatusCodes(statusCode, deviceStatus)) { - await this.successfulPushChange(statusCode, deviceStatus, bodyChange) + const { body } = await this.pushChangeRequest(bodyChange) + const deviceStatus: any = await body + await this.pushStatusCodes(deviceStatus) + if (await this.successfulStatusCodes(deviceStatus)) { + await this.successfulPushChange(deviceStatus, bodyChange) await this.updateHomeKitCharacteristics() } else { - await this.statusCode(statusCode) await this.statusCode(deviceStatus.statusCode) } } catch (e: any) { diff --git a/src/platform.ts b/src/platform.ts index d0e87c27..e622336e 100644 --- a/src/platform.ts +++ b/src/platform.ts @@ -133,16 +133,16 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin { this.switchBotAPI.on('log', (log) => { switch (log.level) { case LogLevel.ERROR: - this.errorLog(`[${log.level.toUpperCase()}] ${log.message}`) + this.errorLog(log.message) break case LogLevel.WARN: - this.warnLog(`[${log.level.toUpperCase()}] ${log.message}`) + this.warnLog(log.message) break case LogLevel.DEBUG: - this.debugLog(`[${log.level.toUpperCase()}] ${log.message}`) + this.debugLog(log.message) break default: - this.infoLog(`[${log.level.toUpperCase()}] ${log.message}`) + this.infoLog(log.message) } }) // import fakegato-history module and EVE characteristics @@ -2545,18 +2545,14 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin { } } - async retryRequest(deviceId: string, deviceMaxRetries: number, deviceDelayBetweenRetries: number): Promise<{ body: any, statusCode: number }> { + async retryRequest(deviceId: string, deviceMaxRetries: number, deviceDelayBetweenRetries: number): Promise<{ body: any }> { let retryCount = 0 const maxRetries = deviceMaxRetries const delayBetweenRetries = deviceDelayBetweenRetries while (retryCount < maxRetries) { try { - const { body, statusCode } = await this.switchBotAPI.getDeviceStatus(deviceId) - if (statusCode === 200 || statusCode === 100) { - return { body, statusCode } - } else { - await this.debugLog(`Received status code: ${statusCode}`) - } + const { body } = await this.switchBotAPI.getDeviceStatus(deviceId) + return body } catch (error: any) { await this.errorLog(`Error making request: ${error.message}`) } @@ -2564,7 +2560,7 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin { await this.debugLog(`Retry attempt ${retryCount} of ${maxRetries}`) await sleep(delayBetweenRetries) } - return { body: null, statusCode: -1 } + return { body: null } } // BLE Connection