devices.esphome.io
Xiangshang XS-SSA05 Smart Plug
Xiangshang XS-SSA05 Smart Plug
Device Type: plugElectrical Standard: usBoard: esp8266Difficulty: Disassembly required, 3/5
Links
Initial Install
This device requires the use of a serial connection for the first upload. Ensure that you use a serial adapter to connect to the device and upload the firmware. It cannot be converted to ESPHome using tuya-convert or tuya-cloudcutter.
To flash the device, you must attach GND, 3.3V, RX, and TX, and bridge IO0 to ground. You may need to hold down the button while powering on the device to put it into bootloader mode.
DO NOT ATTACH MAIN AC POWER TO DEVICE WHEN FLASHING
GPIO Pinout
GPIO Pin | Function |
---|---|
GPIO0 | Red Status LED (External) |
GPIO1 | None |
GPIO2 | None |
GPIO3 | HLW8012 SELi |
GPIO4 | Blue LED (Internal) |
GPIO5 | HLW8012 CF |
GPIO9 | None |
GPIO10 | None |
GPIO12 | Relay 1 |
GPIO13 | Button 1 |
GPIO14 | HLW8012 CF1 |
GPIO15 | Blue Link LED (External) |
GPIO16 | None |
GPIO17 | ADC Input 1 |
Basic Configuration
esphome: name: xs-ssa05 friendly_name: XS SSA05 Smart Plug
esp8266: board: esp01_1m
# Enable logginglogger:
# Remove the following line if you're not using Home Assistant or your switch will restart every now and againapi:
ota:
wifi: ssid: !secret wifi_ssid password: !secret wifi_password
binary_sensor: # Button (GPIO13) - platform: gpio name: "XS-SSA05 Button" pin: number: GPIO13 mode: INPUT_PULLUP inverted: True on_press: - switch.toggle: relay
# Device status - platform: status name: "XS-SSA05 Status"
sensor: # WiFi Signal - platform: wifi_signal name: "XS-SSA05 WiFi Signal" update_interval: 60s
# HLW8012 Power Sensor - platform: hlw8012 sel_pin: number: GPIO03 inverted: True cf_pin: GPIO05 cf1_pin: GPIO14 current: name: "XS-SSA05 Current" accuracy_decimals: 2 voltage: name: "XS-SSA05 Voltage" accuracy_decimals: 2 power: name: "XS-SSA05 Power" accuracy_decimals: 2 energy: name: "XS-SSA05 Energy" accuracy_decimals: 2 filters: - multiply: 0.001 # Convert Wh to kWh
switch: # Relay (GPIO12) - platform: gpio name: "XS-SSA05 Relay" pin: GPIO12 id: relay restore_mode: ALWAYS_OFF on_turn_on: - output.turn_on: relay_led on_turn_off: - output.turn_off: relay_led
time: - platform: sntp id: my_time
status_led: # Status LED (Blue LED on GPIO15) pin: number: GPIO15 inverted: False
output: # Red LED for Relay Status (GPIO0) - platform: gpio pin: number: GPIO0 inverted: True id: relay_led
Notes
Opening the device can be tricky. Here’s a helpful method to open it:
- Position the plug face-up on top of the jaws of a vice or two parallel flat surfaces, ensuring only the outer shell rests on them.
- Use a small punch to hammer through the ground hole and pop the rear cover and PCB out of the back.
Additionally, the GND and TX pins are difficult to access. A precision soldering iron is recommended to solder leads to these pins. You may need to bend and hold the back case open while soldering.
Edit this page on GitHub