prefixkit Ask an engineerAsk Support RU

ESPHome devices

Arlec Grid Connect Smart Plug In Socket With Energy Meter (PC191HA or PC191BKHA): ESPHome

Arlec Grid Connect Smart Plug In Socket With Energy Meter (PC191HA or PC191BKHA) (smart plugs, BK72XX): GPIO pinout and a starter ESPHome config with relays, buttons, LED and power metering. Local Home Assistant control with no cloud.

Type
Smart plugs
Chip
BK72XX
Region standard
AU

Pinout

PinFunction
P6(PWM0) Relay
P7(PWM1) BL0937 CF pin
P8(PWM2) BL0937 CF1 pin
P24(PWM4) BL0937 SEL pin
P26(PWM5) LED
P10(RXD1) Wifi LED (hidden inside unit)
P11(TXD1) Button
P6(PWM0) BL0937 CF1 pin
P7(PWM1) BL0937 CF pin
P8(PWM2) Relay
P10(RXD1) Wifi LED (hidden inside unit)
P11(TXD1) Button
P24(PWM4) BL0937 SEL pin
P26(PWM5) LED

Find it in shops: AliExpress

Links open a search in the shop; some are affiliate links: buying through them costs you nothing extra and supports this site. We do not sell devices or get them from manufacturers.

Starter ESPHome config

Built from the pinout above. Keys and the Wi-Fi password come from secrets.yaml in ESPHome. Check the pins against your hardware revision before flashing: one model can ship with different boards.

substitutions:
  name: arlec-grid-connect-smart

esphome:
  name: ${name}
  friendly_name: "Arlec Grid Connect Smart Plug In Socket With Energy Meter (PC191HA or PC191BKHA)"

bk72xx:
  board: generic-bk7231n-qfn32-tuya  # BK7231T or BK7231N: check the chip marking

logger:
api:
  encryption:
    key: !secret api_key
ota:
  - platform: esphome
    password: !secret ota_password
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  ap: {}
captive_portal:

switch:
  - platform: gpio
    pin: P6
    id: relay1
    name: "Relay 1"  # (PWM0) Relay
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: P8
    id: relay2
    name: "Relay 2"  # (PWM2) Relay
    restore_mode: RESTORE_DEFAULT_OFF

binary_sensor:
  - platform: gpio
    pin:
      number: P11
      mode: INPUT_PULLUP
      inverted: true
    name: "Button 1"  # (TXD1) Button
    on_press:
      - switch.toggle: relay1
  - platform: gpio
    pin:
      number: P11
      mode: INPUT_PULLUP
      inverted: true
    name: "Button 2"  # (TXD1) Button
    on_press:
      - switch.toggle: relay2

status_led:
  pin:
    number: P26
    inverted: false  # (PWM5) LED

sensor:
  - platform: hlw8012
    model: BL0937
    sel_pin:
      number: P24
      inverted: true
    cf_pin: P7
    cf1_pin: P6
    voltage:
      name: "Voltage"
    current:
      name: "Current"
    power:
      name: "Power"
    energy:
      name: "Energy"
    update_interval: 10s
    # calibrate voltage_divider and current_resistor against a known load

# Other pins from the pinout:
#   P10: (RXD1) Wifi LED (hidden inside unit)
#   P10: (RXD1) Wifi LED (hidden inside unit)
#   P26: (PWM5) LED

How to flash

  • Most devices are flashed over UART: a 3.3 V USB-TTL adapter to RX, TX, GND and 3V3, holding GPIO0 to ground at power-on (ESP8266/ESP32). Mains power disconnected.
  • Beken (BK72xx) and Realtek chips are flashed with ltchiptool, or with cloudcutter without opening the case if the firmware allows it.
  • Details and board photos: the device page in the ESPHome database.

A config from scratch: ESPHome generator. Which pins are safe: pinout.

Similar devices

Idea?