substitutions: device_name: fountain-outside dn: fountain_outside friendly_name: Fountain Outside device_description: Energy Monitoring Smart Plug with button, blue LED, and red LED. # Higher value gives lower watt readout current_res: "0.001" # Lower value gives lower voltage readout voltage_div: "770" <<: !include .common.yaml <<: !include .wifi-oss.yaml esphome: name: "${dn}" platform: ESP32 board: esp-wrover-kit switch: - platform: gpio name: ${friendly_name} Pump pin: number: GPIO15 inverted: false id: relay1 on_turn_on: - light.turn_on: relay1_led on_turn_off: - light.turn_off: relay1_led - platform: gpio name: ${friendly_name} Light pin: number: GPIO32 inverted: false id: relay2 on_turn_on: - light.turn_on: relay2_led on_turn_off: - light.turn_off: relay2_led - platform: restart name: ${friendly_name} Restart output: - platform: gpio pin: GPIO19 inverted: True id: relay1_led_gpio - platform: gpio pin: GPIO16 inverted: True id: relay2_led_gpio light: - platform: binary name: "Relay1 LED" id: relay1_led internal: true output: relay1_led_gpio - platform: binary name: "Relay2 LED" id: relay2_led internal: true output: relay2_led_gpio sensor: - platform: adc pin: GPIO34 name: "${friendly_name} LUX" update_interval: 10s attenuation: 11db - platform: hlw8012 sel_pin: number: GPIO25 inverted: true cf_pin: GPIO27 cf1_pin: GPIO26 current_resistor: ${current_res} voltage_divider: ${voltage_div} change_mode_every: 3 update_interval: 3s current: name: "${friendly_name} Amps" unit_of_measurement: A accuracy_decimals: 2 voltage: name: "${friendly_name} Volts" unit_of_measurement: V accuracy_decimals: 1 power: name: "${friendly_name} Watts" unit_of_measurement: W accuracy_decimals: 1 filters: - calibrate_linear: - 0.0 -> 0.0 - 134 -> 58 binary_sensor: - platform: gpio internal: true pin: number: GPIO18 mode: INPUT_PULLDOWN inverted: True name: ${friendly_name} Button1 on_press: - switch.toggle: relay1 - platform: gpio internal: true pin: number: GPIO17 mode: INPUT_PULLDOWN inverted: True name: ${friendly_name} Button2 on_press: - switch.toggle: relay2 status_led: pin: number: GPIO5 inverted: true