prefixkit Вопрос инженеруСпросить Поддержать EN

Устройства ESPHome

Deta Grid Connect Smart Fan Speed Controller with Touch Light Switch: ESPHome

Deta Grid Connect Smart Fan Speed Controller with Touch Light Switch (настенные выключатели, BK72XX): распиновка GPIO и готовый стартовый конфиг ESPHome — реле, кнопки, светодиод. Подключение к Home Assistant без облака.

Тип
Настенные выключатели
Чип
BK72XX
Стандарт розетки / региона
AU

Распиновка

ПинНазначение
GPIO0Button2
GPIO1None
GPIO2None
GPIO3LedLink
GPIO4Relay3
GPIO5Button3
GPIO9None
GPIO10None
GPIO12None
GPIO13Relay2
GPIO14Relay1
GPIO15Relay4
GPIO16Button1
P14Button1
P1Button2
P8Button3
P10Led
P26Light Relay
P6Fan Relay 1
P7Fan Relay 2
P9Fan Relay 3
P14Button1
P20Button2
P7Button3
P10Led
P26Light Relay
P6Fan Relay 1
P8Fan Relay 2
P9Fan Relay 3

Найти в магазинах: AliExpress

Ссылки ведут на поиск в магазинах; часть ссылок партнёрские — покупка по ним ничего не стоит вам и поддерживает сайт. Мы не продаём устройства и не получаем их от производителей.

Стартовый конфиг ESPHome

Собран по распиновке выше. Ключи и пароль Wi-Fi берутся из secrets.yaml в ESPHome. Перед прошивкой сверьте пины со своей ревизией устройства: у одной модели бывают разные платы.

substitutions:
  name: deta-grid-connect-smart-

esphome:
  name: ${name}
  friendly_name: "Deta Grid Connect Smart Fan Speed Controller with Touch Light Switch"

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: GPIO4
    id: relay1
    name: "Relay 1"  # Relay3
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO13
    id: relay2
    name: "Relay 2"  # Relay2
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO14
    id: relay3
    name: "Relay 3"  # Relay1
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: GPIO15
    id: relay4
    name: "Relay 4"  # Relay4
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: P26
    id: relay5
    name: "Relay 5"  # Light Relay
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: P6
    id: relay6
    name: "Relay 6"  # Fan Relay 1
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: P7
    id: relay7
    name: "Relay 7"  # Fan Relay 2
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: P9
    id: relay8
    name: "Relay 8"  # Fan Relay 3
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: P26
    id: relay9
    name: "Relay 9"  # Light Relay
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: P6
    id: relay10
    name: "Relay 10"  # Fan Relay 1
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: P8
    id: relay11
    name: "Relay 11"  # Fan Relay 2
    restore_mode: RESTORE_DEFAULT_OFF
  - platform: gpio
    pin: P9
    id: relay12
    name: "Relay 12"  # Fan Relay 3
    restore_mode: RESTORE_DEFAULT_OFF

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: true
    name: "Button 1"  # Button2
    on_press:
      - switch.toggle: relay1
  - platform: gpio
    pin:
      number: GPIO5
      mode: INPUT_PULLUP
      inverted: true
    name: "Button 2"  # Button3
    on_press:
      - switch.toggle: relay2
  - platform: gpio
    pin:
      number: GPIO16
      mode: INPUT_PULLUP
      inverted: true
    name: "Button 3"  # Button1
    on_press:
      - switch.toggle: relay3
  - platform: gpio
    pin:
      number: P14
      mode: INPUT_PULLUP
      inverted: true
    name: "Button 4"  # Button1
    on_press:
      - switch.toggle: relay4
  - platform: gpio
    pin:
      number: P1
      mode: INPUT_PULLUP
      inverted: true
    name: "Button 5"  # Button2
    on_press:
      - switch.toggle: relay5
  - platform: gpio
    pin:
      number: P8
      mode: INPUT_PULLUP
      inverted: true
    name: "Button 6"  # Button3
    on_press:
      - switch.toggle: relay6
  - platform: gpio
    pin:
      number: P14
      mode: INPUT_PULLUP
      inverted: true
    name: "Button 7"  # Button1
    on_press:
      - switch.toggle: relay7
  - platform: gpio
    pin:
      number: P20
      mode: INPUT_PULLUP
      inverted: true
    name: "Button 8"  # Button2
    on_press:
      - switch.toggle: relay8
  - platform: gpio
    pin:
      number: P7
      mode: INPUT_PULLUP
      inverted: true
    name: "Button 9"  # Button3
    on_press:
      - switch.toggle: relay9

status_led:
  pin:
    number: GPIO3
    inverted: false  # LedLink

# Other pins from the pinout:
#   P10: Led
#   P10: Led
#   GPIO1: None
#   GPIO2: None
#   GPIO9: None
#   GPIO10: None
#   GPIO12: None

Как прошить

  • Большинство устройств прошивают по UART: адаптер USB-TTL на 3,3 В к пинам RX, TX, GND и 3V3, при включении зажать GPIO0 на землю (для ESP8266/ESP32). Сетевое питание при этом отключено.
  • Чипы Beken (BK72xx) и Realtek прошивают через ltchiptool или cloudcutter без вскрытия — если прошивка устройства это допускает.
  • Подробности и фотографии платы — страница устройства в базе ESPHome.

Свой конфиг с нуля — генератор ESPHome. Какие пины безопасны — распиновка.

Похожие устройства

Идея?