Отвязываем Tuya wi-fi устройства от облака. Навсегда.

Я немного занимаюсь домашней автоматизацией, у клиентов стоит разное оборудование и в маленьких проектах я использую стандартные шлюзы от производителя с их облаками, но в при большой инфраструктуре ставлю свой шлюз. Если в качестве системы управления домом используется MajorDoMo то оборудование Tuya работает из коробки, не надо никаких лишних движений по извлечению ключей, регистраций на сайтах и тому подобное. В случае же с HomeAssistant всё немного печальнее и по этому на вопрос: шить или не шить, было принято решение шить!

Вот собственно и выключатель

 

Все вайфай выключатели у меня фирмы MOES, марка выключателей WS-EU-RFB-N. Паять было лень и решил сначала прошить по воздуху. Это возможно если прошивка сделана на базе SDK до февраля 2022 года, вот с помощью этой программы,  у меня не получилось, видимо прошивка на базе SDK поздней версии. По этому пришлось разобрать выключатели и паять.

Модуль в этом выключателе CBU  с процессором BK7231N, (на фото RX и TX не чипа, а программатора)

Припаиваемся к плате

качаем прошивальщик под Linux или под Винду и отсюда прошивку под свой чип.

У меня Linux и по этому я буду делать всё в командной строке. Мне старая прошивка не нужна и мне не надо делать бэкап, я попробывал забэкапить, но после обратной заливки устройство не заработало, по этому я бросил эту затею и просто прошиваю, для моего чипа обязательно шить с адреса 0x0 и с ключом -u

./uartprogram -w OpenBK7231N_QIO_1.17.366.bin -u -s 0x0 

у меня порт /dev/ttyUSB0, если у Вас другой то надо его указать с соответствующим ключом. После запуска ненадолго замыкаем СБРОС на GND (сигнал CEN контакт 18) и модуль начинает прошиваться.

После прошивки перезапускаем модуль, должна появиться точка доступа с именем начинающимся с  «OpenBK7231N_», заходим по айпи адресу: 192.168.4.1 и задаем имя точки доступа и пароль. Сохраняем, перезагружаемся. Входим по айти адресу который выдал роутер. На надо рассказать прошивке что к какому контакту подключено, это делается в кнопке

попадаем в конфигурирование GPIO модуля

https://kusheev.com/wp-content/uploads/2023/12/img01.png

https://kusheev.com/wp-content/uploads/2023/12/img01.png

Pin number Symbol I/O type Function
1 P14 I/O Led 1
2 P16 I/O Led 2
3 P20 I/O Led 3
5 P23 ADC I/O Кнопка 1
8 P8 I/O подключена микросхема RF
10 P6 I/O Реле L3
11 P26 I/O Реле L2
12 P24 I/O Реле L1
17 P28 I/O Кнопка 3
19 P9 I/O Кнопка 2
20 P17 I/O Led Wi-Fi

Далее устанавливаем параметры MQTT, думаю что в какие поля писать не составит проблем. В MQTT публикуются и управляются только Rel и LED, нажатия кнопки не публикуются, чтобы публиковалась кнопка надо выбрать dInput и указать номер порта отличный от портов реле и LED, состояния будут публиковаться, но управлять реле эти кнопки не будут, управление в этом случае надо делать через автоматизацию которая будет управлять данными реле.

Для того чтобы завести это в HomeAssistant есть соответствующая кнопка

откроется конфиг для HomeAssistant

в конфигурации будет name: с номером канала который задан в конфигурации модуля, в HomeAssistant будет выглядеть так: switch.1 switch.2 и т.д. если у Вас несколько выключателей то строку name: надо изменить, например сделать такое же как unique id тогда в HomeAssistant реле будут выглядеть switch.bt01_relay_1 switch.bt01_relay_2 и т.д.

добавляем в свой configuration.yaml код с каждого реле (строка mqtt: и switch: должны написаны один раз), после чего эти имена можно использовать в автоматизациях, lovelace. Вот пример использования lovelace

Если у Вас такой же выключатель, то можно просто загрузить конфиг, для этого войдите в меню

и в соответствующей вкладке вставьте конфиг


{
"vendor": "MOES",
"bDetailed": "0",
"name": "Smart Switch",
"model": "WS-EU2-RFB-N",
"chip": "BK7231N",
"board": "TODO",
"flags": "1088",
"keywords": [
"TODO",
"TODO",
"TODO"
],
"pins": {
"6": "Rel;3",
"14": "LED_n;4",
"16": "LED_n;5",
"20": "LED_n;6",
"23": "Btn;1",
"24": "Rel;1",
"26": "Rel;2",
"28": "Btn;2"
},
"command": "",
"image": "https://kusheev.com/wp-content/uploads/2023/12/08.jpeg",
"wiki": "https://kusheev.com/archives/1617"
}

и нажмите кнопку загрузки

Некоторые модули возможно перепаять на модули ESP которые поддерживают другие прошивки. Ниже сравнительная таблица модулей используемых в устройствах Tuya и поддерживаемые прошивки и возможные замены на модули ESP8266/8285

модуль процессор замена прошивка примеч  
AXY2S ECR6600-TS2D ESP-02s      
AXY3L ECR6600-TS2D ESP12      
AXY3S ECR6600-TS2D ESP12      
AXYU ECR6600-TS2D        
AXYU-HM ECR6600-TS4D        
AXYU-IPEX ECR6600-TS2D        
CB1S BK7231N   OpenBeken    
CB2L BK7231N   OpenBeken    
CB2S BK7231N ESP-02s OpenBeken    
CB3L BK7231N ESP12 OpenBeken    
CB8P BK7231N   OpenBeken    
CBLC5 BK7231N   OpenBeken    
CBLC9 BK7231N   OpenBeken    
CBU BK7231N   OpenBeken    
CBU-IPEX BK7231N   OpenBeken    
CR2S W701P-VA2-CG ESP-02s      
CR3L W701M-VT2-CG ESP12   замена не полная, кроме нижних GPIO  
CR3L-IPEX RTL8720CM        
CRG1 W701P-VA2-CG        
FL_M99_V1 BK7231N/BL2028N ESP-02s OpenBeken    
FL_M99_V2 BK7231N/BL2028N ESP-02s OpenBeken   форум
FL_M99_V3 BK7231N/BL2028N ESP-02s OpenBeken   форум
T1-2S T1A        
T1-LC5 T1A        
T1-U T1A        
T1-U-IPEX T1A        
TCS905-3S BK7231NSP        
TCS905-3S BK7231NSP ESP12      
TCS905-U BK7231N   OpenBeken    
TCS905-U BK7231N        
TYLC4 ESP8266        
TYLC5S ESP8285        
TYLC6E ESP8285        
TYLC8 ESP8285        
TYWE1S ESP8266EX        
TYWE2L ESP8285        
TYWE2S ESP8285 ESP-02s      
TYWE3L ESP8266 ESP12      
TYWE3S ESP8266 ESP12      
TYWE3SE ESP32 ESP12   замена не полная, кроме нижних GPIO  
WB1S BK7231T   OpenBeken    
WB2L BK7231T   OpenBeken    
WB2S BK7231T ESP-02s OpenBeken    
WB3L BK7231T ESP12 OpenBeken    
WB3S BK7231T ESP12E OpenBeken    
WB3S-IPEX BK7231T ESP12E OpenBeken    
WB8P BK7231T   OpenBeken    
WBLC5 BK7231T ESP-01D OpenBeken отличаются разным расположением GND  
WBLC9 BK7231T   OpenBeken    
WBR1 W701        
WBR1D W701D-VA1-CG        
WBR1D-IPEX W701D-VA1-CG        
WBR2 W701-VA2-C ESP-02s      
WBR2D W701D-VA1-CG ESP-02s      
WBR3 W701-VA2-CG ESP12      
WBR3D W701D-VA1-CG ESP12      
WBR3L W701H-VT2-CG ESP-02s      
WBR3N RTL8720CS ESP12      
WBR3T W701DH-VA1-CG ESP12      
WL2H-U LN882H        
WL2H-U-IPEX LN882H        
WR1 RTL8710BN   WiFi-IoT    
WR1-IPEX RTL8710BN   WiFi-IoT    
WR2 RTL8710BN ESP-02s WiFi-IoT    
WR2 RTL8710BN ESP-02s WiFi-IoT    
WR2E RTL8710BN ESP-02s WiFi-IoT    
WR3 RTL8710BN ESP12 WiFi-IoT    
WR3E RTL8710BN ESP12 WiFi-IoT    
WR3L RTL8710BX ESP12 WiFi-IoT    
WR3LE RTL8710BX ESP12 WiFi-IoT    
WR4 RTL8710BN ESP08 WiFi-IoT ESP12 подходит по распиновке, но у WR4 нет антенны на плате  
WR5E RTL8710BN   WiFi-IoT    
WT3 T2 ESP12      
WXU T103C-HL        
WXU-IPEX T103C-HL        
XR1 XR809   OpenXR809    
XR1-IPEX XR809   OpenXR809    
XR2 XR809 ESP-02s OpenXR809    
XR3 XR809 ESP12 OpenXR809 замена не полная, кроме нижних GPIO  
WL2S LN882H ESP-02s     форум
LN02 LN882H ESP-02s   возможная замена, чип взят с форума форум

 

Отвязываем Tuya wi-fi устройства от облака. Навсегда.

Навигация по записям