WARNING
⚠️ This product has quality issues, AVOID PURCHASING!
After a year and a half, my two switches failed to boot one after the other. I suspect that the issue lies with the low-quality DC-DC power module KP3210SG and the capacitor C5
(10 V, 470 μF) next to it. The symptoms are: the capacitor C5 bulged, and the output voltage of KP3210SG was too low, resulting in an insufficient power supply voltage (only around 1.8 V) to the ESP module, rendering it unable to boot.
Hardware
GPIO Functions
GPIO Pin | Function |
---|---|
3 | LED indicator (low level trigger) |
4 | Switch S1 signal (low level trigger) |
5 | Switch S2 signal (low level trigger) |
12 | Relay L1 |
13 | Pairing button |
14 | Relay L2 |
Source: https://devices.esphome.io/devices/loratap-sc500w/
The case has three snap-fits, it's very easy to disassemble it, PCB front side:
back side:
Luckily, the module is an ESP8285-based TYWE2S, not a newer one based on the BK72XX family SoC.
Follow the datasheet, solder wires to the TX
, RX
, GND
, 3V3
pins respectively:
then short the IO0
pad to GND
on the back side:
Software
ESPHome configuration example:
substitutions:
device_name: 'Shutter 1'
esphome:
name: shutter-1
comment: 'Roller shutter switch 1'
esp8266:
board: esp8285 # 1 MB flash size
restore_from_flash: false
preferences:
flash_write_interval: 24h # reduce write frequency to flash to avoid wearing it out, adjust it as needed
logger:
level: WARN
# baud_rate: 115200
wifi:
fast_connect: true
networks:
- ssid: !secret wifi_ssid
bssid: !secret wifi_bssid
password: !secret wifi_password
domain: !secret domain_name
api:
ota:
password: !secret ota_password
button:
# for hard restart
- platform: restart
id: restart_button
name: 'Restart ${device_name}'
entity_category: diagnostic
status_led: # onboard LED
pin:
number: 3
inverted: true
binary_sensor:
# external switches
- platform: gpio
id: switch_open
pin:
number: 4
inverted: true
on_press:
then:
- cover.open: shutter
on_release:
then:
- cover.stop: shutter
internal: true
- platform: gpio
id: switch_close
pin:
number: 5
inverted: true
on_press:
then:
- cover.close: shutter
on_release:
then:
- cover.stop: shutter
internal: true
# use the pairing button for hard restarting
- platform: gpio
id: pairing_button
pin: 13
on_release:
then:
- button.press: restart_button
internal: true
# relays
output:
- platform: gpio
id: relay_open
pin: 12
- platform: gpio
id: relay_close
pin: 14
cover:
- platform: time_based
id: shutter
name: '${device_name}'
device_class: shutter
open_action:
- output.turn_off: relay_close
- output.turn_on: relay_open
open_duration: 40s # adjust it to the actual duration to fully open
close_action:
- output.turn_off: relay_open
- output.turn_on: relay_close
close_duration: 40s # adjust it to the actual duration to fully close
stop_action:
- output.turn_off: relay_open
- output.turn_off: relay_close
assumed_state: true
Added to Home Assistant:
1 Comment
jojo · 2023-09-19 at 20:00
Thanks a lot for this tutorial!
It did help me quite a lot.