devices.esphome.io
LSC smart plug 2578685
LSC smart plug 2578685
Device Type: plugElectrical Standard: euBoard: bk72xx
Warning
The latest LSC smart plug 2578685 devices use the Tuya BK7231N module, which is not compatible with ESPHome!
Notice
- This smart plug is flashable using the latest tuya-cloudcutter with a compiled ESPHome binary. I recommend following this Youtube Video.
 - There is a version with BK7231N and a version with BK7231T. Both should work but you need to make sure to use the right version. I recommend to use the the configuration gererated by ltchiptool and esphome-kickstart as shown in the video instead of this configuration, because it might change.
 - The second configuration is the version that worked for me (Version 1.1.8 in the App and with BK7231N)
 
Product Images
      
  
        
        
GPIO Pinout
Pinout for Version with BK7231T
| Pin | Function | 
|---|---|
| P7 | Switch button | 
| P26 | Blue LED | 
| P6 | Red LED | 
| P8 | Relay | 
Pinout for Version with BK7231N (Relay and LED Swapped)
| Pin | Function | 
|---|---|
| P7 | Switch button | 
| P26 | Blue LED | 
| P8 | Red LED | 
| P6 | Relay | 
Basic configuration
Version for BK7231T:
substitutions:  name: lsc-switch-01  friendly_name: lsc-switch-01esphome:  name: ${name}  friendly_name: ${friendly_name}
libretuya:  board: generic-bk7231t-qfn32-tuya  framework:    version: dev
# Enable logginglogger:
# Enable Home Assistant APIapi:  encryption:    key: !secret api_encryption_key
ota:  password: !secret ota_password
wifi:  ssid: !secret wifi_ssid  password: !secret wifi_password
  # Enable fallback hotspot in case wifi connection fails  ap:    ssid: "Lsc-Switch-01 Fallback Hotspot"    password: ""
#web_server:#  port: 80
sensor:  - platform: wifi_signal    name: "WiFi Signal Sensor"    update_interval: 60s
  - platform: uptime    name: Uptime Sensor    id: uptime_sensor    update_interval: 60s    on_raw_value:      then:        - text_sensor.template.publish:            id: uptime_human            state: !lambda |-              int seconds = round(id(uptime_sensor).raw_state);              int days = seconds / (24 * 3600);              seconds = seconds % (24 * 3600);              int hours = seconds / 3600;              seconds = seconds % 3600;              int minutes = seconds /  60;              seconds = seconds % 60;              return (                (days ? to_string(days) + "d " : "") +                (hours ? to_string(hours) + "h " : "") +                (minutes ? to_string(minutes) + "m " : "") +                (to_string(seconds) + "s")              ).c_str();
text_sensor:  - platform: template    name: Uptime Human Readable    id: uptime_human    icon: mdi:clock-start  - platform: wifi_info    ip_address:      name: IP Address      entity_category: diagnostic
binary_sensor:  - platform: status    name: Status    entity_category: diagnostic
  - platform: gpio    pin:      number: P7      mode:        input: true        pullup: true      inverted: true    name: "Power Button"    on_press:      - switch.toggle: relay
switch:  - platform: gpio    # RED    id: led_1    pin:      number: P6      inverted: false
  - platform: gpio    # BLUE    id: led_2    pin:      number: P26      inverted: false
  - platform: gpio    name: Switch    pin: P8    id: relay
    # Turn off red LED to show blue when turned on    on_turn_on:      - switch.turn_on: led_2      - switch.turn_off: led_1
    # Turns on the red LED once the plug is turned off    on_turn_off:      - switch.turn_off: led_2      - switch.turn_on: led_1
button:  - platform: restart    id: restart_button    name: Restart    entity_category: diagnosticVersion for BK7231N:
esphome:  name: lsc-plug-1
bk72xx:  board: generic-bk7231n-qfn32-tuya
logger:
web_server:
captive_portal:
api:  encryption:    key: !secret encryption_key
ota:  password: !secret ota_password_new
wifi:  ssid: !secret wifi_ssid  password: !secret wifi_password  ap:    ssid: "lsc_plug_1 Hotspot"    password: "12345678"
text_sensor:  - platform: libretiny    version:      name: LibreTiny Version
status_led:  pin: P26
binary_sensor:  - platform: status    name: lsc-plug-1_status  - platform: gpio    pin:      number: P7      mode: INPUT_PULLUP      inverted: true    name: lsc-plug-1_button    internal: true    on_press:      - switch.toggle: relay
output:  - platform: gpio    id: relay_led    pin: P8
switch:  - platform: gpio    id: relay    name: lsc-plug-1_relay    pin: P6    on_turn_on:      - output.turn_on: relay_led    on_turn_off:      - output.turn_off: relay_led