@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
|
@@ -12,10 +12,8 @@ class VacuumCleaner {
|
|
|
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
|
}
|
|
@@ -42,8 +40,19 @@ class VacuumCleaner {
|
|
|
42
40
|
// handle on / off events using the On characteristic
|
|
43
41
|
this.service.getCharacteristic(this.platform.Characteristic.On).onSet(this.OnSet.bind(this));
|
|
44
42
|
}
|
|
43
|
+
logs() {
|
|
44
|
+
if (this.device.logging) {
|
|
45
|
+
this.deviceLogging = this.accessory.context.logging = this.device.logging;
|
|
46
|
+
}
|
|
47
|
+
else if (this.platform.config.options?.logging) {
|
|
48
|
+
this.deviceLogging = this.accessory.context.logging = this.platform.config.options?.logging;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
this.deviceLogging = this.accessory.context.logging = 'standard';
|
|
52
|
+
}
|
|
53
|
+
}
|
|
45
54
|
OnSet(value) {
|
|
46
|
-
this.
|
|
55
|
+
this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} On: ${value}`);
|
|
47
56
|
this.On = value;
|
|
48
57
|
if (this.On) {
|
|
49
58
|
this.pushOnChanges();
|
|
@@ -54,11 +63,11 @@ class VacuumCleaner {
|
|
|
54
63
|
}
|
|
55
64
|
updateHomeKitCharacteristics() {
|
|
56
65
|
if (this.On === undefined) {
|
|
57
|
-
this.
|
|
66
|
+
this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} On: ${this.On}`);
|
|
58
67
|
}
|
|
59
68
|
else {
|
|
60
69
|
this.service?.updateCharacteristic(this.platform.Characteristic.On, this.On);
|
|
61
|
-
this.
|
|
70
|
+
this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} updateCharacteristic On: ${this.On}`);
|
|
62
71
|
}
|
|
63
72
|
}
|
|
64
73
|
/**
|
|
@@ -93,59 +102,90 @@ class VacuumCleaner {
|
|
|
93
102
|
}
|
|
94
103
|
async pushChanges(payload) {
|
|
95
104
|
try {
|
|
96
|
-
this.
|
|
105
|
+
this.infoLog(`Vacuum Cleaner: ${this.accessory.displayName} Sending request to SwitchBot API. command: ${payload.command},`
|
|
97
106
|
+ ` parameter: ${payload.parameter}, commandType: ${payload.commandType}`);
|
|
98
107
|
// Make the API request
|
|
99
108
|
const push = await this.platform.axios.post(`${settings_1.DeviceURL}/${this.device.deviceId}/commands`, payload);
|
|
100
|
-
this.
|
|
109
|
+
this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} pushChanges: ${push.data}`);
|
|
101
110
|
this.statusCode(push);
|
|
102
111
|
this.OnCached = this.On;
|
|
103
112
|
this.accessory.context.On = this.OnCached;
|
|
104
113
|
this.updateHomeKitCharacteristics();
|
|
105
114
|
}
|
|
106
115
|
catch (e) {
|
|
107
|
-
this.
|
|
108
|
-
if (this.
|
|
109
|
-
this.
|
|
116
|
+
this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection`);
|
|
117
|
+
if (this.deviceLogging === 'debug') {
|
|
118
|
+
this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,`
|
|
110
119
|
+ ` Error Message: ${JSON.stringify(e.message)}`);
|
|
111
120
|
}
|
|
112
|
-
if (this.
|
|
113
|
-
this.
|
|
121
|
+
if (this.platform.debugMode) {
|
|
122
|
+
this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,`
|
|
114
123
|
+ ` Error: ${JSON.stringify(e)}`);
|
|
115
124
|
}
|
|
116
|
-
this.apiError(
|
|
125
|
+
this.apiError();
|
|
117
126
|
}
|
|
118
127
|
}
|
|
119
128
|
statusCode(push) {
|
|
120
129
|
switch (push.data.statusCode) {
|
|
121
130
|
case 151:
|
|
122
|
-
this.
|
|
131
|
+
this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} Command not supported by this device type.`);
|
|
123
132
|
break;
|
|
124
133
|
case 152:
|
|
125
|
-
this.
|
|
134
|
+
this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} Device not found.`);
|
|
126
135
|
break;
|
|
127
136
|
case 160:
|
|
128
|
-
this.
|
|
137
|
+
this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} Command is not supported.`);
|
|
129
138
|
break;
|
|
130
139
|
case 161:
|
|
131
|
-
this.
|
|
140
|
+
this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} Device is offline.`);
|
|
132
141
|
break;
|
|
133
142
|
case 171:
|
|
134
|
-
this.
|
|
143
|
+
this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} Hub Device is offline. Hub: ${this.device.hubDeviceId}`);
|
|
135
144
|
break;
|
|
136
145
|
case 190:
|
|
137
|
-
this.
|
|
146
|
+
this.errorLog(`Vacuum Cleaner: ${this.accessory.displayName} Device internal error due to device states not synchronized`
|
|
138
147
|
+ ` with server, Or command: ${JSON.stringify(push.data)} format is invalid`);
|
|
139
148
|
break;
|
|
140
149
|
case 100:
|
|
141
|
-
this.
|
|
150
|
+
this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} Command successfully sent.`);
|
|
142
151
|
break;
|
|
143
152
|
default:
|
|
144
|
-
this.
|
|
153
|
+
this.debugLog(`Vacuum Cleaner: ${this.accessory.displayName} Unknown statusCode.`);
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
apiError() {
|
|
157
|
+
throw new this.platform.api.hap.HapStatusError(-70402 /* SERVICE_COMMUNICATION_FAILURE */);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Logging for Device
|
|
161
|
+
*/
|
|
162
|
+
infoLog(...log) {
|
|
163
|
+
if (this.enablingDeviceLogging()) {
|
|
164
|
+
this.platform.log.info(String(...log));
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
warnLog(...log) {
|
|
168
|
+
if (this.enablingDeviceLogging()) {
|
|
169
|
+
this.platform.log.warn(String(...log));
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
errorLog(...log) {
|
|
173
|
+
if (this.enablingDeviceLogging()) {
|
|
174
|
+
this.platform.log.error(String(...log));
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
debugLog(...log) {
|
|
178
|
+
if (this.enablingDeviceLogging()) {
|
|
179
|
+
if (this.deviceLogging === 'debug') {
|
|
180
|
+
this.platform.log.info('[DEBUG]', String(...log));
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
this.platform.log.debug(String(...log));
|
|
184
|
+
}
|
|
145
185
|
}
|
|
146
186
|
}
|
|
147
|
-
|
|
148
|
-
this.
|
|
187
|
+
enablingDeviceLogging() {
|
|
188
|
+
return this.deviceLogging === 'debug' || this.deviceLogging === 'standard';
|
|
149
189
|
}
|
|
150
190
|
}
|
|
151
191
|
exports.VacuumCleaner = VacuumCleaner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vacuumcleaners.js","sourceRoot":"","sources":["../../src/irdevices/vacuumcleaners.ts"],"names":[],"mappings":";;;AAEA,0CAA4E;AAG5E;;;;GAIG;AACH,MAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"vacuumcleaners.js","sourceRoot":"","sources":["../../src/irdevices/vacuumcleaners.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,9 @@ export declare class WaterHeater {
|
|
|
13
13
|
service: 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 WaterHeater {
|
|
|
32
32
|
pushWaterHeaterOffChanges(): 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=waterheaters.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waterheaters.d.ts","sourceRoot":"","sources":["../../src/irdevices/waterheaters.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":"waterheaters.d.ts","sourceRoot":"","sources":["../../src/irdevices/waterheaters.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,WAAW;IAYpB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,SAAS;IACV,MAAM,EAAE,QAAQ,GAAG,eAAe;IAZ3C,OAAO,EAAG,OAAO,CAAC;IAGlB,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;IA4C3C,IAAI;IAUJ,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,4BAA4B;IASpC;;;;;;;;;OASG;IACG,wBAAwB;IAWxB,yBAAyB;IAWlB,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"}
|
|
@@ -12,10 +12,8 @@ class WaterHeater {
|
|
|
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.Active === undefined) {
|
|
20
18
|
this.Active = this.platform.Characteristic.Active.INACTIVE;
|
|
21
19
|
}
|
|
@@ -44,8 +42,19 @@ class WaterHeater {
|
|
|
44
42
|
// handle on / off events using the Active characteristic
|
|
45
43
|
this.service.getCharacteristic(this.platform.Characteristic.Active).onSet(this.ActiveSet.bind(this));
|
|
46
44
|
}
|
|
45
|
+
logs() {
|
|
46
|
+
if (this.device.logging) {
|
|
47
|
+
this.deviceLogging = this.accessory.context.logging = this.device.logging;
|
|
48
|
+
}
|
|
49
|
+
else if (this.platform.config.options?.logging) {
|
|
50
|
+
this.deviceLogging = this.accessory.context.logging = this.platform.config.options?.logging;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this.deviceLogging = this.accessory.context.logging = 'standard';
|
|
54
|
+
}
|
|
55
|
+
}
|
|
47
56
|
ActiveSet(value) {
|
|
48
|
-
this.
|
|
57
|
+
this.debugLog(`Water Heater: ${this.accessory.displayName} Active: ${value}`);
|
|
49
58
|
if (value === this.platform.Characteristic.Active.INACTIVE) {
|
|
50
59
|
this.pushWaterHeaterOffChanges();
|
|
51
60
|
this.service.setCharacteristic(this.platform.Characteristic.InUse, this.platform.Characteristic.InUse.NOT_IN_USE);
|
|
@@ -60,11 +69,11 @@ class WaterHeater {
|
|
|
60
69
|
}
|
|
61
70
|
updateHomeKitCharacteristics() {
|
|
62
71
|
if (this.Active === undefined) {
|
|
63
|
-
this.
|
|
72
|
+
this.debugLog(`Water Heater: ${this.accessory.displayName} Active: ${this.Active}`);
|
|
64
73
|
}
|
|
65
74
|
else {
|
|
66
75
|
this.service?.updateCharacteristic(this.platform.Characteristic.Active, this.Active);
|
|
67
|
-
this.
|
|
76
|
+
this.debugLog(`Water Heater: ${this.accessory.displayName} updateCharacteristic Active: ${this.Active}`);
|
|
68
77
|
}
|
|
69
78
|
}
|
|
70
79
|
/**
|
|
@@ -99,57 +108,88 @@ class WaterHeater {
|
|
|
99
108
|
}
|
|
100
109
|
async pushChanges(payload) {
|
|
101
110
|
try {
|
|
102
|
-
this.
|
|
111
|
+
this.infoLog(`Water Heater: ${this.accessory.displayName} Sending request to SwitchBot API. command: ${payload.command},`
|
|
103
112
|
+ ` parameter: ${payload.parameter}, commandType: ${payload.commandType}`);
|
|
104
113
|
// Make the API request
|
|
105
114
|
const push = await this.platform.axios.post(`${settings_1.DeviceURL}/${this.device.deviceId}/commands`, payload);
|
|
106
|
-
this.
|
|
115
|
+
this.debugLog(`Water Heater: ${this.accessory.displayName} pushChanges: ${push.data}`);
|
|
107
116
|
this.statusCode(push);
|
|
108
117
|
this.updateHomeKitCharacteristics();
|
|
109
118
|
}
|
|
110
119
|
catch (e) {
|
|
111
|
-
this.
|
|
112
|
-
if (this.
|
|
113
|
-
this.
|
|
120
|
+
this.errorLog(`Water Heater: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection`);
|
|
121
|
+
if (this.deviceLogging === 'debug') {
|
|
122
|
+
this.errorLog(`Water Heater: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,`
|
|
114
123
|
+ ` Error Message: ${JSON.stringify(e.message)}`);
|
|
115
124
|
}
|
|
116
|
-
if (this.
|
|
117
|
-
this.
|
|
125
|
+
if (this.platform.debugMode) {
|
|
126
|
+
this.errorLog(`Water Heater: ${this.accessory.displayName} failed pushChanges with OpenAPI Connection,`
|
|
118
127
|
+ ` Error: ${JSON.stringify(e)}`);
|
|
119
128
|
}
|
|
120
|
-
this.apiError(
|
|
129
|
+
this.apiError();
|
|
121
130
|
}
|
|
122
131
|
}
|
|
123
132
|
statusCode(push) {
|
|
124
133
|
switch (push.data.statusCode) {
|
|
125
134
|
case 151:
|
|
126
|
-
this.
|
|
135
|
+
this.errorLog(`Water Heater: ${this.accessory.displayName} Command not supported by this device type.`);
|
|
127
136
|
break;
|
|
128
137
|
case 152:
|
|
129
|
-
this.
|
|
138
|
+
this.errorLog(`Water Heater: ${this.accessory.displayName} Device not found.`);
|
|
130
139
|
break;
|
|
131
140
|
case 160:
|
|
132
|
-
this.
|
|
141
|
+
this.errorLog(`Water Heater: ${this.accessory.displayName} Command is not supported.`);
|
|
133
142
|
break;
|
|
134
143
|
case 161:
|
|
135
|
-
this.
|
|
144
|
+
this.errorLog(`Water Heater: ${this.accessory.displayName} Device is offline.`);
|
|
136
145
|
break;
|
|
137
146
|
case 171:
|
|
138
|
-
this.
|
|
147
|
+
this.errorLog(`Water Heater: ${this.accessory.displayName} Hub Device is offline. Hub: ${this.device.hubDeviceId}`);
|
|
139
148
|
break;
|
|
140
149
|
case 190:
|
|
141
|
-
this.
|
|
150
|
+
this.errorLog(`Water Heater: ${this.accessory.displayName} Device internal error due to device states not synchronized`
|
|
142
151
|
+ ` with server, Or command: ${JSON.stringify(push.data)} format is invalid`);
|
|
143
152
|
break;
|
|
144
153
|
case 100:
|
|
145
|
-
this.
|
|
154
|
+
this.debugLog(`Water Heater: ${this.accessory.displayName} Command successfully sent.`);
|
|
146
155
|
break;
|
|
147
156
|
default:
|
|
148
|
-
this.
|
|
157
|
+
this.debugLog(`Water Heater: ${this.accessory.displayName} Unknown statusCode.`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
apiError() {
|
|
161
|
+
throw new this.platform.api.hap.HapStatusError(-70402 /* SERVICE_COMMUNICATION_FAILURE */);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Logging for Device
|
|
165
|
+
*/
|
|
166
|
+
infoLog(...log) {
|
|
167
|
+
if (this.enablingDeviceLogging()) {
|
|
168
|
+
this.platform.log.info(String(...log));
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
warnLog(...log) {
|
|
172
|
+
if (this.enablingDeviceLogging()) {
|
|
173
|
+
this.platform.log.warn(String(...log));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
errorLog(...log) {
|
|
177
|
+
if (this.enablingDeviceLogging()) {
|
|
178
|
+
this.platform.log.error(String(...log));
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
debugLog(...log) {
|
|
182
|
+
if (this.enablingDeviceLogging()) {
|
|
183
|
+
if (this.deviceLogging === 'debug') {
|
|
184
|
+
this.platform.log.info('[DEBUG]', String(...log));
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
this.platform.log.debug(String(...log));
|
|
188
|
+
}
|
|
149
189
|
}
|
|
150
190
|
}
|
|
151
|
-
|
|
152
|
-
this.
|
|
191
|
+
enablingDeviceLogging() {
|
|
192
|
+
return this.deviceLogging === 'debug' || this.deviceLogging === 'standard';
|
|
153
193
|
}
|
|
154
194
|
}
|
|
155
195
|
exports.WaterHeater = WaterHeater;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waterheaters.js","sourceRoot":"","sources":["../../src/irdevices/waterheaters.ts"],"names":[],"mappings":";;;AAEA,0CAA4E;AAG5E;;;;GAIG;AACH,MAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"waterheaters.js","sourceRoot":"","sources":["../../src/irdevices/waterheaters.ts"],"names":[],"mappings":"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"}
|
package/dist/platform.d.ts
CHANGED
|
@@ -18,7 +18,9 @@ export declare class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
18
18
|
deviceStatus: deviceResponses;
|
|
19
19
|
registeringDevice: boolean;
|
|
20
20
|
debugMode: boolean;
|
|
21
|
+
platformLogging?: string;
|
|
21
22
|
constructor(log: Logger, config: SwitchBotPlatformConfig, api: API);
|
|
23
|
+
logs(): void;
|
|
22
24
|
/**
|
|
23
25
|
* This function is invoked when homebridge restores cached accessories from disk at startup.
|
|
24
26
|
* It should be used to setup event handlers for characteristics and update respective values.
|
|
@@ -32,6 +34,7 @@ export declare class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
32
34
|
* this method discovers the Locations
|
|
33
35
|
*/
|
|
34
36
|
discoverDevices(): Promise<void>;
|
|
37
|
+
deviceError(e: any): void;
|
|
35
38
|
private createDevice;
|
|
36
39
|
private createIRDevice;
|
|
37
40
|
private registerDevice;
|
|
@@ -44,7 +47,6 @@ export declare class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
44
47
|
private isCurtainGrouped;
|
|
45
48
|
private createPlug;
|
|
46
49
|
private createColorBulb;
|
|
47
|
-
private createIndoorCam;
|
|
48
50
|
private createTV;
|
|
49
51
|
private createFan;
|
|
50
52
|
private createLight;
|
|
@@ -56,21 +58,19 @@ export declare class SwitchBotPlatform implements DynamicPlatformPlugin {
|
|
|
56
58
|
private createOthers;
|
|
57
59
|
connectionTypeNewAccessory(device: device & devicesConfig, accessory: PlatformAccessory): Promise<void>;
|
|
58
60
|
connectionTypeExistingAccessory(device: device & devicesConfig, existingAccessory: PlatformAccessory): Promise<void>;
|
|
59
|
-
connectionTypeNewIRAccessory(
|
|
60
|
-
connectionTypeExistingIRAccessory(
|
|
61
|
+
connectionTypeNewIRAccessory(accessory: PlatformAccessory): Promise<void>;
|
|
62
|
+
connectionTypeExistingIRAccessory(existingAccessory: PlatformAccessory): Promise<void>;
|
|
61
63
|
unregisterPlatformAccessories(existingAccessory: PlatformAccessory): void;
|
|
62
64
|
deviceListInfo(devices: deviceResponses): void;
|
|
63
65
|
deviceInfo(device: irdevice & devicesConfig | device & devicesConfig): Promise<void>;
|
|
64
|
-
/**
|
|
65
|
-
* If debug level logging is turned on, log to log.info
|
|
66
|
-
* Otherwise send debug logs to log.debug
|
|
67
|
-
* this.debugMode = process.argv.includes('-D') || process.argv.includes('--debug');
|
|
68
|
-
*/
|
|
69
|
-
debug(...log: any[]): void;
|
|
70
66
|
/**
|
|
71
67
|
* If device level logging is turned on, log to log.warn
|
|
72
68
|
* Otherwise send debug logs to log.debug
|
|
73
69
|
*/
|
|
74
|
-
|
|
70
|
+
infoLog(...log: any[]): void;
|
|
71
|
+
warnLog(...log: any[]): void;
|
|
72
|
+
errorLog(...log: any[]): void;
|
|
73
|
+
debugLog(...log: any[]): void;
|
|
74
|
+
enablingPlatfromLogging(): boolean;
|
|
75
75
|
}
|
|
76
76
|
//# sourceMappingURL=platform.d.ts.map
|
package/dist/platform.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAkBA,OAAc,EAAE,aAAa,EAAsB,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5G,OAAO,EAAyC,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9I;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,qBAAqB;aAiBjC,GAAG,EAAE,MAAM;aAAkB,MAAM,EAAE,uBAAuB;aAAkB,GAAG,EAAE,GAAG;IAhBlH,SAAgB,OAAO,EAAE,OAAO,OAAO,CAAwB;IAC/D,SAAgB,cAAc,EAAE,OAAO,cAAc,CAA+B;IAGpF,SAAgB,WAAW,EAAE,iBAAiB,EAAE,CAAM;IAE/C,KAAK,EAAE,aAAa,CAExB;IAEH,OAAO,MAAsC;IAC7C,YAAY,EAAG,eAAe,CAAC;IAC/B,iBAAiB,EAAG,OAAO,CAAC;IAC5B,SAAS,EAAG,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;gBAEG,GAAG,EAAE,MAAM,EAAkB,MAAM,EAAE,uBAAuB,EAAkB,GAAG,EAAE,GAAG;IAmDlH,IAAI;IAkBJ;;;OAGG;IACH,kBAAkB,CAAC,SAAS,EAAE,iBAAiB;IAO/C;;OAEG;IACH,YAAY;IAwEZ;;KAEC;IACK,eAAe;IA8FrB,WAAW,CAAC,CAAC,EAAE,GAAG;IAwClB,OAAO,CAAC,YAAY;IAuDpB,OAAO,CAAC,cAAc;IA+DtB,OAAO,CAAC,cAAc;YAiBR,gBAAgB;YAwDhB,SAAS;YA4DT,WAAW;YAuDX,YAAY;YAuDZ,aAAa;YAuDb,aAAa;IAkE3B,OAAO,CAAC,gBAAgB;YAaV,UAAU;YAuDV,eAAe;YAuDf,QAAQ;YAsDR,SAAS;YAwDT,WAAW;YAuDX,oBAAoB;YAuDpB,iBAAiB;YAuDjB,iBAAiB;YAuDjB,mBAAmB;YAuDnB,YAAY;YAuDZ,YAAY;IAuDb,0BAA0B,CACrC,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,SAAS,EAAE,iBAAiB;IAQjB,+BAA+B,CAC1C,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,iBAAiB,EAAE,iBAAiB;IASzB,4BAA4B,CACvC,SAAS,EAAE,iBAAiB;IAIjB,iCAAiC,CAC5C,iBAAiB,EAAE,iBAAiB;IAK/B,6BAA6B,CAAC,iBAAiB,EAAE,iBAAiB;IAMlE,cAAc,CAAC,OAAO,EAAE,eAAe;IAMjC,UAAU,CAAC,MAAM,EAAE,QAAQ,GAAG,aAAa,GAAG,MAAM,GAAG,aAAa;IAajF;;;OAGG;IACH,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,uBAAuB,IAAI,OAAO;CAGnC"}
|