Starter ESPHome config
Built from the pinout above. Keys and the Wi-Fi password come from secrets.yaml in ESPHome. Check the pins against your hardware revision before flashing: one model can ship with different boards.
substitutions:
name: deta-grid-connect-smart-
esphome:
name: ${name}
friendly_name: "DETA Grid Connect Smart Switch (Single 6911HA / Double 6912HA / Triple 6903HA / Quad 6904HA)"
bk72xx:
board: generic-bk7231n-qfn32-tuya # BK7231T or BK7231N: check the chip marking
logger:
api:
encryption:
key: !secret api_key
ota:
- platform: esphome
password: !secret ota_password
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap: {}
captive_portal:
switch:
- platform: gpio
pin: GPIO13
id: relay1
name: "Relay 1" # Relay, Top _(includes LED)_
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: GPIO14
id: relay2
name: "Relay 2" # Relay, Bottom _(includes LED)_
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: GPIO5
id: relay3
name: "Relay 3" # Relay, Top _(includes LED)_
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: GPIO14
id: relay4
name: "Relay 4" # Relay, Middle _(includes LED)_
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: GPIO12
id: relay5
name: "Relay 5" # Relay, Bottom _(includes LED)_
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: P6
id: relay6
name: "Relay 6" # Relay, Left _(includes LED)_
restore_mode: RESTORE_DEFAULT_OFF
- platform: gpio
pin: P26
id: relay7
name: "Relay 7" # Relay, Right _(includes LED)_
restore_mode: RESTORE_DEFAULT_OFF
binary_sensor:
- platform: gpio
pin:
number: GPIO12
mode: INPUT_PULLUP
inverted: true
name: "Button 1" # Button, Bottom
on_press:
- switch.toggle: relay1
- platform: gpio
pin:
number: GPIO16
mode: INPUT_PULLUP
inverted: true
name: "Button 2" # Button, Top
on_press:
- switch.toggle: relay2
- platform: gpio
pin:
number: GPIO16
mode: INPUT_PULLUP
inverted: true
name: "Button 3" # Button, Top
on_press:
- switch.toggle: relay3
- platform: gpio
pin:
number: GPIO4
mode: INPUT_PULLUP
inverted: true
name: "Button 4" # Button, Middle
on_press:
- switch.toggle: relay4
- platform: gpio
pin:
number: GPIO3
mode: INPUT_PULLUP
inverted: true
name: "Button 5" # Button, Bottom
on_press:
- switch.toggle: relay5
- platform: gpio
pin:
number: P14
mode: INPUT_PULLUP
inverted: true
name: "Button 6" # Button, Left
on_press:
- switch.toggle: relay6
- platform: gpio
pin:
number: P24
mode: INPUT_PULLUP
inverted: true
name: "Button 7" # Button, Right
on_press:
- switch.toggle: relay7
status_led:
pin:
number: GPIO4
inverted: true # Status LED _(inverted)_
# Other pins from the pinout:
# GPIO0: Status LED _(inverted)_
# P9: Status LED _(inverted)_
How to flash
- Most devices are flashed over UART: a 3.3 V USB-TTL adapter to RX, TX, GND and 3V3, holding GPIO0 to ground at power-on (ESP8266/ESP32). Mains power disconnected.
- Beken (BK72xx) and Realtek chips are flashed with ltchiptool, or with cloudcutter without opening the case if the firmware allows it.
- Details and board photos: the device page in the ESPHome database.
A config from scratch: ESPHome generator. Which pins are safe: pinout.
Similar devices
- Aubess WiFi Smart Switch (CB2S) V.2022
- Aubess WiFi Smart Switch with Power Monitoring
- CloudFree SWM1 Motion Light Switch
- Deta Grid Connect Smart Fan Speed Controller with Touch Light Switch
- DETA Grid Connect Smart Switch 2 Way 2 Gang (6952HA)
- DETA Grid Connect Smart Switch Single Gang Two-Way (6951HA)
- DETA Mechanism Switch (6014HA)
- Etekcity Voltson ESW01-EU