esphome: name: "vent" esp8266: board: nodemcuv2 logger: api: encryption: key: "your_key" services: - service: control_servo variables: level: float then: - servo.write: id: damper level: !lambda 'return level / 100.0;' ota: password: "your_OTA_password" wifi: ssid: "YOUR_NETWORK_SSID" password: "YOUR_NETWORK_PASSWORD" ap: ssid: "Spray-Tent Fallback Hotspot" password: "FALLBACK_PASSWORD" captive_portal: web_server: port: 80 output: - platform: esp8266_pwm id: pwm_output pin: D3 frequency: 50 Hz - platform: esp8266_pwm id: motor_forward_pin pin: D0 inverted: false - platform: esp8266_pwm id: motor_reverse_pin pin: D1 - platform: esp8266_pwm id: pina pin: D2 - platform: esp8266_pwm id: pinb pin: D4 servo: - id: damper output: pwm_output cover: - platform: template name: "Tent Damper" id: tentdamper optimistic: true device_class: damper open_action: - servo.write: id: damper level: 95.0% close_action: - servo.write: id: damper level: -18.0% stop_action: - servo.write: id: damper level: -18.0% - servo.detach: damper fan: - platform: hbridge id: tentfan name: "Tent Fan" pin_a: motor_forward_pin pin_b: motor_reverse_pin decay_mode: slow light: - platform: monochromatic name: "Tent Light" output: pina