воскресенье, 15 марта 2020 г.

Прошивка выключателя Aodu на ESPHome и подключение к Home Assistant

       Небольшой обзор, прошивка на ESPHome и подключение к системе умный на базе Home Assistant однокнопочного выключателя Aodu с управлением по радиоканалу 433МГц и WIFI. По умолчанию данный модуль работает с приложением Smart Life от Tuya inc. Я же успешно его прошил на ESPHome и подключил к умному дому Home Assistant.  



        Ссылка на модуль в магазине BangGood: Aodu Tuya Smart Life EU 433Mhz 1 Gang WIFI Light Switch

Данные со страницы магазина:
Характеристики:
Напряжение питания: переменное 90-250В
Максимальный ток: 10А/канал
Максимальная мощность: 1000Вт/канал
Частота пульта: 433 МГц
Стандарт беспроводной связи: WiFi 2.4G
Протокол безопасности: WPA-PSK / WPA2-PSK
Материал корпуса: PC V0 огнеупорный + закаленное стекло
Размер: 86 * 86 * 35 мм
Максимальная мощность: светодиодные лампы (300 Вт), лампы накаливания (1000 Вт)
• Нагрузка: лампы накаливания, энергосберегающие лампы, светодиодные лампы и т. д.

Рисунки из описания:








         


Подробные фото выключателя Aodu
         Дальше привожу несколько фотографий упаковки, выключателя и платы крупным планом для того, чтобы можно было лучше идентифицировать модуль. Т.е. если есть такая же плата – то прошивка, приведенная ниже, должна подойти.
     Коробка отличается от той, которая на фото с магазина. На самом деле она белая на которой спереди указано что это сенсорный смарт-выключатель:

На обратной стороне QR код для скачивания Smart Life App и наклеен артикул SKU:

На торце коробки еще одна наклейка:

Внутри коробки выключатель, два винта и небольшая инструкция:

Вид с обратной стороны передней стеклянной панели:

На обратной стороне подключения видно винты для подключения проводов (N – нейтраль, L – фаза, L2 – выход на лампочку):

Разводка силового модуля выполнена качественно. Силовые дорожки достаточной ширины для управления нагрузкой до 10А.

Фото платы управления:





Подключение пульта 433МГц:
      Необходимо удерживать кнопку на выключателе пока не прозвучит одиночный сигнал и не отпуская кнопки нажать кнопку на пульте. После этого данной кнопкой пульта можно включать-выключать нагрузку выключателя.
Отключение пульта 433МГц:
      Необходимо удерживать кнопку на выключателе пока не прозвучит двойной сигнал и не отпуская кнопки нажать кнопку на пульте. После этого пульт будет отвязан от выключателя.


Прошивка выключателя
   Выключатель собран на модуле TYWE3S.  Для подключения его к адаптеру USB используются выводы Tx, Rx, GND и 3.3V и вывод GPIO0. Отдельного разъема для подключения нет, пришлось припаиваться напрямую к WIFI модулю. Не забываем, что вывод Rx платы выключателя припаивается к Tx USB адаптера, а Tx выключателя к Rx USB адаптера. Вывод GPIO0 – на время прошивки необходимо соединить с GND.




      Перед тем как сменить оригинальную прошивку не забудьте ее сохранить. Как это сделать описано здесь

ПРОФИЛЬ ESPHOME И ЕГО ОПИСАНИЕ

     При включении реле выключены. Кнопками или через веб интерфейс или из меню Home Assistant можно включить-выключить реле. Управление пультом RF при смене прошивки не меняется и работает при любой прошивке. 
     В прошивке есть сенсоры, отображающие уровень сигнала WIFI, время работы, состояния реле и светодиода и дата последней перепрошивки. Также есть доступ к к выключателю по вебу используя его IP адрес:


Используемые GPIO AODU:


Профиль для ESPHome:

esphome:
  name: aodu_1ch
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: "dream2"
  password: "********"
    # Static IP
  manual_ip:
    static_ip: 192.168.1.130
    gateway: 192.168.1.1
    subnet: 255.255.255.0
    
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Aodu 1Ch Fallback Hotspot"
    password: "********"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:
  password: "********"

ota:
  password: "********"



web_server:
  port: 80
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO5
      mode: INPUT_PULLUP
      inverted: True
    name: "Aodu 1"
    on_press:
      - switch.toggle: relay_1
  
switch:
  - platform: gpio
    name: "Aodu Relay 1"
    pin: GPIO15
    id: relay_1
    
sensor:
#  WiFi Signal Sensor
#  Датчик отображающий уровень сигнала Wifi
  - platform: wifi_signal
    name: "Aodu Signal"
    update_interval: 60s
#  Uptime Sensor
#  Датчик отображающий время работы
  - platform: uptime
    name: "Aodu Uptime"
  
text_sensor:
#  Version Text Sensor
#  Датчик отображающий версию прошивки
  - platform: version
    name: "Aodu ESPHome Version"

Добавляется в Home Assistant через меню Настройки-Интеграции:




2 комментария:

  1. А как Вы определяли нужный GPIO?

    ОтветитьУдалить
    Ответы
    1. Обычно ищу данные устройства в других прошивках (например Tasmota) и беру данные оттуда.
      Если это невозможно - то сначала внимательно рассматриваю плату и смотрю какие GPIO задействованы. Потом пробую задать в прошивке сначала эти выводы как сенсоры(binary_sensor) и смотрю какие отзываются на нажатия, потом как выключатели (switch) и так же смотрю какие срабатывают.

      Удалить