DETA Grid Connect Smart Switch Single Gang Two-Way (6951HA)
Overview
The DETA Smart Switch Single Gang Two-Way (6951HA) is part of the Grid Connect ecosystem, and is sold at Bunnings in Australia.
Also known as:
- Smart Single Gang 2 Way Touch Light Switch (Deta website)
- Single Gang 2 Way Touch Light Switch (Grid Connect website)
Variations
As shown on the front of the packet.
| Variation | Microcontroller | Board | Firmware | Flashing methods |
|---|---|---|---|---|
| Series 1 | Beken BK7231T | Tuya WB3S | v1.1.5 | Cloudcutter |
Setup Guide
Cloudcutter
Cloudcutter is a tool designed to simplify the flashing process. Follow the official guide for instructions.
You can use the “Lonsonho” brand “X801A 1-Gang Switch” option in Cloudcutter.
Manual Flashing
Manual Flashing has not been tested on this specific model, but other models with the same chip have been tested and these manual steps work, you'll need a USB to serial adapter. Follow the disassembly steps below:
- Remove the front plastic face.
- Unscrew the two exposed screws.
- Remove the clear panel and the small PCB underneath.
Tip: You can convert these switches to ESPHome by replacing the WB3S chip with an ESP-12E or ESP-12F chip and adding a 10k pull-down resistor on GPIO15.
GPIO Pinouts
Series 1 (WB3S) GPIO Pinouts
See Pinouts on WB3S Module Datasheet for more detail
| Pin | Function |
|---|---|
| P24 | Status LED (inverted) |
| P26 | Button (inverted) |
| P14 | Relay and Button LED |
| P8 | Light activation status, taking into account the local activation (this device) xor the remote activation (another device) (inverted) |
Note: Each relay shares a pin with its associated LED.
Advanced Modifications
To gain individual control of button LEDs, remove specific diodes and solder a wire from the cathode side of the diode pad to a spare GPIO pin. See this example.
Configuration Examples
Series 1 (WB3S) Configuration Examples
substitutions:
device_name: "deta-2-way-1-gang-switch"
friendly_name: "DETA 2 Way 1 Gang Switch"
light_1_name: "${friendly_name}"
light_1_icon: "mdi:light-recessed"
esphome:
name: ${device_name}
friendly_name: ${friendly_name}
bk72xx:
board: wb3s
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
logger:
status_led:
pin:
number: P24
inverted: true
light:
- platform: binary
output: filter_1
id: light_1
name: "${light_1_name}"
icon: "${light_1_icon}"
binary_sensor:
# Buttons
- platform: gpio
id: button_1
pin:
number: P26
inverted: true
mode: INPUT_PULLUP
on_press:
then:
- light.toggle: light_1
internal: true
# Activation statuses
# Represents the "local" relay (this device) XOR the "remote" relay (another device).
# It only shows TRUE if one of the "local" or "remote" relays are active, but not both.
- platform: gpio
id: activation_status_1
pin:
number: P8
mode: INPUT
inverted: true
internal: true
switch:
# Relay
- platform: gpio
id: relay_1
pin: P14
internal: true
output:
# Filters
# Triggered when the "light" entity is turned on or off. Will only toggle
# the associated relay if the "light" entity is out of sync with the
# "activation status"; otherwise do nothing as the state is already correct.
- platform: template
type: binary
id: filter_1
write_action:
then:
- if:
condition:
- lambda: "return state != id(activation_status_1).state;"
then:
- switch.toggle: relay_1
Add Reboot button to HA
switch:
- platform: restart
name: ${friendlyname} REBOOT