@switchbot/homebridge-switchbot 3.0.0-beta.0 → 3.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/dist/device/blindtilt.d.ts +2 -2
- package/dist/device/blindtilt.d.ts.map +1 -1
- package/dist/device/blindtilt.js +4 -3
- package/dist/device/blindtilt.js.map +1 -1
- package/dist/device/bot.d.ts +2 -2
- package/dist/device/bot.d.ts.map +1 -1
- package/dist/device/bot.js +2 -2
- package/dist/device/bot.js.map +1 -1
- package/dist/device/ceilinglight.d.ts +2 -2
- package/dist/device/ceilinglight.d.ts.map +1 -1
- package/dist/device/ceilinglight.js +2 -2
- package/dist/device/ceilinglight.js.map +1 -1
- package/dist/device/colorbulb.d.ts +2 -2
- package/dist/device/colorbulb.d.ts.map +1 -1
- package/dist/device/colorbulb.js +2 -2
- package/dist/device/colorbulb.js.map +1 -1
- package/dist/device/contact.d.ts +2 -2
- package/dist/device/contact.d.ts.map +1 -1
- package/dist/device/contact.js +2 -2
- package/dist/device/contact.js.map +1 -1
- package/dist/device/curtain.d.ts +2 -2
- package/dist/device/curtain.d.ts.map +1 -1
- package/dist/device/curtain.js +4 -3
- package/dist/device/curtain.js.map +1 -1
- package/dist/device/hub.d.ts +2 -2
- package/dist/device/hub.d.ts.map +1 -1
- package/dist/device/hub.js +3 -2
- package/dist/device/hub.js.map +1 -1
- package/dist/device/humidifier.d.ts +2 -2
- package/dist/device/humidifier.d.ts.map +1 -1
- package/dist/device/humidifier.js +2 -2
- package/dist/device/humidifier.js.map +1 -1
- package/dist/device/iosensor.d.ts +2 -2
- package/dist/device/iosensor.d.ts.map +1 -1
- package/dist/device/iosensor.js +4 -3
- package/dist/device/iosensor.js.map +1 -1
- package/dist/device/lightstrip.d.ts +2 -2
- package/dist/device/lightstrip.d.ts.map +1 -1
- package/dist/device/lightstrip.js +2 -2
- package/dist/device/lightstrip.js.map +1 -1
- package/dist/device/lock.d.ts +2 -2
- package/dist/device/lock.d.ts.map +1 -1
- package/dist/device/lock.js +2 -2
- package/dist/device/lock.js.map +1 -1
- package/dist/device/meter.d.ts +2 -2
- package/dist/device/meter.d.ts.map +1 -1
- package/dist/device/meter.js +4 -3
- package/dist/device/meter.js.map +1 -1
- package/dist/device/meterplus.d.ts +2 -2
- package/dist/device/meterplus.d.ts.map +1 -1
- package/dist/device/meterplus.js +4 -3
- package/dist/device/meterplus.js.map +1 -1
- package/dist/device/motion.d.ts +2 -2
- package/dist/device/motion.d.ts.map +1 -1
- package/dist/device/motion.js +2 -2
- package/dist/device/motion.js.map +1 -1
- package/dist/device/plug.d.ts +2 -2
- package/dist/device/plug.d.ts.map +1 -1
- package/dist/device/plug.js +2 -2
- package/dist/device/plug.js.map +1 -1
- package/dist/device/robotvacuumcleaner.d.ts +2 -2
- package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
- package/dist/device/robotvacuumcleaner.js +2 -2
- package/dist/device/robotvacuumcleaner.js.map +1 -1
- package/dist/irdevice/airconditioner.d.ts +2 -2
- package/dist/irdevice/airconditioner.d.ts.map +1 -1
- package/dist/irdevice/airconditioner.js +1 -1
- package/dist/irdevice/airconditioner.js.map +1 -1
- package/dist/irdevice/airpurifier.d.ts +2 -2
- package/dist/irdevice/airpurifier.d.ts.map +1 -1
- package/dist/irdevice/airpurifier.js +1 -1
- package/dist/irdevice/airpurifier.js.map +1 -1
- package/dist/irdevice/camera.d.ts +2 -2
- package/dist/irdevice/camera.d.ts.map +1 -1
- package/dist/irdevice/camera.js +1 -1
- package/dist/irdevice/camera.js.map +1 -1
- package/dist/irdevice/fan.d.ts +2 -2
- package/dist/irdevice/fan.d.ts.map +1 -1
- package/dist/irdevice/fan.js +1 -1
- package/dist/irdevice/fan.js.map +1 -1
- package/dist/irdevice/light.d.ts +2 -2
- package/dist/irdevice/light.d.ts.map +1 -1
- package/dist/irdevice/light.js +1 -1
- package/dist/irdevice/light.js.map +1 -1
- package/dist/irdevice/other.d.ts +2 -2
- package/dist/irdevice/other.d.ts.map +1 -1
- package/dist/irdevice/other.js +1 -1
- package/dist/irdevice/other.js.map +1 -1
- package/dist/irdevice/tv.d.ts +2 -2
- package/dist/irdevice/tv.d.ts.map +1 -1
- package/dist/irdevice/tv.js +1 -1
- package/dist/irdevice/tv.js.map +1 -1
- package/dist/irdevice/vacuumcleaner.d.ts +2 -2
- package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
- package/dist/irdevice/vacuumcleaner.js +1 -1
- package/dist/irdevice/vacuumcleaner.js.map +1 -1
- package/dist/irdevice/waterheater.d.ts +2 -2
- package/dist/irdevice/waterheater.d.ts.map +1 -1
- package/dist/irdevice/waterheater.js +1 -1
- package/dist/irdevice/waterheater.js.map +1 -1
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +31 -27
- package/dist/platform.js.map +1 -1
- package/package.json +2 -1
- package/src/device/blindtilt.ts +5 -4
- package/src/device/bot.ts +3 -3
- package/src/device/ceilinglight.ts +3 -3
- package/src/device/colorbulb.ts +3 -3
- package/src/device/contact.ts +3 -3
- package/src/device/curtain.ts +5 -4
- package/src/device/hub.ts +4 -3
- package/src/device/humidifier.ts +3 -3
- package/src/device/iosensor.ts +5 -4
- package/src/device/lightstrip.ts +3 -3
- package/src/device/lock.ts +3 -3
- package/src/device/meter.ts +5 -4
- package/src/device/meterplus.ts +5 -4
- package/src/device/motion.ts +3 -3
- package/src/device/plug.ts +3 -3
- package/src/device/robotvacuumcleaner.ts +3 -3
- package/src/irdevice/airconditioner.ts +2 -2
- package/src/irdevice/airpurifier.ts +2 -2
- package/src/irdevice/camera.ts +2 -2
- package/src/irdevice/fan.ts +2 -2
- package/src/irdevice/light.ts +2 -2
- package/src/irdevice/other.ts +2 -2
- package/src/irdevice/tv.ts +2 -2
- package/src/irdevice/vacuumcleaner.ts +2 -2
- package/src/irdevice/waterheater.ts +2 -2
- package/src/platform.ts +31 -27
package/src/device/bot.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { request } from 'undici';
|
|
2
|
-
import { sleep } from '../utils';
|
|
2
|
+
import { sleep } from '../utils.js';
|
|
3
3
|
import { interval, Subject } from 'rxjs';
|
|
4
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
5
5
|
import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
|
|
6
6
|
import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
|
|
7
|
-
import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings';
|
|
7
|
+
import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Platform Accessory
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { request } from 'undici';
|
|
2
|
-
import { sleep } from '../utils';
|
|
2
|
+
import { sleep } from '../utils.js';
|
|
3
3
|
import { interval, Subject } from 'rxjs';
|
|
4
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
5
5
|
import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
|
|
6
|
-
import { device, devicesConfig, deviceStatus, hs2rgb, rgb2hs, m2hs, serviceData, ad, Devices, SwitchBotPlatformConfig } from '../settings';
|
|
6
|
+
import { device, devicesConfig, deviceStatus, hs2rgb, rgb2hs, m2hs, serviceData, ad, Devices, SwitchBotPlatformConfig } from '../settings.js';
|
|
7
7
|
import {
|
|
8
8
|
Service, PlatformAccessory, CharacteristicValue, ControllerConstructor, Controller, ControllerServiceMap, API, Logging, HAP,
|
|
9
9
|
} from 'homebridge';
|
package/src/device/colorbulb.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { request } from 'undici';
|
|
2
|
-
import { sleep } from '../utils';
|
|
2
|
+
import { sleep } from '../utils.js';
|
|
3
3
|
import { interval, Subject } from 'rxjs';
|
|
4
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
5
5
|
import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
|
|
6
|
-
import { device, devicesConfig, deviceStatus, hs2rgb, rgb2hs, m2hs, serviceData, ad, Devices, SwitchBotPlatformConfig } from '../settings';
|
|
6
|
+
import { device, devicesConfig, deviceStatus, hs2rgb, rgb2hs, m2hs, serviceData, ad, Devices, SwitchBotPlatformConfig } from '../settings.js';
|
|
7
7
|
import {
|
|
8
8
|
Service, PlatformAccessory, CharacteristicValue, ControllerConstructor, Controller, ControllerServiceMap, API, Logging, HAP,
|
|
9
9
|
} from 'homebridge';
|
package/src/device/contact.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { request } from 'undici';
|
|
2
|
-
import { sleep } from '../utils';
|
|
2
|
+
import { sleep } from '../utils.js';
|
|
3
3
|
import { interval, Subject } from 'rxjs';
|
|
4
4
|
import { skipWhile } from 'rxjs/operators';
|
|
5
|
-
import { SwitchBotPlatform } from '../platform';
|
|
5
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
6
6
|
import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
|
|
7
|
-
import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings';
|
|
7
|
+
import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Platform Accessory
|
package/src/device/curtain.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { request } from 'undici';
|
|
2
|
-
import { sleep } from '../utils';
|
|
2
|
+
import { sleep } from '../utils.js';
|
|
3
3
|
import { MqttClient } from 'mqtt';
|
|
4
4
|
import { interval, Subject } from 'rxjs';
|
|
5
|
-
import
|
|
6
|
-
import { SwitchBotPlatform } from '../platform';
|
|
5
|
+
import asyncmqtt from 'async-mqtt';
|
|
6
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
7
7
|
import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
|
|
8
8
|
import { Service, PlatformAccessory, CharacteristicValue, CharacteristicChange, API, Logging, HAP } from 'homebridge';
|
|
9
|
-
import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings';
|
|
9
|
+
import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings.js';
|
|
10
10
|
import { hostname } from 'os';
|
|
11
11
|
|
|
12
12
|
export class Curtain {
|
|
@@ -966,6 +966,7 @@ export class Curtain {
|
|
|
966
966
|
async setupMqtt(device: device & devicesConfig): Promise<void> {
|
|
967
967
|
if (device.mqttURL) {
|
|
968
968
|
try {
|
|
969
|
+
const { connectAsync } = asyncmqtt;
|
|
969
970
|
this.mqttClient = await connectAsync(device.mqttURL, device.mqttOptions || {});
|
|
970
971
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} MQTT connection has been established successfully.`);
|
|
971
972
|
this.mqttClient.on('error', (e: Error) => {
|
package/src/device/hub.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import asyncmqtt from 'async-mqtt';
|
|
2
2
|
import { CharacteristicValue, PlatformAccessory, Service, Units, API, Logging, HAP } from 'homebridge';
|
|
3
3
|
import { MqttClient } from 'mqtt';
|
|
4
4
|
import { hostname } from 'os';
|
|
5
5
|
import { interval } from 'rxjs';
|
|
6
6
|
import { request } from 'undici';
|
|
7
|
-
import { SwitchBotPlatform } from '../platform';
|
|
8
|
-
import { Devices, device, deviceStatus, devicesConfig, SwitchBotPlatformConfig } from '../settings';
|
|
7
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
8
|
+
import { Devices, device, deviceStatus, devicesConfig, SwitchBotPlatformConfig } from '../settings.js';
|
|
9
9
|
|
|
10
10
|
export class Hub {
|
|
11
11
|
public readonly api: API;
|
|
@@ -555,6 +555,7 @@ export class Hub {
|
|
|
555
555
|
async setupMqtt(device: device & devicesConfig): Promise<void> {
|
|
556
556
|
if (device.mqttURL) {
|
|
557
557
|
try {
|
|
558
|
+
const { connectAsync } = asyncmqtt;
|
|
558
559
|
this.mqttClient = await connectAsync(device.mqttURL, device.mqttOptions || {});
|
|
559
560
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} MQTT connection has been established successfully.`);
|
|
560
561
|
this.mqttClient.on('error', (e: Error) => {
|
package/src/device/humidifier.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { request } from 'undici';
|
|
2
|
-
import { sleep } from '../utils';
|
|
2
|
+
import { sleep } from '../utils.js';
|
|
3
3
|
import { interval, Subject } from 'rxjs';
|
|
4
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
5
5
|
import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
|
|
6
6
|
import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
|
|
7
|
-
import { device, devicesConfig, serviceData, ad, deviceStatus, Devices, SwitchBotPlatformConfig } from '../settings';
|
|
7
|
+
import { device, devicesConfig, serviceData, ad, deviceStatus, Devices, SwitchBotPlatformConfig } from '../settings.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Platform Accessory
|
package/src/device/iosensor.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { hostname } from 'os';
|
|
2
2
|
import { request } from 'undici';
|
|
3
|
-
import { sleep } from '../utils';
|
|
3
|
+
import { sleep } from '../utils.js';
|
|
4
4
|
import { MqttClient } from 'mqtt';
|
|
5
|
-
import
|
|
5
|
+
import asyncmqtt from 'async-mqtt';
|
|
6
6
|
import { interval, Subject } from 'rxjs';
|
|
7
7
|
import { skipWhile } from 'rxjs/operators';
|
|
8
|
-
import { SwitchBotPlatform } from '../platform';
|
|
8
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
9
9
|
import { Service, PlatformAccessory, Units, CharacteristicValue, API, Logging, HAP } from 'homebridge';
|
|
10
|
-
import { device, devicesConfig, serviceData, ad, temperature, deviceStatus, Devices, SwitchBotPlatformConfig } from '../settings';
|
|
10
|
+
import { device, devicesConfig, serviceData, ad, temperature, deviceStatus, Devices, SwitchBotPlatformConfig } from '../settings.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
13
|
* Platform Accessory
|
|
@@ -503,6 +503,7 @@ export class IOSensor {
|
|
|
503
503
|
async setupMqtt(device: device & devicesConfig): Promise<void> {
|
|
504
504
|
if (device.mqttURL) {
|
|
505
505
|
try {
|
|
506
|
+
const { connectAsync } = asyncmqtt;
|
|
506
507
|
this.mqttClient = await connectAsync(device.mqttURL, device.mqttOptions || {});
|
|
507
508
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} MQTT connection has been established successfully.`);
|
|
508
509
|
this.mqttClient.on('error', (e: Error) => {
|
package/src/device/lightstrip.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { request } from 'undici';
|
|
2
|
-
import { sleep } from '../utils';
|
|
2
|
+
import { sleep } from '../utils.js';
|
|
3
3
|
import { interval, Subject } from 'rxjs';
|
|
4
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
5
5
|
import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
|
|
6
6
|
import {
|
|
7
7
|
Service, PlatformAccessory, CharacteristicValue, ControllerConstructor, Controller, ControllerServiceMap, API, Logging, HAP,
|
|
8
8
|
} from 'homebridge';
|
|
9
|
-
import { device, devicesConfig, hs2rgb, rgb2hs, deviceStatus, ad, serviceData, m2hs, Devices, SwitchBotPlatformConfig } from '../settings';
|
|
9
|
+
import { device, devicesConfig, hs2rgb, rgb2hs, deviceStatus, ad, serviceData, m2hs, Devices, SwitchBotPlatformConfig } from '../settings.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Platform Accessory
|
package/src/device/lock.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { request } from 'undici';
|
|
2
|
-
import { sleep } from '../utils';
|
|
2
|
+
import { sleep } from '../utils.js';
|
|
3
3
|
import { interval, Subject } from 'rxjs';
|
|
4
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
5
5
|
import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
|
|
6
6
|
import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
|
|
7
|
-
import { device, devicesConfig, deviceStatus, ad, Devices, serviceData, SwitchBotPlatformConfig } from '../settings';
|
|
7
|
+
import { device, devicesConfig, deviceStatus, ad, Devices, serviceData, SwitchBotPlatformConfig } from '../settings.js';
|
|
8
8
|
|
|
9
9
|
export class Lock {
|
|
10
10
|
public readonly api: API;
|
package/src/device/meter.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import asyncmqtt from 'async-mqtt';
|
|
2
2
|
import { CharacteristicValue, PlatformAccessory, Service, Units, API, Logging, HAP } from 'homebridge';
|
|
3
3
|
import { MqttClient } from 'mqtt';
|
|
4
4
|
import { hostname } from 'os';
|
|
5
5
|
import { interval } from 'rxjs';
|
|
6
6
|
import { request } from 'undici';
|
|
7
|
-
import { SwitchBotPlatform } from '../platform';
|
|
8
|
-
import { Devices, ad, device, deviceStatus, devicesConfig, serviceData, temperature, SwitchBotPlatformConfig } from '../settings';
|
|
9
|
-
import { sleep } from '../utils';
|
|
7
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
8
|
+
import { Devices, ad, device, deviceStatus, devicesConfig, serviceData, temperature, SwitchBotPlatformConfig } from '../settings.js';
|
|
9
|
+
import { sleep } from '../utils.js';
|
|
10
10
|
|
|
11
11
|
export class Meter {
|
|
12
12
|
public readonly api: API;
|
|
@@ -496,6 +496,7 @@ export class Meter {
|
|
|
496
496
|
async setupMqtt(device: device & devicesConfig): Promise<void> {
|
|
497
497
|
if (device.mqttURL) {
|
|
498
498
|
try {
|
|
499
|
+
const { connectAsync } = asyncmqtt;
|
|
499
500
|
this.mqttClient = await connectAsync(device.mqttURL, device.mqttOptions || {});
|
|
500
501
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} MQTT connection has been established successfully.`);
|
|
501
502
|
this.mqttClient.on('error', (e: Error) => {
|
package/src/device/meterplus.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import asyncmqtt from 'async-mqtt';
|
|
2
2
|
import { CharacteristicValue, PlatformAccessory, Service, Units, API, Logging, HAP } from 'homebridge';
|
|
3
3
|
import { MqttClient } from 'mqtt';
|
|
4
4
|
import { hostname } from 'os';
|
|
5
5
|
import { interval } from 'rxjs';
|
|
6
6
|
import { request } from 'undici';
|
|
7
|
-
import { SwitchBotPlatform } from '../platform';
|
|
8
|
-
import { Devices, ad, device, deviceStatus, devicesConfig, serviceData, temperature, SwitchBotPlatformConfig } from '../settings';
|
|
9
|
-
import { sleep } from '../utils';
|
|
7
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
8
|
+
import { Devices, ad, device, deviceStatus, devicesConfig, serviceData, temperature, SwitchBotPlatformConfig } from '../settings.js';
|
|
9
|
+
import { sleep } from '../utils.js';
|
|
10
10
|
|
|
11
11
|
/**
|
|
12
12
|
* Platform Accessory
|
|
@@ -501,6 +501,7 @@ export class MeterPlus {
|
|
|
501
501
|
async setupMqtt(device: device & devicesConfig): Promise<void> {
|
|
502
502
|
if (device.mqttURL) {
|
|
503
503
|
try {
|
|
504
|
+
const { connectAsync } = asyncmqtt;
|
|
504
505
|
this.mqttClient = await connectAsync(device.mqttURL, device.mqttOptions || {});
|
|
505
506
|
this.debugLog(`${this.device.deviceType}: ${this.accessory.displayName} MQTT connection has been established successfully.`);
|
|
506
507
|
this.mqttClient.on('error', (e: Error) => {
|
package/src/device/motion.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { request } from 'undici';
|
|
2
|
-
import { sleep } from '../utils';
|
|
2
|
+
import { sleep } from '../utils.js';
|
|
3
3
|
import { interval, Subject } from 'rxjs';
|
|
4
4
|
import { skipWhile } from 'rxjs/operators';
|
|
5
|
-
import { SwitchBotPlatform } from '../platform';
|
|
5
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
6
6
|
import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
|
|
7
|
-
import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings';
|
|
7
|
+
import { device, devicesConfig, serviceData, deviceStatus, ad, Devices, SwitchBotPlatformConfig } from '../settings.js';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Platform Accessory
|
package/src/device/plug.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { request } from 'undici';
|
|
2
|
-
import { sleep } from '../utils';
|
|
2
|
+
import { sleep } from '../utils.js';
|
|
3
3
|
import { interval, Subject } from 'rxjs';
|
|
4
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
5
5
|
import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
|
|
6
6
|
import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
|
|
7
|
-
import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings';
|
|
7
|
+
import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings.js';
|
|
8
8
|
|
|
9
9
|
export class Plug {
|
|
10
10
|
public readonly api: API;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { request } from 'undici';
|
|
2
|
-
import { sleep } from '../utils';
|
|
2
|
+
import { sleep } from '../utils.js';
|
|
3
3
|
import { interval, Subject } from 'rxjs';
|
|
4
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
5
5
|
import { debounceTime, skipWhile, take, tap } from 'rxjs/operators';
|
|
6
6
|
import { Service, PlatformAccessory, CharacteristicValue, API, Logging, HAP } from 'homebridge';
|
|
7
|
-
import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings';
|
|
7
|
+
import { device, devicesConfig, deviceStatus, ad, serviceData, Devices, SwitchBotPlatformConfig } from '../settings.js';
|
|
8
8
|
|
|
9
9
|
export class RobotVacuumCleaner {
|
|
10
10
|
public readonly api: API;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
|
|
2
2
|
import { request } from 'undici';
|
|
3
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
-
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
|
|
3
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
4
|
+
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Platform Accessory
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
|
|
2
2
|
import { request } from 'undici';
|
|
3
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
-
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
|
|
3
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
4
|
+
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Platform Accessory
|
package/src/irdevice/camera.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
|
|
2
2
|
import { request } from 'undici';
|
|
3
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
-
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
|
|
3
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
4
|
+
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Platform Accessory
|
package/src/irdevice/fan.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
|
|
2
2
|
import { request } from 'undici';
|
|
3
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
-
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
|
|
3
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
4
|
+
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Platform Accessory
|
package/src/irdevice/light.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
|
|
2
2
|
import { request } from 'undici';
|
|
3
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
-
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
|
|
3
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
4
|
+
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Platform Accessory
|
package/src/irdevice/other.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
|
|
2
2
|
import { request } from 'undici';
|
|
3
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
-
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
|
|
3
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
4
|
+
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Platform Accessory
|
package/src/irdevice/tv.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
|
|
2
2
|
import { request } from 'undici';
|
|
3
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
-
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
|
|
3
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
4
|
+
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Platform Accessory
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
|
|
2
2
|
import { request } from 'undici';
|
|
3
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
-
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
|
|
3
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
4
|
+
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Platform Accessory
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CharacteristicValue, PlatformAccessory, Service, API, Logging, HAP } from 'homebridge';
|
|
2
2
|
import { request } from 'undici';
|
|
3
|
-
import { SwitchBotPlatform } from '../platform';
|
|
4
|
-
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings';
|
|
3
|
+
import { SwitchBotPlatform } from '../platform.js';
|
|
4
|
+
import { Devices, irDevicesConfig, irdevice, SwitchBotPlatformConfig } from '../settings.js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Platform Accessory
|
package/src/platform.ts
CHANGED
|
@@ -4,41 +4,41 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { API, DynamicPlatformPlugin, Logging, PlatformAccessory } from 'homebridge';
|
|
6
6
|
import { PLATFORM_NAME, PLUGIN_NAME, irdevice, device, SwitchBotPlatformConfig, devicesConfig, irDevicesConfig, Devices } from './settings.js';
|
|
7
|
-
import { Bot } from './device/bot';
|
|
8
|
-
import { Plug } from './device/plug';
|
|
9
|
-
import { Lock } from './device/lock';
|
|
10
|
-
import { Meter } from './device/meter';
|
|
11
|
-
import { Motion } from './device/motion';
|
|
12
|
-
import { Hub } from './device/hub';
|
|
13
|
-
import { Contact } from './device/contact';
|
|
14
|
-
import { Curtain } from './device/curtain';
|
|
15
|
-
import { IOSensor } from './device/iosensor';
|
|
16
|
-
import { MeterPlus } from './device/meterplus';
|
|
17
|
-
import { ColorBulb } from './device/colorbulb';
|
|
18
|
-
import { CeilingLight } from './device/ceilinglight';
|
|
19
|
-
import { StripLight } from './device/lightstrip';
|
|
20
|
-
import { Humidifier } from './device/humidifier';
|
|
21
|
-
import { RobotVacuumCleaner } from './device/robotvacuumcleaner';
|
|
22
|
-
import { TV } from './irdevice/tv';
|
|
23
|
-
import { Fan } from './irdevice/fan';
|
|
24
|
-
import { Light } from './irdevice/light';
|
|
25
|
-
import { Others } from './irdevice/other';
|
|
26
|
-
import { Camera } from './irdevice/camera';
|
|
27
|
-
import { BlindTilt } from './device/blindtilt';
|
|
28
|
-
import { AirPurifier } from './irdevice/airpurifier';
|
|
29
|
-
import { WaterHeater } from './irdevice/waterheater';
|
|
30
|
-
import { VacuumCleaner } from './irdevice/vacuumcleaner';
|
|
31
|
-
import { AirConditioner } from './irdevice/airconditioner';
|
|
7
|
+
import { Bot } from './device/bot.js';
|
|
8
|
+
import { Plug } from './device/plug.js';
|
|
9
|
+
import { Lock } from './device/lock.js';
|
|
10
|
+
import { Meter } from './device/meter.js';
|
|
11
|
+
import { Motion } from './device/motion.js';
|
|
12
|
+
import { Hub } from './device/hub.js';
|
|
13
|
+
import { Contact } from './device/contact.js';
|
|
14
|
+
import { Curtain } from './device/curtain.js';
|
|
15
|
+
import { IOSensor } from './device/iosensor.js';
|
|
16
|
+
import { MeterPlus } from './device/meterplus.js';
|
|
17
|
+
import { ColorBulb } from './device/colorbulb.js';
|
|
18
|
+
import { CeilingLight } from './device/ceilinglight.js';
|
|
19
|
+
import { StripLight } from './device/lightstrip.js';
|
|
20
|
+
import { Humidifier } from './device/humidifier.js';
|
|
21
|
+
import { RobotVacuumCleaner } from './device/robotvacuumcleaner.js';
|
|
22
|
+
import { TV } from './irdevice/tv.js';
|
|
23
|
+
import { Fan } from './irdevice/fan.js';
|
|
24
|
+
import { Light } from './irdevice/light.js';
|
|
25
|
+
import { Others } from './irdevice/other.js';
|
|
26
|
+
import { Camera } from './irdevice/camera.js';
|
|
27
|
+
import { BlindTilt } from './device/blindtilt.js';
|
|
28
|
+
import { AirPurifier } from './irdevice/airpurifier.js';
|
|
29
|
+
import { WaterHeater } from './irdevice/waterheater.js';
|
|
30
|
+
import { VacuumCleaner } from './irdevice/vacuumcleaner.js';
|
|
31
|
+
import { AirConditioner } from './irdevice/airconditioner.js';
|
|
32
32
|
import * as http from 'http';
|
|
33
33
|
import { Buffer } from 'buffer';
|
|
34
34
|
import { request } from 'undici';
|
|
35
35
|
import { MqttClient } from 'mqtt';
|
|
36
36
|
import { queueScheduler } from 'rxjs';
|
|
37
37
|
import fakegato from 'fakegato-history';
|
|
38
|
-
import
|
|
38
|
+
import asyncmqtt from 'async-mqtt';
|
|
39
39
|
import crypto, { randomUUID } from 'crypto';
|
|
40
40
|
import { readFileSync, writeFileSync } from 'fs';
|
|
41
|
-
import
|
|
41
|
+
import hbLib from 'homebridge-lib';
|
|
42
42
|
|
|
43
43
|
|
|
44
44
|
/**
|
|
@@ -75,6 +75,8 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
75
75
|
// Plugin options into our config variables.
|
|
76
76
|
this.config = {
|
|
77
77
|
platform: 'SwitchBotPlatform',
|
|
78
|
+
name: config.name,
|
|
79
|
+
credentials: config.credentials as object,
|
|
78
80
|
url: config.url as string,
|
|
79
81
|
port: config.port as number,
|
|
80
82
|
hostname: config.hostname as string,
|
|
@@ -104,6 +106,7 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
104
106
|
}
|
|
105
107
|
|
|
106
108
|
// import fakegato-history module and EVE characteristics
|
|
109
|
+
const { EveHomeKitTypes } = hbLib;
|
|
107
110
|
this.fakegatoAPI = fakegato(api);
|
|
108
111
|
this.eve = new EveHomeKitTypes(api);
|
|
109
112
|
|
|
@@ -136,6 +139,7 @@ export class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
136
139
|
async setupMqtt(): Promise<void> {
|
|
137
140
|
if (this.config.options?.mqttURL) {
|
|
138
141
|
try {
|
|
142
|
+
const { connectAsync } = asyncmqtt;
|
|
139
143
|
this.mqttClient = await connectAsync(this.config.options?.mqttURL, this.config.options.mqttOptions || {});
|
|
140
144
|
this.debugLog('MQTT connection has been established successfully.');
|
|
141
145
|
this.mqttClient.on('error', (e: Error) => {
|