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

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 (61) hide show
  1. package/dist/devices/bots.js +2 -2
  2. package/dist/devices/bots.js.map +1 -1
  3. package/dist/devices/bulb.js +1 -1
  4. package/dist/devices/bulb.js.map +1 -1
  5. package/dist/devices/contact.d.ts.map +1 -1
  6. package/dist/devices/contact.js +3 -2
  7. package/dist/devices/contact.js.map +1 -1
  8. package/dist/devices/curtains.js +1 -1
  9. package/dist/devices/curtains.js.map +1 -1
  10. package/dist/devices/humidifiers.d.ts.map +1 -1
  11. package/dist/devices/humidifiers.js +3 -2
  12. package/dist/devices/humidifiers.js.map +1 -1
  13. package/dist/devices/indoorcam.js +1 -1
  14. package/dist/devices/indoorcam.js.map +1 -1
  15. package/dist/devices/meters.d.ts.map +1 -1
  16. package/dist/devices/meters.js +5 -3
  17. package/dist/devices/meters.js.map +1 -1
  18. package/dist/devices/motion.js +1 -1
  19. package/dist/devices/motion.js.map +1 -1
  20. package/dist/irdevices/airconditioners.js +1 -1
  21. package/dist/irdevices/airconditioners.js.map +1 -1
  22. package/dist/irdevices/airpurifiers.js +1 -1
  23. package/dist/irdevices/airpurifiers.js.map +1 -1
  24. package/dist/irdevices/cameras.js +1 -1
  25. package/dist/irdevices/cameras.js.map +1 -1
  26. package/dist/irdevices/fans.js +1 -1
  27. package/dist/irdevices/fans.js.map +1 -1
  28. package/dist/irdevices/lights.js +1 -1
  29. package/dist/irdevices/lights.js.map +1 -1
  30. package/dist/irdevices/others.d.ts.map +1 -1
  31. package/dist/irdevices/others.js +1 -1
  32. package/dist/irdevices/others.js.map +1 -1
  33. package/dist/irdevices/tvs.d.ts.map +1 -1
  34. package/dist/irdevices/tvs.js +3 -2
  35. package/dist/irdevices/tvs.js.map +1 -1
  36. package/dist/irdevices/vacuumcleaners.d.ts.map +1 -1
  37. package/dist/irdevices/vacuumcleaners.js +2 -3
  38. package/dist/irdevices/vacuumcleaners.js.map +1 -1
  39. package/dist/irdevices/waterheaters.js +2 -2
  40. package/dist/irdevices/waterheaters.js.map +1 -1
  41. package/dist/platform.js +17 -17
  42. package/dist/platform.js.map +1 -1
  43. package/package.json +1 -1
  44. package/src/devices/bots.ts +2 -2
  45. package/src/devices/bulb.ts +1 -1
  46. package/src/devices/contact.ts +4 -2
  47. package/src/devices/curtains.ts +1 -1
  48. package/src/devices/humidifiers.ts +8 -6
  49. package/src/devices/indoorcam.ts +1 -1
  50. package/src/devices/meters.ts +7 -3
  51. package/src/devices/motion.ts +1 -1
  52. package/src/irdevices/airconditioners.ts +1 -1
  53. package/src/irdevices/airpurifiers.ts +1 -1
  54. package/src/irdevices/cameras.ts +1 -1
  55. package/src/irdevices/fans.ts +1 -1
  56. package/src/irdevices/lights.ts +1 -1
  57. package/src/irdevices/others.ts +2 -4
  58. package/src/irdevices/tvs.ts +4 -2
  59. package/src/irdevices/vacuumcleaners.ts +2 -6
  60. package/src/irdevices/waterheaters.ts +2 -2
  61. package/src/platform.ts +17 -17
package/dist/platform.js CHANGED
@@ -329,7 +329,7 @@ class SwitchBotPlatform {
329
329
  // the accessory does not yet exist, so we need to create it
330
330
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.deviceType} DeviceID: ${device.deviceId}`);
331
331
  // create a new accessory
332
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.deviceType}`, uuid);
332
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
333
333
  // store a copy of the device object in the `accessory.context`
334
334
  // the `context` property can be used to store any data about the accessory you may need
335
335
  accessory.context.device = device;
@@ -381,7 +381,7 @@ class SwitchBotPlatform {
381
381
  this.log.error('You must set your Bot to Press or Switch Mode');
382
382
  }
383
383
  // create a new accessory
384
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.deviceType}`, uuid);
384
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
385
385
  // store a copy of the device object in the `accessory.context`
386
386
  // the `context` property can be used to store any data about the accessory you may need
387
387
  accessory.context.device = device;
@@ -431,7 +431,7 @@ class SwitchBotPlatform {
431
431
  // the accessory does not yet exist, so we need to create it
432
432
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.deviceType} DeviceID: ${device.deviceId}`);
433
433
  // create a new accessory
434
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.deviceType}`, uuid);
434
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
435
435
  // store a copy of the device object in the `accessory.context`
436
436
  // the `context` property can be used to store any data about the accessory you may need
437
437
  accessory.context.device = device;
@@ -479,7 +479,7 @@ class SwitchBotPlatform {
479
479
  // the accessory does not yet exist, so we need to create it
480
480
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.deviceType} DeviceID: ${device.deviceId}`);
481
481
  // create a new accessory
482
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.deviceType}`, uuid);
482
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
483
483
  // store a copy of the device object in the `accessory.context`
484
484
  // the `context` property can be used to store any data about the accessory you may need
485
485
  accessory.context.device = device;
@@ -526,7 +526,7 @@ class SwitchBotPlatform {
526
526
  // the accessory does not yet exist, so we need to create it
527
527
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.deviceType} DeviceID: ${device.deviceId}`);
528
528
  // create a new accessory
529
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.deviceType}`, uuid);
529
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
530
530
  // store a copy of the device object in the `accessory.context`
531
531
  // the `context` property can be used to store any data about the accessory you may need
532
532
  accessory.context.device = device;
@@ -586,7 +586,7 @@ class SwitchBotPlatform {
586
586
  }
587
587
  }
588
588
  // create a new accessory
589
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.deviceType}`, uuid);
589
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
590
590
  // store a copy of the device object in the `accessory.context`
591
591
  // the `context` property can be used to store any data about the accessory you may need
592
592
  accessory.context.device = device;
@@ -643,7 +643,7 @@ class SwitchBotPlatform {
643
643
  // the accessory does not yet exist, so we need to create it
644
644
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.deviceType} DeviceID: ${device.deviceId}`);
645
645
  // create a new accessory
646
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.deviceType}`, uuid);
646
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
647
647
  // store a copy of the device object in the `accessory.context`
648
648
  // the `context` property can be used to store any data about the accessory you may need
649
649
  accessory.context.device = device;
@@ -692,7 +692,7 @@ class SwitchBotPlatform {
692
692
  // the accessory does not yet exist, so we need to create it
693
693
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.deviceType} DeviceID: ${device.deviceId}`);
694
694
  // create a new accessory
695
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.deviceType}`, uuid);
695
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
696
696
  // store a copy of the device object in the `accessory.context`
697
697
  // the `context` property can be used to store any data about the accessory you may need
698
698
  accessory.context.device = device;
@@ -735,7 +735,7 @@ class SwitchBotPlatform {
735
735
  // the accessory does not yet exist, so we need to create it
736
736
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.remoteType} DeviceID: ${device.deviceId}`);
737
737
  // create a new accessory
738
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.remoteType}`, uuid);
738
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
739
739
  // store a copy of the device object in the `accessory.context`
740
740
  // the `context` property can be used to store any data about the accessory you may need
741
741
  accessory.context.device = device;
@@ -788,7 +788,7 @@ class SwitchBotPlatform {
788
788
  // the accessory does not yet exist, so we need to create it
789
789
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.remoteType} DeviceID: ${device.deviceId}`);
790
790
  // create a new accessory
791
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.remoteType}`, uuid);
791
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
792
792
  // store a copy of the device object in the `accessory.context`
793
793
  // the `context` property can be used to store any data about the accessory you may need
794
794
  accessory.context.device = device;
@@ -837,7 +837,7 @@ class SwitchBotPlatform {
837
837
  // the accessory does not yet exist, so we need to create it
838
838
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.remoteType} DeviceID: ${device.deviceId}`);
839
839
  // create a new accessory
840
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.remoteType}`, uuid);
840
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
841
841
  // store a copy of the device object in the `accessory.context`
842
842
  // the `context` property can be used to store any data about the accessory you may need
843
843
  accessory.context.device = device;
@@ -886,7 +886,7 @@ class SwitchBotPlatform {
886
886
  // the accessory does not yet exist, so we need to create it
887
887
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.remoteType} DeviceID: ${device.deviceId}`);
888
888
  // create a new accessory
889
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.remoteType}`, uuid);
889
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
890
890
  // store a copy of the device object in the `accessory.context`
891
891
  // the `context` property can be used to store any data about the accessory you may need
892
892
  accessory.context.device = device;
@@ -935,7 +935,7 @@ class SwitchBotPlatform {
935
935
  // the accessory does not yet exist, so we need to create it
936
936
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.remoteType} DeviceID: ${device.deviceId}`);
937
937
  // create a new accessory
938
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.remoteType}`, uuid);
938
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
939
939
  // store a copy of the device object in the `accessory.context`
940
940
  // the `context` property can be used to store any data about the accessory you may need
941
941
  accessory.context.device = device;
@@ -984,7 +984,7 @@ class SwitchBotPlatform {
984
984
  // the accessory does not yet exist, so we need to create it
985
985
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.remoteType} DeviceID: ${device.deviceId}`);
986
986
  // create a new accessory
987
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.remoteType}`, uuid);
987
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
988
988
  // store a copy of the device object in the `accessory.context`
989
989
  // the `context` property can be used to store any data about the accessory you may need
990
990
  accessory.context.device = device;
@@ -1033,7 +1033,7 @@ class SwitchBotPlatform {
1033
1033
  // the accessory does not yet exist, so we need to create it
1034
1034
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.remoteType} DeviceID: ${device.deviceId}`);
1035
1035
  // create a new accessory
1036
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.remoteType}`, uuid);
1036
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
1037
1037
  // store a copy of the device object in the `accessory.context`
1038
1038
  // the `context` property can be used to store any data about the accessory you may need
1039
1039
  accessory.context.device = device;
@@ -1082,7 +1082,7 @@ class SwitchBotPlatform {
1082
1082
  // the accessory does not yet exist, so we need to create it
1083
1083
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.remoteType} DeviceID: ${device.deviceId}`);
1084
1084
  // create a new accessory
1085
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.remoteType}`, uuid);
1085
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
1086
1086
  // store a copy of the device object in the `accessory.context`
1087
1087
  // the `context` property can be used to store any data about the accessory you may need
1088
1088
  accessory.context.device = device;
@@ -1131,7 +1131,7 @@ class SwitchBotPlatform {
1131
1131
  // the accessory does not yet exist, so we need to create it
1132
1132
  this.log.info(`Adding new accessory: ${device.deviceName} ${device.remoteType} DeviceID: ${device.deviceId}`);
1133
1133
  // create a new accessory
1134
- const accessory = new this.api.platformAccessory(`${device.deviceName} ${device.remoteType}`, uuid);
1134
+ const accessory = new this.api.platformAccessory(device.deviceName, uuid);
1135
1135
  // store a copy of the device object in the `accessory.context`
1136
1136
  // the `context` property can be used to store any data about the accessory you may need
1137
1137
  accessory.context.device = device;
@@ -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.36",
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,
@@ -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:
@@ -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();
@@ -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') {
@@ -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)
@@ -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:
@@ -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)
@@ -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:
@@ -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: