diff --git a/bathroom-fan.yaml b/bathroom-fan.yaml index 17166a8..21a9080 100644 --- a/bathroom-fan.yaml +++ b/bathroom-fan.yaml @@ -113,7 +113,7 @@ i2c: binary_sensor: - platform: gpio name: "Motion" # IR Presense detection, halves fan speed - id: pirSensor + id: pirSensor pin: number: ${pinPIR} mode: @@ -151,6 +151,8 @@ sensor: temperature: name: "Temperature" # We only use Temp for information. SHT3x uses it for Relative Humidity id: temp + filters: + - delta: 0.6 # Don't react to every small change humidity: name: "Humidity" id: humid @@ -159,7 +161,7 @@ sensor: min_value: 0.1 max_value: 99.9 ignore_out_of_range: true - - delta: 2.0 # Don't react to every small change + - delta: 1.0 # Don't react to every small change on_value: then: - script.execute: update_fan @@ -185,9 +187,9 @@ script: // = ((100-25) / (80 - $C$5)) * B8 + (100 - (((100-25) / (80 - $C$5))*80)) float speed = (75/(80-cutoff)) * humidity + (100-((75/ (80-cutoff))*80)); - // Clamp between 25 and 100 + // Clamp between 20% and 100% duty-cycle if( humidity <= cutoff ) - speed = 25; + speed = 20; if( humidity >= 80) speed = 100; @@ -196,7 +198,8 @@ script: speed = speed / 2; // Turn the fan on and set the speed, or turn off - if( humidity >= cutoff ) + // Test for both cutoff, and minimum speed. + if( humidity >= cutoff && speed >= 10) { auto call = id(Extractor).turn_on(); call.set_speed(speed); @@ -223,6 +226,9 @@ switch: # - switch.turn_on: switch2 # turn_off_action: # - switch.turn_on: switch1 + on_state: + then: + - script.execute: update_fan # Update fan to reflect quiet-mode state number: - platform: template # Control in Home Assistant to set point where fan should turn off @@ -237,3 +243,6 @@ number: step: 1 initial_value: 35 # 35% rel humidity is slightly high as low cutoff restore_value: True + on_value: + then: + - script.execute: update_fan # Update fan to reflect new cut-off and range