# ----------- User configutaion ------------------ substitutions: devicename: airfresher upper_devicename: Airfresher fresh_motor_pin: D1 remain_init: '2000' # ----------- /User configutaion ------------------ # Need to turn off logging because senseair uses uart and have conflicts with logging logger: esphome: name: $devicename platform: ESP8266 board: d1_mini wifi: ssid: !secret wifi_24_name password: !secret wifi_24_pass # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "$upper_devicename Fallback Hotspot" password: !secret esphome_captive_pass captive_portal: # Enable Home Assistant API api: password: !secret esphome_pass ota: password: !secret esphome_pass globals: - id: remain type: int restore_value: yes initial_value: $remain_init sensor: - platform: uptime name: "$upper_devicename Uptime" - platform: template name: "$upper_devicename Remain" icon: "mdi:battery-80" lambda: |- return id(remain); update_interval: 60s switch: - platform: gpio pin: $fresh_motor_pin id: fresh_motor - platform: template name: "$upper_devicename fresh" icon: "mdi:air-humidifier" turn_on_action: - lambda: 'id(remain) -= 1;' - switch.turn_on: fresh_motor - delay: 300ms - switch.turn_off: fresh_motor - platform: template name: "$upper_devicename reset" icon: "mdi:backup-restore" turn_on_action: - lambda: 'id(remain) = 2000;'