Good day!
I would like to ramp up PWM Fans on boot like they do in PCs. When the device starts it should start the Fans at full speed for about 5 seconds and then return to the previously set speed. However none of the approaches I tried so far worked at all.
esphome:
name: cabinet
friendly_name: Cabinet
on_boot:
priority: 900
then:
- script.execute: fan1_init
- fan.turn_on: fan2
- fan.turn_on: fan3
esp32:
board: esp32dev
framework:
type: arduino
logger:
level: INFO
api:
encryption:
key: !secret cabinet_api_key
ota:
password: !secret cabinet_ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
fast_connect: true
manual_ip:
static_ip: !secret cabinet_ip
subnet: !secret ip4_mask
gateway: !secret ip4_gateway
dns1: !secret ip4_dns1
dns2: !secret ip4_dns2
script:
- id: fan1_init
mode: single
then:
# - output.set_level:
# id: pwm1
# level: 100%
# - delay: 5s
# - output.set_level:
# id: pwm1
# level: 50%
- fan.turn_on:
id: fan1
speed: 10
- delay: 5s
- fan.turn_on:
id: fan1
speed: 5
output:
- platform: ledc # pwm for a fan
id: pwm1
pin: GPIO2
inverted: true # mosfet pulldown inverts signal
frequency: 25000Hz
min_power: 10% # pwm fan standard requires minimum signal
max_power: 100%
- platform: ledc # pwm for a fan
id: pwm2
pin: GPIO4
inverted: true # mosfet pulldown inverts signal
frequency: 25000Hz
min_power: 10% # pwm fan standard requires minimum signal
max_power: 100%
- platform: ledc # pwm for a fan
id: pwm3
pin: GPIO16
inverted: true # mosfet pulldown inverts signal
frequency: 25000Hz
min_power: 10% # pwm fan standard requires minimum signal
max_power: 100%
fan:
- platform: speed
id: fan1
name: "Fan FL"
output: pwm1
speed_count: 10
restore_mode: RESTORE_DEFAULT_ON
on_turn_off:
- fan.turn_on: fan1 # don't allow turning off
- platform: speed
id: fan2
name: "Fan FR"
output: pwm2
speed_count: 10
restore_mode: RESTORE_DEFAULT_ON
on_turn_on:
- output.set_level:
id: pwm2
level: 100%
- delay: 5s
- output.set_level:
id: pwm2
level: 50%
on_turn_off:
- fan.turn_on: fan2 # don't allow turning off
- platform: speed
id: fan3
name: "Fan BL"
output: pwm3
speed_count: 10
restore_mode: ALWAYS_OFF
on_turn_on:
- output.set_level:
id: pwm3
level: 100%
- delay: 5s
- output.set_level:
id: pwm3
level: 50%
on_turn_off:
- fan.turn_on: fan3 # don't allow turning off
Many Greetings!
Remo