DIY Smart Switch
General Notes
A smart WIFI relay to convert a normal swicht into a smart switch and retain the fuction of the normal switch.
Some modules have RF433 fuction but not included below.
These devices are sold under many brands on Aliexpress.

GPIO Pinout
| Pin | Function |
|---|---|
| P6 | Rocker switch INPUT_PULLUP |
| P7 | Relay (H) |
| P8 | RF input ? |
| P23 | Button INPUT_PULLUP |
| P26 | Blue Status LED (H) |
Configuration
## -----------------------##
## Substitution Variables ##
## -----------------------##
substitutions:
device_friendly_name: WIFI Switch
device_icon: "mdi:power"
## --------------------##
## Board Configuration ##
## --------------------##
esphome:
name: ${device_internal_name}
friendly_name: ${device_friendly_name}
bk72xx:
board: generic-bk7231n-qfn32-tuya
## ---------------- ##
## Status LED ##
## If there is an error in ESPHome, the diode blinks. If everything is fine, the indicator can be controlled from HA
## ---------------- ##
light:
- platform: status_led
name: "Switch state"
id: led
pin:
number: P26
## ---------------- ##
## Binary Sensors ##
## ---------------- ##
binary_sensor:
# Button back
- platform: gpio
id: button_1
pin:
number: P23
inverted: true
mode: INPUT_PULLUP
on_press:
then:
- switch.toggle: relay
filters:
- delayed_on_off: 50ms
# Rocker switch
- platform: gpio
name: "${device_friendly_name} Switch"
pin: P6
on_press:
then:
- switch.turn_on: relay
on_release:
- switch.turn_off: relay
filters:
- delayed_on_off: 50ms
## ---------------- ##
## Switch ##
## ---------------- ##
switch:
#Relay
- platform: output
name: "${device_friendly_name} Relay"
icon: ${device_icon}
output: relayoutput
id: relay
on_turn_on:
- light.turn_on: led
on_turn_off:
- light.turn_off: led
restore_mode: ALWAYS_OFF
## ---------------- ##
## Relays ##
## ---------------- ##
output:
# Relay
- platform: gpio
id: relayoutput
pin: P7