From fe7fb8988897ee0f9ba73f0df39f7bfb024ce16d Mon Sep 17 00:00:00 2001 From: Donavan Becker Date: Tue, 10 Sep 2024 22:44:08 -0500 Subject: [PATCH] Update waterdetector.ts --- src/device/waterdetector.ts | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/src/device/waterdetector.ts b/src/device/waterdetector.ts index d2f7e911..2715fa48 100644 --- a/src/device/waterdetector.ts +++ b/src/device/waterdetector.ts @@ -151,13 +151,13 @@ export class WaterDetector extends deviceBase { await this.debugLog(`(state, status, battery) = BLE: (${this.serviceData.state}, ${this.serviceData.status}, ${this.serviceData.battery}), current:(${this.LeakSensor?.LeakDetected}, ${this.Battery.BatteryLevel})`) // LeakSensor - if (this.device.waterdetector?.hide_leak && this.LeakSensor?.Service) { + if (!this.device.waterdetector?.hide_leak && this.LeakSensor?.Service) { // StatusActive this.LeakSensor.StatusActive = this.serviceData.state await this.debugLog(`StatusActive: ${this.LeakSensor.StatusActive}`) // LeakDetected - if (this.device.waterdetector.dry) { + if (this.device.waterdetector?.dry) { this.LeakSensor.LeakDetected = this.serviceData.status === 0 ? 1 : 0 this.debugLog(`LeakDetected: ${this.LeakSensor.LeakDetected}`) } else { @@ -186,8 +186,13 @@ export class WaterDetector extends deviceBase { await this.debugLog(`StatusActive: ${this.LeakSensor.StatusActive}`) // LeakDetected - this.LeakSensor.LeakDetected = this.deviceStatus.status - this.debugLog(`LeakDetected: ${this.LeakSensor.LeakDetected}`) + if (this.device.waterdetector?.dry) { + this.LeakSensor.LeakDetected = this.deviceStatus.status === 0 ? 1 : 0 + this.debugLog(`LeakDetected: ${this.LeakSensor.LeakDetected}`) + } else { + this.LeakSensor.LeakDetected = this.deviceStatus.status + this.debugLog(`LeakDetected: ${this.LeakSensor.LeakDetected}`) + } } // BatteryLevel @@ -227,8 +232,13 @@ export class WaterDetector extends deviceBase { await this.debugLog(`StatusActive: ${this.LeakSensor.StatusActive}`) // LeakDetected - this.LeakSensor.LeakDetected = this.webhookContext.detectionState - await this.debugLog(`LeakDetected: ${this.LeakSensor.LeakDetected}`) + if (this.device.waterdetector?.dry) { + this.LeakSensor.LeakDetected = this.webhookContext.detectionState === 0 ? 1 : 0 + this.debugLog(`LeakDetected: ${this.LeakSensor.LeakDetected}`) + } else { + this.LeakSensor.LeakDetected = this.webhookContext.detectionState + await this.debugLog(`LeakDetected: ${this.LeakSensor.LeakDetected}`) + } } // BatteryLevel