Brilliant Smart WiFi Wall Mounted Light Switch
The Brilliant Smart WiFi wall mounted light switch is available in Australia. They come in single gang, twin, triple and quad gang configurations. They're a smooth glass front with round touch switches to control the lights.
Getting Started
These devices are obstensibly Tuya-controlled switches, but after re-flashing them with Tuya-Convert, they work nicely with ESPHome. I flashed mine directly from the existing Tuya to ESPHome. (Some people go to Tasmota first – there's no need.)
Ref: https://thehomeautomator.com.au/running-esphome-with-home-assistant/
Code
This YAML is cobbled together from:
- DETA Grid Connect Smart Switch template (for the WiFi signal and uptime sensors and the restart option)
- ESPHome Tuya component documentation
- ESPHome Tuya switch documentation
substitutions:
  device_name: garage-light-switch
  friendly_name: "Light Switch - Garage"
#################################################
esphome:
  name: ${device_name}
esp8266:
  board: esp01_1m
# Enable logging
logger:
  baud_rate: 0
# Enable Home Assistant API
api:
  encryption:
    key: !secret api_encryption_key
ota:
  password: !secret garage_ota_password
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: on
  manual_ip:
    # Set this to the IP of the device
    static_ip: 192.168.1.83
    gateway: 192.168.1.254
    subnet: 255.255.255.0
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "${device_name}"
    password: !secret ap_password
captive_portal:
uart:
  rx_pin: GPIO3
  tx_pin: GPIO1
  baud_rate: 9600
# Register the Tuya MCU connection
tuya:
sensor:
  - platform: wifi_signal
    name: ${device_name} Wifi Signal Strength
    update_interval: 60s
  - platform: uptime
    name: ${device_name} Uptime
switch:
  - platform: restart
    name: "${friendly_name} REBOOT"
  # Define the switch we want to control.
  # This works perfectly for a single gang light switch.
  - platform: "tuya"
    name: "${friendly_name}"
    switch_datapoint: 1
# For Multi gang light switches:
#  - platform: "tuya"
#    name: "${friendly_name} 1"
#    switch_datapoint: 1
#
#  - platform: "tuya"
#    name: "${friendly_name} 2"
#    switch_datapoint: 2
#
#  - platform: "tuya"
#    name: "${friendly_name} 3"
#    switch_datapoint: 3
#
#  - platform: "tuya"
#    name: "${friendly_name} 4"
#    switch_datapoint: 4