@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.
- package/dist/device/blindtilt.d.ts.map +1 -1
- package/dist/device/blindtilt.js +3 -12
- package/dist/device/blindtilt.js.map +1 -1
- package/dist/device/bot.d.ts.map +1 -1
- package/dist/device/bot.js +11 -44
- package/dist/device/bot.js.map +1 -1
- package/dist/device/ceilinglight.d.ts.map +1 -1
- package/dist/device/ceilinglight.js +1 -4
- package/dist/device/ceilinglight.js.map +1 -1
- package/dist/device/colorbulb.d.ts.map +1 -1
- package/dist/device/colorbulb.js +1 -4
- package/dist/device/colorbulb.js.map +1 -1
- package/dist/device/contact.d.ts.map +1 -1
- package/dist/device/contact.js +4 -16
- package/dist/device/contact.js.map +1 -1
- package/dist/device/curtain.d.ts.map +1 -1
- package/dist/device/curtain.js +3 -12
- package/dist/device/curtain.js.map +1 -1
- package/dist/device/device.d.ts +0 -9
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/device.js +6 -40
- package/dist/device/device.js.map +1 -1
- package/dist/device/fan.d.ts.map +1 -1
- package/dist/device/fan.js +3 -12
- package/dist/device/fan.js.map +1 -1
- package/dist/device/hub.d.ts.map +1 -1
- package/dist/device/hub.js +3 -12
- package/dist/device/hub.js.map +1 -1
- package/dist/device/humidifier.d.ts.map +1 -1
- package/dist/device/humidifier.js +2 -8
- package/dist/device/humidifier.js.map +1 -1
- package/dist/device/iosensor.d.ts.map +1 -1
- package/dist/device/iosensor.js +3 -12
- package/dist/device/iosensor.js.map +1 -1
- package/dist/device/lightstrip.d.ts.map +1 -1
- package/dist/device/lightstrip.js +1 -4
- package/dist/device/lightstrip.js.map +1 -1
- package/dist/device/lock.d.ts.map +1 -1
- package/dist/device/lock.js +4 -16
- package/dist/device/lock.js.map +1 -1
- package/dist/device/meter.d.ts.map +1 -1
- package/dist/device/meter.js +3 -12
- package/dist/device/meter.js.map +1 -1
- package/dist/device/meterplus.d.ts.map +1 -1
- package/dist/device/meterplus.js +3 -12
- package/dist/device/meterplus.js.map +1 -1
- package/dist/device/motion.d.ts.map +1 -1
- package/dist/device/motion.js +3 -13
- package/dist/device/motion.js.map +1 -1
- package/dist/device/plug.d.ts.map +1 -1
- package/dist/device/plug.js +1 -4
- package/dist/device/plug.js.map +1 -1
- package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
- package/dist/device/robotvacuumcleaner.js +2 -8
- package/dist/device/robotvacuumcleaner.js.map +1 -1
- package/dist/device/waterdetector.d.ts.map +1 -1
- package/dist/device/waterdetector.js +2 -8
- package/dist/device/waterdetector.js.map +1 -1
- package/dist/irdevice/airconditioner.d.ts.map +1 -1
- package/dist/irdevice/airconditioner.js +2 -8
- package/dist/irdevice/airconditioner.js.map +1 -1
- package/dist/irdevice/airpurifier.d.ts.map +1 -1
- package/dist/irdevice/airpurifier.js +2 -8
- package/dist/irdevice/airpurifier.js.map +1 -1
- package/dist/irdevice/camera.d.ts.map +1 -1
- package/dist/irdevice/camera.js +1 -4
- package/dist/irdevice/camera.js.map +1 -1
- package/dist/irdevice/fan.d.ts.map +1 -1
- package/dist/irdevice/fan.js +1 -4
- package/dist/irdevice/fan.js.map +1 -1
- package/dist/irdevice/irdevice.d.ts +0 -9
- package/dist/irdevice/irdevice.d.ts.map +1 -1
- package/dist/irdevice/irdevice.js +6 -33
- package/dist/irdevice/irdevice.js.map +1 -1
- package/dist/irdevice/light.d.ts.map +1 -1
- package/dist/irdevice/light.js +3 -12
- package/dist/irdevice/light.js.map +1 -1
- package/dist/irdevice/other.d.ts.map +1 -1
- package/dist/irdevice/other.js +20 -50
- package/dist/irdevice/other.js.map +1 -1
- package/dist/irdevice/tv.d.ts.map +1 -1
- package/dist/irdevice/tv.js +3 -12
- package/dist/irdevice/tv.js.map +1 -1
- package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
- package/dist/irdevice/vacuumcleaner.js +1 -4
- package/dist/irdevice/vacuumcleaner.js.map +1 -1
- package/dist/irdevice/waterheater.js +1 -1
- package/dist/irdevice/waterheater.js.map +1 -1
- package/dist/platform.d.ts +8 -0
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +297 -81
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +1 -1
- package/dist/settings.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/device/blindtilt.ts +3 -15
- package/src/device/bot.ts +11 -55
- package/src/device/ceilinglight.ts +1 -5
- package/src/device/colorbulb.ts +1 -5
- package/src/device/contact.ts +4 -20
- package/src/device/curtain.ts +3 -15
- package/src/device/device.ts +6 -46
- package/src/device/fan.ts +3 -15
- package/src/device/hub.ts +3 -15
- package/src/device/humidifier.ts +2 -10
- package/src/device/iosensor.ts +3 -15
- package/src/device/lightstrip.ts +1 -5
- package/src/device/lock.ts +4 -20
- package/src/device/meter.ts +4 -16
- package/src/device/meterplus.ts +4 -16
- package/src/device/motion.ts +4 -17
- package/src/device/plug.ts +1 -5
- package/src/device/robotvacuumcleaner.ts +2 -10
- package/src/device/waterdetector.ts +2 -10
- package/src/irdevice/airconditioner.ts +2 -10
- package/src/irdevice/airpurifier.ts +2 -10
- package/src/irdevice/camera.ts +1 -5
- package/src/irdevice/fan.ts +1 -5
- package/src/irdevice/irdevice.ts +6 -39
- package/src/irdevice/light.ts +3 -15
- package/src/irdevice/other.ts +20 -60
- package/src/irdevice/tv.ts +3 -15
- package/src/irdevice/vacuumcleaner.ts +1 -5
- package/src/irdevice/waterheater.ts +1 -1
- package/src/platform.ts +302 -81
- package/src/settings.ts +1 -1
package/dist/settings.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ interface options {
|
|
|
58
58
|
}
|
|
59
59
|
export interface devicesConfig extends device {
|
|
60
60
|
bleMac?: string;
|
|
61
|
-
model
|
|
61
|
+
model: string;
|
|
62
62
|
bleModel: SwitchBotBLEModel;
|
|
63
63
|
bleModelName: SwitchBotBLEModelName;
|
|
64
64
|
bleModelFriednlyName: SwitchBotBLEModelFriendlyName;
|
package/dist/settings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAC9G;;GAEG;AACH,eAAO,MAAM,aAAa,cAAc,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,WAAW,oCAAoC,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,OAAO,4CAA4C,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,YAAY,yDAAyD,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,YAAY,yDAAyD,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,aAAa,0DAA0D,CAAC;AAErF;;GAEG;AACH,eAAO,MAAM,aAAa,0DAA0D,CAAC;AAIrF,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC7D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,UAAU,OAAO;IACf,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,eAAe,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAc,SAAQ,MAAM;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,
|
|
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.
|
|
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",
|
package/src/device/blindtilt.ts
CHANGED
|
@@ -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.
|
|
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:
|
|
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:
|
|
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:
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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,
|
package/src/device/colorbulb.ts
CHANGED
|
@@ -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.
|
|
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,
|
package/src/device/contact.ts
CHANGED
|
@@ -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.
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
};
|
package/src/device/curtain.ts
CHANGED
|
@@ -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.
|
|
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:
|
|
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:
|
|
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
|
};
|
package/src/device/device.ts
CHANGED
|
@@ -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,
|
|
83
|
-
.setCharacteristic(this.hap.Characteristic.ConfiguredName,
|
|
84
|
-
.setCharacteristic(this.hap.Characteristic.Model, device.model
|
|
85
|
-
.setCharacteristic(this.hap.Characteristic.ProductData, device.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(
|
|
440
|
+
this.debugWarnLog(`${CharacteristicName} context before: ${this.accessory.context[CharacteristicName]}`);
|
|
448
441
|
this.accessory.context[CharacteristicName] = CharacteristicValue;
|
|
449
|
-
this.debugWarnLog(
|
|
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.
|
|
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.
|
|
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:
|
|
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:
|
|
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:
|
|
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:
|
|
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
|
};
|
package/src/device/humidifier.ts
CHANGED
|
@@ -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.
|
|
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:
|
|
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
|
};
|
package/src/device/iosensor.ts
CHANGED
|
@@ -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:
|
|
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:
|
|
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:
|
|
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
|
};
|
package/src/device/lightstrip.ts
CHANGED
|
@@ -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.
|
|
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,
|