devices.esphome.io
Arlec PC399HA Plug
Arlec PC399HA Plug
Device Type: plugElectrical Standard: auBoard: esp8266
The Arlec PC399HA power plug is part of the Grid Connect ecosystem and is sold at Bunnings in Australia and New Zealand.
As at the time of writing, they can sometimes be flashed without disassembly or soldering using tuya-convert. Newer versions cannot yet be flashed without opening the device.
To flash the device manually the unit needs to be opened and then flashed over the UART connection. An example video on youtube shows how to wire this into a UART adaptor.
GPIO Pinout
Pin | Function |
---|---|
GPIO03 | Button |
GPIO04 | BL0937 CF |
GPIO05 | BL0937 CF1 |
GPIO12 | BL0937 SEL |
GPIO13 | Blue LED (Inverted: true) |
GPIO14 | Relay |
Getting it up and running
Tuya Convert
These switches are Tuya devices, so if you don't want to open them up to flash directly, you can use tuya-convert to initially get ESPHome onto them. After that, you can use ESPHome's OTA functionality to make any further changes.
- Put the switch into "smartconfig" / "autoconfig" / pairing mode by holding any button for about 5 seconds.
- The status LED blinks rapidly to confirm that it has entered pairing mode.
Basic Configuration
substitutions: device_name: "arlec_PC399HA_1" name: "ARLEC PC399HA 1"
esphome: name: ${device_name} comment: ${name} friendly_name: ${name}
esp8266: board: esp01_1m
# Enable logginglogger:
# Enable Home Assistant APIapi: encryption: key: "api_password"
ota: password: "ota_password"
wifi: ssid: !secret wifi_ssid password: !secret wifi_password ap:
captive_portal:
binary_sensor: - platform: gpio pin: number: GPIO3 inverted: True mode: INPUT_PULLUP name: ${name} button filters: delayed_on_off: 100ms # Debouncing on_press: then: - switch.toggle: relay
switch: - platform: gpio pin: GPIO14 name: "${name}" id: relay restore_mode: always on icon: mdi:power-socket-au on_turn_on: then: - output.turn_on: button_led on_turn_off: then: - output.turn_off: button_led
output: - platform: gpio id: button_led pin: number: GPIO13 inverted: yes
sensor: - platform: hlw8012 model: BL0937 sel_pin: number: GPIO12 inverted: true cf_pin: GPIO04 cf1_pin: GPIO05 voltage_divider: 1650 # You may need to adjust this to be accurate current: name: "${name} Current" accuracy_decimals: 3 voltage: name: "${name} Voltage" accuracy_decimals: 2 power: name: "${name} Power" id: totalMediaWatts energy: name: "${name} Energy" update_interval: 10s