homebridge-deconz 1.0.11 → 1.0.13

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.
Files changed (50) hide show
  1. package/cli/deconz.js +6 -4
  2. package/cli/otau.js +6 -4
  3. package/cli/ui.js +10 -7
  4. package/homebridge-ui/server.js +2 -4
  5. package/index.js +7 -3
  6. package/lib/Deconz/Device.js +2 -2
  7. package/lib/Deconz/Resource.js +9 -6
  8. package/lib/Deconz/index.js +2 -7
  9. package/lib/DeconzAccessory/AirPurifier.js +2 -4
  10. package/lib/DeconzAccessory/Gateway.js +27 -9
  11. package/lib/DeconzAccessory/Light.js +30 -21
  12. package/lib/DeconzAccessory/Sensor.js +4 -4
  13. package/lib/DeconzAccessory/Thermostat.js +4 -4
  14. package/lib/DeconzAccessory/WarningDevice.js +4 -4
  15. package/lib/DeconzAccessory/WindowCovering.js +2 -4
  16. package/lib/DeconzAccessory/index.js +35 -13
  17. package/lib/DeconzPlatform.js +14 -9
  18. package/lib/DeconzService/AirPressure.js +3 -4
  19. package/lib/DeconzService/AirPurifier.js +3 -4
  20. package/lib/DeconzService/AirQuality.js +4 -4
  21. package/lib/DeconzService/Alarm.js +3 -4
  22. package/lib/DeconzService/Battery.js +7 -4
  23. package/lib/DeconzService/Button.js +3 -3
  24. package/lib/DeconzService/CarbonMonoxide.js +3 -4
  25. package/lib/DeconzService/Consumption.js +4 -4
  26. package/lib/DeconzService/Contact.js +3 -4
  27. package/lib/DeconzService/Daylight.js +4 -4
  28. package/lib/DeconzService/Flag.js +3 -4
  29. package/lib/DeconzService/Gateway.js +3 -3
  30. package/lib/DeconzService/Humidity.js +3 -4
  31. package/lib/DeconzService/Label.js +3 -4
  32. package/lib/DeconzService/Leak.js +3 -4
  33. package/lib/DeconzService/Light.js +7 -4
  34. package/lib/DeconzService/LightLevel.js +4 -4
  35. package/lib/DeconzService/LightsResource.js +3 -4
  36. package/lib/DeconzService/Motion.js +3 -4
  37. package/lib/DeconzService/Outlet.js +3 -4
  38. package/lib/DeconzService/Power.js +4 -4
  39. package/lib/DeconzService/Schedule.js +5 -4
  40. package/lib/DeconzService/SensorsResource.js +3 -4
  41. package/lib/DeconzService/Smoke.js +3 -4
  42. package/lib/DeconzService/Status.js +3 -4
  43. package/lib/DeconzService/Switch.js +3 -4
  44. package/lib/DeconzService/Temperature.js +3 -4
  45. package/lib/DeconzService/Thermostat.js +3 -4
  46. package/lib/DeconzService/Valve.js +4 -6
  47. package/lib/DeconzService/WarningDevice.js +4 -4
  48. package/lib/DeconzService/WindowCovering.js +4 -4
  49. package/lib/DeconzService/index.js +3 -36
  50. package/package.json +9 -5
package/cli/deconz.js CHANGED
@@ -5,9 +5,11 @@
5
5
  //
6
6
  // Command line interface to deCONZ gateway.
7
7
 
8
- 'use strict'
8
+ import { createRequire } from 'node:module'
9
9
 
10
- const { DeconzTool } = require('hb-deconz-tools')
11
- const pkgJson = require('../package.json')
10
+ import { DeconzTool } from 'hb-deconz-tools/DeconzTool'
12
11
 
13
- new DeconzTool(pkgJson).main()
12
+ const require = createRequire(import.meta.url)
13
+ const packageJson = require('../package.json')
14
+
15
+ new DeconzTool(packageJson).main()
package/cli/otau.js CHANGED
@@ -5,9 +5,11 @@
5
5
  //
6
6
  // Command line interface to deCONZ gateway.
7
7
 
8
- 'use strict'
8
+ import { createRequire } from 'node:module'
9
9
 
10
- const { OtauTool } = require('hb-deconz-tools')
11
- const pkgJson = require('../package.json')
10
+ import { OtauTool } from 'hb-deconz-tools/OtauTool'
12
11
 
13
- new OtauTool(pkgJson).main()
12
+ const require = createRequire(import.meta.url)
13
+ const packageJson = require('../package.json')
14
+
15
+ new OtauTool(packageJson).main()
package/cli/ui.js CHANGED
@@ -5,13 +5,16 @@
5
5
  //
6
6
  // Command line interface to Homebridge deCONZ UI Server.
7
7
 
8
- 'use strict'
8
+ import { readFile } from 'node:fs/promises'
9
+ import { createRequire } from 'node:module'
9
10
 
10
- const fs = require('fs').promises
11
- // const Deconz = require('../lib/Deconz')
12
- const {
13
- CommandLineParser, CommandLineTool, HttpClient, JsonFormatter, OptionParser
14
- } = require('hb-lib-tools')
11
+ import { CommandLineParser } from 'hb-lib-tools/CommandLineParser'
12
+ import { CommandLineTool } from 'hb-lib-tools/CommandLineTool'
13
+ import { HttpClient } from 'hb-lib-tools/HttpClient'
14
+ import { JsonFormatter } from 'hb-lib-tools/JsonFormatter'
15
+ import { OptionParser } from 'hb-lib-tools/OptionParser'
16
+
17
+ const require = createRequire(import.meta.url)
15
18
  const packageJson = require('../package.json')
16
19
 
17
20
  const { b, u } = CommandLineTool
@@ -247,7 +250,7 @@ class Main extends CommandLineTool {
247
250
  */
248
251
  async readJsonFile (filename) {
249
252
  this.vdebug('reading %s', filename)
250
- const text = await fs.readFile(filename)
253
+ const text = await readFile(filename)
251
254
  this.debug('%s: %d bytes', filename, text.length)
252
255
  const body = JSON.parse(text)
253
256
  this.vdebug('%s: %j', filename, body)
@@ -3,10 +3,8 @@
3
3
  // Homebridge plug-in for deCONZ.
4
4
  // Copyright © 2022-2024 Erik Baauw. All rights reserved.
5
5
 
6
- 'use strict'
7
-
8
- const { UiServer } = require('homebridge-lib')
9
- const { Discovery } = require('hb-deconz-tools')
6
+ import { UiServer } from 'hb-lib-tools/UiServer'
7
+ import { Discovery } from 'hb-deconz-tools/Discovery'
10
8
 
11
9
  class DeconzUiServer extends UiServer {
12
10
  constructor () {
package/index.js CHANGED
@@ -3,11 +3,15 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { createRequire } from 'node:module'
7
7
 
8
- const DeconzPlatform = require('./lib/DeconzPlatform')
8
+ import { DeconzPlatform } from './lib/DeconzPlatform.js'
9
+
10
+ const require = createRequire(import.meta.url)
9
11
  const packageJson = require('./package.json')
10
12
 
11
- module.exports = function (homebridge) {
13
+ function main (homebridge) {
12
14
  DeconzPlatform.loadPlatform(homebridge, packageJson, 'deCONZ', DeconzPlatform)
13
15
  }
16
+
17
+ export { main as default }
@@ -3,7 +3,7 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { Deconz } from './index.js'
7
7
 
8
8
  /** Delegate class for a Zigbee or virtual device on a deCONZ gateway.
9
9
  *
@@ -112,4 +112,4 @@ class Device {
112
112
  }
113
113
  }
114
114
 
115
- module.exports = Device
115
+ Deconz.Device = Device
@@ -3,12 +3,15 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { OptionParser } from 'homebridge-lib/OptionParser'
7
7
 
8
- const { OptionParser } = require('homebridge-lib')
9
- const { ApiClient } = require('hb-deconz-tools')
10
- const DeconzAccessory = require('../DeconzAccessory')
11
- const DeconzService = require('../DeconzService')
8
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
9
+
10
+ import { Deconz } from './index.js'
11
+ import { DeconzAccessory } from '../DeconzAccessory/index.js'
12
+ import '../DeconzAccessory/Gateway.js'
13
+ import { DeconzService } from '../DeconzService/index.js'
14
+ import '../DeconzService/Button.js'
12
15
 
13
16
  const { toInstance, toInt, toObject, toString } = OptionParser
14
17
  const { buttonEvent } = ApiClient
@@ -1157,4 +1160,4 @@ class Resource {
1157
1160
  }
1158
1161
  }
1159
1162
 
1160
- module.exports = Resource
1163
+ Deconz.Resource = Resource
@@ -3,14 +3,9 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
6
  /** Library to discover, monitor, and interact with a deCONZ gateway.
9
7
  * @hideconstructor
10
8
  */
11
- class Deconz {
12
- static get Device () { return require('./Device') }
13
- static get Resource () { return require('./Resource') }
14
- }
9
+ class Deconz {}
15
10
 
16
- module.exports = Deconz
11
+ export { Deconz }
@@ -3,9 +3,7 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzAccessory = require('../DeconzAccessory')
6
+ import { DeconzAccessory } from '../DeconzAccessory/index.js'
9
7
 
10
8
  class AirPurifier extends DeconzAccessory {
11
9
  /** Instantiate a delegate for an accessory corresponding to a device.
@@ -33,4 +31,4 @@ class AirPurifier extends DeconzAccessory {
33
31
  }
34
32
  }
35
33
 
36
- module.exports = AirPurifier
34
+ DeconzAccessory.AirPurifier = AirPurifier
@@ -3,14 +3,29 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { timeout } from 'homebridge-lib'
7
+ import { AccessoryDelegate } from 'homebridge-lib/AccessoryDelegate'
8
+ import { OptionParser } from 'homebridge-lib/OptionParser'
9
+
10
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
11
+ import { ApiError } from 'hb-deconz-tools/ApiError'
12
+ import { WsClient } from 'hb-deconz-tools/WsClient'
13
+
14
+ import { Deconz } from '../Deconz/index.js'
15
+ import '../Deconz/Resource.js'
16
+ import '../Deconz/Device.js'
17
+
18
+ import { DeconzAccessory } from '../DeconzAccessory/index.js'
19
+ import '../DeconzAccessory/AirPurifier.js'
20
+ import '../DeconzAccessory/Light.js'
21
+ import '../DeconzAccessory/Sensor.js'
22
+ import '../DeconzAccessory/Thermostat.js'
23
+ import '../DeconzAccessory/WarningDevice.js'
24
+ import '../DeconzAccessory/WindowCovering.js'
25
+
26
+ import { DeconzService } from '../DeconzService/index.js'
7
27
 
8
- const { AccessoryDelegate, OptionParser, timeout } = require('homebridge-lib')
9
- const { ApiClient, ApiError, WsClient } = require('hb-deconz-tools')
10
28
  const { HttpError } = ApiClient
11
- const Deconz = require('../Deconz')
12
- const DeconzAccessory = require('../DeconzAccessory')
13
- const DeconzService = require('../DeconzService')
14
29
 
15
30
  const migration = {
16
31
  name: 'homebridge-deconz',
@@ -225,7 +240,7 @@ class Gateway extends AccessoryDelegate {
225
240
  this.exposeErrorById = {}
226
241
 
227
242
  /** The service delegate for the Gateway Settings settings.
228
- * @type {DeconzService.GatewaySettings}
243
+ * @type {DeconzService.Gateway}
229
244
  */
230
245
  this.service = new DeconzService.Gateway(this, {
231
246
  name: this.name + ' Gateway',
@@ -1134,7 +1149,7 @@ class Gateway extends AccessoryDelegate {
1134
1149
  } else {
1135
1150
  this.debug('%s: exposed by legacy code', name)
1136
1151
  }
1137
- this.addAccessory(id)
1152
+ await this.addAccessory(id)
1138
1153
  changed = true
1139
1154
  }
1140
1155
  } else {
@@ -1160,6 +1175,9 @@ class Gateway extends AccessoryDelegate {
1160
1175
 
1161
1176
  this.vdebug('analysing schedules...')
1162
1177
  if (this.values.exposeSchedules) {
1178
+ if (DeconzService.Schedule == null) {
1179
+ await import('../DeconzService/Schedule.js')
1180
+ }
1163
1181
  for (const rid in fullState.schedules) {
1164
1182
  if (this.scheduleServicesByRid[rid] == null) {
1165
1183
  this.scheduleServicesByRid[rid] = new DeconzService.Schedule(
@@ -1225,4 +1243,4 @@ class Gateway extends AccessoryDelegate {
1225
1243
  }
1226
1244
  }
1227
1245
 
1228
- module.exports = Gateway
1246
+ DeconzAccessory.Gateway = Gateway
@@ -3,10 +3,10 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ServiceDelegate } from 'homebridge-lib/ServiceDelegate'
7
+ import 'homebridge-lib/ServiceDelegate/History'
7
8
 
8
- const { ServiceDelegate } = require('homebridge-lib')
9
- const DeconzAccessory = require('../DeconzAccessory')
9
+ import { DeconzAccessory } from '../DeconzAccessory/index.js'
10
10
 
11
11
  /** Delegate class for a HomeKit accessory, corresponding to a light device
12
12
  * or groups resource.
@@ -127,26 +127,33 @@ class Light extends DeconzAccessory {
127
127
  })
128
128
  }
129
129
  } else {
130
+ this.debug('servicesByServiceName: %j', Object.keys(this.servicesByServiceName))
131
+ this.debug('servicesByServiceName[%s]: %j', this.values.serviceName, Object.keys(this.servicesByServiceName[this.values.serviceName]))
130
132
  for (const i in this.servicesByServiceName[this.values.serviceName]) {
131
- const service = this.servicesByServiceName[this.values.serviceName][i]
132
- service.addCharacteristicDelegate({
133
- key: 'index',
134
- Characteristic: this.Characteristics.hap.ServiceLabelIndex,
135
- silent: true,
136
- value: Number(i) + 1
137
- })
138
- service.values.index = Number(i) + 1
139
- if (i === '0') {
140
- continue
141
- }
142
- this.historyService?.addLastOnDelegate(
143
- service.characteristicDelegate('on'),
133
+ try {
134
+ const service = this.servicesByServiceName[this.values.serviceName][i]
135
+ this.debug('service %d: %j', i, service.rpath)
144
136
  service.addCharacteristicDelegate({
145
- key: 'lastActivation',
146
- Characteristic: this.Characteristics.eve.LastActivation,
147
- silent: true
137
+ key: 'index',
138
+ Characteristic: this.Characteristics.hap.ServiceLabelIndex,
139
+ silent: true,
140
+ value: Number(i) + 1
148
141
  })
149
- )
142
+ service.values.index = Number(i) + 1
143
+ if (i === '0') {
144
+ continue
145
+ }
146
+ this.historyService?.addLastOnDelegate(
147
+ service.characteristicDelegate('on'),
148
+ service.addCharacteristicDelegate({
149
+ key: 'lastActivation',
150
+ Characteristic: this.Characteristics.eve.LastActivation,
151
+ silent: true
152
+ })
153
+ )
154
+ } catch (error) {
155
+ this.warn(error)
156
+ }
150
157
  }
151
158
  }
152
159
 
@@ -157,4 +164,6 @@ class Light extends DeconzAccessory {
157
164
  }
158
165
  }
159
166
 
160
- module.exports = Light
167
+ DeconzAccessory.Light = Light
168
+ DeconzAccessory.Outlet = Light
169
+ DeconzAccessory.Switch = Light
@@ -8,10 +8,10 @@
8
8
  // Stateless Programmable Switch (Eve button)
9
9
  // Sensors
10
10
 
11
- 'use strict'
11
+ import { ServiceDelegate } from 'homebridge-lib/ServiceDelegate'
12
+ import 'homebridge-lib/ServiceDelegate/History'
12
13
 
13
- const { ServiceDelegate } = require('homebridge-lib')
14
- const DeconzAccessory = require('../DeconzAccessory')
14
+ import { DeconzAccessory } from '../DeconzAccessory/index.js'
15
15
 
16
16
  class Sensor extends DeconzAccessory {
17
17
  constructor (gateway, device) {
@@ -150,4 +150,4 @@ class Sensor extends DeconzAccessory {
150
150
  }
151
151
  }
152
152
 
153
- module.exports = Sensor
153
+ DeconzAccessory.Sensor = Sensor
@@ -3,10 +3,10 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ServiceDelegate } from 'homebridge-lib/ServiceDelegate'
7
+ import 'homebridge-lib/ServiceDelegate/History'
7
8
 
8
- const { ServiceDelegate } = require('homebridge-lib')
9
- const DeconzAccessory = require('../DeconzAccessory')
9
+ import { DeconzAccessory } from '../DeconzAccessory/index.js'
10
10
 
11
11
  class Thermostat extends DeconzAccessory {
12
12
  /** Instantiate a delegate for an accessory corresponding to a device.
@@ -42,4 +42,4 @@ class Thermostat extends DeconzAccessory {
42
42
  }
43
43
  }
44
44
 
45
- module.exports = Thermostat
45
+ DeconzAccessory.Thermostat = Thermostat
@@ -3,10 +3,10 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ServiceDelegate } from 'homebridge-lib/ServiceDelegate'
7
+ import 'homebridge-lib/ServiceDelegate/History'
7
8
 
8
- const { ServiceDelegate } = require('homebridge-lib')
9
- const DeconzAccessory = require('../DeconzAccessory')
9
+ import { DeconzAccessory } from '../DeconzAccessory/index.js'
10
10
 
11
11
  /** Delegate class for a HomeKit accessory, corresponding to a light device
12
12
  * or groups resource.
@@ -57,4 +57,4 @@ class WarningDevice extends DeconzAccessory {
57
57
  }
58
58
  }
59
59
 
60
- module.exports = WarningDevice
60
+ DeconzAccessory.WarningDevice = WarningDevice
@@ -3,9 +3,7 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzAccessory = require('../DeconzAccessory')
6
+ import { DeconzAccessory } from '../DeconzAccessory/index.js'
9
7
 
10
8
  /** Delegate class for a HomeKit accessory, corresponding to a light device
11
9
  * or groups resource.
@@ -42,4 +40,4 @@ class WindowCovering extends DeconzAccessory {
42
40
  }
43
41
  }
44
42
 
45
- module.exports = WindowCovering
43
+ DeconzAccessory.WindowCovering = WindowCovering
@@ -3,11 +3,41 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { AccessoryDelegate } from 'homebridge-lib/AccessoryDelegate'
7
+ import { OptionParser } from 'homebridge-lib/OptionParser'
7
8
 
8
- const { AccessoryDelegate, OptionParser } = require('homebridge-lib')
9
- const { ApiClient } = require('hb-deconz-tools')
10
- const DeconzService = require('../DeconzService')
9
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
10
+
11
+ import { DeconzService } from '../DeconzService/index.js'
12
+ import '../DeconzService/AirPressure.js'
13
+ import '../DeconzService/AirPurifier.js'
14
+ import '../DeconzService/AirQuality.js'
15
+ import '../DeconzService/Alarm.js'
16
+ import '../DeconzService/Battery.js'
17
+ import '../DeconzService/Button.js'
18
+ import '../DeconzService/CarbonMonoxide.js'
19
+ import '../DeconzService/Consumption.js'
20
+ import '../DeconzService/Contact.js'
21
+ import '../DeconzService/Daylight.js'
22
+ import '../DeconzService/Flag.js'
23
+ import '../DeconzService/Gateway.js'
24
+ import '../DeconzService/Humidity.js'
25
+ import '../DeconzService/Label.js'
26
+ import '../DeconzService/Leak.js'
27
+ import '../DeconzService/Light.js'
28
+ import '../DeconzService/LightLevel.js'
29
+ import '../DeconzService/Motion.js'
30
+ import '../DeconzService/Outlet.js'
31
+ import '../DeconzService/Power.js'
32
+ import '../DeconzService/Schedule.js'
33
+ import '../DeconzService/Status.js'
34
+ import '../DeconzService/Smoke.js'
35
+ import '../DeconzService/Switch.js'
36
+ import '../DeconzService/Temperature.js'
37
+ import '../DeconzService/Thermostat.js'
38
+ import '../DeconzService/Valve.js'
39
+ import '../DeconzService/WarningDevice.js'
40
+ import '../DeconzService/WindowCovering.js'
11
41
 
12
42
  const { HttpError } = ApiClient
13
43
  const { SINGLE, DOUBLE, LONG } = DeconzService.Button
@@ -17,14 +47,6 @@ const { SINGLE, DOUBLE, LONG } = DeconzService.Button
17
47
  * @extends AccessoryDelegate
18
48
  */
19
49
  class DeconzAccessory extends AccessoryDelegate {
20
- static get Light () { return require('./Light') }
21
- static get Gateway () { return require('./Gateway') }
22
- static get Outlet () { return DeconzAccessory.Light }
23
- static get Sensor () { return require('./Sensor') }
24
- static get Switch () { return DeconzAccessory.Light }
25
- static get WarningDevice () { return require('./WarningDevice') }
26
- static get WindowCovering () { return require('./WindowCovering') }
27
-
28
50
  /** Instantiate a delegate for an accessory corresponding to a device.
29
51
  * @param {DeconzAccessory.Gateway} gateway - The gateway.
30
52
  * @param {Deconz.Device} device - The device.
@@ -330,4 +352,4 @@ class DeconzAccessory extends AccessoryDelegate {
330
352
  }
331
353
  }
332
354
 
333
- module.exports = DeconzAccessory
355
+ export { DeconzAccessory }
@@ -3,12 +3,17 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { once } from 'node:events'
7
7
 
8
- const events = require('events')
9
- const { HttpClient, OptionParser, Platform, timeout } = require('homebridge-lib')
10
- const { Discovery } = require('hb-deconz-tools')
11
- const DeconzAccessory = require('./DeconzAccessory')
8
+ import { timeout } from 'homebridge-lib'
9
+ import { HttpClient } from 'homebridge-lib/HttpClient'
10
+ import { OptionParser } from 'homebridge-lib/OptionParser'
11
+ import { Platform } from 'homebridge-lib/Platform'
12
+
13
+ import { Discovery } from 'hb-deconz-tools/Discovery'
14
+
15
+ import { DeconzAccessory } from './DeconzAccessory/index.js'
16
+ import './DeconzAccessory/Gateway.js'
12
17
 
13
18
  class DeconzPlatform extends Platform {
14
19
  constructor (log, configJson, homebridge, bridge) {
@@ -112,7 +117,7 @@ class DeconzPlatform extends Platform {
112
117
  this.gatewayMap[id] = new DeconzAccessory.Gateway(this, { config, host })
113
118
  }
114
119
  await this.gatewayMap[id].found(host, config)
115
- await events.once(this.gatewayMap[id], 'initialised')
120
+ await once(this.gatewayMap[id], 'initialised')
116
121
  this.emit('found')
117
122
  }
118
123
 
@@ -137,12 +142,12 @@ class DeconzPlatform extends Platform {
137
142
  }
138
143
  } else {
139
144
  this.debug('job %d: find at least one gateway', jobs.length)
140
- jobs.push(events.once(this, 'found'))
145
+ jobs.push(once(this, 'found'))
141
146
  for (const id in this.gatewayMap) {
142
147
  const gateway = this.gatewayMap[id]
143
148
  const host = gateway.values.host
144
149
  this.debug('job %d: find gateway %s', jobs.length, id)
145
- jobs.push(events.once(gateway, 'initialised'))
150
+ jobs.push(once(gateway, 'initialised'))
146
151
  try {
147
152
  const config = await this.discovery.config(host)
148
153
  await this.foundGateway(host, config)
@@ -259,4 +264,4 @@ class DeconzPlatform extends Platform {
259
264
  }
260
265
  }
261
266
 
262
- module.exports = DeconzPlatform
267
+ export { DeconzPlatform }
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -47,4 +46,4 @@ class AirPressure extends DeconzService.SensorsResource {
47
46
  }
48
47
  }
49
48
 
50
- module.exports = AirPressure
49
+ DeconzService.AirPressure = AirPressure
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  class FilterMaintenance extends DeconzService.SensorsResource {
11
10
  constructor (accessory, resource, params = {}) {
@@ -203,4 +202,4 @@ class AirPurifier extends DeconzService.SensorsResource {
203
202
  }
204
203
  }
205
204
 
206
- module.exports = AirPurifier
205
+ DeconzService.AirPurifier = AirPurifier
@@ -3,10 +3,10 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
7
7
 
8
- const { ApiClient } = require('hb-deconz-tools')
9
- const DeconzService = require('../DeconzService')
8
+ import { DeconzService } from '../DeconzService/index.js'
9
+ import '../DeconzService/SensorsResource.js'
10
10
 
11
11
  const { dateToString } = ApiClient
12
12
 
@@ -170,4 +170,4 @@ class AirQuality extends DeconzService.SensorsResource {
170
170
  }
171
171
  }
172
172
 
173
- module.exports = AirQuality
173
+ DeconzService.AirQuality = AirQuality
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -33,4 +32,4 @@ class Alarm extends DeconzService.SensorsResource {
33
32
  }
34
33
  }
35
34
 
36
- module.exports = Alarm
35
+ DeconzService.Alarm = Alarm
@@ -3,10 +3,13 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ServiceDelegate } from 'homebridge-lib/ServiceDelegate'
7
+ import 'homebridge-lib/ServiceDelegate/Battery'
8
+
9
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
10
+
11
+ import { DeconzService } from '../DeconzService/index.js'
7
12
 
8
- const { ApiClient } = require('hb-deconz-tools')
9
- const { ServiceDelegate } = require('homebridge-lib')
10
13
  const { dateToString } = ApiClient
11
14
 
12
15
  /**
@@ -74,4 +77,4 @@ class Battery extends ServiceDelegate.Battery {
74
77
  }
75
78
  }
76
79
 
77
- module.exports = Battery
80
+ DeconzService.Battery = Battery
@@ -3,9 +3,9 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ServiceDelegate } from 'homebridge-lib/ServiceDelegate'
7
7
 
8
- const { ServiceDelegate } = require('homebridge-lib')
8
+ import { DeconzService } from './index.js'
9
9
 
10
10
  const deconzEvent = {
11
11
  PRESS: 0,
@@ -174,4 +174,4 @@ class Button extends ServiceDelegate {
174
174
  }
175
175
  }
176
176
 
177
- module.exports = Button
177
+ DeconzService.Button = Button
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -35,4 +34,4 @@ class CarbonMonoxide extends DeconzService.SensorsResource {
35
34
  }
36
35
  }
37
36
 
38
- module.exports = CarbonMonoxide
37
+ DeconzService.CarbonMonoxide = CarbonMonoxide
@@ -3,10 +3,10 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
7
7
 
8
- const { ApiClient } = require('hb-deconz-tools')
9
- const DeconzService = require('../DeconzService')
8
+ import { DeconzService } from '../DeconzService/index.js'
9
+ import '../DeconzService/SensorsResource.js'
10
10
 
11
11
  const { dateToString } = ApiClient
12
12
 
@@ -74,4 +74,4 @@ class Consumption extends DeconzService.SensorsResource {
74
74
  }
75
75
  }
76
76
 
77
- module.exports = Consumption
77
+ DeconzService.Consumption = Consumption
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -37,4 +36,4 @@ class Contact extends DeconzService.SensorsResource {
37
36
  }
38
37
  }
39
38
 
40
- module.exports = Contact
39
+ DeconzService.Contact = Contact
@@ -3,10 +3,10 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
7
7
 
8
- const { ApiClient } = require('hb-deconz-tools')
9
- const DeconzService = require('../DeconzService')
8
+ import { DeconzService } from '../DeconzService/index.js'
9
+ import '../DeconzService/SensorsResource.js'
10
10
 
11
11
  const { dateToString } = ApiClient
12
12
 
@@ -132,4 +132,4 @@ class Daylight extends DeconzService.SensorsResource {
132
132
  }
133
133
  }
134
134
 
135
- module.exports = Daylight
135
+ DeconzService.Daylight = Daylight
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -49,4 +48,4 @@ class Flag extends DeconzService.SensorsResource {
49
48
  }
50
49
  }
51
50
 
52
- module.exports = Flag
51
+ DeconzService.Flag = Flag
@@ -3,9 +3,9 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ServiceDelegate } from 'homebridge-lib/ServiceDelegate'
7
7
 
8
- const { ServiceDelegate } = require('homebridge-lib')
8
+ import { DeconzService } from './index.js'
9
9
 
10
10
  /** Delegate class for a DeconzGateway service.
11
11
  * @extends ServiceDelegate
@@ -55,4 +55,4 @@ class Gateway extends ServiceDelegate {
55
55
  }
56
56
  }
57
57
 
58
- module.exports = Gateway
58
+ DeconzService.Gateway = Gateway
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -38,4 +37,4 @@ class Humidity extends DeconzService.SensorsResource {
38
37
  }
39
38
  }
40
39
 
41
- module.exports = Humidity
40
+ DeconzService.Humidity = Humidity
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -105,4 +104,4 @@ class Label extends DeconzService.SensorsResource {
105
104
  }
106
105
  }
107
106
 
108
- module.exports = Label
107
+ DeconzService.Label = Label
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -35,4 +34,4 @@ class Leak extends DeconzService.SensorsResource {
35
34
  }
36
35
  }
37
36
 
38
- module.exports = Leak
37
+ DeconzService.Leak = Leak
@@ -3,10 +3,13 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { timeout } from 'homebridge-lib'
7
+ import { AdaptiveLighting } from 'homebridge-lib/AdaptiveLighting'
8
+ import { Colour } from 'homebridge-lib/Colour'
9
+ import { ServiceDelegate } from 'homebridge-lib/ServiceDelegate'
7
10
 
8
- const { AdaptiveLighting, Colour, ServiceDelegate, timeout } = require('homebridge-lib')
9
- const DeconzService = require('../DeconzService')
11
+ import { DeconzService } from '../DeconzService/index.js'
12
+ import '../DeconzService/LightsResource.js'
10
13
 
11
14
  const { defaultGamut, xyToHsv, hsvToXy, ctToXy } = Colour
12
15
 
@@ -589,4 +592,4 @@ class Light extends DeconzService.LightsResource {
589
592
  }
590
593
  }
591
594
 
592
- module.exports = Light
595
+ DeconzService.Light = Light
@@ -3,10 +3,10 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
7
7
 
8
- const { ApiClient } = require('hb-deconz-tools')
9
- const DeconzService = require('../DeconzService')
8
+ import { DeconzService } from '../DeconzService/index.js'
9
+ import '../DeconzService/SensorsResource.js'
10
10
 
11
11
  const { lightLevelToLux } = ApiClient
12
12
 
@@ -53,4 +53,4 @@ class LightLevel extends DeconzService.SensorsResource {
53
53
  }
54
54
  }
55
55
 
56
- module.exports = LightLevel
56
+ DeconzService.LightLevel = LightLevel
@@ -3,10 +3,9 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { timeout } from 'homebridge-lib'
7
7
 
8
- const { timeout } = require('homebridge-lib')
9
- const DeconzService = require('../DeconzService')
8
+ import { DeconzService } from '../DeconzService/index.js'
10
9
 
11
10
  class LightsResource extends DeconzService {
12
11
  constructor (accessory, resource, params) {
@@ -104,4 +103,4 @@ class LightsResource extends DeconzService {
104
103
  }
105
104
  }
106
105
 
107
- module.exports = LightsResource
106
+ DeconzService.LightsResource = LightsResource
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -88,4 +87,4 @@ class Motion extends DeconzService.SensorsResource {
88
87
  }
89
88
  }
90
89
 
91
- module.exports = Motion
90
+ DeconzService.Motion = Motion
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/LightsResource.js'
9
8
 
10
9
  class Outlet extends DeconzService.LightsResource {
11
10
  constructor (accessory, resource, params = {}) {
@@ -81,4 +80,4 @@ class Outlet extends DeconzService.LightsResource {
81
80
  }
82
81
  }
83
82
 
84
- module.exports = Outlet
83
+ DeconzService.Outlet = Outlet
@@ -3,10 +3,10 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
7
7
 
8
- const DeconzService = require('../DeconzService')
9
- const { ApiClient } = require('hb-deconz-tools')
8
+ import { DeconzService } from '../DeconzService/index.js'
9
+ import '../DeconzService/SensorsResource.js'
10
10
 
11
11
  const { dateToString } = ApiClient
12
12
 
@@ -84,4 +84,4 @@ class Power extends DeconzService.SensorsResource {
84
84
  }
85
85
  }
86
86
 
87
- module.exports = Power
87
+ DeconzService.Power = Power
@@ -3,10 +3,11 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ServiceDelegate } from 'homebridge-lib/ServiceDelegate'
7
7
 
8
- const { ApiClient } = require('hb-deconz-tools')
9
- const { ServiceDelegate } = require('homebridge-lib')
8
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
9
+
10
+ import { DeconzService } from '../DeconzService/index.js'
10
11
 
11
12
  const { HttpError } = ApiClient
12
13
 
@@ -66,4 +67,4 @@ class Schedule extends ServiceDelegate {
66
67
  }
67
68
  }
68
69
 
69
- module.exports = Schedule
70
+ DeconzService.Schedule = Schedule
@@ -3,10 +3,9 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
7
7
 
8
- const { ApiClient } = require('hb-deconz-tools')
9
- const DeconzService = require('../DeconzService')
8
+ import { DeconzService } from '../DeconzService/index.js'
10
9
 
11
10
  const { dateToString } = ApiClient
12
11
 
@@ -86,4 +85,4 @@ class SensorsResource extends DeconzService {
86
85
  }
87
86
  }
88
87
 
89
- module.exports = SensorsResource
88
+ DeconzService.SensorsResource = SensorsResource
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -48,4 +47,4 @@ class Smoke extends DeconzService.SensorsResource {
48
47
  }
49
48
  }
50
49
 
51
- module.exports = Smoke
50
+ DeconzService.Smoke = Smoke
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -74,4 +73,4 @@ class Status extends DeconzService.SensorsResource {
74
73
  }
75
74
  }
76
75
 
77
- module.exports = Status
76
+ DeconzService.Status = Status
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/LightsResource.js'
9
8
 
10
9
  class Switch extends DeconzService.LightsResource {
11
10
  constructor (accessory, resource, params = {}) {
@@ -75,4 +74,4 @@ class Switch extends DeconzService.LightsResource {
75
74
  }
76
75
  }
77
76
 
78
- module.exports = Switch
77
+ DeconzService.Switch = Switch
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -67,4 +66,4 @@ class Temperature extends DeconzService.SensorsResource {
67
66
  }
68
67
  }
69
68
 
70
- module.exports = Temperature
69
+ DeconzService.Temperature = Temperature
@@ -3,9 +3,8 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
7
-
8
- const DeconzService = require('../DeconzService')
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/SensorsResource.js'
9
8
 
10
9
  /**
11
10
  * @memberof DeconzService
@@ -183,4 +182,4 @@ class Thermostat extends DeconzService.SensorsResource {
183
182
  }
184
183
  }
185
184
 
186
- module.exports = Thermostat
185
+ DeconzService.Thermostat = Thermostat
@@ -3,12 +3,10 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { DeconzService } from '../DeconzService/index.js'
7
+ import '../DeconzService/LightsResource.js'
7
8
 
8
- const DeconzService = require('../DeconzService')
9
- // const timeout = require('homebridge-lib')
10
-
11
- class Switch extends DeconzService.LightsResource {
9
+ class Valve extends DeconzService.LightsResource {
12
10
  constructor (accessory, resource, params = {}) {
13
11
  params.Service = accessory.Services.hap.Valve
14
12
  super(accessory, resource, params)
@@ -122,4 +120,4 @@ class Switch extends DeconzService.LightsResource {
122
120
  }
123
121
  }
124
122
 
125
- module.exports = Switch
123
+ DeconzService.Valve = Valve
@@ -3,10 +3,10 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { timeout } from 'homebridge-lib'
7
7
 
8
- const DeconzService = require('../DeconzService')
9
- const { timeout } = require('homebridge-lib')
8
+ import { DeconzService } from '../DeconzService/index.js'
9
+ import '../DeconzService/LightsResource.js'
10
10
 
11
11
  class WarningDevice extends DeconzService.LightsResource {
12
12
  constructor (accessory, resource, params = {}) {
@@ -61,4 +61,4 @@ class WarningDevice extends DeconzService.LightsResource {
61
61
  }
62
62
  }
63
63
 
64
- module.exports = WarningDevice
64
+ DeconzService.WarningDevice = WarningDevice
@@ -3,10 +3,10 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { timeout } from 'homebridge-lib'
7
7
 
8
- const DeconzService = require('../DeconzService')
9
- const { timeout } = require('homebridge-lib')
8
+ import { DeconzService } from '../DeconzService/index.js'
9
+ import '../DeconzService/LightsResource.js'
10
10
 
11
11
  class WindowCovering extends DeconzService.LightsResource {
12
12
  constructor (accessory, resource, params = {}) {
@@ -166,4 +166,4 @@ class WindowCovering extends DeconzService.LightsResource {
166
166
  }
167
167
  }
168
168
 
169
- module.exports = WindowCovering
169
+ DeconzService.WindowCovering = WindowCovering
@@ -3,10 +3,9 @@
3
3
  //
4
4
  // Homebridge plugin for deCONZ.
5
5
 
6
- 'use strict'
6
+ import { ServiceDelegate } from 'homebridge-lib/ServiceDelegate'
7
7
 
8
- const { ApiClient } = require('hb-deconz-tools')
9
- const { ServiceDelegate } = require('homebridge-lib')
8
+ import { ApiClient } from 'hb-deconz-tools/ApiClient'
10
9
 
11
10
  const { HttpError, dateToString } = ApiClient
12
11
 
@@ -14,38 +13,6 @@ const { HttpError, dateToString } = ApiClient
14
13
  * @extends ServiceDelegate
15
14
  */
16
15
  class DeconzService extends ServiceDelegate {
17
- static get AirPressure () { return require('./AirPressure') }
18
- static get AirPurifier () { return require('./AirPurifier') }
19
- static get AirQuality () { return require('./AirQuality') }
20
- static get Alarm () { return require('./Alarm') }
21
- static get Battery () { return require('./Battery') }
22
- static get Button () { return require('./Button') }
23
- static get CarbonMonoxide () { return require('./CarbonMonoxide') }
24
- static get Consumption () { return require('./Consumption') }
25
- static get Contact () { return require('./Contact') }
26
- static get Daylight () { return require('./Daylight') }
27
- static get Flag () { return require('./Flag') }
28
- static get Gateway () { return require('./Gateway') }
29
- static get Humidity () { return require('./Humidity') }
30
- static get Label () { return require('./Label') }
31
- static get Leak () { return require('./Leak') }
32
- static get Light () { return require('./Light') }
33
- static get LightsResource () { return require('./LightsResource') }
34
- static get LightLevel () { return require('./LightLevel') }
35
- static get Motion () { return require('./Motion') }
36
- static get Outlet () { return require('./Outlet') }
37
- static get Power () { return require('./Power') }
38
- static get Schedule () { return require('./Schedule') }
39
- static get SensorsResource () { return require('./SensorsResource') }
40
- static get Status () { return require('./Status') }
41
- static get Smoke () { return require('./Smoke') }
42
- static get Switch () { return require('./Switch') }
43
- static get Temperature () { return require('./Temperature') }
44
- static get Thermostat () { return require('./Thermostat') }
45
- static get Valve () { return require('./Valve') }
46
- static get WarningDevice () { return require('./WarningDevice') }
47
- static get WindowCovering () { return require('./WindowCovering') }
48
-
49
16
  constructor (accessory, resource, params) {
50
17
  super(accessory, {
51
18
  id: resource.id,
@@ -129,4 +96,4 @@ class DeconzService extends ServiceDelegate {
129
96
  }
130
97
  }
131
98
 
132
- module.exports = DeconzService
99
+ export { DeconzService }
package/package.json CHANGED
@@ -3,8 +3,11 @@
3
3
  "description": "Homebridge plugin for deCONZ",
4
4
  "displayName": "Homebridge deCONZ",
5
5
  "author": "Erik Baauw",
6
+ "maintainers": [
7
+ "ebaauw"
8
+ ],
6
9
  "license": "Apache-2.0",
7
- "version": "1.0.11",
10
+ "version": "1.0.13",
8
11
  "keywords": [
9
12
  "homebridge-plugin",
10
13
  "homekit",
@@ -15,6 +18,7 @@
15
18
  "dresden-elektronik",
16
19
  "dresdenelektronik"
17
20
  ],
21
+ "type": "module",
18
22
  "main": "index.js",
19
23
  "bin": {
20
24
  "deconz": "cli/deconz.js",
@@ -22,13 +26,13 @@
22
26
  "ui": "cli/ui.js"
23
27
  },
24
28
  "engines": {
25
- "deCONZ": "2.25.3",
26
- "homebridge": "^1.7.0",
29
+ "deCONZ": "2.27.6",
30
+ "homebridge": "^1.8.4||^2.0.0-beta",
27
31
  "node": "^20||^18"
28
32
  },
29
33
  "dependencies": {
30
- "hb-deconz-tools": "~1.0.14",
31
- "homebridge-lib": "~6.7.4"
34
+ "hb-deconz-tools": "~2.0.3",
35
+ "homebridge-lib": "~7.0.5"
32
36
  },
33
37
  "scripts": {
34
38
  "prepare": "standard && rm -rf out && jsdoc -c jsdoc.json",