@homebridge-plugins/homebridge-meross 10.20.0 → 10.20.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/CHANGELOG.md +6 -0
- package/lib/device/baby.js +7 -7
- package/lib/device/cooler-single.js +6 -7
- package/lib/device/diffuser.js +7 -7
- package/lib/device/fan.js +6 -6
- package/lib/device/garage-main.js +3 -4
- package/lib/device/garage-single.js +4 -5
- package/lib/device/garage-sub.js +3 -4
- package/lib/device/heater-single.js +6 -7
- package/lib/device/hub-main.js +3 -4
- package/lib/device/hub-sprinkler.js +3 -4
- package/lib/device/hub-valve.js +5 -6
- package/lib/device/humidifier.js +6 -6
- package/lib/device/light-cct.js +5 -5
- package/lib/device/light-dimmer.js +4 -4
- package/lib/device/light-rgb.js +4 -4
- package/lib/device/outlet-multi.js +4 -5
- package/lib/device/outlet-single.js +6 -7
- package/lib/device/power-strip.js +4 -5
- package/lib/device/purifier-single.js +4 -5
- package/lib/device/purifier.js +6 -7
- package/lib/device/roller-location.js +4 -5
- package/lib/device/roller.js +4 -5
- package/lib/device/sensor-presence.js +3 -4
- package/lib/device/switch-multi.js +4 -5
- package/lib/device/switch-single.js +6 -7
- package/lib/device/template.js +3 -4
- package/lib/device/thermostat-mts215.js +6 -7
- package/lib/device/thermostat-mts300.js +7 -8
- package/lib/device/thermostat.js +6 -7
- package/lib/utils/functions.js +14 -0
- package/package.json +9 -9
package/lib/device/light-rgb.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import {
|
|
@@ -14,6 +13,7 @@ import platformConsts from '../utils/constants.js'
|
|
|
14
13
|
import {
|
|
15
14
|
generateRandomString,
|
|
16
15
|
hasProperty,
|
|
16
|
+
isTimeoutError,
|
|
17
17
|
parseError,
|
|
18
18
|
sleep,
|
|
19
19
|
} from '../utils/functions.js'
|
|
@@ -120,7 +120,7 @@ export default class {
|
|
|
120
120
|
timeout: 10000,
|
|
121
121
|
throwOnTimeout: true,
|
|
122
122
|
})
|
|
123
|
-
this.queue.
|
|
123
|
+
this.queue.addEventListener('idle', () => {
|
|
124
124
|
this.updateInProgress = false
|
|
125
125
|
})
|
|
126
126
|
|
|
@@ -188,7 +188,7 @@ export default class {
|
|
|
188
188
|
})
|
|
189
189
|
} catch (err) {
|
|
190
190
|
// Catch any errors whilst updating the device
|
|
191
|
-
const eText = err
|
|
191
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
192
192
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
193
193
|
setTimeout(() => {
|
|
194
194
|
this.service.updateCharacteristic(this.hapChar.On, this.cacheState)
|
|
@@ -446,7 +446,7 @@ export default class {
|
|
|
446
446
|
}
|
|
447
447
|
})
|
|
448
448
|
} catch (err) {
|
|
449
|
-
const eText = err
|
|
449
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
450
450
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
451
451
|
|
|
452
452
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -55,7 +54,7 @@ export default class {
|
|
|
55
54
|
timeout: 10000,
|
|
56
55
|
throwOnTimeout: true,
|
|
57
56
|
})
|
|
58
|
-
this.queue.
|
|
57
|
+
this.queue.addEventListener('idle', () => {
|
|
59
58
|
this.updateInProgress = false
|
|
60
59
|
})
|
|
61
60
|
|
|
@@ -178,7 +177,7 @@ export default class {
|
|
|
178
177
|
})
|
|
179
178
|
} catch (err) {
|
|
180
179
|
// Catch any errors whilst updating the device
|
|
181
|
-
const eText = err
|
|
180
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
182
181
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
183
182
|
setTimeout(() => {
|
|
184
183
|
this.service.updateCharacteristic(
|
|
@@ -280,7 +279,7 @@ export default class {
|
|
|
280
279
|
}
|
|
281
280
|
})
|
|
282
281
|
} catch (err) {
|
|
283
|
-
const eText = err
|
|
282
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
284
283
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
285
284
|
|
|
286
285
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -59,7 +58,7 @@ export default class {
|
|
|
59
58
|
timeout: 10000,
|
|
60
59
|
throwOnTimeout: true,
|
|
61
60
|
})
|
|
62
|
-
this.queue.
|
|
61
|
+
this.queue.addEventListener('idle', () => {
|
|
63
62
|
this.updateInProgress = false
|
|
64
63
|
})
|
|
65
64
|
|
|
@@ -132,7 +131,7 @@ export default class {
|
|
|
132
131
|
})
|
|
133
132
|
} catch (err) {
|
|
134
133
|
// Catch any errors whilst updating the device
|
|
135
|
-
const eText = err
|
|
134
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
136
135
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
137
136
|
setTimeout(() => {
|
|
138
137
|
this.service.updateCharacteristic(this.hapChar.On, this.cacheState)
|
|
@@ -217,7 +216,7 @@ export default class {
|
|
|
217
216
|
}
|
|
218
217
|
})
|
|
219
218
|
} catch (err) {
|
|
220
|
-
const eText = err
|
|
219
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
221
220
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
222
221
|
|
|
223
222
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
|
@@ -366,7 +365,7 @@ export default class {
|
|
|
366
365
|
this.accessory.powerInterval = setInterval(() => this.requestPowerReadings(), 60000)
|
|
367
366
|
})
|
|
368
367
|
} catch (err) {
|
|
369
|
-
const eText = err
|
|
368
|
+
const eText = isTimeoutError(err)
|
|
370
369
|
? platformLang.timeout
|
|
371
370
|
: parseError(err, ['no data on initial run'])
|
|
372
371
|
this.accessory.logDebug(`${platformLang.disablingPower} ${eText}`)
|
|
@@ -395,7 +394,7 @@ export default class {
|
|
|
395
394
|
}
|
|
396
395
|
})
|
|
397
396
|
} catch (err) {
|
|
398
|
-
const eText = err
|
|
397
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
399
398
|
this.accessory.logDebugWarn(`${platformLang.powerFail} ${eText}`)
|
|
400
399
|
|
|
401
400
|
// Also don't increase the measured total consumption in case of any error
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -55,7 +54,7 @@ export default class {
|
|
|
55
54
|
timeout: 10000,
|
|
56
55
|
throwOnTimeout: true,
|
|
57
56
|
})
|
|
58
|
-
this.queue.
|
|
57
|
+
this.queue.addEventListener('idle', () => {
|
|
59
58
|
this.updateInProgress = false
|
|
60
59
|
})
|
|
61
60
|
|
|
@@ -118,7 +117,7 @@ export default class {
|
|
|
118
117
|
})
|
|
119
118
|
} catch (err) {
|
|
120
119
|
// Catch any errors whilst updating the device
|
|
121
|
-
const eText = err
|
|
120
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
122
121
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
123
122
|
setTimeout(() => {
|
|
124
123
|
this.accessory.getService(`outlet-${channel}`)
|
|
@@ -210,7 +209,7 @@ export default class {
|
|
|
210
209
|
}
|
|
211
210
|
})
|
|
212
211
|
} catch (err) {
|
|
213
|
-
const eText = err
|
|
212
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
214
213
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
215
214
|
|
|
216
215
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -66,7 +65,7 @@ export default class {
|
|
|
66
65
|
timeout: 10000,
|
|
67
66
|
throwOnTimeout: true,
|
|
68
67
|
})
|
|
69
|
-
this.queue.
|
|
68
|
+
this.queue.addEventListener('idle', () => {
|
|
70
69
|
this.updateInProgress = false
|
|
71
70
|
})
|
|
72
71
|
|
|
@@ -142,7 +141,7 @@ export default class {
|
|
|
142
141
|
})
|
|
143
142
|
} catch (err) {
|
|
144
143
|
// Catch any errors whilst updating the device
|
|
145
|
-
const eText = err
|
|
144
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
146
145
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
147
146
|
setTimeout(() => {
|
|
148
147
|
this.service.updateCharacteristic(this.hapChar.Active, this.cacheState)
|
|
@@ -227,7 +226,7 @@ export default class {
|
|
|
227
226
|
}
|
|
228
227
|
})
|
|
229
228
|
} catch (err) {
|
|
230
|
-
const eText = err
|
|
229
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
231
230
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
232
231
|
|
|
233
232
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
package/lib/device/purifier.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -89,7 +88,7 @@ export default class {
|
|
|
89
88
|
timeout: 10000,
|
|
90
89
|
throwOnTimeout: true,
|
|
91
90
|
})
|
|
92
|
-
this.queue.
|
|
91
|
+
this.queue.addEventListener('idle', () => {
|
|
93
92
|
this.updateInProgress = false
|
|
94
93
|
})
|
|
95
94
|
|
|
@@ -147,7 +146,7 @@ export default class {
|
|
|
147
146
|
})
|
|
148
147
|
} catch (err) {
|
|
149
148
|
// Catch any errors whilst updating the device
|
|
150
|
-
const eText = err
|
|
149
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
151
150
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
152
151
|
setTimeout(() => {
|
|
153
152
|
this.service.updateCharacteristic(this.hapChar.Active, this.cacheState)
|
|
@@ -204,7 +203,7 @@ export default class {
|
|
|
204
203
|
})
|
|
205
204
|
} catch (err) {
|
|
206
205
|
// Catch any errors whilst updating the device
|
|
207
|
-
const eText = err
|
|
206
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
208
207
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
209
208
|
setTimeout(() => {
|
|
210
209
|
this.service.updateCharacteristic(this.hapChar.RotationSpeed, this.mr2hk(this.cacheSpeed))
|
|
@@ -246,7 +245,7 @@ export default class {
|
|
|
246
245
|
})
|
|
247
246
|
} catch (err) {
|
|
248
247
|
// Catch any errors whilst updating the device
|
|
249
|
-
const eText = err
|
|
248
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
250
249
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
251
250
|
setTimeout(() => {
|
|
252
251
|
this.service.updateCharacteristic(this.hapChar.LockPhysicalControls, this.cacheLock)
|
|
@@ -327,7 +326,7 @@ export default class {
|
|
|
327
326
|
}
|
|
328
327
|
})
|
|
329
328
|
} catch (err) {
|
|
330
|
-
const eText = err
|
|
329
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
331
330
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
332
331
|
|
|
333
332
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -90,7 +89,7 @@ export default class {
|
|
|
90
89
|
timeout: 10000,
|
|
91
90
|
throwOnTimeout: true,
|
|
92
91
|
})
|
|
93
|
-
this.queue.
|
|
92
|
+
this.queue.addEventListener('idle', () => {
|
|
94
93
|
this.updateInProgress = false
|
|
95
94
|
})
|
|
96
95
|
|
|
@@ -148,7 +147,7 @@ export default class {
|
|
|
148
147
|
})
|
|
149
148
|
} catch (err) {
|
|
150
149
|
// Catch any errors whilst updating the device
|
|
151
|
-
const eText = err
|
|
150
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
152
151
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
153
152
|
setTimeout(() => {
|
|
154
153
|
this.service.updateCharacteristic(this.hapChar.TargetPosition, this.cacheTarg)
|
|
@@ -231,7 +230,7 @@ export default class {
|
|
|
231
230
|
}
|
|
232
231
|
})
|
|
233
232
|
} catch (err) {
|
|
234
|
-
const eText = err
|
|
233
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
235
234
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
236
235
|
|
|
237
236
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
package/lib/device/roller.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -74,7 +73,7 @@ export default class {
|
|
|
74
73
|
timeout: 10000,
|
|
75
74
|
throwOnTimeout: true,
|
|
76
75
|
})
|
|
77
|
-
this.queue.
|
|
76
|
+
this.queue.addEventListener('idle', () => {
|
|
78
77
|
this.updateInProgress = false
|
|
79
78
|
})
|
|
80
79
|
this.states = {
|
|
@@ -143,7 +142,7 @@ export default class {
|
|
|
143
142
|
})
|
|
144
143
|
} catch (err) {
|
|
145
144
|
// Catch any errors whilst updating the device
|
|
146
|
-
const eText = err
|
|
145
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
147
146
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
148
147
|
setTimeout(() => {
|
|
149
148
|
hapServ.updateCharacteristic(this.hapChar.On, false)
|
|
@@ -218,7 +217,7 @@ export default class {
|
|
|
218
217
|
}
|
|
219
218
|
})
|
|
220
219
|
} catch (err) {
|
|
221
|
-
const eText = err
|
|
220
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
222
221
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
223
222
|
|
|
224
223
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -58,7 +57,7 @@ export default class {
|
|
|
58
57
|
timeout: 10000,
|
|
59
58
|
throwOnTimeout: true,
|
|
60
59
|
})
|
|
61
|
-
this.queue.
|
|
60
|
+
this.queue.addEventListener('idle', () => {
|
|
62
61
|
this.updateInProgress = false
|
|
63
62
|
})
|
|
64
63
|
|
|
@@ -148,7 +147,7 @@ export default class {
|
|
|
148
147
|
}
|
|
149
148
|
})
|
|
150
149
|
} catch (err) {
|
|
151
|
-
const eText = err
|
|
150
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
152
151
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
153
152
|
|
|
154
153
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -58,7 +57,7 @@ export default class {
|
|
|
58
57
|
timeout: 10000,
|
|
59
58
|
throwOnTimeout: true,
|
|
60
59
|
})
|
|
61
|
-
this.queue.
|
|
60
|
+
this.queue.addEventListener('idle', () => {
|
|
62
61
|
this.updateInProgress = false
|
|
63
62
|
})
|
|
64
63
|
|
|
@@ -190,7 +189,7 @@ export default class {
|
|
|
190
189
|
})
|
|
191
190
|
} catch (err) {
|
|
192
191
|
// Catch any errors whilst updating the device
|
|
193
|
-
const eText = err
|
|
192
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
194
193
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
195
194
|
setTimeout(() => {
|
|
196
195
|
this.service.updateCharacteristic(
|
|
@@ -292,7 +291,7 @@ export default class {
|
|
|
292
291
|
}
|
|
293
292
|
})
|
|
294
293
|
} catch (err) {
|
|
295
|
-
const eText = err
|
|
294
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
296
295
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
297
296
|
|
|
298
297
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -59,7 +58,7 @@ export default class {
|
|
|
59
58
|
timeout: 10000,
|
|
60
59
|
throwOnTimeout: true,
|
|
61
60
|
})
|
|
62
|
-
this.queue.
|
|
61
|
+
this.queue.addEventListener('idle', () => {
|
|
63
62
|
this.updateInProgress = false
|
|
64
63
|
})
|
|
65
64
|
|
|
@@ -135,7 +134,7 @@ export default class {
|
|
|
135
134
|
})
|
|
136
135
|
} catch (err) {
|
|
137
136
|
// Catch any errors whilst updating the device
|
|
138
|
-
const eText = err
|
|
137
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
139
138
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
140
139
|
setTimeout(() => {
|
|
141
140
|
this.service.updateCharacteristic(this.hapChar.On, this.cacheState)
|
|
@@ -220,7 +219,7 @@ export default class {
|
|
|
220
219
|
}
|
|
221
220
|
})
|
|
222
221
|
} catch (err) {
|
|
223
|
-
const eText = err
|
|
222
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
224
223
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
225
224
|
|
|
226
225
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
|
@@ -332,7 +331,7 @@ export default class {
|
|
|
332
331
|
this.accessory.powerInterval = setInterval(() => this.requestPowerReadings(), 60000)
|
|
333
332
|
})
|
|
334
333
|
} catch (err) {
|
|
335
|
-
const eText = err
|
|
334
|
+
const eText = isTimeoutError(err)
|
|
336
335
|
? platformLang.timeout
|
|
337
336
|
: parseError(err, ['no data on initial run'])
|
|
338
337
|
this.accessory.logDebug(`${platformLang.disablingPower} ${eText}`)
|
|
@@ -361,7 +360,7 @@ export default class {
|
|
|
361
360
|
}
|
|
362
361
|
})
|
|
363
362
|
} catch (err) {
|
|
364
|
-
const eText = err
|
|
363
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
365
364
|
this.accessory.logDebugWarn(`${platformLang.powerFail} ${eText}`)
|
|
366
365
|
|
|
367
366
|
// Also don't increase the measured total consumption in case of any error
|
package/lib/device/template.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -36,7 +35,7 @@ export default class {
|
|
|
36
35
|
timeout: 10000,
|
|
37
36
|
throwOnTimeout: true,
|
|
38
37
|
})
|
|
39
|
-
this.queue.
|
|
38
|
+
this.queue.addEventListener('idle', () => {
|
|
40
39
|
this.updateInProgress = false
|
|
41
40
|
})
|
|
42
41
|
|
|
@@ -138,7 +137,7 @@ export default class {
|
|
|
138
137
|
}
|
|
139
138
|
})
|
|
140
139
|
} catch (err) {
|
|
141
|
-
const eText = err
|
|
140
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
142
141
|
this.accessory.logWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
143
142
|
|
|
144
143
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -137,7 +136,7 @@ export default class {
|
|
|
137
136
|
timeout: 10000,
|
|
138
137
|
throwOnTimeout: true,
|
|
139
138
|
})
|
|
140
|
-
this.queue.
|
|
139
|
+
this.queue.addEventListener('idle', () => {
|
|
141
140
|
this.updateInProgress = false
|
|
142
141
|
})
|
|
143
142
|
|
|
@@ -196,7 +195,7 @@ export default class {
|
|
|
196
195
|
})
|
|
197
196
|
} catch (err) {
|
|
198
197
|
// Catch any errors whilst updating the device
|
|
199
|
-
const eText = err
|
|
198
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
200
199
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
201
200
|
setTimeout(() => {
|
|
202
201
|
this.service.updateCharacteristic(this.hapChar.TargetHeatingCoolingState, this.cacheState)
|
|
@@ -252,7 +251,7 @@ export default class {
|
|
|
252
251
|
})
|
|
253
252
|
} catch (err) {
|
|
254
253
|
// Catch any errors whilst updating the device
|
|
255
|
-
const eText = err
|
|
254
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
256
255
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
257
256
|
setTimeout(() => {
|
|
258
257
|
this.service.updateCharacteristic(this.mode2Char[newMode], false)
|
|
@@ -313,7 +312,7 @@ export default class {
|
|
|
313
312
|
})
|
|
314
313
|
} catch (err) {
|
|
315
314
|
// Catch any errors whilst updating the device
|
|
316
|
-
const eText = err
|
|
315
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
317
316
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
318
317
|
setTimeout(() => {
|
|
319
318
|
this.service.updateCharacteristic(this.hapChar.TargetTemperature, this.cacheTarg)
|
|
@@ -507,7 +506,7 @@ export default class {
|
|
|
507
506
|
}
|
|
508
507
|
})
|
|
509
508
|
} catch (err) {
|
|
510
|
-
const eText = err
|
|
509
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
511
510
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
512
511
|
|
|
513
512
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -130,7 +129,7 @@ export default class {
|
|
|
130
129
|
timeout: 10000,
|
|
131
130
|
throwOnTimeout: true,
|
|
132
131
|
})
|
|
133
|
-
this.queue.
|
|
132
|
+
this.queue.addEventListener('idle', () => {
|
|
134
133
|
this.updateInProgress = false
|
|
135
134
|
})
|
|
136
135
|
|
|
@@ -183,7 +182,7 @@ export default class {
|
|
|
183
182
|
this.accessory.log(`${platformLang.curState} [${this.mode2Label[value] || 'unknown'}]`)
|
|
184
183
|
})
|
|
185
184
|
} catch (err) {
|
|
186
|
-
const eText = err
|
|
185
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
187
186
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
188
187
|
setTimeout(() => {
|
|
189
188
|
this.service.updateCharacteristic(this.hapChar.TargetHeatingCoolingState, this.cacheState)
|
|
@@ -224,7 +223,7 @@ export default class {
|
|
|
224
223
|
this.updateCurrentState()
|
|
225
224
|
})
|
|
226
225
|
} catch (err) {
|
|
227
|
-
const eText = err
|
|
226
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
228
227
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
229
228
|
setTimeout(() => {
|
|
230
229
|
this.service.updateCharacteristic(this.hapChar.TargetTemperature, this.cacheTarg)
|
|
@@ -261,7 +260,7 @@ export default class {
|
|
|
261
260
|
this.accessory.log(`[fan] ${platformLang.curState} [${value ? 'on' : 'off'}]`)
|
|
262
261
|
})
|
|
263
262
|
} catch (err) {
|
|
264
|
-
const eText = err
|
|
263
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
265
264
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
266
265
|
setTimeout(() => {
|
|
267
266
|
this.fanService.updateCharacteristic(this.hapChar.On, this.cacheFanState)
|
|
@@ -299,7 +298,7 @@ export default class {
|
|
|
299
298
|
this.accessory.log(`[fan] ${platformLang.curSpeed} [${mrVal}]`)
|
|
300
299
|
})
|
|
301
300
|
} catch (err) {
|
|
302
|
-
const eText = err
|
|
301
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
303
302
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
304
303
|
setTimeout(() => {
|
|
305
304
|
this.fanService.updateCharacteristic(
|
|
@@ -398,7 +397,7 @@ export default class {
|
|
|
398
397
|
}
|
|
399
398
|
})
|
|
400
399
|
} catch (err) {
|
|
401
|
-
const eText = err
|
|
400
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
402
401
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
403
402
|
|
|
404
403
|
if (
|
package/lib/device/thermostat.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import PQueue from 'p-queue'
|
|
2
|
-
import { TimeoutError } from 'p-timeout'
|
|
3
2
|
|
|
4
3
|
import mqttClient from '../connection/mqtt.js'
|
|
5
4
|
import platformConsts from '../utils/constants.js'
|
|
6
|
-
import { hasProperty, parseError } from '../utils/functions.js'
|
|
5
|
+
import { hasProperty, isTimeoutError, parseError } from '../utils/functions.js'
|
|
7
6
|
import platformLang from '../utils/lang-en.js'
|
|
8
7
|
|
|
9
8
|
export default class {
|
|
@@ -112,7 +111,7 @@ export default class {
|
|
|
112
111
|
timeout: 10000,
|
|
113
112
|
throwOnTimeout: true,
|
|
114
113
|
})
|
|
115
|
-
this.queue.
|
|
114
|
+
this.queue.addEventListener('idle', () => {
|
|
116
115
|
this.updateInProgress = false
|
|
117
116
|
})
|
|
118
117
|
|
|
@@ -171,7 +170,7 @@ export default class {
|
|
|
171
170
|
})
|
|
172
171
|
} catch (err) {
|
|
173
172
|
// Catch any errors whilst updating the device
|
|
174
|
-
const eText = err
|
|
173
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
175
174
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
176
175
|
setTimeout(() => {
|
|
177
176
|
this.service.updateCharacteristic(this.hapChar.TargetHeatingCoolingState, this.cacheState)
|
|
@@ -227,7 +226,7 @@ export default class {
|
|
|
227
226
|
})
|
|
228
227
|
} catch (err) {
|
|
229
228
|
// Catch any errors whilst updating the device
|
|
230
|
-
const eText = err
|
|
229
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
231
230
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
232
231
|
setTimeout(() => {
|
|
233
232
|
this.service.updateCharacteristic(this.mode2Char[newMode], false)
|
|
@@ -285,7 +284,7 @@ export default class {
|
|
|
285
284
|
})
|
|
286
285
|
} catch (err) {
|
|
287
286
|
// Catch any errors whilst updating the device
|
|
288
|
-
const eText = err
|
|
287
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
289
288
|
this.accessory.logWarn(`${platformLang.sendFailed} ${eText}`)
|
|
290
289
|
setTimeout(() => {
|
|
291
290
|
this.service.updateCharacteristic(this.hapChar.TargetTemperature, this.cacheTarg)
|
|
@@ -381,7 +380,7 @@ export default class {
|
|
|
381
380
|
}
|
|
382
381
|
})
|
|
383
382
|
} catch (err) {
|
|
384
|
-
const eText = err
|
|
383
|
+
const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
|
|
385
384
|
this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
|
|
386
385
|
|
|
387
386
|
// Set the homebridge-ui status of the device to offline if local and error is timeout
|