@switchbot/homebridge-switchbot 3.8.3 → 4.0.0-beta.1
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/.github/npm-version-script.cjs +81 -0
- package/.github/workflows/beta-release.yml +12 -4
- package/CHANGELOG.md +15 -1
- package/config.schema.json +583 -937
- package/dist/device/blindtilt.d.ts +1 -4
- package/dist/device/blindtilt.d.ts.map +1 -1
- package/dist/device/blindtilt.js +68 -66
- package/dist/device/blindtilt.js.map +1 -1
- package/dist/device/bot.d.ts +1 -4
- package/dist/device/bot.d.ts.map +1 -1
- package/dist/device/bot.js +63 -59
- package/dist/device/bot.js.map +1 -1
- package/dist/device/ceilinglight.d.ts +1 -4
- package/dist/device/ceilinglight.d.ts.map +1 -1
- package/dist/device/ceilinglight.js +56 -65
- package/dist/device/ceilinglight.js.map +1 -1
- package/dist/device/colorbulb.d.ts +1 -4
- package/dist/device/colorbulb.d.ts.map +1 -1
- package/dist/device/colorbulb.js +73 -80
- package/dist/device/colorbulb.js.map +1 -1
- package/dist/device/contact.d.ts +1 -4
- package/dist/device/contact.d.ts.map +1 -1
- package/dist/device/contact.js +38 -38
- package/dist/device/contact.js.map +1 -1
- package/dist/device/curtain.d.ts +1 -4
- package/dist/device/curtain.d.ts.map +1 -1
- package/dist/device/curtain.js +60 -60
- package/dist/device/curtain.js.map +1 -1
- package/dist/device/device.d.ts +6 -6
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/device.js +86 -20
- package/dist/device/device.js.map +1 -1
- package/dist/device/fan.d.ts +1 -4
- package/dist/device/fan.d.ts.map +1 -1
- package/dist/device/fan.js +50 -51
- package/dist/device/fan.js.map +1 -1
- package/dist/device/hub.d.ts +1 -4
- package/dist/device/hub.d.ts.map +1 -1
- package/dist/device/hub.js +48 -48
- package/dist/device/hub.js.map +1 -1
- package/dist/device/humidifier.d.ts +1 -4
- package/dist/device/humidifier.d.ts.map +1 -1
- package/dist/device/humidifier.js +53 -55
- package/dist/device/humidifier.js.map +1 -1
- package/dist/device/iosensor.d.ts +1 -4
- package/dist/device/iosensor.d.ts.map +1 -1
- package/dist/device/iosensor.js +35 -35
- package/dist/device/iosensor.js.map +1 -1
- package/dist/device/lightstrip.d.ts +1 -4
- package/dist/device/lightstrip.d.ts.map +1 -1
- package/dist/device/lightstrip.js +57 -65
- package/dist/device/lightstrip.js.map +1 -1
- package/dist/device/lock.d.ts +1 -4
- package/dist/device/lock.d.ts.map +1 -1
- package/dist/device/lock.js +38 -39
- package/dist/device/lock.js.map +1 -1
- package/dist/device/meter.d.ts +1 -4
- package/dist/device/meter.d.ts.map +1 -1
- package/dist/device/meter.js +35 -35
- package/dist/device/meter.js.map +1 -1
- package/dist/device/meterplus.d.ts +1 -4
- package/dist/device/meterplus.d.ts.map +1 -1
- package/dist/device/meterplus.js +35 -35
- package/dist/device/meterplus.js.map +1 -1
- package/dist/device/motion.d.ts +1 -4
- package/dist/device/motion.d.ts.map +1 -1
- package/dist/device/motion.js +27 -27
- package/dist/device/motion.js.map +1 -1
- package/dist/device/plug.d.ts +1 -4
- package/dist/device/plug.d.ts.map +1 -1
- package/dist/device/plug.js +32 -32
- package/dist/device/plug.js.map +1 -1
- package/dist/device/robotvacuumcleaner.d.ts +1 -4
- package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
- package/dist/device/robotvacuumcleaner.js +39 -40
- package/dist/device/robotvacuumcleaner.js.map +1 -1
- package/dist/device/waterdetector.d.ts +1 -4
- package/dist/device/waterdetector.d.ts.map +1 -1
- package/dist/device/waterdetector.js +28 -28
- package/dist/device/waterdetector.js.map +1 -1
- package/dist/irdevice/airconditioner.d.ts +1 -1
- package/dist/irdevice/airconditioner.d.ts.map +1 -1
- package/dist/irdevice/airconditioner.js +31 -32
- package/dist/irdevice/airconditioner.js.map +1 -1
- package/dist/irdevice/airpurifier.d.ts +1 -1
- package/dist/irdevice/airpurifier.d.ts.map +1 -1
- package/dist/irdevice/airpurifier.js +11 -12
- package/dist/irdevice/airpurifier.js.map +1 -1
- package/dist/irdevice/camera.d.ts +1 -1
- package/dist/irdevice/camera.d.ts.map +1 -1
- package/dist/irdevice/camera.js +9 -10
- package/dist/irdevice/camera.js.map +1 -1
- package/dist/irdevice/fan.d.ts +1 -1
- package/dist/irdevice/fan.d.ts.map +1 -1
- package/dist/irdevice/fan.js +22 -23
- package/dist/irdevice/fan.js.map +1 -1
- package/dist/irdevice/irdevice.d.ts +6 -6
- package/dist/irdevice/irdevice.d.ts.map +1 -1
- package/dist/irdevice/irdevice.js +28 -14
- package/dist/irdevice/irdevice.js.map +1 -1
- package/dist/irdevice/light.d.ts +1 -1
- package/dist/irdevice/light.d.ts.map +1 -1
- package/dist/irdevice/light.js +12 -13
- package/dist/irdevice/light.js.map +1 -1
- package/dist/irdevice/other.d.ts +1 -1
- package/dist/irdevice/other.d.ts.map +1 -1
- package/dist/irdevice/other.js +12 -15
- package/dist/irdevice/other.js.map +1 -1
- package/dist/irdevice/tv.d.ts +1 -1
- package/dist/irdevice/tv.d.ts.map +1 -1
- package/dist/irdevice/tv.js +27 -28
- package/dist/irdevice/tv.js.map +1 -1
- package/dist/irdevice/vacuumcleaner.d.ts +1 -1
- package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
- package/dist/irdevice/vacuumcleaner.js +9 -10
- package/dist/irdevice/vacuumcleaner.js.map +1 -1
- package/dist/irdevice/waterheater.d.ts +1 -1
- package/dist/irdevice/waterheater.d.ts.map +1 -1
- package/dist/irdevice/waterheater.js +9 -10
- package/dist/irdevice/waterheater.js.map +1 -1
- package/dist/platform.d.ts +9 -22
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +154 -260
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +64 -82
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +0 -20
- package/dist/settings.js.map +1 -1
- package/dist/utils.d.ts +1 -102
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +0 -105
- package/dist/utils.js.map +1 -1
- package/docs/assets/highlight.css +42 -0
- package/docs/assets/main.js +1 -1
- package/docs/functions/default.html +1 -1
- package/docs/index.html +61 -50
- package/docs/media/security-privacy-bluetooth.png +0 -0
- package/package.json +5 -7
- package/src/device/blindtilt.ts +74 -74
- package/src/device/bot.ts +68 -67
- package/src/device/ceilinglight.ts +59 -70
- package/src/device/colorbulb.ts +79 -88
- package/src/device/contact.ts +40 -43
- package/src/device/curtain.ts +66 -68
- package/src/device/device.ts +86 -40
- package/src/device/fan.ts +52 -56
- package/src/device/hub.ts +50 -53
- package/src/device/humidifier.ts +56 -61
- package/src/device/iosensor.ts +37 -40
- package/src/device/lightstrip.ts +62 -72
- package/src/device/lock.ts +41 -45
- package/src/device/meter.ts +37 -40
- package/src/device/meterplus.ts +37 -40
- package/src/device/motion.ts +29 -32
- package/src/device/plug.ts +34 -37
- package/src/device/robotvacuumcleaner.ts +41 -49
- package/src/device/waterdetector.ts +30 -33
- package/src/irdevice/airconditioner.ts +33 -35
- package/src/irdevice/airpurifier.ts +12 -13
- package/src/irdevice/camera.ts +10 -11
- package/src/irdevice/fan.ts +24 -25
- package/src/irdevice/irdevice.ts +31 -27
- package/src/irdevice/light.ts +14 -15
- package/src/irdevice/other.ts +14 -17
- package/src/irdevice/tv.ts +28 -29
- package/src/irdevice/vacuumcleaner.ts +10 -11
- package/src/irdevice/waterheater.ts +10 -11
- package/src/platform.ts +178 -287
- package/src/settings.ts +67 -88
- package/src/utils.ts +2 -106
- package/dist/types/bledevicestatus.d.ts +0 -281
- package/dist/types/bledevicestatus.d.ts.map +0 -1
- package/dist/types/bledevicestatus.js +0 -2
- package/dist/types/bledevicestatus.js.map +0 -1
- package/dist/types/devicelist.d.ts +0 -89
- package/dist/types/devicelist.d.ts.map +0 -1
- package/dist/types/devicelist.js +0 -6
- package/dist/types/devicelist.js.map +0 -1
- package/dist/types/deviceresponse.d.ts +0 -13
- package/dist/types/deviceresponse.d.ts.map +0 -1
- package/dist/types/deviceresponse.js +0 -2
- package/dist/types/deviceresponse.js.map +0 -1
- package/dist/types/devicestatus.d.ts +0 -149
- package/dist/types/devicestatus.d.ts.map +0 -1
- package/dist/types/devicestatus.js +0 -3
- package/dist/types/devicestatus.js.map +0 -1
- package/dist/types/devicewebhookstatus.d.ts +0 -156
- package/dist/types/devicewebhookstatus.d.ts.map +0 -1
- package/dist/types/devicewebhookstatus.js +0 -2
- package/dist/types/devicewebhookstatus.js.map +0 -1
- package/dist/types/irdevicelist.d.ts +0 -10
- package/dist/types/irdevicelist.d.ts.map +0 -1
- package/dist/types/irdevicelist.js +0 -2
- package/dist/types/irdevicelist.js.map +0 -1
- package/dist/types/pushbody.d.ts +0 -6
- package/dist/types/pushbody.d.ts.map +0 -1
- package/dist/types/pushbody.js +0 -2
- package/dist/types/pushbody.js.map +0 -1
- package/src/types/bledevicestatus.ts +0 -303
- package/src/types/devicelist.ts +0 -124
- package/src/types/deviceresponse.ts +0 -14
- package/src/types/devicestatus.ts +0 -178
- package/src/types/devicewebhookstatus.ts +0 -191
- package/src/types/irdevicelist.ts +0 -15
- package/src/types/pushbody.ts +0 -9
package/src/irdevice/other.ts
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* other.ts: @switchbot/homebridge-switchbot.
|
|
4
4
|
*/
|
|
5
5
|
import type { CharacteristicValue, PlatformAccessory, Service } from 'homebridge'
|
|
6
|
+
import type { bodyChange, irdevice } from 'node-switchbot'
|
|
6
7
|
|
|
7
8
|
import type { SwitchBotPlatform } from '../platform.js'
|
|
8
|
-
import type { irDevicesConfig } from '../settings.js'
|
|
9
|
-
import type { irdevice } from '../types/irdevicelist.js'
|
|
9
|
+
import type { irDevicesConfig, irOtherConfig } from '../settings.js'
|
|
10
10
|
|
|
11
11
|
import { irdeviceBase } from './irdevice.js'
|
|
12
12
|
|
|
@@ -412,11 +412,11 @@ export class Others extends irdeviceBase {
|
|
|
412
412
|
if (On === true && !this.disablePushOn) {
|
|
413
413
|
const commandType: string = await this.commandType()
|
|
414
414
|
const command: string = await this.commandOn()
|
|
415
|
-
const bodyChange =
|
|
415
|
+
const bodyChange: bodyChange = {
|
|
416
416
|
command,
|
|
417
417
|
parameter: 'default',
|
|
418
418
|
commandType,
|
|
419
|
-
}
|
|
419
|
+
}
|
|
420
420
|
await this.pushChanges(bodyChange)
|
|
421
421
|
}
|
|
422
422
|
} else {
|
|
@@ -430,11 +430,11 @@ export class Others extends irdeviceBase {
|
|
|
430
430
|
if (On === false && !this.disablePushOff) {
|
|
431
431
|
const commandType: string = await this.commandType()
|
|
432
432
|
const command: string = await this.commandOff()
|
|
433
|
-
const bodyChange =
|
|
433
|
+
const bodyChange: bodyChange = {
|
|
434
434
|
command,
|
|
435
435
|
parameter: 'default',
|
|
436
436
|
commandType,
|
|
437
|
-
}
|
|
437
|
+
}
|
|
438
438
|
await this.pushChanges(bodyChange)
|
|
439
439
|
}
|
|
440
440
|
} else {
|
|
@@ -447,14 +447,13 @@ export class Others extends irdeviceBase {
|
|
|
447
447
|
if (this.device.connectionType === 'OpenAPI') {
|
|
448
448
|
this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`)
|
|
449
449
|
try {
|
|
450
|
-
const { body
|
|
451
|
-
const deviceStatus: any = await body
|
|
452
|
-
await this.pushStatusCodes(
|
|
453
|
-
if (await this.successfulStatusCodes(
|
|
454
|
-
await this.successfulPushChange(
|
|
450
|
+
const { body } = await this.pushChangeRequest(bodyChange)
|
|
451
|
+
const deviceStatus: any = await body
|
|
452
|
+
await this.pushStatusCodes(deviceStatus)
|
|
453
|
+
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
454
|
+
await this.successfulPushChange(deviceStatus, bodyChange)
|
|
455
455
|
await this.updateHomeKitCharacteristics()
|
|
456
456
|
} else {
|
|
457
|
-
await this.statusCode(statusCode)
|
|
458
457
|
await this.statusCode(deviceStatus.statusCode)
|
|
459
458
|
}
|
|
460
459
|
} catch (e: any) {
|
|
@@ -785,10 +784,8 @@ export class Others extends irdeviceBase {
|
|
|
785
784
|
}
|
|
786
785
|
|
|
787
786
|
async getOtherConfigSettings(accessory: PlatformAccessory, device: irdevice & irDevicesConfig): Promise<void> {
|
|
788
|
-
this.otherDeviceType =
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
const deviceType = accessory.context.otherDeviceType ? 'Accessory Cache' : device.other?.deviceType ? 'Device Config' : 'Default'
|
|
792
|
-
await this.debugLog(`Use ${deviceType} Type: ${this.otherDeviceType}`)
|
|
787
|
+
this.otherDeviceType = (device as irOtherConfig).type ?? 'outlet'
|
|
788
|
+
const deviceType = (device as irOtherConfig).type ? 'Device Config' : 'Default'
|
|
789
|
+
await this.debugLog(`Use ${deviceType} Device Type: ${this.otherDeviceType}`)
|
|
793
790
|
}
|
|
794
791
|
}
|
package/src/irdevice/tv.ts
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* tv.ts: @switchbot/homebridge-switchbot.
|
|
4
4
|
*/
|
|
5
5
|
import type { CharacteristicValue, PlatformAccessory, Service } from 'homebridge'
|
|
6
|
+
import type { bodyChange, irdevice } from 'node-switchbot'
|
|
6
7
|
|
|
7
8
|
import type { SwitchBotPlatform } from '../platform.js'
|
|
8
9
|
import type { irDevicesConfig } from '../settings.js'
|
|
9
|
-
import type { irdevice } from '../types/irdevicelist.js'
|
|
10
10
|
|
|
11
11
|
import { irdeviceBase } from './irdevice.js'
|
|
12
12
|
|
|
@@ -210,11 +210,11 @@ export class TV extends irdeviceBase {
|
|
|
210
210
|
if (this.Television.Active === this.hap.Characteristic.Active.ACTIVE && !this.disablePushOn) {
|
|
211
211
|
const commandType: string = await this.commandType()
|
|
212
212
|
const command: string = await this.commandOn()
|
|
213
|
-
const bodyChange =
|
|
213
|
+
const bodyChange: bodyChange = {
|
|
214
214
|
command,
|
|
215
215
|
parameter: 'default',
|
|
216
216
|
commandType,
|
|
217
|
-
}
|
|
217
|
+
}
|
|
218
218
|
await this.pushTVChanges(bodyChange)
|
|
219
219
|
}
|
|
220
220
|
}
|
|
@@ -224,11 +224,11 @@ export class TV extends irdeviceBase {
|
|
|
224
224
|
if (this.Television.Active === this.hap.Characteristic.Active.INACTIVE && !this.disablePushOff) {
|
|
225
225
|
const commandType: string = await this.commandType()
|
|
226
226
|
const command: string = await this.commandOff()
|
|
227
|
-
const bodyChange =
|
|
227
|
+
const bodyChange: bodyChange = {
|
|
228
228
|
command,
|
|
229
229
|
parameter: 'default',
|
|
230
230
|
commandType,
|
|
231
|
-
}
|
|
231
|
+
}
|
|
232
232
|
await this.pushTVChanges(bodyChange)
|
|
233
233
|
}
|
|
234
234
|
}
|
|
@@ -236,11 +236,11 @@ export class TV extends irdeviceBase {
|
|
|
236
236
|
async pushOkChanges(): Promise<void> {
|
|
237
237
|
await this.debugLog(`pushOkChanges disablePushDetail: ${this.disablePushDetail}`)
|
|
238
238
|
if (!this.disablePushDetail) {
|
|
239
|
-
const bodyChange =
|
|
239
|
+
const bodyChange: bodyChange = {
|
|
240
240
|
command: 'Ok',
|
|
241
241
|
parameter: 'default',
|
|
242
242
|
commandType: 'command',
|
|
243
|
-
}
|
|
243
|
+
}
|
|
244
244
|
await this.pushTVChanges(bodyChange)
|
|
245
245
|
}
|
|
246
246
|
}
|
|
@@ -248,11 +248,11 @@ export class TV extends irdeviceBase {
|
|
|
248
248
|
async pushBackChanges(): Promise<void> {
|
|
249
249
|
await this.debugLog(`pushBackChanges disablePushDetail: ${this.disablePushDetail}`)
|
|
250
250
|
if (!this.disablePushDetail) {
|
|
251
|
-
const bodyChange =
|
|
251
|
+
const bodyChange: bodyChange = {
|
|
252
252
|
command: 'Back',
|
|
253
253
|
parameter: 'default',
|
|
254
254
|
commandType: 'command',
|
|
255
|
-
}
|
|
255
|
+
}
|
|
256
256
|
await this.pushTVChanges(bodyChange)
|
|
257
257
|
}
|
|
258
258
|
}
|
|
@@ -260,11 +260,11 @@ export class TV extends irdeviceBase {
|
|
|
260
260
|
async pushMenuChanges(): Promise<void> {
|
|
261
261
|
await this.debugLog(`pushMenuChanges disablePushDetail: ${this.disablePushDetail}`)
|
|
262
262
|
if (!this.disablePushDetail) {
|
|
263
|
-
const bodyChange =
|
|
263
|
+
const bodyChange: bodyChange = {
|
|
264
264
|
command: 'Menu',
|
|
265
265
|
parameter: 'default',
|
|
266
266
|
commandType: 'command',
|
|
267
|
-
}
|
|
267
|
+
}
|
|
268
268
|
await this.pushTVChanges(bodyChange)
|
|
269
269
|
}
|
|
270
270
|
}
|
|
@@ -272,11 +272,11 @@ export class TV extends irdeviceBase {
|
|
|
272
272
|
async pushUpChanges(): Promise<void> {
|
|
273
273
|
await this.debugLog(`pushUpChanges disablePushDetail: ${this.disablePushDetail}`)
|
|
274
274
|
if (!this.disablePushDetail) {
|
|
275
|
-
const bodyChange =
|
|
275
|
+
const bodyChange: bodyChange = {
|
|
276
276
|
command: 'Up',
|
|
277
277
|
parameter: 'default',
|
|
278
278
|
commandType: 'command',
|
|
279
|
-
}
|
|
279
|
+
}
|
|
280
280
|
await this.pushTVChanges(bodyChange)
|
|
281
281
|
}
|
|
282
282
|
}
|
|
@@ -284,11 +284,11 @@ export class TV extends irdeviceBase {
|
|
|
284
284
|
async pushDownChanges(): Promise<void> {
|
|
285
285
|
await this.debugLog(`pushDownChanges disablePushDetail: ${this.disablePushDetail}`)
|
|
286
286
|
if (!this.disablePushDetail) {
|
|
287
|
-
const bodyChange =
|
|
287
|
+
const bodyChange: bodyChange = {
|
|
288
288
|
command: 'Down',
|
|
289
289
|
parameter: 'default',
|
|
290
290
|
commandType: 'command',
|
|
291
|
-
}
|
|
291
|
+
}
|
|
292
292
|
await this.pushTVChanges(bodyChange)
|
|
293
293
|
}
|
|
294
294
|
}
|
|
@@ -296,11 +296,11 @@ export class TV extends irdeviceBase {
|
|
|
296
296
|
async pushRightChanges(): Promise<void> {
|
|
297
297
|
await this.debugLog(`pushRightChanges disablePushDetail: ${this.disablePushDetail}`)
|
|
298
298
|
if (!this.disablePushDetail) {
|
|
299
|
-
const bodyChange =
|
|
299
|
+
const bodyChange: bodyChange = {
|
|
300
300
|
command: 'Right',
|
|
301
301
|
parameter: 'default',
|
|
302
302
|
commandType: 'command',
|
|
303
|
-
}
|
|
303
|
+
}
|
|
304
304
|
await this.pushTVChanges(bodyChange)
|
|
305
305
|
}
|
|
306
306
|
}
|
|
@@ -308,11 +308,11 @@ export class TV extends irdeviceBase {
|
|
|
308
308
|
async pushLeftChanges(): Promise<void> {
|
|
309
309
|
await this.debugLog(`pushLeftChanges disablePushDetail: ${this.disablePushDetail}`)
|
|
310
310
|
if (!this.disablePushDetail) {
|
|
311
|
-
const bodyChange =
|
|
311
|
+
const bodyChange: bodyChange = {
|
|
312
312
|
command: 'Left',
|
|
313
313
|
parameter: 'default',
|
|
314
314
|
commandType: 'command',
|
|
315
|
-
}
|
|
315
|
+
}
|
|
316
316
|
await this.pushTVChanges(bodyChange)
|
|
317
317
|
}
|
|
318
318
|
}
|
|
@@ -320,11 +320,11 @@ export class TV extends irdeviceBase {
|
|
|
320
320
|
async pushVolumeUpChanges(): Promise<void> {
|
|
321
321
|
await this.debugLog(`pushVolumeUpChanges disablePushDetail: ${this.disablePushDetail}`)
|
|
322
322
|
if (!this.disablePushDetail) {
|
|
323
|
-
const bodyChange =
|
|
323
|
+
const bodyChange: bodyChange = {
|
|
324
324
|
command: 'volumeAdd',
|
|
325
325
|
parameter: 'default',
|
|
326
326
|
commandType: 'command',
|
|
327
|
-
}
|
|
327
|
+
}
|
|
328
328
|
await this.pushTVChanges(bodyChange)
|
|
329
329
|
}
|
|
330
330
|
}
|
|
@@ -332,11 +332,11 @@ export class TV extends irdeviceBase {
|
|
|
332
332
|
async pushVolumeDownChanges(): Promise<void> {
|
|
333
333
|
await this.debugLog(`pushVolumeDownChanges disablePushDetail: ${this.disablePushDetail}`)
|
|
334
334
|
if (!this.disablePushDetail) {
|
|
335
|
-
const bodyChange =
|
|
335
|
+
const bodyChange: bodyChange = {
|
|
336
336
|
command: 'volumeSub',
|
|
337
337
|
parameter: 'default',
|
|
338
338
|
commandType: 'command',
|
|
339
|
-
}
|
|
339
|
+
}
|
|
340
340
|
await this.pushTVChanges(bodyChange)
|
|
341
341
|
}
|
|
342
342
|
}
|
|
@@ -346,14 +346,13 @@ export class TV extends irdeviceBase {
|
|
|
346
346
|
if (this.device.connectionType === 'OpenAPI') {
|
|
347
347
|
await this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`)
|
|
348
348
|
try {
|
|
349
|
-
const { body
|
|
350
|
-
const deviceStatus: any = await body
|
|
351
|
-
await this.pushStatusCodes(
|
|
352
|
-
if (await this.successfulStatusCodes(
|
|
353
|
-
await this.successfulPushChange(
|
|
349
|
+
const { body } = await this.pushChangeRequest(bodyChange)
|
|
350
|
+
const deviceStatus: any = await body
|
|
351
|
+
await this.pushStatusCodes(deviceStatus)
|
|
352
|
+
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
353
|
+
await this.successfulPushChange(deviceStatus, bodyChange)
|
|
354
354
|
await this.updateHomeKitCharacteristics()
|
|
355
355
|
} else {
|
|
356
|
-
await this.statusCode(statusCode)
|
|
357
356
|
await this.statusCode(deviceStatus.statusCode)
|
|
358
357
|
}
|
|
359
358
|
} catch (e: any) {
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* vacuumcleaner.ts: @switchbot/homebridge-switchbot.
|
|
4
4
|
*/
|
|
5
5
|
import type { CharacteristicValue, PlatformAccessory, Service } from 'homebridge'
|
|
6
|
+
import type { bodyChange, irdevice } from 'node-switchbot'
|
|
6
7
|
|
|
7
8
|
import type { SwitchBotPlatform } from '../platform.js'
|
|
8
9
|
import type { irDevicesConfig } from '../settings.js'
|
|
9
|
-
import type { irdevice } from '../types/irdevicelist.js'
|
|
10
10
|
|
|
11
11
|
import { irdeviceBase } from './irdevice.js'
|
|
12
12
|
|
|
@@ -69,11 +69,11 @@ export class VacuumCleaner extends irdeviceBase {
|
|
|
69
69
|
if (this.Switch.On && !this.disablePushOn) {
|
|
70
70
|
const commandType: string = await this.commandType()
|
|
71
71
|
const command: string = await this.commandOn()
|
|
72
|
-
const bodyChange =
|
|
72
|
+
const bodyChange: bodyChange = {
|
|
73
73
|
command,
|
|
74
74
|
parameter: 'default',
|
|
75
75
|
commandType,
|
|
76
|
-
}
|
|
76
|
+
}
|
|
77
77
|
await this.pushChanges(bodyChange)
|
|
78
78
|
}
|
|
79
79
|
}
|
|
@@ -83,11 +83,11 @@ export class VacuumCleaner extends irdeviceBase {
|
|
|
83
83
|
if (!this.Switch.On && !this.disablePushOff) {
|
|
84
84
|
const commandType: string = await this.commandType()
|
|
85
85
|
const command: string = await this.commandOff()
|
|
86
|
-
const bodyChange =
|
|
86
|
+
const bodyChange: bodyChange = {
|
|
87
87
|
command,
|
|
88
88
|
parameter: 'default',
|
|
89
89
|
commandType,
|
|
90
|
-
}
|
|
90
|
+
}
|
|
91
91
|
await this.pushChanges(bodyChange)
|
|
92
92
|
}
|
|
93
93
|
}
|
|
@@ -97,14 +97,13 @@ export class VacuumCleaner extends irdeviceBase {
|
|
|
97
97
|
if (this.device.connectionType === 'OpenAPI') {
|
|
98
98
|
await this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`)
|
|
99
99
|
try {
|
|
100
|
-
const { body
|
|
101
|
-
const deviceStatus: any = await body
|
|
102
|
-
await this.pushStatusCodes(
|
|
103
|
-
if (await this.successfulStatusCodes(
|
|
104
|
-
await this.successfulPushChange(
|
|
100
|
+
const { body } = await this.pushChangeRequest(bodyChange)
|
|
101
|
+
const deviceStatus: any = await body
|
|
102
|
+
await this.pushStatusCodes(deviceStatus)
|
|
103
|
+
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
104
|
+
await this.successfulPushChange(deviceStatus, bodyChange)
|
|
105
105
|
await this.updateHomeKitCharacteristics()
|
|
106
106
|
} else {
|
|
107
|
-
await this.statusCode(statusCode)
|
|
108
107
|
await this.statusCode(deviceStatus.statusCode)
|
|
109
108
|
}
|
|
110
109
|
} catch (e: any) {
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
* waterheater.ts: @switchbot/homebridge-switchbot.
|
|
4
4
|
*/
|
|
5
5
|
import type { CharacteristicValue, PlatformAccessory, Service } from 'homebridge'
|
|
6
|
+
import type { bodyChange, irdevice } from 'node-switchbot'
|
|
6
7
|
|
|
7
8
|
import type { SwitchBotPlatform } from '../platform.js'
|
|
8
9
|
import type { irDevicesConfig } from '../settings.js'
|
|
9
|
-
import type { irdevice } from '../types/irdevicelist.js'
|
|
10
10
|
|
|
11
11
|
import { irdeviceBase } from './irdevice.js'
|
|
12
12
|
|
|
@@ -70,11 +70,11 @@ export class WaterHeater extends irdeviceBase {
|
|
|
70
70
|
if (this.Valve.Active === this.hap.Characteristic.Active.ACTIVE && !this.disablePushOn) {
|
|
71
71
|
const commandType: string = await this.commandType()
|
|
72
72
|
const command: string = await this.commandOn()
|
|
73
|
-
const bodyChange =
|
|
73
|
+
const bodyChange: bodyChange = {
|
|
74
74
|
command,
|
|
75
75
|
parameter: 'default',
|
|
76
76
|
commandType,
|
|
77
|
-
}
|
|
77
|
+
}
|
|
78
78
|
await this.pushChanges(bodyChange)
|
|
79
79
|
}
|
|
80
80
|
}
|
|
@@ -84,11 +84,11 @@ export class WaterHeater extends irdeviceBase {
|
|
|
84
84
|
if (this.Valve.Active === this.hap.Characteristic.Active.INACTIVE && !this.disablePushOff) {
|
|
85
85
|
const commandType: string = await this.commandType()
|
|
86
86
|
const command: string = await this.commandOff()
|
|
87
|
-
const bodyChange =
|
|
87
|
+
const bodyChange: bodyChange = {
|
|
88
88
|
command,
|
|
89
89
|
parameter: 'default',
|
|
90
90
|
commandType,
|
|
91
|
-
}
|
|
91
|
+
}
|
|
92
92
|
await this.pushChanges(bodyChange)
|
|
93
93
|
}
|
|
94
94
|
}
|
|
@@ -98,14 +98,13 @@ export class WaterHeater extends irdeviceBase {
|
|
|
98
98
|
if (this.device.connectionType === 'OpenAPI') {
|
|
99
99
|
this.infoLog(`Sending request to SwitchBot API, body: ${bodyChange},`)
|
|
100
100
|
try {
|
|
101
|
-
const { body
|
|
102
|
-
const deviceStatus: any = await body
|
|
103
|
-
await this.pushStatusCodes(
|
|
104
|
-
if (await this.successfulStatusCodes(
|
|
105
|
-
await this.successfulPushChange(
|
|
101
|
+
const { body } = await this.pushChangeRequest(bodyChange)
|
|
102
|
+
const deviceStatus: any = await body
|
|
103
|
+
await this.pushStatusCodes(deviceStatus)
|
|
104
|
+
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
105
|
+
await this.successfulPushChange(deviceStatus, bodyChange)
|
|
106
106
|
await this.updateHomeKitCharacteristics()
|
|
107
107
|
} else {
|
|
108
|
-
await this.statusCode(statusCode)
|
|
109
108
|
await this.statusCode(deviceStatus.statusCode)
|
|
110
109
|
}
|
|
111
110
|
} catch (e: any) {
|