@switchbot/homebridge-switchbot 3.6.1-beta.13 → 3.6.1-beta.15

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 (126) hide show
  1. package/dist/device/blindtilt.d.ts.map +1 -1
  2. package/dist/device/blindtilt.js +3 -12
  3. package/dist/device/blindtilt.js.map +1 -1
  4. package/dist/device/bot.d.ts.map +1 -1
  5. package/dist/device/bot.js +11 -44
  6. package/dist/device/bot.js.map +1 -1
  7. package/dist/device/ceilinglight.d.ts.map +1 -1
  8. package/dist/device/ceilinglight.js +1 -4
  9. package/dist/device/ceilinglight.js.map +1 -1
  10. package/dist/device/colorbulb.d.ts.map +1 -1
  11. package/dist/device/colorbulb.js +1 -4
  12. package/dist/device/colorbulb.js.map +1 -1
  13. package/dist/device/contact.d.ts.map +1 -1
  14. package/dist/device/contact.js +4 -16
  15. package/dist/device/contact.js.map +1 -1
  16. package/dist/device/curtain.d.ts.map +1 -1
  17. package/dist/device/curtain.js +3 -12
  18. package/dist/device/curtain.js.map +1 -1
  19. package/dist/device/device.d.ts +0 -9
  20. package/dist/device/device.d.ts.map +1 -1
  21. package/dist/device/device.js +6 -40
  22. package/dist/device/device.js.map +1 -1
  23. package/dist/device/fan.d.ts.map +1 -1
  24. package/dist/device/fan.js +3 -12
  25. package/dist/device/fan.js.map +1 -1
  26. package/dist/device/hub.d.ts.map +1 -1
  27. package/dist/device/hub.js +3 -12
  28. package/dist/device/hub.js.map +1 -1
  29. package/dist/device/humidifier.d.ts.map +1 -1
  30. package/dist/device/humidifier.js +2 -8
  31. package/dist/device/humidifier.js.map +1 -1
  32. package/dist/device/iosensor.d.ts.map +1 -1
  33. package/dist/device/iosensor.js +3 -12
  34. package/dist/device/iosensor.js.map +1 -1
  35. package/dist/device/lightstrip.d.ts.map +1 -1
  36. package/dist/device/lightstrip.js +1 -4
  37. package/dist/device/lightstrip.js.map +1 -1
  38. package/dist/device/lock.d.ts.map +1 -1
  39. package/dist/device/lock.js +4 -16
  40. package/dist/device/lock.js.map +1 -1
  41. package/dist/device/meter.d.ts.map +1 -1
  42. package/dist/device/meter.js +3 -12
  43. package/dist/device/meter.js.map +1 -1
  44. package/dist/device/meterplus.d.ts.map +1 -1
  45. package/dist/device/meterplus.js +3 -12
  46. package/dist/device/meterplus.js.map +1 -1
  47. package/dist/device/motion.d.ts.map +1 -1
  48. package/dist/device/motion.js +3 -13
  49. package/dist/device/motion.js.map +1 -1
  50. package/dist/device/plug.d.ts.map +1 -1
  51. package/dist/device/plug.js +1 -4
  52. package/dist/device/plug.js.map +1 -1
  53. package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
  54. package/dist/device/robotvacuumcleaner.js +2 -8
  55. package/dist/device/robotvacuumcleaner.js.map +1 -1
  56. package/dist/device/waterdetector.d.ts.map +1 -1
  57. package/dist/device/waterdetector.js +2 -8
  58. package/dist/device/waterdetector.js.map +1 -1
  59. package/dist/irdevice/airconditioner.d.ts.map +1 -1
  60. package/dist/irdevice/airconditioner.js +2 -8
  61. package/dist/irdevice/airconditioner.js.map +1 -1
  62. package/dist/irdevice/airpurifier.d.ts.map +1 -1
  63. package/dist/irdevice/airpurifier.js +2 -8
  64. package/dist/irdevice/airpurifier.js.map +1 -1
  65. package/dist/irdevice/camera.d.ts.map +1 -1
  66. package/dist/irdevice/camera.js +1 -4
  67. package/dist/irdevice/camera.js.map +1 -1
  68. package/dist/irdevice/fan.d.ts.map +1 -1
  69. package/dist/irdevice/fan.js +1 -4
  70. package/dist/irdevice/fan.js.map +1 -1
  71. package/dist/irdevice/irdevice.d.ts +0 -9
  72. package/dist/irdevice/irdevice.d.ts.map +1 -1
  73. package/dist/irdevice/irdevice.js +6 -33
  74. package/dist/irdevice/irdevice.js.map +1 -1
  75. package/dist/irdevice/light.d.ts.map +1 -1
  76. package/dist/irdevice/light.js +3 -12
  77. package/dist/irdevice/light.js.map +1 -1
  78. package/dist/irdevice/other.d.ts.map +1 -1
  79. package/dist/irdevice/other.js +20 -50
  80. package/dist/irdevice/other.js.map +1 -1
  81. package/dist/irdevice/tv.d.ts.map +1 -1
  82. package/dist/irdevice/tv.js +3 -12
  83. package/dist/irdevice/tv.js.map +1 -1
  84. package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
  85. package/dist/irdevice/vacuumcleaner.js +1 -4
  86. package/dist/irdevice/vacuumcleaner.js.map +1 -1
  87. package/dist/irdevice/waterheater.js +1 -1
  88. package/dist/irdevice/waterheater.js.map +1 -1
  89. package/dist/platform.d.ts +8 -0
  90. package/dist/platform.d.ts.map +1 -1
  91. package/dist/platform.js +297 -81
  92. package/dist/platform.js.map +1 -1
  93. package/dist/settings.d.ts +1 -1
  94. package/dist/settings.d.ts.map +1 -1
  95. package/package.json +1 -1
  96. package/src/device/blindtilt.ts +3 -15
  97. package/src/device/bot.ts +11 -55
  98. package/src/device/ceilinglight.ts +1 -5
  99. package/src/device/colorbulb.ts +1 -5
  100. package/src/device/contact.ts +4 -20
  101. package/src/device/curtain.ts +3 -15
  102. package/src/device/device.ts +6 -46
  103. package/src/device/fan.ts +3 -15
  104. package/src/device/hub.ts +3 -15
  105. package/src/device/humidifier.ts +2 -10
  106. package/src/device/iosensor.ts +3 -15
  107. package/src/device/lightstrip.ts +1 -5
  108. package/src/device/lock.ts +4 -20
  109. package/src/device/meter.ts +4 -16
  110. package/src/device/meterplus.ts +4 -16
  111. package/src/device/motion.ts +4 -17
  112. package/src/device/plug.ts +1 -5
  113. package/src/device/robotvacuumcleaner.ts +2 -10
  114. package/src/device/waterdetector.ts +2 -10
  115. package/src/irdevice/airconditioner.ts +2 -10
  116. package/src/irdevice/airpurifier.ts +2 -10
  117. package/src/irdevice/camera.ts +1 -5
  118. package/src/irdevice/fan.ts +1 -5
  119. package/src/irdevice/irdevice.ts +6 -39
  120. package/src/irdevice/light.ts +3 -15
  121. package/src/irdevice/other.ts +20 -60
  122. package/src/irdevice/tv.ts +3 -15
  123. package/src/irdevice/vacuumcleaner.ts +1 -5
  124. package/src/irdevice/waterheater.ts +1 -1
  125. package/src/platform.ts +302 -81
  126. package/src/settings.ts +1 -1
@@ -58,7 +58,7 @@ interface options {
58
58
  }
59
59
  export interface devicesConfig extends device {
60
60
  bleMac?: string;
61
- model?: string;
61
+ model: string;
62
62
  bleModel: SwitchBotBLEModel;
63
63
  bleModelName: SwitchBotBLEModelName;
64
64
  bleModelFriednlyName: SwitchBotBLEModelFriendlyName;
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "displayName": "SwitchBot",
3
3
  "name": "@switchbot/homebridge-switchbot",
4
- "version": "3.6.1-beta.13",
4
+ "version": "3.6.1-beta.15",
5
5
  "description": "The SwitchBot plugin allows you to access your SwitchBot device(s) from HomeKit.",
6
6
  "author": {
7
7
  "name": "SwitchBot",
@@ -80,12 +80,8 @@ export class BlindTilt extends deviceBase {
80
80
 
81
81
  // Initialize WindowCovering Service
82
82
  accessory.context.WindowCovering = accessory.context.WindowCovering ?? {};
83
- if (accessory.context.WindowCovering.Name) {
84
- accessory.context.WindowCovering.Name = this.validateAndCleanString(accessory.context.WindowCovering.Name,
85
- 'WindowCovering Name', accessory.context.WindowCovering.Name);
86
- }
87
83
  this.WindowCovering = {
88
- Name: accessory.context.WindowCovering.Name ?? accessory.displayName,
84
+ Name: accessory.displayName,
89
85
  Service: accessory.getService(this.hap.Service.WindowCovering) ?? accessory.addService(this.hap.Service.WindowCovering) as Service,
90
86
  PositionState: accessory.context.PositionState ?? this.hap.Characteristic.PositionState.STOPPED,
91
87
  TargetPosition: accessory.context.TargetPosition ?? 100,
@@ -150,12 +146,8 @@ export class BlindTilt extends deviceBase {
150
146
 
151
147
  // Initialize Battery Service
152
148
  accessory.context.Battery = accessory.context.Battery ?? {};
153
- if (accessory.context.Battery.Name) {
154
- accessory.context.Battery.Name = this.validateAndCleanString(accessory.context.Battery.Name,
155
- 'Battery Name', accessory.context.Battery.Name);
156
- }
157
149
  this.Battery = {
158
- Name: accessory.context.Battery.Name ?? `${accessory.displayName} Battery`,
150
+ Name: `${accessory.displayName} Battery`,
159
151
  Service: accessory.getService(this.hap.Service.Battery) ?? accessory.addService(this.hap.Service.Battery) as Service,
160
152
  BatteryLevel: accessory.context.BatteryLevel ?? 100,
161
153
  StatusLowBattery: this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL,
@@ -180,12 +172,8 @@ export class BlindTilt extends deviceBase {
180
172
  }
181
173
  } else {
182
174
  accessory.context.LightSensor = accessory.context.LightSensor ?? {};
183
- if (accessory.context.LightSensor.Name) {
184
- accessory.context.LightSensor.Name = this.validateAndCleanString(accessory.context.LightSensor.Name,
185
- 'LightSensor Name', accessory.context.LightSensor.Name);
186
- }
187
175
  this.LightSensor = {
188
- Name: accessory.context.LightSensor.Name ?? `${accessory.displayName} Light Sensor`,
176
+ Name: `${accessory.displayName} Light Sensor`,
189
177
  Service: accessory.getService(this.hap.Service.LightSensor) ?? accessory.addService(this.hap.Service.LightSensor) as Service,
190
178
  CurrentAmbientLightLevel: accessory.context.CurrentAmbientLightLevel ?? 0.0001,
191
179
  };
package/src/device/bot.ts CHANGED
@@ -117,12 +117,8 @@ export class Bot extends deviceBase {
117
117
 
118
118
  // Initialize Battery property
119
119
  accessory.context.Battery = accessory.context.Battery ?? {};
120
- if (accessory.context.Battery.Name) {
121
- accessory.context.Battery.Name = this.validateAndCleanString(accessory.context.Battery.Name,
122
- 'Battery Name', accessory.context.Battery.Name);
123
- }
124
120
  this.Battery = {
125
- Name: accessory.context.Battery.Name ?? `${accessory.displayName} Battery`,
121
+ Name: `${accessory.displayName} Battery`,
126
122
  Service: accessory.getService(this.hap.Service.Battery) ?? accessory.addService(this.hap.Service.Battery) as Service,
127
123
  BatteryLevel: accessory.context.BatteryLevel ?? 100,
128
124
  StatusLowBattery: accessory.context.StatusLowBattery ?? this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL,
@@ -140,12 +136,8 @@ export class Bot extends deviceBase {
140
136
  accessory.category = this.hap.Categories.SWITCH;
141
137
  // Initialize Switch Service
142
138
  accessory.context.Switch = accessory.context.Switch ?? {};
143
- if (accessory.context.Switch.Name) {
144
- accessory.context.Switch.Name = this.validateAndCleanString(accessory.context.Switch.Name,
145
- 'Switch Name', accessory.context.Switch.Name);
146
- }
147
139
  this.Switch = {
148
- Name: accessory.context.Switch.Name ?? accessory.displayName,
140
+ Name: accessory.displayName,
149
141
  Service: accessory.getService(this.hap.Service.Switch) ?? accessory.addService(this.hap.Service.Switch) as Service,
150
142
  };
151
143
  accessory.context.Switch = this.Switch as object;
@@ -170,12 +162,8 @@ export class Bot extends deviceBase {
170
162
  accessory.category = this.hap.Categories.GARAGE_DOOR_OPENER;
171
163
  // Initialize GarageDoor Service
172
164
  accessory.context.GarageDoor = accessory.context.GarageDoor ?? {};
173
- if (accessory.context.GarageDoor.Name) {
174
- accessory.context.GarageDoor.Name = this.validateAndCleanString(accessory.context.GarageDoor.Name,
175
- 'GarageDoor Name', accessory.context.GarageDoor.Name);
176
- }
177
165
  this.GarageDoor = {
178
- Name: accessory.context.GarageDoor.Name ?? accessory.displayName,
166
+ Name: accessory.displayName,
179
167
  Service: accessory.getService(this.hap.Service.GarageDoorOpener) ?? accessory.addService(this.hap.Service.GarageDoorOpener) as Service,
180
168
  };
181
169
  accessory.context.GarageDoor = this.GarageDoor as object;
@@ -207,12 +195,8 @@ export class Bot extends deviceBase {
207
195
  accessory.category = this.hap.Categories.DOOR;
208
196
  // Initialize Door Service
209
197
  accessory.context.Door = accessory.context.Door ?? {};
210
- if (accessory.context.Door.Name) {
211
- accessory.context.Door.Name = this.validateAndCleanString(accessory.context.Door.Name,
212
- 'Door Name', accessory.context.Door.Name);
213
- }
214
198
  this.Door = {
215
- Name: accessory.context.Door.Name ?? accessory.displayName,
199
+ Name: accessory.displayName,
216
200
  Service: accessory.getService(this.hap.Service.Door) ?? accessory.addService(this.hap.Service.Door) as Service,
217
201
  };
218
202
  accessory.context.Door = this.Door as object;
@@ -243,12 +227,8 @@ export class Bot extends deviceBase {
243
227
  accessory.category = this.hap.Categories.WINDOW;
244
228
  // Initialize Window Service
245
229
  accessory.context.Window = accessory.context.Window ?? {};
246
- if (accessory.context.Window.Name) {
247
- accessory.context.Window.Name = this.validateAndCleanString(accessory.context.Window.Name,
248
- 'Window Name', accessory.context.Window.Name);
249
- }
250
230
  this.Window = {
251
- Name: accessory.context.Window.Name ?? accessory.displayName,
231
+ Name: accessory.displayName,
252
232
  Service: accessory.getService(this.hap.Service.Window) ?? accessory.addService(this.hap.Service.Window) as Service,
253
233
  };
254
234
  accessory.context.Window = this.Window as object;
@@ -279,12 +259,8 @@ export class Bot extends deviceBase {
279
259
  accessory.category = this.hap.Categories.WINDOW_COVERING;
280
260
  // Initialize WindowCovering Service
281
261
  accessory.context.WindowCovering = accessory.context.WindowCovering ?? {};
282
- if (accessory.context.WindowCovering.Name) {
283
- accessory.context.WindowCovering.Name = this.validateAndCleanString(accessory.context.WindowCovering.Name,
284
- 'WindowCovering Name', accessory.context.WindowCovering.Name);
285
- }
286
262
  this.WindowCovering = {
287
- Name: accessory.context.WindowCovering.Name ?? accessory.displayName,
263
+ Name: accessory.displayName,
288
264
  Service: accessory.getService(this.hap.Service.WindowCovering) ?? accessory.addService(this.hap.Service.WindowCovering) as Service,
289
265
  };
290
266
  accessory.context.WindowCovering = this.WindowCovering as object;
@@ -316,12 +292,8 @@ export class Bot extends deviceBase {
316
292
  accessory.category = this.hap.Categories.DOOR_LOCK;
317
293
  // Initialize Lock Service
318
294
  accessory.context.LockMechanism = accessory.context.LockMechanism ?? {};
319
- if (accessory.context.LockMechanism.Name) {
320
- accessory.context.LockMechanism.Name = this.validateAndCleanString(accessory.context.LockMechanism.Name,
321
- 'LockMechanism Name', accessory.context.LockMechanism.Name);
322
- }
323
295
  this.LockMechanism = {
324
- Name: accessory.context.LockMechanism.Name ?? accessory.displayName,
296
+ Name: accessory.displayName,
325
297
  Service: accessory.getService(this.hap.Service.LockMechanism) ?? accessory.addService(this.hap.Service.LockMechanism) as Service,
326
298
  };
327
299
  accessory.context.LockMechanism = this.LockMechanism as object;
@@ -347,12 +319,8 @@ export class Bot extends deviceBase {
347
319
  accessory.category = this.hap.Categories.FAUCET;
348
320
  // Initialize Faucet Service
349
321
  accessory.context.Faucet = accessory.context.Faucet ?? {};
350
- if (accessory.context.Faucet.Name) {
351
- accessory.context.Faucet.Name = this.validateAndCleanString(accessory.context.Faucet.Name,
352
- 'Faucet Name', accessory.context.Faucet.Name);
353
- }
354
322
  this.Faucet = {
355
- Name: accessory.context.Faucet.Name ?? accessory.displayName,
323
+ Name: accessory.displayName,
356
324
  Service: accessory.getService(this.hap.Service.Faucet) ?? accessory.addService(this.hap.Service.Faucet) as Service,
357
325
  };
358
326
  accessory.context.Faucet = this.Faucet as object;
@@ -377,12 +345,8 @@ export class Bot extends deviceBase {
377
345
  accessory.category = this.hap.Categories.FAN;
378
346
  // Initialize Fan Service
379
347
  accessory.context.Fan = accessory.context.Fan ?? {};
380
- if (accessory.context.Fan.Name) {
381
- accessory.context.Fan.Name = this.validateAndCleanString(accessory.context.Fan.Name,
382
- 'Fan Name', accessory.context.Fan.Name);
383
- }
384
348
  this.Fan = {
385
- Name: accessory.context.Fan.Name ?? accessory.displayName,
349
+ Name: accessory.displayName,
386
350
  Service: accessory.getService(this.hap.Service.Fanv2) ?? accessory.addService(this.hap.Service.Fanv2) as Service,
387
351
  };
388
352
  accessory.context.Fan = this.Fan as object;
@@ -407,12 +371,8 @@ export class Bot extends deviceBase {
407
371
  accessory.category = this.hap.Categories.PROGRAMMABLE_SWITCH;
408
372
  // Initialize StatefulProgrammableSwitch Service
409
373
  accessory.context.StatefulProgrammableSwitch = accessory.context.StatefulProgrammableSwitch ?? {};
410
- if (accessory.context.StatefulProgrammableSwitch.Name) {
411
- accessory.context.StatefulProgrammableSwitch.Name = this.validateAndCleanString(accessory.context.StatefulProgrammableSwitch.Name,
412
- 'StatefulProgrammableSwitch Name', accessory.context.StatefulProgrammableSwitch.Name);
413
- }
414
374
  this.StatefulProgrammableSwitch = {
415
- Name: accessory.context.StatefulProgrammableSwitch.Name ?? accessory.displayName,
375
+ Name: accessory.displayName,
416
376
  Service: accessory.getService(this.hap.Service.StatefulProgrammableSwitch)
417
377
  ?? accessory.addService(this.hap.Service.StatefulProgrammableSwitch) as Service,
418
378
  };
@@ -438,12 +398,8 @@ export class Bot extends deviceBase {
438
398
  accessory.category = this.hap.Categories.OUTLET;
439
399
  // Initialize Switch property
440
400
  accessory.context.Outlet = accessory.context.Outlet ?? {};
441
- if (accessory.context.Outlet.Name) {
442
- accessory.context.Outlet.Name = this.validateAndCleanString(accessory.context.Outlet.Name,
443
- 'Outlet Name', accessory.context.Outlet.Name);
444
- }
445
401
  this.Outlet = {
446
- Name: accessory.context.Outlet.Name ?? accessory.displayName,
402
+ Name: accessory.displayName,
447
403
  Service: accessory.getService(this.hap.Service.Outlet) ?? accessory.addService(this.hap.Service.Outlet) as Service,
448
404
  };
449
405
  accessory.context.Outlet = this.Outlet as object;
@@ -68,12 +68,8 @@ export class CeilingLight extends deviceBase {
68
68
 
69
69
  // Initialize LightBulb Service
70
70
  accessory.context.LightBulb = accessory.context.LightBulb ?? {};
71
- if (accessory.context.LightBulb.Name) {
72
- accessory.context.LightBulb.Name = this.validateAndCleanString(accessory.context.LightBulb.Name,
73
- 'LightBulb Name', accessory.context.LightBulb.Name);
74
- }
75
71
  this.LightBulb = {
76
- Name: accessory.context.LightBulb.Name ?? accessory.displayName,
72
+ Name: accessory.displayName,
77
73
  Service: accessory.getService(this.hap.Service.Lightbulb) ?? accessory.addService(this.hap.Service.Lightbulb) as Service,
78
74
  On: accessory.context.On ?? false,
79
75
  Hue: accessory.context.Hue ?? 0,
@@ -68,12 +68,8 @@ export class ColorBulb extends deviceBase {
68
68
 
69
69
  // Initialize LightBulb property
70
70
  accessory.context.LightBulb = accessory.context.LightBulb ?? {};
71
- if (accessory.context.LightBulb.Name) {
72
- accessory.context.LightBulb.Name = this.validateAndCleanString(accessory.context.LightBulb.Name,
73
- 'LightBulb Name', accessory.context.LightBulb.Name);
74
- }
75
71
  this.LightBulb = {
76
- Name: accessory.context.LightBulb.Name ?? accessory.displayName,
72
+ Name: accessory.displayName,
77
73
  Service: accessory.getService(this.hap.Service.Lightbulb) ?? accessory.addService(this.hap.Service.Lightbulb) as Service,
78
74
  On: accessory.context.On ?? false,
79
75
  Hue: accessory.context.Hue ?? 0,
@@ -74,12 +74,8 @@ export class Contact extends deviceBase {
74
74
 
75
75
  // Initialize Contact Sensor Service
76
76
  accessory.context.ContactSensor = accessory.context.ContactSensor ?? {};
77
- if (accessory.context.ContactSensor.Name) {
78
- accessory.context.ContactSensor.Name = this.validateAndCleanString(accessory.context.ContactSensor.Name,
79
- 'ContactSensor Name', accessory.context.ContactSensor.Name);
80
- }
81
77
  this.ContactSensor = {
82
- Name: accessory.context.ContactSensor.Name ?? accessory.displayName,
78
+ Name: accessory.displayName,
83
79
  Service: accessory.getService(this.hap.Service.ContactSensor) ?? accessory.addService(this.hap.Service.ContactSensor) as Service,
84
80
  ContactSensorState: accessory.context.ContactSensorState ?? this.hap.Characteristic.ContactSensorState.CONTACT_DETECTED,
85
81
  };
@@ -96,12 +92,8 @@ export class Contact extends deviceBase {
96
92
 
97
93
  // Initialize Battery Service
98
94
  accessory.context.Battery = accessory.context.Battery ?? {};
99
- if (accessory.context.Battery.Name) {
100
- accessory.context.Battery.Name = this.validateAndCleanString(accessory.context.Battery.Name,
101
- 'Battery Name', accessory.context.Battery.Name);
102
- }
103
95
  this.Battery = {
104
- Name: accessory.context.Battery.Name ?? `${accessory.displayName} Battery`,
96
+ Name: `${accessory.displayName} Battery`,
105
97
  Service: accessory.getService(this.hap.Service.Battery) ?? accessory.addService(this.hap.Service.Battery) as Service,
106
98
  BatteryLevel: accessory.context.BatteryLevel ?? 100,
107
99
  StatusLowBattery: accessory.context.StatusLowBattery ?? this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL,
@@ -133,12 +125,8 @@ export class Contact extends deviceBase {
133
125
  }
134
126
  } else {
135
127
  accessory.context.MotionSensor = accessory.context.MotionSensor ?? {};
136
- if (accessory.context.MotionSensor.Name) {
137
- accessory.context.MotionSensor.Name = this.validateAndCleanString(accessory.context.MotionSensor.Name,
138
- 'MotionSensor Name', accessory.context.MotionSensor.Name);
139
- }
140
128
  this.MotionSensor = {
141
- Name: accessory.context.MotionSensor.Name ?? `${accessory.displayName} Motion Sensor`,
129
+ Name: `${accessory.displayName} Motion Sensor`,
142
130
  Service: accessory.getService(this.hap.Service.MotionSensor) ?? accessory.addService(this.hap.Service.MotionSensor) as Service,
143
131
  MotionDetected: accessory.context.MotionDetected ?? false,
144
132
  };
@@ -163,12 +151,8 @@ export class Contact extends deviceBase {
163
151
  }
164
152
  } else {
165
153
  accessory.context.LightSensor = accessory.context.LightSensor ?? {};
166
- if (accessory.context.LightSensor.Name) {
167
- accessory.context.LightSensor.Name = this.validateAndCleanString(accessory.context.LightSensor.Name,
168
- 'LightSensor Name', accessory.context.LightSensor.Name);
169
- }
170
154
  this.LightSensor = {
171
- Name: accessory.context.LightSensor.Name ?? `${accessory.displayName} Light Sensor`,
155
+ Name: `${accessory.displayName} Light Sensor`,
172
156
  Service: accessory.getService(this.hap.Service.LightSensor) ?? accessory.addService(this.hap.Service.LightSensor) as Service,
173
157
  CurrentAmbientLightLevel: accessory.context.CurrentAmbientLightLevel ?? 0.0001,
174
158
  };
@@ -73,12 +73,8 @@ export class Curtain extends deviceBase {
73
73
 
74
74
  // Initialize WindowCovering Service
75
75
  accessory.context.WindowCovering = accessory.context.WindowCovering ?? {};
76
- if (accessory.context.WindowCovering.Name) {
77
- accessory.context.WindowCovering.Name = this.validateAndCleanString(accessory.context.WindowCovering.Name,
78
- 'WindowCovering Name', accessory.context.WindowCovering.Name);
79
- }
80
76
  this.WindowCovering = {
81
- Name: accessory.context.WindowCovering.Name ?? accessory.displayName,
77
+ Name: accessory.displayName,
82
78
  Service: accessory.getService(this.hap.Service.WindowCovering) ?? accessory.addService(this.hap.Service.WindowCovering) as Service,
83
79
  PositionState: accessory.context.PositionState ?? this.hap.Characteristic.PositionState.STOPPED,
84
80
  TargetPosition: accessory.context.TargetPosition ?? 100,
@@ -133,12 +129,8 @@ export class Curtain extends deviceBase {
133
129
 
134
130
  // Initialize Battery Service
135
131
  accessory.context.Battery = accessory.context.Battery ?? {};
136
- if (accessory.context.Battery.Name) {
137
- accessory.context.Battery.Name = this.validateAndCleanString(accessory.context.Battery.Name,
138
- 'Battery Name', accessory.context.Battery.Name);
139
- }
140
132
  this.Battery = {
141
- Name: accessory.context.Battery.Name ?? `${accessory.displayName} Battery`,
133
+ Name: `${accessory.displayName} Battery`,
142
134
  Service: accessory.getService(this.hap.Service.Battery) ?? accessory.addService(this.hap.Service.Battery) as Service,
143
135
  BatteryLevel: accessory.context.BatteryLevel ?? 100,
144
136
  StatusLowBattery: accessory.context.StatusLowBattery ?? this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL,
@@ -176,12 +168,8 @@ export class Curtain extends deviceBase {
176
168
  }
177
169
  } else {
178
170
  accessory.context.LightSensor = accessory.context.LightSensor ?? {};
179
- if (accessory.context.LightSensor.Name) {
180
- accessory.context.LightSensor.Name = this.validateAndCleanString(accessory.context.LightSensor.Name,
181
- 'LightSensor Name', accessory.context.LightSensor.Name);
182
- }
183
171
  this.LightSensor = {
184
- Name: accessory.context.LightSensor.Name ?? `${accessory.displayName} Light Sensor`,
172
+ Name: `${accessory.displayName} Light Sensor`,
185
173
  Service: accessory.getService(this.hap.Service.LightSensor) ?? this.accessory.addService(this.hap.Service.LightSensor) as Service,
186
174
  CurrentAmbientLightLevel: accessory.context.CurrentAmbientLightLevel ?? 0.0001,
187
175
  };
@@ -79,20 +79,13 @@ export abstract class deviceBase {
79
79
  .getService(this.hap.Service.AccessoryInformation)!
80
80
  .setCharacteristic(this.hap.Characteristic.Manufacturer, 'SwitchBot')
81
81
  .setCharacteristic(this.hap.Characteristic.AppMatchingIdentifier, 'id1087374760')
82
- .setCharacteristic(this.hap.Characteristic.Name, this.validName(accessory, device))
83
- .setCharacteristic(this.hap.Characteristic.ConfiguredName, this.validName(accessory, device))
84
- .setCharacteristic(this.hap.Characteristic.Model, device.model ?? accessory.context.model)
85
- .setCharacteristic(this.hap.Characteristic.ProductData, device.deviceId ?? accessory.context.deviceId)
82
+ .setCharacteristic(this.hap.Characteristic.Name, accessory.displayName)
83
+ .setCharacteristic(this.hap.Characteristic.ConfiguredName, accessory.displayName)
84
+ .setCharacteristic(this.hap.Characteristic.Model, device.model)
85
+ .setCharacteristic(this.hap.Characteristic.ProductData, device.deviceId)
86
86
  .setCharacteristic(this.hap.Characteristic.SerialNumber, device.deviceId);
87
87
  }
88
88
 
89
- public validName(accessory: PlatformAccessory, device: device & devicesConfig) {
90
- const Name = device.configDeviceName ?? device.deviceName ?? accessory.displayName;
91
- const NameOfName = device.configDeviceName ? 'configDeviceName' : device.deviceName ? 'deviceName' : 'displayName';
92
- const validName = this.validateAndCleanString(Name, NameOfName, Name);
93
- return validName;
94
- }
95
-
96
89
  async getDeviceLogSettings(accessory: PlatformAccessory, device: device & devicesConfig): Promise<void> {
97
90
  this.deviceLogging = this.platform.debugMode ? 'debugMode' : device.logging ?? this.config.logging ?? 'standard';
98
91
  const logging = this.platform.debugMode ? 'Debug Mode' : device.logging ? 'Device Config' : this.config.logging ? 'Platform Config' : 'Default';
@@ -444,9 +437,9 @@ export abstract class deviceBase {
444
437
  }
445
438
  Service.updateCharacteristic(Characteristic, CharacteristicValue);
446
439
  this.debugLog(`updateCharacteristic ${CharacteristicName}: ${CharacteristicValue}`);
447
- this.debugWarnLog(`context before: ${this.accessory.context[CharacteristicName]}`);
440
+ this.debugWarnLog(`${CharacteristicName} context before: ${this.accessory.context[CharacteristicName]}`);
448
441
  this.accessory.context[CharacteristicName] = CharacteristicValue;
449
- this.debugWarnLog(`context after: ${this.accessory.context[CharacteristicName]}`);
442
+ this.debugWarnLog(`${CharacteristicName} context after: ${this.accessory.context[CharacteristicName]}`);
450
443
  }
451
444
  }
452
445
 
@@ -772,39 +765,6 @@ export abstract class deviceBase {
772
765
  }
773
766
  }
774
767
 
775
- /**
776
- * Validate and clean a string value for a Name Characteristic.
777
- * @param displayName
778
- * @param name
779
- * @param value
780
- * @returns string value
781
- */
782
- validateAndCleanString(displayName: string, name: string, value: string): string {
783
- const validPattern = /^[a-zA-Z0-9][a-zA-Z0-9 ']*[a-zA-Z0-9]$/;
784
- const invalidCharsPattern = /[^a-zA-Z0-9 ']/g;
785
- const invalidStartEndPattern = /^[^a-zA-Z0-9]+|[^a-zA-Z0-9]+$/g;
786
-
787
- if (!validPattern.test(value)) {
788
- this.warnLog(`WARNING: The accessory '${displayName}' has an invalid '${name}' characteristic ('${value}'). Please use only alphanumeric,`
789
- + ' space, and apostrophe characters. Ensure it starts and ends with an alphabetic or numeric character, and avoid emojis. This may'
790
- + ' prevent the accessory from being added in the Home App or cause unresponsiveness.');
791
-
792
- // Remove invalid characters
793
- if (invalidCharsPattern.test(value)) {
794
- this.warnLog(`Removing invalid characters from '${name}' characteristic`);
795
- value = value.replace(invalidCharsPattern, '');
796
- }
797
-
798
- // Ensure it starts and ends with an alphanumeric character
799
- if (invalidStartEndPattern.test(value)) {
800
- this.warnLog(`Removing invalid starting or ending characters from '${name}' characteristic`);
801
- value = value.replace(invalidStartEndPattern, '');
802
- }
803
- }
804
-
805
- return value;
806
- }
807
-
808
768
  /**
809
769
  * Logging for Device
810
770
  */
package/src/device/fan.ts CHANGED
@@ -67,12 +67,8 @@ export class Fan extends deviceBase {
67
67
 
68
68
  // Initialize Fan Service
69
69
  accessory.context.Fan = accessory.context.Fan ?? {};
70
- if (accessory.context.Fan.Name) {
71
- accessory.context.Fan.Name = this.validateAndCleanString(accessory.context.Fan.Name,
72
- 'Fan Name', accessory.context.Fan.Name);
73
- }
74
70
  this.Fan = {
75
- Name: accessory.context.Fan.Name ?? accessory.displayName,
71
+ Name: accessory.displayName,
76
72
  Service: accessory.getService(this.hap.Service.Fanv2) ?? accessory.addService(this.hap.Service.Fanv2) as Service,
77
73
  Active: accessory.context.Active ?? this.hap.Characteristic.Active.INACTIVE,
78
74
  SwingMode: accessory.context.SwingMode ?? this.hap.Characteristic.SwingMode.SWING_DISABLED,
@@ -106,12 +102,8 @@ export class Fan extends deviceBase {
106
102
 
107
103
  // Initialize Battery Service
108
104
  accessory.context.Battery = accessory.context.Battery ?? {};
109
- if (accessory.context.Battery.Name) {
110
- accessory.context.Battery.Name = this.validateAndCleanString(accessory.context.Battery.Name,
111
- 'Battery Name', accessory.context.Battery.Name);
112
- }
113
105
  this.Battery = {
114
- Name: accessory.context.Battery.Name ?? accessory.displayName,
106
+ Name: `${accessory.displayName} Battery`,
115
107
  Service: accessory.getService(this.hap.Service.Battery) ?? accessory.addService(this.hap.Service.Battery) as Service,
116
108
  BatteryLevel: accessory.context.BatteryLevel ?? 100,
117
109
  StatusLowBattery: accessory.context.StatusLowBattery ?? this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL,
@@ -143,12 +135,8 @@ export class Fan extends deviceBase {
143
135
 
144
136
  // Initialize LightBulb Service
145
137
  accessory.context.LightBulb = accessory.context.LightBulb ?? {};
146
- if (accessory.context.LightBulb.Name) {
147
- accessory.context.LightBulb.Name = this.validateAndCleanString(accessory.context.LightBulb.Name,
148
- 'LightBulb Name', accessory.context.LightBulb.Name);
149
- }
150
138
  this.LightBulb = {
151
- Name: accessory.context.LightBulb.Name ?? accessory.displayName,
139
+ Name: `${accessory.displayName} Night Light`,
152
140
  Service: accessory.getService(this.hap.Service.Lightbulb) ?? accessory.addService(this.hap.Service.Lightbulb) as Service,
153
141
  On: accessory.context.On ?? false,
154
142
  Brightness: accessory.context.Brightness ?? 0,
package/src/device/hub.ts CHANGED
@@ -71,12 +71,8 @@ export class Hub extends deviceBase {
71
71
  }
72
72
  } else {
73
73
  accessory.context.TemperatureSensor = accessory.context.TemperatureSensor ?? {};
74
- if (accessory.context.TemperatureSensor.Name) {
75
- accessory.context.TemperatureSensor.Name = this.validateAndCleanString(accessory.context.TemperatureSensor.Name,
76
- 'TemperatureSensor Name', accessory.context.TemperatureSensor.Name);
77
- }
78
74
  this.TemperatureSensor = {
79
- Name: accessory.context.TemperatureSensor.Name ?? `${accessory.displayName} Temperature Sensor`,
75
+ Name: `${accessory.displayName} Temperature Sensor`,
80
76
  Service: accessory.getService(this.hap.Service.TemperatureSensor) ?? this.accessory.addService(this.hap.Service.TemperatureSensor) as Service,
81
77
  CurrentTemperature: accessory.context.CurrentTemperature ?? 0,
82
78
  };
@@ -107,12 +103,8 @@ export class Hub extends deviceBase {
107
103
  }
108
104
  } else {
109
105
  accessory.context.HumiditySensor = accessory.context.HumiditySensor ?? {};
110
- if (accessory.context.HumiditySensor.Name) {
111
- accessory.context.HumiditySensor.Name = this.validateAndCleanString(accessory.context.HumiditySensor.Name,
112
- 'HumiditySensor Name', accessory.context.HumiditySensor.Name);
113
- }
114
106
  this.HumiditySensor = {
115
- Name: accessory.context.HumiditySensor.Name ?? `${accessory.displayName} Humidity Sensor`,
107
+ Name: `${accessory.displayName} Humidity Sensor`,
116
108
  Service: accessory.getService(this.hap.Service.HumiditySensor) ?? this.accessory.addService(this.hap.Service.HumiditySensor) as Service,
117
109
  CurrentRelativeHumidity: accessory.context.CurrentRelativeHumidity ?? 0,
118
110
  };
@@ -139,12 +131,8 @@ export class Hub extends deviceBase {
139
131
  }
140
132
  } else {
141
133
  accessory.context.LightSensor = accessory.context.LightSensor ?? {};
142
- if (accessory.context.LightSensor.Name) {
143
- accessory.context.LightSensor.Name = this.validateAndCleanString(accessory.context.LightSensor.Name,
144
- 'LightSensor Name', accessory.context.LightSensor.Name);
145
- }
146
134
  this.LightSensor = {
147
- Name: accessory.context.LightSensor.Name ?? `${accessory.displayName} Light Sensor`,
135
+ Name: `${accessory.displayName} Light Sensor`,
148
136
  Service: accessory.getService(this.hap.Service.LightSensor) ?? this.accessory.addService(this.hap.Service.LightSensor) as Service,
149
137
  CurrentAmbientLightLevel: accessory.context.CurrentAmbientLightLevel ?? 0.0001,
150
138
  };
@@ -67,12 +67,8 @@ export class Humidifier extends deviceBase {
67
67
 
68
68
  // Initialize the HumidifierDehumidifier Service
69
69
  accessory.context.HumidifierDehumidifier = accessory.context.HumidifierDehumidifier ?? {};
70
- if (accessory.context.HumidifierDehumidifier.Name) {
71
- accessory.context.HumidifierDehumidifier.Name = this.validateAndCleanString(accessory.context.HumidifierDehumidifier.Name,
72
- 'HumidifierDehumidifier Name', accessory.context.HumidifierDehumidifier.Name);
73
- }
74
70
  this.HumidifierDehumidifier = {
75
- Name: accessory.context.HumidifierDehumidifier.Name ?? accessory.displayName,
71
+ Name: accessory.displayName,
76
72
  Service: accessory.getService(this.hap.Service.HumidifierDehumidifier)
77
73
  ?? accessory.addService(this.hap.Service.HumidifierDehumidifier) as Service,
78
74
  Active: accessory.context.Active ?? this.hap.Characteristic.Active.ACTIVE,
@@ -132,12 +128,8 @@ export class Humidifier extends deviceBase {
132
128
  }
133
129
  } else {
134
130
  accessory.context.TemperatureSensor = accessory.context.TemperatureSensor ?? {};
135
- if (accessory.context.TemperatureSensor.Name) {
136
- accessory.context.TemperatureSensor.Name = this.validateAndCleanString(accessory.context.TemperatureSensor.Name,
137
- 'TemperatureSensor Name', accessory.context.TemperatureSensor.Name);
138
- }
139
131
  this.TemperatureSensor = {
140
- Name: accessory.context.TemperatureSensor.Name ?? `${accessory.displayName} Temperature Sensor`,
132
+ Name: `${accessory.displayName} Temperature Sensor`,
141
133
  Service: accessory.getService(this.hap.Service.TemperatureSensor) ?? this.accessory.addService(this.hap.Service.TemperatureSensor) as Service,
142
134
  CurrentTemperature: accessory.context.CurrentTemperature || 30,
143
135
  };
@@ -70,12 +70,8 @@ export class IOSensor extends deviceBase {
70
70
 
71
71
  // Initialize Battery Service
72
72
  accessory.context.Battery = accessory.context.Battery ?? {};
73
- if (accessory.context.Battery.Name) {
74
- accessory.context.Battery.Name = this.validateAndCleanString(accessory.context.Battery.Name,
75
- 'Battery Name', accessory.context.Battery.Name);
76
- }
77
73
  this.Battery = {
78
- Name: accessory.context.Battery.Name ?? `${accessory.displayName} Battery`,
74
+ Name: `${accessory.displayName} Battery`,
79
75
  Service: accessory.getService(this.hap.Service.Battery) ?? accessory.addService(this.hap.Service.Battery) as Service,
80
76
  BatteryLevel: accessory.context.BatteryLevel ?? 100,
81
77
  StatusLowBattery: accessory.context.StatusLowBattery ?? this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL,
@@ -107,12 +103,8 @@ export class IOSensor extends deviceBase {
107
103
  }
108
104
  } else {
109
105
  accessory.context.TemperatureSensor = accessory.context.TemperatureSensor ?? {};
110
- if (accessory.context.TemperatureSensor.Name) {
111
- accessory.context.TemperatureSensor.Name = this.validateAndCleanString(accessory.context.TemperatureSensor.Name,
112
- 'TemperatureSensor Name', accessory.context.TemperatureSensor.Name);
113
- }
114
106
  this.TemperatureSensor = {
115
- Name: accessory.context.TemperatureSensor.Name ?? `${accessory.displayName} Temperature Sensor`,
107
+ Name: `${accessory.displayName} Temperature Sensor`,
116
108
  Service: accessory.getService(this.hap.Service.TemperatureSensor) ?? this.accessory.addService(this.hap.Service.TemperatureSensor) as Service,
117
109
  CurrentTemperature: accessory.context.CurrentTemperature ?? 30,
118
110
  };
@@ -143,12 +135,8 @@ export class IOSensor extends deviceBase {
143
135
  }
144
136
  } else {
145
137
  accessory.context.HumiditySensor = accessory.context.HumiditySensor ?? {};
146
- if (accessory.context.HumiditySensor.Name) {
147
- accessory.context.HumiditySensor.Name = this.validateAndCleanString(accessory.context.HumiditySensor.Name,
148
- 'HumiditySensor Name', accessory.context.HumiditySensor.Name);
149
- }
150
138
  this.HumiditySensor = {
151
- Name: accessory.context.HumiditySensor.Name ?? `${accessory.displayName} Humidity Sensor`,
139
+ Name: `${accessory.displayName} Humidity Sensor`,
152
140
  Service: accessory.getService(this.hap.Service.HumiditySensor) ?? this.accessory.addService(this.hap.Service.HumiditySensor) as Service,
153
141
  CurrentRelativeHumidity: accessory.context.CurrentRelativeHumidity ?? 50,
154
142
  };
@@ -68,12 +68,8 @@ export class StripLight extends deviceBase {
68
68
 
69
69
  // Initialize the LightBulb Service
70
70
  accessory.context.LightBulb = accessory.context.LightBulb ?? {};
71
- if (accessory.context.LightBulb.Name) {
72
- accessory.context.LightBulb.Name = this.validateAndCleanString(accessory.context.LightBulb.Name,
73
- 'LightBulb Name', accessory.context.LightBulb.Name);
74
- }
75
71
  this.LightBulb = {
76
- Name: accessory.context.LightBulb.Name ?? accessory.displayName,
72
+ Name: accessory.displayName,
77
73
  Service: accessory.getService(this.hap.Service.Lightbulb) ?? accessory.addService(this.hap.Service.Lightbulb) as Service,
78
74
  On: accessory.context.On ?? false,
79
75
  Hue: accessory.context.Hue ?? 0,