@switchbot/homebridge-switchbot 0.1.2-beta.35 → 0.1.2-beta.39

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 (69) hide show
  1. package/.github/ISSUE_TEMPLATE/feature-request.yml +1 -1
  2. package/dist/devices/bots.js +4 -4
  3. package/dist/devices/bots.js.map +1 -1
  4. package/dist/devices/bulb.js +3 -3
  5. package/dist/devices/bulb.js.map +1 -1
  6. package/dist/devices/contact.d.ts.map +1 -1
  7. package/dist/devices/contact.js +5 -4
  8. package/dist/devices/contact.js.map +1 -1
  9. package/dist/devices/curtains.d.ts.map +1 -1
  10. package/dist/devices/curtains.js +3 -4
  11. package/dist/devices/curtains.js.map +1 -1
  12. package/dist/devices/humidifiers.d.ts.map +1 -1
  13. package/dist/devices/humidifiers.js +5 -4
  14. package/dist/devices/humidifiers.js.map +1 -1
  15. package/dist/devices/indoorcam.d.ts.map +1 -1
  16. package/dist/devices/indoorcam.js +3 -4
  17. package/dist/devices/indoorcam.js.map +1 -1
  18. package/dist/devices/meters.d.ts.map +1 -1
  19. package/dist/devices/meters.js +7 -5
  20. package/dist/devices/meters.js.map +1 -1
  21. package/dist/devices/motion.js +3 -3
  22. package/dist/devices/motion.js.map +1 -1
  23. package/dist/devices/plugs.js +2 -2
  24. package/dist/devices/plugs.js.map +1 -1
  25. package/dist/irdevices/airconditioners.js +1 -1
  26. package/dist/irdevices/airconditioners.js.map +1 -1
  27. package/dist/irdevices/airpurifiers.js +1 -1
  28. package/dist/irdevices/airpurifiers.js.map +1 -1
  29. package/dist/irdevices/cameras.js +1 -1
  30. package/dist/irdevices/cameras.js.map +1 -1
  31. package/dist/irdevices/fans.js +1 -1
  32. package/dist/irdevices/fans.js.map +1 -1
  33. package/dist/irdevices/lights.js +1 -1
  34. package/dist/irdevices/lights.js.map +1 -1
  35. package/dist/irdevices/others.d.ts.map +1 -1
  36. package/dist/irdevices/others.js +1 -1
  37. package/dist/irdevices/others.js.map +1 -1
  38. package/dist/irdevices/tvs.d.ts.map +1 -1
  39. package/dist/irdevices/tvs.js +16 -6
  40. package/dist/irdevices/tvs.js.map +1 -1
  41. package/dist/irdevices/vacuumcleaners.d.ts.map +1 -1
  42. package/dist/irdevices/vacuumcleaners.js +2 -3
  43. package/dist/irdevices/vacuumcleaners.js.map +1 -1
  44. package/dist/irdevices/waterheaters.js +2 -2
  45. package/dist/irdevices/waterheaters.js.map +1 -1
  46. package/dist/platform.d.ts +2 -1
  47. package/dist/platform.d.ts.map +1 -1
  48. package/dist/platform.js +25 -25
  49. package/dist/platform.js.map +1 -1
  50. package/package.json +1 -1
  51. package/src/devices/bots.ts +4 -4
  52. package/src/devices/bulb.ts +3 -3
  53. package/src/devices/contact.ts +6 -4
  54. package/src/devices/curtains.ts +3 -4
  55. package/src/devices/humidifiers.ts +10 -8
  56. package/src/devices/indoorcam.ts +3 -4
  57. package/src/devices/meters.ts +9 -5
  58. package/src/devices/motion.ts +3 -3
  59. package/src/devices/plugs.ts +2 -2
  60. package/src/irdevices/airconditioners.ts +1 -1
  61. package/src/irdevices/airpurifiers.ts +1 -1
  62. package/src/irdevices/cameras.ts +1 -1
  63. package/src/irdevices/fans.ts +1 -1
  64. package/src/irdevices/lights.ts +1 -1
  65. package/src/irdevices/others.ts +2 -4
  66. package/src/irdevices/tvs.ts +18 -7
  67. package/src/irdevices/vacuumcleaners.ts +2 -6
  68. package/src/irdevices/waterheaters.ts +2 -2
  69. package/src/platform.ts +25 -25
@@ -1 +1 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "Homebridge SwitchBot",
3
3
  "name": "@switchbot/homebridge-switchbot",
4
- "version": "0.1.2-beta.35",
4
+ "version": "0.1.2-beta.39",
5
5
  "description": "The [Homebridge](https://homebridge.io) SwitchBot plugin allows you to access your [SwitchBot](https://www.switch-bot.com) device(s) from HomeKit.",
6
6
  "author": "SwitchBot <support@wondertechlabs.com> (https://github.com/SwitchBot)",
7
7
  "license": "ISC",
@@ -77,11 +77,11 @@ export class Bot {
77
77
  if (this.platform.config.options?.bot?.switch) {
78
78
  (this.service =
79
79
  accessory.getService(this.platform.Service.Switch) ||
80
- accessory.addService(this.platform.Service.Switch)), `${device.deviceName} ${device.deviceType}`;
80
+ accessory.addService(this.platform.Service.Switch)), `${accessory.displayName} Switch`;
81
81
  } else {
82
82
  (this.service =
83
83
  accessory.getService(this.platform.Service.Outlet) ||
84
- accessory.addService(this.platform.Service.Outlet)), `${device.deviceName} ${device.deviceType}`;
84
+ accessory.addService(this.platform.Service.Outlet)), `${accessory.displayName} Outlet`;
85
85
  }
86
86
 
87
87
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
@@ -234,8 +234,8 @@ export class Bot {
234
234
  this.parseStatus();
235
235
  this.updateHomeKitCharacteristics();
236
236
  } catch (e: any) {
237
- this.platform.log.error(`Bot - Failed to refresh status of ${this.device.deviceName} - ${JSON.stringify(e.message)}`);
238
- this.platform.debug(`Bot ${this.accessory.displayName} - ${JSON.stringify(e)}`);
237
+ this.platform.log.error(`Bot ${this.accessory.displayName} failed to refresh status, Error Message: ${JSON.stringify(e.message)}`);
238
+ this.platform.debug(`Bot ${this.accessory.displayName}, Error: ${JSON.stringify(e)}`);
239
239
  this.apiError(e);
240
240
  }
241
241
  }
@@ -76,7 +76,7 @@ export class Bulb {
76
76
  // you can create multiple services for each accessory
77
77
  (this.service =
78
78
  accessory.getService(this.platform.Service.Lightbulb) ||
79
- accessory.addService(this.platform.Service.Lightbulb)), `${device.deviceName} ${device.deviceType}`;
79
+ accessory.addService(this.platform.Service.Lightbulb)), `${accessory.displayName} Light Bulb`;
80
80
 
81
81
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
82
82
  // when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
@@ -168,8 +168,8 @@ export class Bulb {
168
168
  this.parseStatus();
169
169
  this.updateHomeKitCharacteristics();
170
170
  } catch (e: any) {
171
- this.platform.log.error(`Bulb - Failed to refresh status of ${this.device.deviceName} - ${JSON.stringify(e.message)}`);
172
- this.platform.debug(`Bulb ${this.accessory.displayName} - ${JSON.stringify(e)}`);
171
+ this.platform.log.error(`Bulb ${this.accessory.displayName} failed to refresh status, Error Message ${JSON.stringify(e.message)}`);
172
+ this.platform.debug(`Bulb ${this.accessory.displayName}, Error: ${JSON.stringify(e)}`);
173
173
  this.apiError(e);
174
174
  }
175
175
  }
@@ -78,7 +78,7 @@ export class Contact {
78
78
  // you can create multiple services for each accessory
79
79
  (this.service =
80
80
  accessory.getService(this.platform.Service.ContactSensor) ||
81
- accessory.addService(this.platform.Service.ContactSensor)), `${device.deviceName} ${device.deviceType}`;
81
+ accessory.addService(this.platform.Service.ContactSensor)), `${accessory.displayName} Contact Sensor`;
82
82
 
83
83
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
84
84
  // when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
@@ -92,7 +92,9 @@ export class Contact {
92
92
  // see https://developers.homebridge.io/#/service/MotionSensor
93
93
  (this.motionService =
94
94
  accessory.getService(this.platform.Service.MotionSensor) ||
95
- accessory.addService(this.platform.Service.MotionSensor)), `${device.deviceName} ${device.deviceType}`;
95
+ accessory.addService(this.platform.Service.MotionSensor)), `${accessory.displayName} Motion Sensor`;
96
+
97
+ this.motionService.setCharacteristic(this.platform.Characteristic.Name, `${accessory.displayName} Motion Sensor`);
96
98
 
97
99
  // Retrieve initial values and updateHomekit
98
100
  this.updateHomeKitCharacteristics();
@@ -208,8 +210,8 @@ export class Contact {
208
210
  this.parseStatus();
209
211
  this.updateHomeKitCharacteristics();
210
212
  } catch (e: any) {
211
- this.platform.log.error(`Contact - Failed to refresh status of ${this.device.deviceName} - ${JSON.stringify(e.message)}`);
212
- this.platform.debug(`Contact ${this.accessory.displayName} - ${JSON.stringify(e)}`);
213
+ this.platform.log.error(`Contact ${this.accessory.displayName} failed to refresh status. Error Message: ${JSON.stringify(e.message)}`);
214
+ this.platform.debug(`Contact ${this.accessory.displayName}, Error: ${JSON.stringify(e)}`);
213
215
  this.apiError(e);
214
216
  }
215
217
  }
@@ -134,7 +134,7 @@ export class Curtain {
134
134
  (this.lightSensorService =
135
135
  accessory.getService(this.platform.Service.LightSensor) ||
136
136
  accessory.addService(this.platform.Service.LightSensor)), `${device.deviceName} Light Sensor`;
137
- this.lightSensorService.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName);
137
+ this.lightSensorService.setCharacteristic(this.platform.Characteristic.Name, `${device.deviceName} Light Sensor`);
138
138
  // handle on / off events using the On characteristic
139
139
  this.lightSensorService.getCharacteristic(this.platform.Characteristic.CurrentAmbientLightLevel).onGet(() => {
140
140
  if (this.CurrentAmbientLightLevel === 'bright') {
@@ -303,15 +303,14 @@ export class Curtain {
303
303
 
304
304
  private async openAPIRefreshStatus() {
305
305
  try {
306
- this.platform.debug('Curtain - Reading', `${DeviceURL}/${this.device.deviceId}/status`);
307
306
  this.deviceStatus = (await this.platform.axios.get(`${DeviceURL}/${this.device.deviceId}/status`)).data;
308
307
  this.platform.debug(`Curtain ${this.accessory.displayName} refreshStatus: ${JSON.stringify(this.deviceStatus)}`);
309
308
  this.setMinMax();
310
309
  this.parseStatus();
311
310
  this.updateHomeKitCharacteristics();
312
311
  } catch (e: any) {
313
- this.platform.log.error(`Curtain - Failed to refresh status of ${this.device.deviceName} - ${JSON.stringify(e.message)}`);
314
- this.platform.debug(`Curtain ${this.accessory.displayName} - ${JSON.stringify(e)}`);
312
+ this.platform.log.error(`Curtain ${this.accessory.displayName} failed to refresh status, Eror Message ${JSON.stringify(e.message)}`);
313
+ this.platform.debug(`Curtain ${this.accessory.displayName}, Error: ${JSON.stringify(e)}`);
315
314
  this.apiError(e);
316
315
  }
317
316
  }
@@ -62,7 +62,7 @@ export class Humidifier {
62
62
  // you can create multiple services for each accessory
63
63
  (this.service =
64
64
  accessory.getService(this.platform.Service.HumidifierDehumidifier) ||
65
- accessory.addService(this.platform.Service.HumidifierDehumidifier)), `${device.deviceName} ${device.deviceType}`;
65
+ accessory.addService(this.platform.Service.HumidifierDehumidifier)), `${accessory.displayName} Humidifier`;
66
66
 
67
67
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
68
68
  // when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
@@ -113,7 +113,9 @@ export class Humidifier {
113
113
  this.platform.device('Adding Temerature Sensor Service');
114
114
  (this.temperatureservice =
115
115
  this.accessory.getService(this.platform.Service.TemperatureSensor) ||
116
- this.accessory.addService(this.platform.Service.TemperatureSensor)), `${device.deviceName} ${device.deviceType} TemperatureSensor`;
116
+ this.accessory.addService(this.platform.Service.TemperatureSensor)), `${accessory.displayName} Temperature Sensor`;
117
+
118
+ this.temperatureservice.setCharacteristic(this.platform.Characteristic.Name, `${accessory.displayName} Temperature Sensor`);
117
119
 
118
120
  this.temperatureservice
119
121
  .getCharacteristic(this.platform.Characteristic.CurrentTemperature)
@@ -233,8 +235,8 @@ export class Humidifier {
233
235
  this.platform.debug(this.deviceStatus);
234
236
  }
235
237
  } catch (e: any) {
236
- this.platform.log.error(`Humidifier - Failed to update status of ${this.device.deviceName}: ${JSON.stringify(e.message)}`);
237
- this.platform.debug(`Humidifier ${this.accessory.displayName} ${JSON.stringify(e)}`);
238
+ this.platform.log.error(`Humidifier ${this.accessory.displayName}, Failed to update status. Error Message: ${JSON.stringify(e.message)}`);
239
+ this.platform.debug(`Humidifier ${this.accessory.displayName}, Error: ${JSON.stringify(e)}`);
238
240
  this.apiError(e);
239
241
  }
240
242
  }
@@ -381,14 +383,14 @@ export class Humidifier {
381
383
  } else {
382
384
  this.service.updateCharacteristic(this.platform.Characteristic.CurrentHumidifierDehumidifierState, this.CurrentHumidifierDehumidifierState);
383
385
  this.platform.device(`Humidifier ${this.accessory.displayName}`
384
- + ` updateCharacteristic CurrentHumidifierDehumidifierState: ${this.CurrentHumidifierDehumidifierState}`);
386
+ + ` updateCharacteristic CurrentHumidifierDehumidifierState: ${this.CurrentHumidifierDehumidifierState}`);
385
387
  }
386
388
  if (this.TargetHumidifierDehumidifierState === undefined) {
387
389
  this.platform.debug(`Humidifier ${this.accessory.displayName} TargetHumidifierDehumidifierState: ${this.TargetHumidifierDehumidifierState}`);
388
390
  } else {
389
391
  this.service.updateCharacteristic(this.platform.Characteristic.TargetHumidifierDehumidifierState, this.TargetHumidifierDehumidifierState);
390
392
  this.platform.device(`Humidifier ${this.accessory.displayName}`
391
- + ` updateCharacteristic TargetHumidifierDehumidifierState: ${this.TargetHumidifierDehumidifierState}`);
393
+ + ` updateCharacteristic TargetHumidifierDehumidifierState: ${this.TargetHumidifierDehumidifierState}`);
392
394
  }
393
395
  if (this.Active === undefined) {
394
396
  this.platform.debug(`Humidifier ${this.accessory.displayName} Active: ${this.Active}`);
@@ -398,11 +400,11 @@ export class Humidifier {
398
400
  }
399
401
  if (this.RelativeHumidityHumidifierThreshold === undefined) {
400
402
  this.platform.debug(`Humidifier ${this.accessory.displayName}`
401
- + ` RelativeHumidityHumidifierThreshold: ${this.RelativeHumidityHumidifierThreshold}`);
403
+ + ` RelativeHumidityHumidifierThreshold: ${this.RelativeHumidityHumidifierThreshold}`);
402
404
  } else {
403
405
  this.service.updateCharacteristic(this.platform.Characteristic.RelativeHumidityHumidifierThreshold, this.RelativeHumidityHumidifierThreshold);
404
406
  this.platform.device(`Humidifier ${this.accessory.displayName}`
405
- + ` updateCharacteristic RelativeHumidityHumidifierThreshold: ${this.RelativeHumidityHumidifierThreshold}`);
407
+ + ` updateCharacteristic RelativeHumidityHumidifierThreshold: ${this.RelativeHumidityHumidifierThreshold}`);
406
408
  }
407
409
  if (this.platform.config.options?.humidifier?.hide_temperature && this.CurrentTemperature === undefined) {
408
410
  this.platform.debug(`Humidifier ${this.accessory.displayName} CurrentTemperature: ${this.CurrentTemperature}`);
@@ -71,7 +71,7 @@ export class IndoorCam {
71
71
  // you can create multiple services for each accessory
72
72
  (this.service =
73
73
  accessory.getService(this.platform.Service.Outlet) ||
74
- accessory.addService(this.platform.Service.Outlet)), `${device.deviceName} ${device.deviceType}`;
74
+ accessory.addService(this.platform.Service.Outlet)), `${accessory.displayName} Indoor Camera`;
75
75
 
76
76
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
77
77
  // when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
@@ -189,14 +189,13 @@ export class IndoorCam {
189
189
 
190
190
  private async openAPIRefreshStatus() {
191
191
  try {
192
- this.platform.debug('Camera - Reading', `${DeviceURL}/${this.device.deviceId}/status`);
193
192
  this.deviceStatus = (await this.platform.axios.get(`${DeviceURL}/${this.device.deviceId}/status`)).data;
194
193
  this.platform.device(`Camera ${this.accessory.displayName} refreshStatus: ${JSON.stringify(this.deviceStatus)}`);
195
194
  this.parseStatus();
196
195
  this.updateHomeKitCharacteristics();
197
196
  } catch (e: any) {
198
- this.platform.log.error(`IndoorCam - Failed to refresh status of ${this.device.deviceName} - ${JSON.stringify(e.message)}`);
199
- this.platform.debug(`IndoorCam ${this.accessory.displayName} - ${JSON.stringify(e)}`);
197
+ this.platform.log.error(`IndoorCam ${this.accessory.displayName} failed to refresh status, Error Message: ${JSON.stringify(e.message)}`);
198
+ this.platform.debug(`IndoorCam ${this.accessory.displayName}, Error: ${JSON.stringify(e)}`);
200
199
  this.apiError(e);
201
200
  }
202
201
  }
@@ -88,7 +88,7 @@ export class Meter {
88
88
  // you can create multiple services for each accessory
89
89
  (this.service =
90
90
  accessory.getService(this.platform.Service.Battery) ||
91
- accessory.addService(this.platform.Service.Battery)), `${device.deviceName} ${device.deviceType}`;
91
+ accessory.addService(this.platform.Service.Battery)), `${accessory.displayName} Battery`;
92
92
 
93
93
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
94
94
  // when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
@@ -113,7 +113,9 @@ export class Meter {
113
113
  this.platform.device('Adding Temperature Sensor Service');
114
114
  (this.temperatureservice =
115
115
  this.accessory.getService(this.platform.Service.TemperatureSensor) ||
116
- this.accessory.addService(this.platform.Service.TemperatureSensor)), `${device.deviceName} ${device.deviceType} TemperatureSensor`;
116
+ this.accessory.addService(this.platform.Service.TemperatureSensor)), `${accessory.displayName} Temperature Sensor`;
117
+
118
+ this.service.setCharacteristic(this.platform.Characteristic.Name, `${accessory.displayName} Temperature Sensor`);
117
119
 
118
120
  this.temperatureservice
119
121
  .getCharacteristic(this.platform.Characteristic.CurrentTemperature)
@@ -140,7 +142,9 @@ export class Meter {
140
142
  this.platform.device('Adding Humidity Sensor Service');
141
143
  (this.humidityservice =
142
144
  this.accessory.getService(this.platform.Service.HumiditySensor) ||
143
- this.accessory.addService(this.platform.Service.HumiditySensor)), `${device.deviceName} ${device.deviceType} HumiditySensor`;
145
+ this.accessory.addService(this.platform.Service.HumiditySensor)), `${accessory.displayName} Humidity Sensor`;
146
+
147
+ this.service.setCharacteristic(this.platform.Characteristic.Name, `${accessory.displayName} Humidity Sensor`);
144
148
 
145
149
  this.humidityservice
146
150
  .getCharacteristic(this.platform.Characteristic.CurrentRelativeHumidity)
@@ -301,8 +305,8 @@ export class Meter {
301
305
  this.parseStatus();
302
306
  this.updateHomeKitCharacteristics();
303
307
  } catch (e: any) {
304
- this.platform.log.error(`Meter - Failed to refresh status of ${this.device.deviceName} - ${JSON.stringify(e.message)}`);
305
- this.platform.debug(`Meter ${this.accessory.displayName} - ${JSON.stringify(e)}`);
308
+ this.platform.log.error(`Meter ${this.accessory.displayName} failed to refresh status, Error Message: ${JSON.stringify(e.message)}`);
309
+ this.platform.debug(`Meter ${this.accessory.displayName}, Error: ${JSON.stringify(e)}`);
306
310
  this.apiError(e);
307
311
  }
308
312
  }
@@ -75,7 +75,7 @@ export class Motion {
75
75
  // you can create multiple services for each accessory
76
76
  (this.service =
77
77
  accessory.getService(this.platform.Service.MotionSensor) ||
78
- accessory.addService(this.platform.Service.MotionSensor)), `${device.deviceName} ${device.deviceType}`;
78
+ accessory.addService(this.platform.Service.MotionSensor)), `${accessory.displayName} Motion Sensor`;
79
79
 
80
80
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
81
81
  // when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
@@ -192,8 +192,8 @@ export class Motion {
192
192
  this.parseStatus();
193
193
  this.updateHomeKitCharacteristics();
194
194
  } catch (e: any) {
195
- this.platform.log.error(`Motion - Failed to refresh status of ${this.device.deviceName} - ${JSON.stringify(e.message)}`);
196
- this.platform.debug(`Motion ${this.accessory.displayName} - ${JSON.stringify(e)}`);
195
+ this.platform.log.error(`Motion ${this.accessory.displayName} failed to refresh status, Error Message: ${JSON.stringify(e.message)}`);
196
+ this.platform.debug(`Motion ${this.accessory.displayName}, Error: ${JSON.stringify(e)}`);
197
197
  this.apiError(e);
198
198
  }
199
199
  }
@@ -197,8 +197,8 @@ export class Plug {
197
197
  this.parseStatus();
198
198
  this.updateHomeKitCharacteristics();
199
199
  } catch (e: any) {
200
- this.platform.log.error(`Plug - Failed to refresh status of ${this.device.deviceName} - ${JSON.stringify(e.message)}`);
201
- this.platform.debug(`Plug ${this.accessory.displayName} - ${JSON.stringify(e)}`);
200
+ this.platform.log.error(`Plug ${this.accessory.displayName} failed to refresh status, Error Message: ${JSON.stringify(e.message)}`);
201
+ this.platform.debug(`Plug ${this.accessory.displayName}, Error: ${JSON.stringify(e)}`);
202
202
  this.apiError(e);
203
203
  }
204
204
  }
@@ -45,7 +45,7 @@ export class AirConditioner {
45
45
  // you can create multiple services for each accessory
46
46
  (this.service =
47
47
  accessory.getService(this.platform.Service.HeaterCooler) ||
48
- accessory.addService(this.platform.Service.HeaterCooler)), `${device.deviceName} ${device.remoteType}`;
48
+ accessory.addService(this.platform.Service.HeaterCooler)), `${accessory.displayName} Air Conditioner`;
49
49
 
50
50
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
51
51
  // when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
@@ -44,7 +44,7 @@ export class AirPurifier {
44
44
  // you can create multiple services for each accessory
45
45
  (this.service =
46
46
  accessory.getService(this.platform.Service.AirPurifier) ||
47
- accessory.addService(this.platform.Service.AirPurifier)), `${device.deviceName} ${device.remoteType}`;
47
+ accessory.addService(this.platform.Service.AirPurifier)), `${accessory.displayName} Air Purifier`;
48
48
 
49
49
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
50
50
  // when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
@@ -29,7 +29,7 @@ export class Camera {
29
29
  // you can create multiple services for each accessory
30
30
  (this.service =
31
31
  accessory.getService(this.platform.Service.Switch) ||
32
- accessory.addService(this.platform.Service.Switch)), `${device.deviceName} ${device.remoteType}`;
32
+ accessory.addService(this.platform.Service.Switch)), `${accessory.displayName} Camera`;
33
33
 
34
34
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
35
35
  // when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
@@ -37,7 +37,7 @@ export class Fan {
37
37
  // you can create multiple services for each accessory
38
38
  (this.service =
39
39
  accessory.getService(this.platform.Service.Fanv2) ||
40
- accessory.addService(this.platform.Service.Fanv2)), `${device.deviceName} ${device.remoteType}`;
40
+ accessory.addService(this.platform.Service.Fanv2)), `${accessory.displayName} Fan`;
41
41
 
42
42
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
43
43
  // when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
@@ -29,7 +29,7 @@ export class Light {
29
29
  // you can create multiple services for each accessory
30
30
  (this.service =
31
31
  accessory.getService(this.platform.Service.Lightbulb) ||
32
- accessory.addService(this.platform.Service.Lightbulb)), `${device.deviceName} ${device.remoteType}`;
32
+ accessory.addService(this.platform.Service.Lightbulb)), `${accessory.displayName} Light Bulb`;
33
33
 
34
34
  // To avoid "Cannot add a Service with the same UUID another Service without also defining a unique 'subtype' property." error,
35
35
  // when creating multiple services of the same type, you need to use the following syntax to specify a name and subtype id:
@@ -29,10 +29,8 @@ export class Others {
29
29
  // you can create multiple services for each accessory
30
30
  this.service = accessory.getService(this.platform.Service.Fanv2);
31
31
  if (!this.service && this.platform.config.options?.other?.deviceType === 'Fan') {
32
- this.service = accessory.addService(
33
- this.platform.Service.Fanv2,
34
- `${device.deviceName} ${device.remoteType} Fan`,
35
- );
32
+ this.service = accessory.addService(this.platform.Service.Fanv2, `${accessory.displayName} Fan`);
33
+
36
34
  this.service.setCharacteristic(this.platform.Characteristic.Name, accessory.displayName);
37
35
 
38
36
  this.service.getCharacteristic(this.platform.Characteristic.Active).onSet(this.ActiveSet.bind(this));