@switchbot/homebridge-switchbot 3.8.3 → 4.0.0-beta.1
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/.github/npm-version-script.cjs +81 -0
- package/.github/workflows/beta-release.yml +12 -4
- package/CHANGELOG.md +15 -1
- package/config.schema.json +583 -937
- package/dist/device/blindtilt.d.ts +1 -4
- package/dist/device/blindtilt.d.ts.map +1 -1
- package/dist/device/blindtilt.js +68 -66
- package/dist/device/blindtilt.js.map +1 -1
- package/dist/device/bot.d.ts +1 -4
- package/dist/device/bot.d.ts.map +1 -1
- package/dist/device/bot.js +63 -59
- package/dist/device/bot.js.map +1 -1
- package/dist/device/ceilinglight.d.ts +1 -4
- package/dist/device/ceilinglight.d.ts.map +1 -1
- package/dist/device/ceilinglight.js +56 -65
- package/dist/device/ceilinglight.js.map +1 -1
- package/dist/device/colorbulb.d.ts +1 -4
- package/dist/device/colorbulb.d.ts.map +1 -1
- package/dist/device/colorbulb.js +73 -80
- package/dist/device/colorbulb.js.map +1 -1
- package/dist/device/contact.d.ts +1 -4
- package/dist/device/contact.d.ts.map +1 -1
- package/dist/device/contact.js +38 -38
- package/dist/device/contact.js.map +1 -1
- package/dist/device/curtain.d.ts +1 -4
- package/dist/device/curtain.d.ts.map +1 -1
- package/dist/device/curtain.js +60 -60
- package/dist/device/curtain.js.map +1 -1
- package/dist/device/device.d.ts +6 -6
- package/dist/device/device.d.ts.map +1 -1
- package/dist/device/device.js +86 -20
- package/dist/device/device.js.map +1 -1
- package/dist/device/fan.d.ts +1 -4
- package/dist/device/fan.d.ts.map +1 -1
- package/dist/device/fan.js +50 -51
- package/dist/device/fan.js.map +1 -1
- package/dist/device/hub.d.ts +1 -4
- package/dist/device/hub.d.ts.map +1 -1
- package/dist/device/hub.js +48 -48
- package/dist/device/hub.js.map +1 -1
- package/dist/device/humidifier.d.ts +1 -4
- package/dist/device/humidifier.d.ts.map +1 -1
- package/dist/device/humidifier.js +53 -55
- package/dist/device/humidifier.js.map +1 -1
- package/dist/device/iosensor.d.ts +1 -4
- package/dist/device/iosensor.d.ts.map +1 -1
- package/dist/device/iosensor.js +35 -35
- package/dist/device/iosensor.js.map +1 -1
- package/dist/device/lightstrip.d.ts +1 -4
- package/dist/device/lightstrip.d.ts.map +1 -1
- package/dist/device/lightstrip.js +57 -65
- package/dist/device/lightstrip.js.map +1 -1
- package/dist/device/lock.d.ts +1 -4
- package/dist/device/lock.d.ts.map +1 -1
- package/dist/device/lock.js +38 -39
- package/dist/device/lock.js.map +1 -1
- package/dist/device/meter.d.ts +1 -4
- package/dist/device/meter.d.ts.map +1 -1
- package/dist/device/meter.js +35 -35
- package/dist/device/meter.js.map +1 -1
- package/dist/device/meterplus.d.ts +1 -4
- package/dist/device/meterplus.d.ts.map +1 -1
- package/dist/device/meterplus.js +35 -35
- package/dist/device/meterplus.js.map +1 -1
- package/dist/device/motion.d.ts +1 -4
- package/dist/device/motion.d.ts.map +1 -1
- package/dist/device/motion.js +27 -27
- package/dist/device/motion.js.map +1 -1
- package/dist/device/plug.d.ts +1 -4
- package/dist/device/plug.d.ts.map +1 -1
- package/dist/device/plug.js +32 -32
- package/dist/device/plug.js.map +1 -1
- package/dist/device/robotvacuumcleaner.d.ts +1 -4
- package/dist/device/robotvacuumcleaner.d.ts.map +1 -1
- package/dist/device/robotvacuumcleaner.js +39 -40
- package/dist/device/robotvacuumcleaner.js.map +1 -1
- package/dist/device/waterdetector.d.ts +1 -4
- package/dist/device/waterdetector.d.ts.map +1 -1
- package/dist/device/waterdetector.js +28 -28
- package/dist/device/waterdetector.js.map +1 -1
- package/dist/irdevice/airconditioner.d.ts +1 -1
- package/dist/irdevice/airconditioner.d.ts.map +1 -1
- package/dist/irdevice/airconditioner.js +31 -32
- package/dist/irdevice/airconditioner.js.map +1 -1
- package/dist/irdevice/airpurifier.d.ts +1 -1
- package/dist/irdevice/airpurifier.d.ts.map +1 -1
- package/dist/irdevice/airpurifier.js +11 -12
- package/dist/irdevice/airpurifier.js.map +1 -1
- package/dist/irdevice/camera.d.ts +1 -1
- package/dist/irdevice/camera.d.ts.map +1 -1
- package/dist/irdevice/camera.js +9 -10
- package/dist/irdevice/camera.js.map +1 -1
- package/dist/irdevice/fan.d.ts +1 -1
- package/dist/irdevice/fan.d.ts.map +1 -1
- package/dist/irdevice/fan.js +22 -23
- package/dist/irdevice/fan.js.map +1 -1
- package/dist/irdevice/irdevice.d.ts +6 -6
- package/dist/irdevice/irdevice.d.ts.map +1 -1
- package/dist/irdevice/irdevice.js +28 -14
- package/dist/irdevice/irdevice.js.map +1 -1
- package/dist/irdevice/light.d.ts +1 -1
- package/dist/irdevice/light.d.ts.map +1 -1
- package/dist/irdevice/light.js +12 -13
- package/dist/irdevice/light.js.map +1 -1
- package/dist/irdevice/other.d.ts +1 -1
- package/dist/irdevice/other.d.ts.map +1 -1
- package/dist/irdevice/other.js +12 -15
- package/dist/irdevice/other.js.map +1 -1
- package/dist/irdevice/tv.d.ts +1 -1
- package/dist/irdevice/tv.d.ts.map +1 -1
- package/dist/irdevice/tv.js +27 -28
- package/dist/irdevice/tv.js.map +1 -1
- package/dist/irdevice/vacuumcleaner.d.ts +1 -1
- package/dist/irdevice/vacuumcleaner.d.ts.map +1 -1
- package/dist/irdevice/vacuumcleaner.js +9 -10
- package/dist/irdevice/vacuumcleaner.js.map +1 -1
- package/dist/irdevice/waterheater.d.ts +1 -1
- package/dist/irdevice/waterheater.d.ts.map +1 -1
- package/dist/irdevice/waterheater.js +9 -10
- package/dist/irdevice/waterheater.js.map +1 -1
- package/dist/platform.d.ts +9 -22
- package/dist/platform.d.ts.map +1 -1
- package/dist/platform.js +154 -260
- package/dist/platform.js.map +1 -1
- package/dist/settings.d.ts +64 -82
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +0 -20
- package/dist/settings.js.map +1 -1
- package/dist/utils.d.ts +1 -102
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +0 -105
- package/dist/utils.js.map +1 -1
- package/docs/assets/highlight.css +42 -0
- package/docs/assets/main.js +1 -1
- package/docs/functions/default.html +1 -1
- package/docs/index.html +61 -50
- package/docs/media/security-privacy-bluetooth.png +0 -0
- package/package.json +5 -7
- package/src/device/blindtilt.ts +74 -74
- package/src/device/bot.ts +68 -67
- package/src/device/ceilinglight.ts +59 -70
- package/src/device/colorbulb.ts +79 -88
- package/src/device/contact.ts +40 -43
- package/src/device/curtain.ts +66 -68
- package/src/device/device.ts +86 -40
- package/src/device/fan.ts +52 -56
- package/src/device/hub.ts +50 -53
- package/src/device/humidifier.ts +56 -61
- package/src/device/iosensor.ts +37 -40
- package/src/device/lightstrip.ts +62 -72
- package/src/device/lock.ts +41 -45
- package/src/device/meter.ts +37 -40
- package/src/device/meterplus.ts +37 -40
- package/src/device/motion.ts +29 -32
- package/src/device/plug.ts +34 -37
- package/src/device/robotvacuumcleaner.ts +41 -49
- package/src/device/waterdetector.ts +30 -33
- package/src/irdevice/airconditioner.ts +33 -35
- package/src/irdevice/airpurifier.ts +12 -13
- package/src/irdevice/camera.ts +10 -11
- package/src/irdevice/fan.ts +24 -25
- package/src/irdevice/irdevice.ts +31 -27
- package/src/irdevice/light.ts +14 -15
- package/src/irdevice/other.ts +14 -17
- package/src/irdevice/tv.ts +28 -29
- package/src/irdevice/vacuumcleaner.ts +10 -11
- package/src/irdevice/waterheater.ts +10 -11
- package/src/platform.ts +178 -287
- package/src/settings.ts +67 -88
- package/src/utils.ts +2 -106
- package/dist/types/bledevicestatus.d.ts +0 -281
- package/dist/types/bledevicestatus.d.ts.map +0 -1
- package/dist/types/bledevicestatus.js +0 -2
- package/dist/types/bledevicestatus.js.map +0 -1
- package/dist/types/devicelist.d.ts +0 -89
- package/dist/types/devicelist.d.ts.map +0 -1
- package/dist/types/devicelist.js +0 -6
- package/dist/types/devicelist.js.map +0 -1
- package/dist/types/deviceresponse.d.ts +0 -13
- package/dist/types/deviceresponse.d.ts.map +0 -1
- package/dist/types/deviceresponse.js +0 -2
- package/dist/types/deviceresponse.js.map +0 -1
- package/dist/types/devicestatus.d.ts +0 -149
- package/dist/types/devicestatus.d.ts.map +0 -1
- package/dist/types/devicestatus.js +0 -3
- package/dist/types/devicestatus.js.map +0 -1
- package/dist/types/devicewebhookstatus.d.ts +0 -156
- package/dist/types/devicewebhookstatus.d.ts.map +0 -1
- package/dist/types/devicewebhookstatus.js +0 -2
- package/dist/types/devicewebhookstatus.js.map +0 -1
- package/dist/types/irdevicelist.d.ts +0 -10
- package/dist/types/irdevicelist.d.ts.map +0 -1
- package/dist/types/irdevicelist.js +0 -2
- package/dist/types/irdevicelist.js.map +0 -1
- package/dist/types/pushbody.d.ts +0 -6
- package/dist/types/pushbody.d.ts.map +0 -1
- package/dist/types/pushbody.js +0 -2
- package/dist/types/pushbody.js.map +0 -1
- package/src/types/bledevicestatus.ts +0 -303
- package/src/types/devicelist.ts +0 -124
- package/src/types/deviceresponse.ts +0 -14
- package/src/types/devicestatus.ts +0 -178
- package/src/types/devicewebhookstatus.ts +0 -191
- package/src/types/irdevicelist.ts +0 -15
- package/src/types/pushbody.ts +0 -9
package/dist/device/iosensor.js
CHANGED
|
@@ -52,7 +52,7 @@ export class IOSensor extends deviceBase {
|
|
|
52
52
|
});
|
|
53
53
|
accessory.context.BatteryName = this.Battery.Name;
|
|
54
54
|
// InitializeTemperature Sensor Service
|
|
55
|
-
if (device.
|
|
55
|
+
if (device.hide_temperature) {
|
|
56
56
|
if (this.TemperatureSensor) {
|
|
57
57
|
this.debugLog('Removing Temperature Sensor Service');
|
|
58
58
|
this.TemperatureSensor.Service = this.accessory.getService(this.hap.Service.TemperatureSensor);
|
|
@@ -79,7 +79,7 @@ export class IOSensor extends deviceBase {
|
|
|
79
79
|
});
|
|
80
80
|
}
|
|
81
81
|
// Initialize Humidity Sensor Service
|
|
82
|
-
if (device.
|
|
82
|
+
if (device.hide_humidity) {
|
|
83
83
|
if (this.HumiditySensor) {
|
|
84
84
|
this.debugLog('Removing Humidity Sensor Service');
|
|
85
85
|
this.HumiditySensor.Service = this.accessory.getService(this.hap.Service.HumiditySensor);
|
|
@@ -107,7 +107,7 @@ export class IOSensor extends deviceBase {
|
|
|
107
107
|
this.refreshStatus();
|
|
108
108
|
}
|
|
109
109
|
catch (e) {
|
|
110
|
-
this.errorLog(`failed to retrieve initial values and update Homekit, Error: ${e}`);
|
|
110
|
+
this.errorLog(`failed to retrieve initial values and update Homekit, Error: ${e.message ?? e}`);
|
|
111
111
|
}
|
|
112
112
|
// regisiter webhook event handler if enabled
|
|
113
113
|
try {
|
|
@@ -115,7 +115,7 @@ export class IOSensor extends deviceBase {
|
|
|
115
115
|
this.registerWebhook();
|
|
116
116
|
}
|
|
117
117
|
catch (e) {
|
|
118
|
-
this.errorLog(`failed to registerWebhook, Error: ${e}`);
|
|
118
|
+
this.errorLog(`failed to registerWebhook, Error: ${e.message ?? e}`);
|
|
119
119
|
}
|
|
120
120
|
// regisiter platform BLE event handler if enabled
|
|
121
121
|
try {
|
|
@@ -123,7 +123,7 @@ export class IOSensor extends deviceBase {
|
|
|
123
123
|
this.registerPlatformBLE();
|
|
124
124
|
}
|
|
125
125
|
catch (e) {
|
|
126
|
-
this.errorLog(`failed to registerPlatformBLE, Error: ${e}`);
|
|
126
|
+
this.errorLog(`failed to registerPlatformBLE, Error: ${e.message ?? e}`);
|
|
127
127
|
}
|
|
128
128
|
// Start an update interval
|
|
129
129
|
interval(this.deviceRefreshRate * 1000)
|
|
@@ -144,12 +144,12 @@ export class IOSensor extends deviceBase {
|
|
|
144
144
|
: this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
|
|
145
145
|
await this.debugLog(`StatusLowBattery: ${this.Battery.StatusLowBattery}`);
|
|
146
146
|
// CurrentRelativeHumidity
|
|
147
|
-
if (!this.device.
|
|
147
|
+
if (!this.device.hide_humidity && this.HumiditySensor?.Service) {
|
|
148
148
|
this.HumiditySensor.CurrentRelativeHumidity = validHumidity(this.serviceData.humidity, 0, 100);
|
|
149
149
|
await this.debugLog(`CurrentRelativeHumidity: ${this.HumiditySensor.CurrentRelativeHumidity}%`);
|
|
150
150
|
}
|
|
151
151
|
// Current Temperature
|
|
152
|
-
if (!this.device.
|
|
152
|
+
if (!this.device.hide_temperature && this.TemperatureSensor?.Service) {
|
|
153
153
|
const CELSIUS = this.serviceData.celsius < 0 ? 0 : this.serviceData.celsius > 100 ? 100 : this.serviceData.celsius;
|
|
154
154
|
this.TemperatureSensor.CurrentTemperature = CELSIUS;
|
|
155
155
|
await this.debugLog(`Temperature: ${this.TemperatureSensor.CurrentTemperature}°c`);
|
|
@@ -167,12 +167,12 @@ export class IOSensor extends deviceBase {
|
|
|
167
167
|
: this.hap.Characteristic.StatusLowBattery.BATTERY_LEVEL_NORMAL;
|
|
168
168
|
await this.debugLog(`StatusLowBattery: ${this.Battery.StatusLowBattery}`);
|
|
169
169
|
// CurrentRelativeHumidity
|
|
170
|
-
if (!this.device.
|
|
170
|
+
if (!this.device.hide_humidity && this.HumiditySensor?.Service) {
|
|
171
171
|
this.HumiditySensor.CurrentRelativeHumidity = this.deviceStatus.humidity;
|
|
172
172
|
await this.debugLog(`CurrentRelativeHumidity: ${this.HumiditySensor.CurrentRelativeHumidity}%`);
|
|
173
173
|
}
|
|
174
174
|
// Current Temperature
|
|
175
|
-
if (!this.device.
|
|
175
|
+
if (!this.device.hide_temperature && this.TemperatureSensor?.Service) {
|
|
176
176
|
this.TemperatureSensor.CurrentTemperature = this.deviceStatus.temperature;
|
|
177
177
|
await this.debugLog(`CurrentTemperature: ${this.TemperatureSensor.CurrentTemperature}°c`);
|
|
178
178
|
}
|
|
@@ -193,18 +193,18 @@ export class IOSensor extends deviceBase {
|
|
|
193
193
|
}
|
|
194
194
|
async parseStatusWebhook() {
|
|
195
195
|
await this.debugLog('parseStatusWebhook');
|
|
196
|
-
await this.debugLog(`(scale, temperature, humidity) = Webhook:(${this.webhookContext.scale}, ${convertUnits(this.webhookContext.temperature, this.webhookContext.scale, this.device.
|
|
197
|
-
if (this.webhookContext.scale !== 'CELSIUS' && this.device.
|
|
196
|
+
await this.debugLog(`(scale, temperature, humidity) = Webhook:(${this.webhookContext.scale}, ${convertUnits(this.webhookContext.temperature, this.webhookContext.scale, this.device.convertUnitTo)}, ${this.webhookContext.humidity}), current:(${this.TemperatureSensor?.CurrentTemperature}, ${this.HumiditySensor?.CurrentRelativeHumidity})`);
|
|
197
|
+
if (this.webhookContext.scale !== 'CELSIUS' && this.device.convertUnitTo === undefined) {
|
|
198
198
|
await this.warnLog(`received a non-CELSIUS Webhook scale: ${this.webhookContext.scale}, Use the *convertUnitsTo* config under Hub settings, if displaying incorrectly in HomeKit.`);
|
|
199
199
|
}
|
|
200
200
|
// CurrentRelativeHumidity
|
|
201
|
-
if (this.device.
|
|
201
|
+
if (this.device.hide_humidity && this.HumiditySensor?.Service) {
|
|
202
202
|
this.HumiditySensor.CurrentRelativeHumidity = this.webhookContext.humidity;
|
|
203
203
|
await this.debugLog(`CurrentRelativeHumidity: ${this.HumiditySensor.CurrentRelativeHumidity}%`);
|
|
204
204
|
}
|
|
205
205
|
// CurrentTemperature
|
|
206
|
-
if (this.device.
|
|
207
|
-
this.TemperatureSensor.CurrentTemperature = convertUnits(this.webhookContext.temperature, this.webhookContext.scale, this.device.
|
|
206
|
+
if (this.device.hide_temperature && this.TemperatureSensor?.Service) {
|
|
207
|
+
this.TemperatureSensor.CurrentTemperature = convertUnits(this.webhookContext.temperature, this.webhookContext.scale, this.device.convertUnitTo);
|
|
208
208
|
await this.debugLog(`CurrentTemperature: ${this.TemperatureSensor.CurrentTemperature}°c`);
|
|
209
209
|
}
|
|
210
210
|
}
|
|
@@ -228,15 +228,15 @@ export class IOSensor extends deviceBase {
|
|
|
228
228
|
}
|
|
229
229
|
async BLERefreshStatus() {
|
|
230
230
|
await this.debugLog('BLERefreshStatus');
|
|
231
|
-
const
|
|
232
|
-
if (
|
|
233
|
-
await this.BLERefreshConnection(
|
|
231
|
+
const switchBotBLE = await this.switchbotBLE();
|
|
232
|
+
if (switchBotBLE === undefined) {
|
|
233
|
+
await this.BLERefreshConnection(switchBotBLE);
|
|
234
234
|
}
|
|
235
235
|
else {
|
|
236
236
|
// Start to monitor advertisement packets
|
|
237
237
|
(async () => {
|
|
238
238
|
// Start to monitor advertisement packets
|
|
239
|
-
const serviceData = await this.monitorAdvertisementPackets(
|
|
239
|
+
const serviceData = await this.monitorAdvertisementPackets(switchBotBLE);
|
|
240
240
|
// Update HomeKit
|
|
241
241
|
if (serviceData.model === SwitchBotBLEModel.OutdoorMeter && serviceData.modelName === SwitchBotBLEModelName.OutdoorMeter) {
|
|
242
242
|
this.serviceData = serviceData;
|
|
@@ -244,8 +244,8 @@ export class IOSensor extends deviceBase {
|
|
|
244
244
|
await this.updateHomeKitCharacteristics();
|
|
245
245
|
}
|
|
246
246
|
else {
|
|
247
|
-
await this.errorLog(`failed to get serviceData, serviceData: ${serviceData}`);
|
|
248
|
-
await this.BLERefreshConnection(
|
|
247
|
+
await this.errorLog(`failed to get serviceData, serviceData: ${JSON.stringify(serviceData)}`);
|
|
248
|
+
await this.BLERefreshConnection(switchBotBLE);
|
|
249
249
|
}
|
|
250
250
|
})();
|
|
251
251
|
}
|
|
@@ -266,7 +266,7 @@ export class IOSensor extends deviceBase {
|
|
|
266
266
|
await this.updateHomeKitCharacteristics();
|
|
267
267
|
}
|
|
268
268
|
catch (e) {
|
|
269
|
-
await this.errorLog(`failed to handle BLE. Received: ${JSON.stringify(context)} Error: ${e}`);
|
|
269
|
+
await this.errorLog(`failed to handle BLE. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
|
|
270
270
|
}
|
|
271
271
|
};
|
|
272
272
|
}
|
|
@@ -281,18 +281,18 @@ export class IOSensor extends deviceBase {
|
|
|
281
281
|
async openAPIRefreshStatus() {
|
|
282
282
|
await this.debugLog('openAPIRefreshStatus');
|
|
283
283
|
try {
|
|
284
|
-
const { body
|
|
285
|
-
const deviceStatus = await body
|
|
286
|
-
await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
287
|
-
if (await this.successfulStatusCodes(
|
|
288
|
-
await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
284
|
+
const { body } = await this.deviceRefreshStatus();
|
|
285
|
+
const deviceStatus = await body;
|
|
286
|
+
await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
287
|
+
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
288
|
+
await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
289
289
|
this.deviceStatus = deviceStatus.body;
|
|
290
290
|
await this.openAPIparseStatus();
|
|
291
291
|
await this.updateHomeKitCharacteristics();
|
|
292
292
|
}
|
|
293
293
|
else {
|
|
294
|
-
await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
295
|
-
await this.debugWarnLog(
|
|
294
|
+
await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
295
|
+
await this.debugWarnLog(deviceStatus);
|
|
296
296
|
}
|
|
297
297
|
}
|
|
298
298
|
catch (e) {
|
|
@@ -311,7 +311,7 @@ export class IOSensor extends deviceBase {
|
|
|
311
311
|
await this.updateHomeKitCharacteristics();
|
|
312
312
|
}
|
|
313
313
|
catch (e) {
|
|
314
|
-
await this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e}`);
|
|
314
|
+
await this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
|
|
315
315
|
}
|
|
316
316
|
};
|
|
317
317
|
}
|
|
@@ -324,11 +324,11 @@ export class IOSensor extends deviceBase {
|
|
|
324
324
|
*/
|
|
325
325
|
async updateHomeKitCharacteristics() {
|
|
326
326
|
// CurrentRelativeHumidity
|
|
327
|
-
if (!this.device.
|
|
327
|
+
if (!this.device.hide_humidity && this.HumiditySensor?.Service) {
|
|
328
328
|
await this.updateCharacteristic(this.HumiditySensor.Service, this.hap.Characteristic.CurrentRelativeHumidity, this.HumiditySensor.CurrentRelativeHumidity, 'CurrentRelativeHumidity');
|
|
329
329
|
}
|
|
330
330
|
// CurrentTemperature
|
|
331
|
-
if (!this.device.
|
|
331
|
+
if (!this.device.hide_temperature && this.TemperatureSensor?.Service) {
|
|
332
332
|
await this.updateCharacteristic(this.TemperatureSensor.Service, this.hap.Characteristic.CurrentTemperature, this.TemperatureSensor.CurrentTemperature, 'CurrentTemperature');
|
|
333
333
|
}
|
|
334
334
|
// BatteryLevel
|
|
@@ -345,19 +345,19 @@ export class IOSensor extends deviceBase {
|
|
|
345
345
|
}
|
|
346
346
|
async offlineOff() {
|
|
347
347
|
if (this.device.offline) {
|
|
348
|
-
if (!this.device.
|
|
348
|
+
if (!this.device.hide_humidity && this.HumiditySensor?.Service) {
|
|
349
349
|
this.HumiditySensor.Service.updateCharacteristic(this.hap.Characteristic.CurrentRelativeHumidity, 50);
|
|
350
350
|
}
|
|
351
|
-
if (!this.device.
|
|
351
|
+
if (!this.device.hide_temperature && this.TemperatureSensor?.Service) {
|
|
352
352
|
this.TemperatureSensor.Service.updateCharacteristic(this.hap.Characteristic.CurrentTemperature, 30);
|
|
353
353
|
}
|
|
354
354
|
}
|
|
355
355
|
}
|
|
356
356
|
async apiError(e) {
|
|
357
|
-
if (!this.device.
|
|
357
|
+
if (!this.device.hide_humidity && this.HumiditySensor?.Service) {
|
|
358
358
|
this.HumiditySensor.Service.updateCharacteristic(this.hap.Characteristic.CurrentRelativeHumidity, e);
|
|
359
359
|
}
|
|
360
|
-
if (!this.device.
|
|
360
|
+
if (!this.device.hide_temperature && this.TemperatureSensor?.Service) {
|
|
361
361
|
this.TemperatureSensor.Service.updateCharacteristic(this.hap.Characteristic.CurrentTemperature, e);
|
|
362
362
|
}
|
|
363
363
|
this.Battery.Service.updateCharacteristic(this.hap.Characteristic.BatteryLevel, e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iosensor.js","sourceRoot":"","sources":["../../src/device/iosensor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"iosensor.js","sourceRoot":"","sources":["../../src/device/iosensor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
import type { CharacteristicValue, Controller, ControllerConstructor, ControllerServiceMap, PlatformAccessory } from 'homebridge';
|
|
2
|
+
import type { device, stripLightServiceData, stripLightStatus, stripLightWebhookContext } from 'node-switchbot';
|
|
2
3
|
import type { SwitchBotPlatform } from '../platform.js';
|
|
3
4
|
import type { devicesConfig } from '../settings.js';
|
|
4
|
-
import type { stripLightServiceData } from '../types/bledevicestatus.js';
|
|
5
|
-
import type { device } from '../types/devicelist.js';
|
|
6
|
-
import type { stripLightStatus } from '../types/devicestatus.js';
|
|
7
|
-
import type { stripLightWebhookContext } from '../types/devicewebhookstatus.js';
|
|
8
5
|
import { Subject } from 'rxjs';
|
|
9
6
|
import { deviceBase } from './device.js';
|
|
10
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightstrip.d.ts","sourceRoot":"","sources":["../../src/device/lightstrip.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,iBAAiB,EAAW,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"lightstrip.d.ts","sourceRoot":"","sources":["../../src/device/lightstrip.ts"],"names":[],"mappings":"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"}
|
|
@@ -75,7 +75,7 @@ export class StripLight extends deviceBase {
|
|
|
75
75
|
}).onSet(this.OnSet.bind(this));
|
|
76
76
|
// Initialize LightBulb Brightness Characteristic
|
|
77
77
|
this.LightBulb.Service.getCharacteristic(this.hap.Characteristic.Brightness).setProps({
|
|
78
|
-
minStep: device.
|
|
78
|
+
minStep: device.set_minStep ?? 1,
|
|
79
79
|
minValue: 0,
|
|
80
80
|
maxValue: 100,
|
|
81
81
|
validValueRanges: [0, 100],
|
|
@@ -112,7 +112,7 @@ export class StripLight extends deviceBase {
|
|
|
112
112
|
this.refreshStatus();
|
|
113
113
|
}
|
|
114
114
|
catch (e) {
|
|
115
|
-
this.errorLog(`failed to retrieve initial values and update Homekit, Error: ${e}`);
|
|
115
|
+
this.errorLog(`failed to retrieve initial values and update Homekit, Error: ${e.message ?? e}`);
|
|
116
116
|
}
|
|
117
117
|
// regisiter webhook event handler if enabled
|
|
118
118
|
try {
|
|
@@ -120,7 +120,7 @@ export class StripLight extends deviceBase {
|
|
|
120
120
|
this.registerWebhook();
|
|
121
121
|
}
|
|
122
122
|
catch (e) {
|
|
123
|
-
this.errorLog(`failed to registerWebhook, Error: ${e}`);
|
|
123
|
+
this.errorLog(`failed to registerWebhook, Error: ${e.message ?? e}`);
|
|
124
124
|
}
|
|
125
125
|
// regisiter platform BLE event handler if enabled
|
|
126
126
|
try {
|
|
@@ -128,7 +128,7 @@ export class StripLight extends deviceBase {
|
|
|
128
128
|
this.registerPlatformBLE();
|
|
129
129
|
}
|
|
130
130
|
catch (e) {
|
|
131
|
-
this.errorLog(`failed to registerPlatformBLE, Error: ${e}`);
|
|
131
|
+
this.errorLog(`failed to registerPlatformBLE, Error: ${e.message ?? e}`);
|
|
132
132
|
}
|
|
133
133
|
// Start an update interval
|
|
134
134
|
interval(this.deviceRefreshRate * 1000)
|
|
@@ -251,15 +251,15 @@ export class StripLight extends deviceBase {
|
|
|
251
251
|
}
|
|
252
252
|
async BLERefreshStatus() {
|
|
253
253
|
await this.debugLog('BLERefreshStatus');
|
|
254
|
-
const
|
|
255
|
-
if (
|
|
256
|
-
await this.BLERefreshConnection(
|
|
254
|
+
const switchBotBLE = await this.switchbotBLE();
|
|
255
|
+
if (switchBotBLE === undefined) {
|
|
256
|
+
await this.BLERefreshConnection(switchBotBLE);
|
|
257
257
|
}
|
|
258
258
|
else {
|
|
259
259
|
// Start to monitor advertisement packets
|
|
260
260
|
(async () => {
|
|
261
261
|
// Start to monitor advertisement packets
|
|
262
|
-
const serviceData = await this.monitorAdvertisementPackets(
|
|
262
|
+
const serviceData = await this.monitorAdvertisementPackets(switchBotBLE);
|
|
263
263
|
// Update HomeKit
|
|
264
264
|
if (serviceData.model === SwitchBotBLEModel.StripLight && serviceData.modelName === SwitchBotBLEModelName.StripLight) {
|
|
265
265
|
this.serviceData = serviceData;
|
|
@@ -267,8 +267,8 @@ export class StripLight extends deviceBase {
|
|
|
267
267
|
await this.updateHomeKitCharacteristics();
|
|
268
268
|
}
|
|
269
269
|
else {
|
|
270
|
-
await this.errorLog(`failed to get serviceData, serviceData: ${serviceData}`);
|
|
271
|
-
await this.BLERefreshConnection(
|
|
270
|
+
await this.errorLog(`failed to get serviceData, serviceData: ${JSON.stringify(serviceData)}`);
|
|
271
|
+
await this.BLERefreshConnection(switchBotBLE);
|
|
272
272
|
}
|
|
273
273
|
})();
|
|
274
274
|
}
|
|
@@ -289,7 +289,7 @@ export class StripLight extends deviceBase {
|
|
|
289
289
|
await this.updateHomeKitCharacteristics();
|
|
290
290
|
}
|
|
291
291
|
catch (e) {
|
|
292
|
-
await this.errorLog(`failed to handle BLE. Received: ${JSON.stringify(context)} Error: ${e}`);
|
|
292
|
+
await this.errorLog(`failed to handle BLE. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
|
|
293
293
|
}
|
|
294
294
|
};
|
|
295
295
|
}
|
|
@@ -304,18 +304,18 @@ export class StripLight extends deviceBase {
|
|
|
304
304
|
async openAPIRefreshStatus() {
|
|
305
305
|
await this.debugLog('openAPIRefreshStatus');
|
|
306
306
|
try {
|
|
307
|
-
const { body
|
|
308
|
-
const deviceStatus = await body
|
|
309
|
-
await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
310
|
-
if (await this.successfulStatusCodes(
|
|
311
|
-
await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
307
|
+
const { body } = await this.deviceRefreshStatus();
|
|
308
|
+
const deviceStatus = await body;
|
|
309
|
+
await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
310
|
+
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
311
|
+
await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
312
312
|
this.deviceStatus = deviceStatus.body;
|
|
313
313
|
await this.openAPIparseStatus();
|
|
314
314
|
await this.updateHomeKitCharacteristics();
|
|
315
315
|
}
|
|
316
316
|
else {
|
|
317
|
-
await this.debugWarnLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
318
|
-
await this.debugWarnLog(
|
|
317
|
+
await this.debugWarnLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
318
|
+
await this.debugWarnLog(deviceStatus);
|
|
319
319
|
}
|
|
320
320
|
}
|
|
321
321
|
catch (e) {
|
|
@@ -334,7 +334,7 @@ export class StripLight extends deviceBase {
|
|
|
334
334
|
await this.updateHomeKitCharacteristics();
|
|
335
335
|
}
|
|
336
336
|
catch (e) {
|
|
337
|
-
await this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e}`);
|
|
337
|
+
await this.errorLog(`failed to handle webhook. Received: ${JSON.stringify(context)} Error: ${e.message ?? e}`);
|
|
338
338
|
}
|
|
339
339
|
};
|
|
340
340
|
}
|
|
@@ -408,24 +408,25 @@ export class StripLight extends deviceBase {
|
|
|
408
408
|
await this.debugLog('BLEpushChanges');
|
|
409
409
|
if (this.LightBulb.On !== this.accessory.context.On) {
|
|
410
410
|
await this.debugLog(`BLEpushChanges On: ${this.LightBulb.On}, OnCached: ${this.accessory.context.On}`);
|
|
411
|
-
const
|
|
411
|
+
const switchBotBLE = await this.platform.connectBLE(this.accessory, this.device);
|
|
412
412
|
try {
|
|
413
413
|
const formattedDeviceId = formatDeviceIdAsMac(this.device.deviceId);
|
|
414
414
|
this.device.bleMac = formattedDeviceId;
|
|
415
415
|
await this.debugLog(`bleMac: ${this.device.bleMac}`);
|
|
416
|
-
if (
|
|
417
|
-
|
|
416
|
+
if (switchBotBLE !== false) {
|
|
417
|
+
switchBotBLE
|
|
418
418
|
.discover({ model: this.device.bleModel, id: this.device.bleMac })
|
|
419
419
|
.then(async (device_list) => {
|
|
420
|
+
const deviceList = device_list;
|
|
420
421
|
await this.infoLog(`On: ${this.LightBulb.On}`);
|
|
421
422
|
return await this.retryBLE({
|
|
422
423
|
max: await this.maxRetryBLE(),
|
|
423
424
|
fn: async () => {
|
|
424
425
|
if (this.LightBulb.On) {
|
|
425
|
-
return await
|
|
426
|
+
return await deviceList[0].turnOn();
|
|
426
427
|
}
|
|
427
428
|
else {
|
|
428
|
-
return await
|
|
429
|
+
return await deviceList[0].turnOff();
|
|
429
430
|
}
|
|
430
431
|
},
|
|
431
432
|
});
|
|
@@ -441,7 +442,7 @@ export class StripLight extends deviceBase {
|
|
|
441
442
|
});
|
|
442
443
|
}
|
|
443
444
|
else {
|
|
444
|
-
await this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${
|
|
445
|
+
await this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${JSON.stringify(switchBotBLE)}`);
|
|
445
446
|
await this.BLEPushConnection();
|
|
446
447
|
}
|
|
447
448
|
}
|
|
@@ -456,13 +457,13 @@ export class StripLight extends deviceBase {
|
|
|
456
457
|
async BLEpushBrightnessChanges() {
|
|
457
458
|
await this.debugLog('BLEpushBrightnessChanges');
|
|
458
459
|
if (this.LightBulb.Brightness !== this.accessory.context.Brightness) {
|
|
459
|
-
const
|
|
460
|
+
const switchBotBLE = await this.platform.connectBLE(this.accessory, this.device);
|
|
460
461
|
try {
|
|
461
462
|
const formattedDeviceId = formatDeviceIdAsMac(this.device.deviceId);
|
|
462
463
|
this.device.bleMac = formattedDeviceId;
|
|
463
464
|
await this.debugLog(`bleMac: ${this.device.bleMac}`);
|
|
464
|
-
if (
|
|
465
|
-
|
|
465
|
+
if (switchBotBLE !== false) {
|
|
466
|
+
switchBotBLE
|
|
466
467
|
.discover({ model: this.device.bleModel, id: this.device.bleMac })
|
|
467
468
|
.then(async (device_list) => {
|
|
468
469
|
await this.infoLog(`Brightness: ${this.LightBulb.Brightness}`);
|
|
@@ -479,7 +480,7 @@ export class StripLight extends deviceBase {
|
|
|
479
480
|
});
|
|
480
481
|
}
|
|
481
482
|
else {
|
|
482
|
-
await this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${
|
|
483
|
+
await this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${JSON.stringify(switchBotBLE)}`);
|
|
483
484
|
await this.BLEPushConnection();
|
|
484
485
|
}
|
|
485
486
|
}
|
|
@@ -497,13 +498,13 @@ export class StripLight extends deviceBase {
|
|
|
497
498
|
await this.debugLog(`Hue: ${JSON.stringify(this.LightBulb.Hue)}, Saturation: ${JSON.stringify(this.LightBulb.Saturation)}`);
|
|
498
499
|
const [red, green, blue] = hs2rgb(this.LightBulb.Hue, this.LightBulb.Saturation);
|
|
499
500
|
await this.debugLog(`rgb: ${JSON.stringify([red, green, blue])}`);
|
|
500
|
-
const
|
|
501
|
+
const switchBotBLE = await this.platform.connectBLE(this.accessory, this.device);
|
|
501
502
|
try {
|
|
502
503
|
const formattedDeviceId = formatDeviceIdAsMac(this.device.deviceId);
|
|
503
504
|
this.device.bleMac = formattedDeviceId;
|
|
504
505
|
await this.debugLog(`bleMac: ${this.device.bleMac}`);
|
|
505
|
-
if (
|
|
506
|
-
|
|
506
|
+
if (switchBotBLE !== false) {
|
|
507
|
+
switchBotBLE
|
|
507
508
|
.discover({ model: this.device.bleModel, id: this.device.bleMac })
|
|
508
509
|
.then(async (device_list) => {
|
|
509
510
|
await this.infoLog(`RGB: ${(this.LightBulb.Brightness, red, green, blue)}`);
|
|
@@ -520,7 +521,7 @@ export class StripLight extends deviceBase {
|
|
|
520
521
|
});
|
|
521
522
|
}
|
|
522
523
|
else {
|
|
523
|
-
await this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${
|
|
524
|
+
await this.errorLog(`wasn't able to establish BLE Connection, node-switchbot: ${JSON.stringify(switchBotBLE)}`);
|
|
524
525
|
await this.BLEPushConnection();
|
|
525
526
|
}
|
|
526
527
|
}
|
|
@@ -536,22 +537,21 @@ export class StripLight extends deviceBase {
|
|
|
536
537
|
await this.debugLog('openAPIpushChanges');
|
|
537
538
|
if (this.LightBulb.On !== this.accessory.context.On) {
|
|
538
539
|
const command = this.LightBulb.On ? 'turnOn' : 'turnOff';
|
|
539
|
-
const bodyChange =
|
|
540
|
+
const bodyChange = {
|
|
540
541
|
command: `${command}`,
|
|
541
542
|
parameter: 'default',
|
|
542
543
|
commandType: 'command',
|
|
543
|
-
}
|
|
544
|
+
};
|
|
544
545
|
await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
|
|
545
546
|
try {
|
|
546
|
-
const { body
|
|
547
|
-
const deviceStatus = await body
|
|
548
|
-
await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
549
|
-
if (await this.successfulStatusCodes(
|
|
550
|
-
await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
547
|
+
const { body } = await this.pushChangeRequest(bodyChange);
|
|
548
|
+
const deviceStatus = await body;
|
|
549
|
+
await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
550
|
+
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
551
|
+
await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
551
552
|
await this.updateHomeKitCharacteristics();
|
|
552
553
|
}
|
|
553
554
|
else {
|
|
554
|
-
await this.statusCode(statusCode);
|
|
555
555
|
await this.statusCode(deviceStatus.statusCode);
|
|
556
556
|
}
|
|
557
557
|
}
|
|
@@ -570,22 +570,21 @@ export class StripLight extends deviceBase {
|
|
|
570
570
|
await this.debugLog(`Hue: ${JSON.stringify(this.LightBulb.Hue)}, Saturation: ${JSON.stringify(this.LightBulb.Saturation)}`);
|
|
571
571
|
const [red, green, blue] = hs2rgb(this.LightBulb.Hue, this.LightBulb.Saturation);
|
|
572
572
|
await this.debugLog(`rgb: ${JSON.stringify([red, green, blue])}`);
|
|
573
|
-
const bodyChange =
|
|
573
|
+
const bodyChange = {
|
|
574
574
|
command: 'setColor',
|
|
575
575
|
parameter: `${red}:${green}:${blue}`,
|
|
576
576
|
commandType: 'command',
|
|
577
|
-
}
|
|
577
|
+
};
|
|
578
578
|
await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
|
|
579
579
|
try {
|
|
580
|
-
const { body
|
|
581
|
-
const deviceStatus = await body
|
|
582
|
-
await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
583
|
-
if (await this.successfulStatusCodes(
|
|
584
|
-
await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
580
|
+
const { body } = await this.pushChangeRequest(bodyChange);
|
|
581
|
+
const deviceStatus = await body;
|
|
582
|
+
await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
583
|
+
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
584
|
+
await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
585
585
|
await this.updateHomeKitCharacteristics();
|
|
586
586
|
}
|
|
587
587
|
else {
|
|
588
|
-
await this.statusCode(statusCode);
|
|
589
588
|
await this.statusCode(deviceStatus.statusCode);
|
|
590
589
|
}
|
|
591
590
|
}
|
|
@@ -601,22 +600,21 @@ export class StripLight extends deviceBase {
|
|
|
601
600
|
async pushBrightnessChanges() {
|
|
602
601
|
await this.debugLog('pushBrightnessChanges');
|
|
603
602
|
if (this.LightBulb.Brightness !== this.accessory.context.Brightness) {
|
|
604
|
-
const bodyChange =
|
|
603
|
+
const bodyChange = {
|
|
605
604
|
command: 'setBrightness',
|
|
606
605
|
parameter: `${this.LightBulb.Brightness}`,
|
|
607
606
|
commandType: 'command',
|
|
608
|
-
}
|
|
607
|
+
};
|
|
609
608
|
await this.debugLog(`SwitchBot OpenAPI bodyChange: ${JSON.stringify(bodyChange)}`);
|
|
610
609
|
try {
|
|
611
|
-
const { body
|
|
612
|
-
const deviceStatus = await body
|
|
613
|
-
await this.debugLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
614
|
-
if (await this.successfulStatusCodes(
|
|
615
|
-
await this.debugSuccessLog(`statusCode: ${statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
610
|
+
const { body } = await this.pushChangeRequest(bodyChange);
|
|
611
|
+
const deviceStatus = await body;
|
|
612
|
+
await this.debugLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
613
|
+
if (await this.successfulStatusCodes(deviceStatus)) {
|
|
614
|
+
await this.debugSuccessLog(`statusCode: ${deviceStatus.statusCode}, deviceStatus: ${JSON.stringify(deviceStatus)}`);
|
|
616
615
|
await this.updateHomeKitCharacteristics();
|
|
617
616
|
}
|
|
618
617
|
else {
|
|
619
|
-
await this.statusCode(statusCode);
|
|
620
618
|
await this.statusCode(deviceStatus.statusCode);
|
|
621
619
|
}
|
|
622
620
|
}
|
|
@@ -746,14 +744,8 @@ export class StripLight extends deviceBase {
|
|
|
746
744
|
this.adaptiveLighting = accessory.context.adaptiveLighting ?? true;
|
|
747
745
|
await this.debugLog(`adaptiveLighting: ${this.adaptiveLighting}`);
|
|
748
746
|
// Adaptive Lighting Shift
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
this.debugLog(`adaptiveLightingShift: ${this.adaptiveLightingShift}`);
|
|
752
|
-
}
|
|
753
|
-
else {
|
|
754
|
-
this.adaptiveLightingShift = 0;
|
|
755
|
-
this.debugLog(`adaptiveLightingShift: ${this.adaptiveLightingShift}`);
|
|
756
|
-
}
|
|
747
|
+
this.adaptiveLightingShift = device.adaptiveLightingShift ?? 0;
|
|
748
|
+
this.debugLog(`adaptiveLightingShift: ${this.adaptiveLightingShift}`);
|
|
757
749
|
}
|
|
758
750
|
async BLEPushConnection() {
|
|
759
751
|
if (this.platform.config.credentials?.token && this.device.connectionType === 'BLE/OpenAPI') {
|