@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.
@@ -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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError
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 instanceof TimeoutError ? platformLang.timeout : parseError(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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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
@@ -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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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
@@ -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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError
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 instanceof TimeoutError ? platformLang.timeout : parseError(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
@@ -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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(err)
400
+ const eText = isTimeoutError(err) ? platformLang.timeout : parseError(err)
402
401
  this.accessory.logDebugWarn(`${platformLang.reqFailed}: ${eText}`)
403
402
 
404
403
  if (
@@ -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.on('idle', () => {
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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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 instanceof TimeoutError ? platformLang.timeout : parseError(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