devices.esphome.io
Etekcity Voltson ESW01-EU
Etekcity Voltson ESW01-EU
Device Type: switchElectrical Standard: euBoard: esp8266
Flashing
To reach the ESP pins, you need to open the device by unscrewing two (really) small Torx on the front and get the board out with four Philipps screws.
Then, all necessary pads for flashing are accessible. Attach 5V and GND at the bottom, preferably with test hooks.
      
  
        
        
GPIO Pinout
| Pin | Function | 
|---|---|
| GPIO4 | Relay | 
| GPIO5 | LED blue | 
| GPIO12 | HLWBL CF1 Pin | 
| GPIO13 | HLW8012 CF Pin | 
| GPIO14 | Button | 
| GPIO16 | LED yellow | 
The HLW8012 SEL pin is permanently pulled high, so you can only read power and voltage. With a small calculation trick you can get current values though (see current_calculated below).
Basic Configuration
esphome:  platform: ESP8266  arduino_version: 2.5.1  board: esp01_1m
wifi:  ssid: !secret wifi_ssid  password: !secret wifi_password
status_led:  pin:    number: GPIO5
output:- platform: gpio  id: led1  pin: GPIO16
switch:- platform: gpio  name: "Relay"  id: switch1  pin: GPIO4  restore_mode: RESTORE_DEFAULT_ON  on_turn_on:    - output.turn_on: led1  on_turn_off:    - output.turn_off: led1
binary_sensor:  - platform: gpio    id: button1    pin:      number: GPIO14      mode: INPUT_PULLUP      inverted: true    on_press:      - switch.toggle: switch1
sensor:  - platform: hlw8012    sel_pin: 0   # not connected    cf_pin: GPIO13    cf1_pin: GPIO12    voltage:      id: voltage      name: Voltage    power:      id: wattage      name: Wattage        on_value:          - sensor.template.publish:              id: hlw8012_current_calculated              state: !lambda 'return id(hlw8012_power).state / id(hlw8012_voltage).state;'    update_interval: 10s    initial_mode: VOLTAGE    change_mode_every: 4294967295 # basically never  - platform: template #disabled    id: current_calculated    name: "Current (calculated)"