Если с прошивкой выключателей на модулях на базе чипов esp8266, esp8285 и BK72xx более-менее понятно, просто задаем назначение выводов чипа в соответствии с их назначением (светодиод, реле или кнопка), то с выключателями которые имеют кроме модуля ещё и дополнительную микросхему называемую TuyaMCU то тут возникают небольшие сложности. Из одной партии выключателей мне попались разные выключатели которые не имели TuyaMCU и которые имели TuyaMCU.
По виду выключатель с TuyaMCU имеет такой же вид и название модели, однако имеют разные чипы, в рассматриваемом выключателе чип WB2S
для перепрошивки необходимо отсоединить микросхему TuyaMCU от модуля WB2S так как они соединены через UART порт и при работе микросхемы не прошить поскольку она посылает в UART порт так же данные. В данном случае обесточить микросхему можно выпаяв резистор с нулевым сопротивлением или отпаять ногу микросхемы TuyaMCU. Так как удобнее припаять питание для прошивки к разъему у микросхемы TuyaMCU то я поднял первую ногу питания у микросхемы TuyaMCU и прошил модуль WB2S
Что за микросхема TuyaMCU выяснить не удалось так как маркировка стерта, но общается с модулем по UART по протоколу который описан в документации,
в ESPHome для взаимодействия с TuyaMCU есть соответствующий компонент. Кроме стандартных настроек необходимо подключить данный компонент в наш конфигурационный файл указав так же параметры UART порта и отключить сообщения отладки, добавить следующий код:
logger: baud_rate: 0 uart: rx_pin: GPIO10 tx_pin: GPIO11 baud_rate: 9600 tuya:
после перепрошивки модуля параметры TuyaMCU можно посмотреть в логе, этот блок относится к нашему TuyaMCU
поскольку у нас выключатель, то в конфигурацию включим соответствующие компоненты, я сначала Datapoint 1, 2 и 16 сделал без привязки к назначению, то есть имя дал случайное, после того как я выяснил что за что отвечает я дал названия, код дополнился следующими строками
switch: - platform: "tuya" name: "L1" switch_datapoint: 1 - platform: "tuya" name: "L2" switch_datapoint: 2 - platform: "tuya" name: "Led" switch_datapoint: 16
опять перепрошиваем и получаем функциональный выключатель.
Поскольку вся функция работы заложена в микросхеме TuyaMCU то невозможно в прошивке изменить режим работы, можно лишь отключить подсветку клавиш при включении. В данном выключателе клавиши подсвечиваются только когда линия включена, при выключенной подсветка тусклая, так же нельзя изменить яркость свечения подсветки и обрабатывать кнопки отдельно. Например в этом выключателе
нет TuyaMCU и всё подключено к модулю и соответственно управление светодиодами подсветки, реле, обработка событий кнопок можно настроить в конфигурации прошивки ESPHome и всё подключено к соответствующим выводам