@switchbot/homebridge-switchbot 1.4.0 → 1.4.1-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -0
- package/config.schema.json +83 -11
- package/dist/devices/bots.d.ts +13 -3
- package/dist/devices/bots.d.ts.map +1 -1
- package/dist/devices/bots.js +162 -105
- package/dist/devices/bots.js.map +1 -1
- package/dist/devices/colorbulb.d.ts +13 -3
- package/dist/devices/colorbulb.d.ts.map +1 -1
- package/dist/devices/colorbulb.js +161 -96
- package/dist/devices/colorbulb.js.map +1 -1
- package/dist/devices/contact.d.ts +13 -3
- package/dist/devices/contact.d.ts.map +1 -1
- package/dist/devices/contact.js +117 -63
- package/dist/devices/contact.js.map +1 -1
- package/dist/devices/curtains.d.ts +14 -5
- package/dist/devices/curtains.d.ts.map +1 -1
- package/dist/devices/curtains.js +198 -140
- package/dist/devices/curtains.js.map +1 -1
- package/dist/devices/humidifiers.d.ts +13 -3
- package/dist/devices/humidifiers.d.ts.map +1 -1
- package/dist/devices/humidifiers.js +180 -127
- package/dist/devices/humidifiers.js.map +1 -1
- package/dist/devices/meters.d.ts +13 -3
- package/dist/devices/meters.d.ts.map +1 -1
- package/dist/devices/meters.js +121 -63
- package/dist/devices/meters.js.map +1 -1
- package/dist/devices/motion.d.ts +13 -3
- package/dist/devices/motion.d.ts.map +1 -1
- package/dist/devices/motion.js +104 -45
- package/dist/devices/motion.js.map +1 -1
- package/dist/devices/plugs.d.ts +13 -3
- package/dist/devices/plugs.d.ts.map +1 -1
- package/dist/devices/plugs.js +99 -35
- package/dist/devices/plugs.js.map +1 -1
- package/dist/irdevices/airconditioners.d.ts +11 -3
- package/dist/irdevices/airconditioners.d.ts.map +1 -1
- package/dist/irdevices/airconditioners.js +80 -45
- package/dist/irdevices/airconditioners.js.map +1 -1
- package/dist/irdevices/airpurifiers.d.ts +11 -3
- package/dist/irdevices/airpurifiers.d.ts.map +1 -1
- package/dist/irdevices/airpurifiers.js +68 -31
- package/dist/irdevices/airpurifiers.js.map +1 -1
- package/dist/irdevices/cameras.d.ts +11 -3
- package/dist/irdevices/cameras.d.ts.map +1 -1
- package/dist/irdevices/cameras.js +64 -24
- package/dist/irdevices/cameras.js.map +1 -1
- package/dist/irdevices/fans.d.ts +11 -3
- package/dist/irdevices/fans.d.ts.map +1 -1
- package/dist/irdevices/fans.js +74 -35
- package/dist/irdevices/fans.js.map +1 -1
- package/dist/irdevices/lights.d.ts +11 -3
- package/dist/irdevices/lights.d.ts.map +1 -1
- package/dist/irdevices/lights.js +65 -25
- package/dist/irdevices/lights.js.map +1 -1
- package/dist/irdevices/others.d.ts +11 -3
- package/dist/irdevices/others.d.ts.map +1 -1
- package/dist/irdevices/others.js +71 -31
- package/dist/irdevices/others.js.map +1 -1
- package/dist/irdevices/tvs.d.ts +11 -3
- package/dist/irdevices/tvs.d.ts.map +1 -1
- package/dist/irdevices/tvs.js +81 -42
- package/dist/irdevices/tvs.js.map +1 -1
- package/dist/irdevices/vacuumcleaners.d.ts +11 -3
- package/dist/irdevices/vacuumcleaners.d.ts.map +1 -1
- package/dist/irdevices/vacuumcleaners.js +64 -24
- package/dist/irdevices/vacuumcleaners.js.map +1 -1
- package/dist/irdevices/waterheaters.d.ts +11 -3
- package/dist/irdevices/waterheaters.d.ts.map +1 -1
- package/dist/irdevices/waterheaters.js +64 -24
- package/dist/irdevices/waterheaters.js.map +1 -1
- package/dist/platform.d.ts +10 -10
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +290 -307
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +4 -1
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js.map +1 -1
- package/nodemon.json +1 -1
- package/package.json +70 -66
- package/src/devices/bots.ts +169 -105
- package/src/devices/colorbulb.ts +170 -99
- package/src/devices/contact.ts +124 -64
- package/src/devices/curtains.ts +207 -145
- package/src/devices/humidifiers.ts +187 -129
- package/src/devices/meters.ts +128 -64
- package/src/devices/motion.ts +110 -45
- package/src/devices/plugs.ts +104 -36
- package/src/irdevices/airconditioners.ts +85 -45
- package/src/irdevices/airpurifiers.ts +73 -31
- package/src/irdevices/cameras.ts +69 -24
- package/src/irdevices/fans.ts +79 -36
- package/src/irdevices/lights.ts +70 -25
- package/src/irdevices/others.ts +76 -31
- package/src/irdevices/tvs.ts +86 -42
- package/src/irdevices/vacuumcleaners.ts +69 -24
- package/src/irdevices/waterheaters.ts +69 -24
- package/src/platform.ts +285 -302
- package/src/settings.ts +4 -1
- package/dist/devices/indoorcam.d.ts +0 -64
- package/dist/devices/indoorcam.d.ts.map +0 -1
- package/dist/devices/indoorcam.js +0 -249
- package/dist/devices/indoorcam.js.map +0 -1
- package/src/devices/indoorcam.ts +0 -309
package/dist/irdevices/fans.js
CHANGED
|
@@ -12,9 +12,8 @@ class Fan {
|
|
|
12
12
|
this.platform = platform;
|
|
13
13
|
this.accessory = accessory;
|
|
14
14
|
this.device = device;
|
|
15
|
-
this.deviceDebug = this.platform.config.options?.debug === 'device' || this.platform.debugMode;
|
|
16
|
-
this.debugDebug = this.platform.config.options?.debug === 'debug' || this.platform.debugMode;
|
|
17
15
|
// default placeholders
|
|
16
|
+
this.logs();
|
|
18
17
|
if (this.Active === undefined) {
|
|
19
18
|
this.Active = this.platform.Characteristic.Active.INACTIVE;
|
|
20
19
|
}
|
|
@@ -73,11 +72,11 @@ class Fan {
|
|
|
73
72
|
!device.irfan?.swing_mode) {
|
|
74
73
|
const characteristic = this.service.getCharacteristic(this.platform.Characteristic.RotationSpeed);
|
|
75
74
|
this.service.removeCharacteristic(characteristic);
|
|
76
|
-
this.
|
|
75
|
+
this.debugLog(`Fan: ${this.accessory.displayName} Rotation Speed Characteristic was removed.`);
|
|
77
76
|
}
|
|
78
77
|
else {
|
|
79
78
|
// eslint-disable-next-line max-len
|
|
80
|
-
this.
|
|
79
|
+
this.debugLog(`Fan: ${this.accessory.displayName} Rotation Speed Characteristic was not removed or not added. To Remove Chracteristic, Clear Cache on this Accessory.`);
|
|
81
80
|
}
|
|
82
81
|
if (device.irfan?.swing_mode) {
|
|
83
82
|
// handle Osolcation events using the SwingMode characteristic
|
|
@@ -86,15 +85,26 @@ class Fan {
|
|
|
86
85
|
else if (this.service.testCharacteristic(this.platform.Characteristic.SwingMode) && !device.irfan?.swing_mode) {
|
|
87
86
|
const characteristic = this.service.getCharacteristic(this.platform.Characteristic.SwingMode);
|
|
88
87
|
this.service.removeCharacteristic(characteristic);
|
|
89
|
-
this.
|
|
88
|
+
this.debugLog(`Fan: ${this.accessory.displayName} Swing Mode Characteristic was removed.`);
|
|
90
89
|
}
|
|
91
90
|
else {
|
|
92
91
|
// eslint-disable-next-line max-len
|
|
93
|
-
this.
|
|
92
|
+
this.debugLog(`Fan: ${this.accessory.displayName} Swing Mode Characteristic was not removed or not added. To Remove Chracteristic, Clear Cache on this Accessory.`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
logs() {
|
|
96
|
+
if (this.device.logging) {
|
|
97
|
+
this.deviceLogging = this.accessory.context.logging = this.device.logging;
|
|
98
|
+
}
|
|
99
|
+
else if (this.platform.config.options?.logging) {
|
|
100
|
+
this.deviceLogging = this.accessory.context.logging = this.platform.config.options?.logging;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
this.deviceLogging = this.accessory.context.logging = 'standard';
|
|
94
104
|
}
|
|
95
105
|
}
|
|
96
106
|
SwingModeSet(value) {
|
|
97
|
-
this.
|
|
107
|
+
this.debugLog(`Fan: ${this.accessory.displayName} SwingMode: ${value}`);
|
|
98
108
|
if (value > this.SwingMode) {
|
|
99
109
|
this.SwingMode = 1;
|
|
100
110
|
this.pushFanOnChanges();
|
|
@@ -109,29 +119,29 @@ class Fan {
|
|
|
109
119
|
}
|
|
110
120
|
updateHomeKitCharacteristics() {
|
|
111
121
|
if (this.Active === undefined) {
|
|
112
|
-
this.
|
|
122
|
+
this.debugLog(`Fan: ${this.accessory.displayName} Active: ${this.Active}`);
|
|
113
123
|
}
|
|
114
124
|
else {
|
|
115
125
|
this.service?.updateCharacteristic(this.platform.Characteristic.Active, this.Active);
|
|
116
|
-
this.
|
|
126
|
+
this.debugLog(`Fan: ${this.accessory.displayName} updateCharacteristic Active: ${this.Active}`);
|
|
117
127
|
}
|
|
118
128
|
if (this.SwingMode === undefined) {
|
|
119
|
-
this.
|
|
129
|
+
this.debugLog(`Fan: ${this.accessory.displayName} SwingMode: ${this.SwingMode}`);
|
|
120
130
|
}
|
|
121
131
|
else {
|
|
122
132
|
this.service?.updateCharacteristic(this.platform.Characteristic.SwingMode, this.SwingMode);
|
|
123
|
-
this.
|
|
133
|
+
this.debugLog(`Fan: ${this.accessory.displayName} updateCharacteristic SwingMode: ${this.SwingMode}`);
|
|
124
134
|
}
|
|
125
135
|
if (this.RotationSpeed === undefined) {
|
|
126
|
-
this.
|
|
136
|
+
this.debugLog(`Fan: ${this.accessory.displayName} RotationSpeed: ${this.RotationSpeed}`);
|
|
127
137
|
}
|
|
128
138
|
else {
|
|
129
139
|
this.service?.updateCharacteristic(this.platform.Characteristic.RotationSpeed, this.RotationSpeed);
|
|
130
|
-
this.
|
|
140
|
+
this.debugLog(`Fan: ${this.accessory.displayName} updateCharacteristic RotationSpeed: ${this.RotationSpeed}`);
|
|
131
141
|
}
|
|
132
142
|
}
|
|
133
143
|
RotationSpeedSet(value) {
|
|
134
|
-
this.
|
|
144
|
+
this.debugLog(`Fan: ${this.accessory.displayName} RotationSpeed: ${value}`);
|
|
135
145
|
if (value > this.RotationSpeed) {
|
|
136
146
|
this.RotationSpeed = 1;
|
|
137
147
|
this.pushFanSpeedUpChanges();
|
|
@@ -144,7 +154,7 @@ class Fan {
|
|
|
144
154
|
this.RotationSpeed = value;
|
|
145
155
|
}
|
|
146
156
|
ActiveSet(value) {
|
|
147
|
-
this.
|
|
157
|
+
this.debugLog(`Fan: ${this.accessory.displayName} Active: ${value}`);
|
|
148
158
|
if (value === this.platform.Characteristic.Active.INACTIVE) {
|
|
149
159
|
this.pushFanOffChanges();
|
|
150
160
|
}
|
|
@@ -208,59 +218,88 @@ class Fan {
|
|
|
208
218
|
}
|
|
209
219
|
async pushTVChanges(payload) {
|
|
210
220
|
try {
|
|
211
|
-
this.
|
|
221
|
+
this.infoLog(`Fan: ${this.accessory.displayName} Sending request to SwitchBot API. command: ${payload.command},`
|
|
212
222
|
+ ` parameter: ${payload.parameter}, commandType: ${payload.commandType}`);
|
|
213
223
|
// Make the API request
|
|
214
224
|
const push = await this.platform.axios.post(`${settings_1.DeviceURL}/${this.device.deviceId}/commands`, payload);
|
|
215
|
-
this.
|
|
225
|
+
this.debugLog(`Fan: ${this.accessory.displayName} pushTVChanges: ${push.data}`);
|
|
216
226
|
this.statusCode(push);
|
|
217
227
|
this.updateHomeKitCharacteristics();
|
|
218
228
|
}
|
|
219
229
|
catch (e) {
|
|
220
|
-
this.
|
|
221
|
-
if (this.
|
|
222
|
-
this.
|
|
230
|
+
this.errorLog(`Fan: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection`);
|
|
231
|
+
if (this.deviceLogging === 'debug') {
|
|
232
|
+
this.errorLog(`Fan: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,`
|
|
223
233
|
+ ` Error Message: ${JSON.stringify(e.message)}`);
|
|
224
234
|
}
|
|
225
|
-
if (this.
|
|
226
|
-
this.
|
|
235
|
+
if (this.platform.debugMode) {
|
|
236
|
+
this.errorLog(`Fan: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,`
|
|
227
237
|
+ ` Error: ${JSON.stringify(e)}`);
|
|
228
238
|
}
|
|
229
|
-
this.apiError(
|
|
239
|
+
this.apiError();
|
|
230
240
|
}
|
|
231
241
|
}
|
|
232
242
|
statusCode(push) {
|
|
233
243
|
switch (push.data.statusCode) {
|
|
234
244
|
case 151:
|
|
235
|
-
this.
|
|
245
|
+
this.errorLog(`Fan: ${this.accessory.displayName} Command not supported by this device type.`);
|
|
236
246
|
break;
|
|
237
247
|
case 152:
|
|
238
|
-
this.
|
|
248
|
+
this.errorLog(`Fan: ${this.accessory.displayName} Device not found.`);
|
|
239
249
|
break;
|
|
240
250
|
case 160:
|
|
241
|
-
this.
|
|
251
|
+
this.errorLog(`Fan: ${this.accessory.displayName} Command is not supported.`);
|
|
242
252
|
break;
|
|
243
253
|
case 161:
|
|
244
|
-
this.
|
|
254
|
+
this.errorLog(`Fan: ${this.accessory.displayName} Device is offline.`);
|
|
245
255
|
break;
|
|
246
256
|
case 171:
|
|
247
|
-
this.
|
|
257
|
+
this.errorLog(`Fan: ${this.accessory.displayName} Hub Device is offline. Hub: ${this.device.hubDeviceId}`);
|
|
248
258
|
break;
|
|
249
259
|
case 190:
|
|
250
|
-
this.
|
|
260
|
+
this.errorLog(`Fan: ${this.accessory.displayName} Device internal error due to device states not synchronized`
|
|
251
261
|
+ ` with server, Or command: ${JSON.stringify(push.data)} format is invalid`);
|
|
252
262
|
break;
|
|
253
263
|
case 100:
|
|
254
|
-
this.
|
|
264
|
+
this.debugLog(`Fan: ${this.accessory.displayName} Command successfully sent.`);
|
|
255
265
|
break;
|
|
256
266
|
default:
|
|
257
|
-
this.
|
|
267
|
+
this.debugLog(`Fan: ${this.accessory.displayName} Unknown statusCode.`);
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
apiError() {
|
|
271
|
+
throw new this.platform.api.hap.HapStatusError(-70402 /* SERVICE_COMMUNICATION_FAILURE */);
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Logging for Device
|
|
275
|
+
*/
|
|
276
|
+
infoLog(...log) {
|
|
277
|
+
if (this.enablingDeviceLogging()) {
|
|
278
|
+
this.platform.log.info(String(...log));
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
warnLog(...log) {
|
|
282
|
+
if (this.enablingDeviceLogging()) {
|
|
283
|
+
this.platform.log.warn(String(...log));
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
errorLog(...log) {
|
|
287
|
+
if (this.enablingDeviceLogging()) {
|
|
288
|
+
this.platform.log.error(String(...log));
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
debugLog(...log) {
|
|
292
|
+
if (this.enablingDeviceLogging()) {
|
|
293
|
+
if (this.deviceLogging === 'debug') {
|
|
294
|
+
this.platform.log.info('[DEBUG]', String(...log));
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
this.platform.log.debug(String(...log));
|
|
298
|
+
}
|
|
258
299
|
}
|
|
259
300
|
}
|
|
260
|
-
|
|
261
|
-
this.
|
|
262
|
-
this.service.updateCharacteristic(this.platform.Characteristic.RotationSpeed, e);
|
|
263
|
-
this.service.updateCharacteristic(this.platform.Characteristic.SwingMode, e);
|
|
301
|
+
enablingDeviceLogging() {
|
|
302
|
+
return this.deviceLogging === 'debug' || this.deviceLogging === 'standard';
|
|
264
303
|
}
|
|
265
304
|
}
|
|
266
305
|
exports.Fan = Fan;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fans.js","sourceRoot":"","sources":["../../src/irdevices/fans.ts"],"names":[],"mappings":";;;AAGA,0CAAkG;AAElG;;;;GAIG;AACH,MAAa,GAAG;
|
|
1
|
+
{"version":3,"file":"fans.js","sourceRoot":"","sources":["../../src/irdevices/fans.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,9 @@ export declare class Light {
|
|
|
13
13
|
service: Service;
|
|
14
14
|
On: CharacteristicValue;
|
|
15
15
|
OnCached: CharacteristicValue;
|
|
16
|
-
|
|
17
|
-
private readonly debugDebug;
|
|
16
|
+
deviceLogging: string;
|
|
18
17
|
constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: irdevice & irDevicesConfig);
|
|
18
|
+
logs(): void;
|
|
19
19
|
private OnSet;
|
|
20
20
|
private updateHomeKitCharacteristics;
|
|
21
21
|
/**
|
|
@@ -34,6 +34,14 @@ export declare class Light {
|
|
|
34
34
|
pushLightBrightnessDownChanges(): Promise<void>;
|
|
35
35
|
pushChanges(payload: payload): Promise<void>;
|
|
36
36
|
private statusCode;
|
|
37
|
-
apiError(
|
|
37
|
+
apiError(): void;
|
|
38
|
+
/**
|
|
39
|
+
* Logging for Device
|
|
40
|
+
*/
|
|
41
|
+
infoLog(...log: any[]): void;
|
|
42
|
+
warnLog(...log: any[]): void;
|
|
43
|
+
errorLog(...log: any[]): void;
|
|
44
|
+
debugLog(...log: any[]): void;
|
|
45
|
+
enablingDeviceLogging(): boolean;
|
|
38
46
|
}
|
|
39
47
|
//# sourceMappingURL=lights.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lights.d.ts","sourceRoot":"","sources":["../../src/irdevices/lights.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAa,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"lights.d.ts","sourceRoot":"","sources":["../../src/irdevices/lights.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAa,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAa,iBAAiB,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAExF;;;;GAIG;AACH,qBAAa,KAAK;IAYd,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,SAAS;IACV,MAAM,EAAE,QAAQ,GAAG,eAAe;IAZ3C,OAAO,EAAG,OAAO,CAAC;IAGlB,EAAE,EAAG,mBAAmB,CAAC;IACzB,QAAQ,EAAG,mBAAmB,CAAC;IAG/B,aAAa,EAAG,MAAM,CAAC;gBAGJ,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC7B,MAAM,EAAE,QAAQ,GAAG,eAAe;IAkD3C,IAAI;IAUJ,OAAO,CAAC,KAAK;IAUb,OAAO,CAAC,4BAA4B;IASpC;;;;;;;;;OASG;IACG,kBAAkB;IAWlB,mBAAmB;IAWnB,4BAA4B;IAS5B,8BAA8B;IASvB,WAAW,CAAC,OAAO,EAAE,OAAO;IA2BzC,OAAO,CAAC,UAAU;IA6BX,QAAQ;IAIf;;KAEC;IACD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMrB,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMrB,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMtB,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAUtB,qBAAqB,IAAI,OAAO;CAGjC"}
|
package/dist/irdevices/lights.js
CHANGED
|
@@ -12,10 +12,8 @@ class Light {
|
|
|
12
12
|
this.platform = platform;
|
|
13
13
|
this.accessory = accessory;
|
|
14
14
|
this.device = device;
|
|
15
|
-
// Config
|
|
16
|
-
this.deviceDebug = this.platform.config.options?.debug === 'device' || this.platform.debugMode;
|
|
17
|
-
this.debugDebug = this.platform.config.options?.debug === 'debug' || this.platform.debugMode;
|
|
18
15
|
// default placeholders
|
|
16
|
+
this.logs();
|
|
19
17
|
if (this.On === undefined) {
|
|
20
18
|
this.On = false;
|
|
21
19
|
}
|
|
@@ -45,7 +43,7 @@ class Light {
|
|
|
45
43
|
/* this.service
|
|
46
44
|
.getCharacteristic(this.platform.Characteristic.Brightness)
|
|
47
45
|
.on(CharacteristicEventTypes.SET, (value: any, callback: CharacteristicGetCallback) => {
|
|
48
|
-
this.
|
|
46
|
+
this.debugLog(`${this.device.remoteType} ${this.accessory.displayName} Set Brightness: ${value}`);
|
|
49
47
|
this.Brightness = value;
|
|
50
48
|
if (value > this.Brightness) {
|
|
51
49
|
this.pushLightBrightnessUpChanges();
|
|
@@ -56,8 +54,19 @@ class Light {
|
|
|
56
54
|
callback(null);
|
|
57
55
|
});*/
|
|
58
56
|
}
|
|
57
|
+
logs() {
|
|
58
|
+
if (this.device.logging) {
|
|
59
|
+
this.deviceLogging = this.accessory.context.logging = this.device.logging;
|
|
60
|
+
}
|
|
61
|
+
else if (this.platform.config.options?.logging) {
|
|
62
|
+
this.deviceLogging = this.accessory.context.logging = this.platform.config.options?.logging;
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
this.deviceLogging = this.accessory.context.logging = 'standard';
|
|
66
|
+
}
|
|
67
|
+
}
|
|
59
68
|
OnSet(value) {
|
|
60
|
-
this.
|
|
69
|
+
this.debugLog(`Light: ${this.accessory.displayName} On: ${value}`);
|
|
61
70
|
this.On = value;
|
|
62
71
|
if (this.On) {
|
|
63
72
|
this.pushLightOnChanges();
|
|
@@ -68,11 +77,11 @@ class Light {
|
|
|
68
77
|
}
|
|
69
78
|
updateHomeKitCharacteristics() {
|
|
70
79
|
if (this.On === undefined) {
|
|
71
|
-
this.
|
|
80
|
+
this.debugLog(`Light: ${this.accessory.displayName} On: ${this.On}`);
|
|
72
81
|
}
|
|
73
82
|
else {
|
|
74
83
|
this.service?.updateCharacteristic(this.platform.Characteristic.On, this.On);
|
|
75
|
-
this.
|
|
84
|
+
this.debugLog(`Light: ${this.accessory.displayName} updateCharacteristic On: ${this.On}`);
|
|
76
85
|
}
|
|
77
86
|
}
|
|
78
87
|
/**
|
|
@@ -123,59 +132,90 @@ class Light {
|
|
|
123
132
|
}
|
|
124
133
|
async pushChanges(payload) {
|
|
125
134
|
try {
|
|
126
|
-
this.
|
|
135
|
+
this.infoLog(`Light: ${this.accessory.displayName} Sending request to SwitchBot API. command: ${payload.command},`
|
|
127
136
|
+ ` parameter: ${payload.parameter}, commandType: ${payload.commandType}`);
|
|
128
137
|
// Make the API request
|
|
129
138
|
const push = await this.platform.axios.post(`${settings_1.DeviceURL}/${this.device.deviceId}/commands`, payload);
|
|
130
|
-
this.
|
|
139
|
+
this.debugLog(`Light: ${this.accessory.displayName} pushChanges: ${push.data}`);
|
|
131
140
|
this.statusCode(push);
|
|
132
141
|
this.OnCached = this.On;
|
|
133
142
|
this.accessory.context.On = this.OnCached;
|
|
134
143
|
this.updateHomeKitCharacteristics();
|
|
135
144
|
}
|
|
136
145
|
catch (e) {
|
|
137
|
-
this.
|
|
138
|
-
if (this.
|
|
139
|
-
this.
|
|
146
|
+
this.errorLog(`Light: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection`);
|
|
147
|
+
if (this.deviceLogging === 'debug') {
|
|
148
|
+
this.errorLog(`Light: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,`
|
|
140
149
|
+ ` Error Message: ${JSON.stringify(e.message)}`);
|
|
141
150
|
}
|
|
142
|
-
if (this.
|
|
143
|
-
this.
|
|
151
|
+
if (this.platform.debugMode) {
|
|
152
|
+
this.errorLog(`Light: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,`
|
|
144
153
|
+ ` Error: ${JSON.stringify(e)}`);
|
|
145
154
|
}
|
|
146
|
-
this.apiError(
|
|
155
|
+
this.apiError();
|
|
147
156
|
}
|
|
148
157
|
}
|
|
149
158
|
statusCode(push) {
|
|
150
159
|
switch (push.data.statusCode) {
|
|
151
160
|
case 151:
|
|
152
|
-
this.
|
|
161
|
+
this.errorLog(`Light: ${this.accessory.displayName} Command not supported by this device type.`);
|
|
153
162
|
break;
|
|
154
163
|
case 152:
|
|
155
|
-
this.
|
|
164
|
+
this.errorLog(`Light: ${this.accessory.displayName} Device not found.`);
|
|
156
165
|
break;
|
|
157
166
|
case 160:
|
|
158
|
-
this.
|
|
167
|
+
this.errorLog(`Light: ${this.accessory.displayName} Command is not supported.`);
|
|
159
168
|
break;
|
|
160
169
|
case 161:
|
|
161
|
-
this.
|
|
170
|
+
this.errorLog(`Light: ${this.accessory.displayName} Device is offline.`);
|
|
162
171
|
break;
|
|
163
172
|
case 171:
|
|
164
|
-
this.
|
|
173
|
+
this.errorLog(`Light: ${this.accessory.displayName} Hub Device is offline. Hub: ${this.device.hubDeviceId}`);
|
|
165
174
|
break;
|
|
166
175
|
case 190:
|
|
167
|
-
this.
|
|
176
|
+
this.errorLog(`Light: ${this.accessory.displayName} Device internal error due to device states not synchronized`
|
|
168
177
|
+ ` with server, Or command: ${JSON.stringify(push.data)} format is invalid`);
|
|
169
178
|
break;
|
|
170
179
|
case 100:
|
|
171
|
-
this.
|
|
180
|
+
this.debugLog(`Light: ${this.accessory.displayName} Command successfully sent.`);
|
|
172
181
|
break;
|
|
173
182
|
default:
|
|
174
|
-
this.
|
|
183
|
+
this.debugLog(`Light: ${this.accessory.displayName} Unknown statusCode.`);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
apiError() {
|
|
187
|
+
throw new this.platform.api.hap.HapStatusError(-70402 /* SERVICE_COMMUNICATION_FAILURE */);
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Logging for Device
|
|
191
|
+
*/
|
|
192
|
+
infoLog(...log) {
|
|
193
|
+
if (this.enablingDeviceLogging()) {
|
|
194
|
+
this.platform.log.info(String(...log));
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
warnLog(...log) {
|
|
198
|
+
if (this.enablingDeviceLogging()) {
|
|
199
|
+
this.platform.log.warn(String(...log));
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
errorLog(...log) {
|
|
203
|
+
if (this.enablingDeviceLogging()) {
|
|
204
|
+
this.platform.log.error(String(...log));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
debugLog(...log) {
|
|
208
|
+
if (this.enablingDeviceLogging()) {
|
|
209
|
+
if (this.deviceLogging === 'debug') {
|
|
210
|
+
this.platform.log.info('[DEBUG]', String(...log));
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
this.platform.log.debug(String(...log));
|
|
214
|
+
}
|
|
175
215
|
}
|
|
176
216
|
}
|
|
177
|
-
|
|
178
|
-
this.
|
|
217
|
+
enablingDeviceLogging() {
|
|
218
|
+
return this.deviceLogging === 'debug' || this.deviceLogging === 'standard';
|
|
179
219
|
}
|
|
180
220
|
}
|
|
181
221
|
exports.Light = Light;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lights.js","sourceRoot":"","sources":["../../src/irdevices/lights.ts"],"names":[],"mappings":";;;AAEA,0CAA4E;AAG5E;;;;GAIG;AACH,MAAa,KAAK;
|
|
1
|
+
{"version":3,"file":"lights.js","sourceRoot":"","sources":["../../src/irdevices/lights.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,9 @@ export declare class Others {
|
|
|
13
13
|
private service?;
|
|
14
14
|
Active: CharacteristicValue;
|
|
15
15
|
ActiveCached: CharacteristicValue;
|
|
16
|
-
|
|
17
|
-
private readonly debugDebug;
|
|
16
|
+
deviceLogging: string;
|
|
18
17
|
constructor(platform: SwitchBotPlatform, accessory: PlatformAccessory, device: irdevice & irDevicesConfig);
|
|
18
|
+
logs(): void;
|
|
19
19
|
private ActiveSet;
|
|
20
20
|
private updateHomeKitCharacteristics;
|
|
21
21
|
/**
|
|
@@ -32,6 +32,14 @@ export declare class Others {
|
|
|
32
32
|
pushOffChanges(): Promise<void>;
|
|
33
33
|
pushChanges(payload: payload): Promise<void>;
|
|
34
34
|
private statusCode;
|
|
35
|
-
apiError(
|
|
35
|
+
apiError(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Logging for Device
|
|
38
|
+
*/
|
|
39
|
+
infoLog(...log: any[]): void;
|
|
40
|
+
warnLog(...log: any[]): void;
|
|
41
|
+
errorLog(...log: any[]): void;
|
|
42
|
+
debugLog(...log: any[]): void;
|
|
43
|
+
enablingDeviceLogging(): boolean;
|
|
36
44
|
}
|
|
37
45
|
//# sourceMappingURL=others.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"others.d.ts","sourceRoot":"","sources":["../../src/irdevices/others.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAa,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"others.d.ts","sourceRoot":"","sources":["../../src/irdevices/others.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAa,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAa,iBAAiB,EAAW,MAAM,YAAY,CAAC;AAExF;;;;GAIG;AACH,qBAAa,MAAM;IAYf,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,SAAS;IACV,MAAM,EAAE,QAAQ,GAAG,eAAe;IAZ3C,OAAO,CAAC,OAAO,CAAC,CAAU;IAG1B,MAAM,EAAG,mBAAmB,CAAC;IAC7B,YAAY,EAAG,mBAAmB,CAAC;IAGnC,aAAa,EAAG,MAAM,CAAC;gBAGJ,QAAQ,EAAE,iBAAiB,EACpC,SAAS,EAAE,iBAAiB,EAC7B,MAAM,EAAE,QAAQ,GAAG,eAAe;IAgC3C,IAAI;IAUJ,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,4BAA4B;IASpC;;;;;;;;;OASG;IACG,aAAa;IAuBb,cAAc;IAuBP,WAAW,CAAC,OAAO,EAAE,OAAO;IAwBzC,OAAO,CAAC,UAAU;IA6BX,QAAQ;IAIf;;KAEC;IACD,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMrB,OAAO,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMrB,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAMtB,QAAQ,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE;IAUtB,qBAAqB,IAAI,OAAO;CAGjC"}
|