maxotlin

maxotlin

На Пикабу
1359 рейтинг 5 подписчиков 25 подписок 4 поста 2 в горячем
Награды:
5 лет на Пикабу
11

Как я оживил Tuya-мотор штор после сгоревшей CB3S: OpenBeken + Home Assistant + виртуальная штора

Была задача: у мотора штор сгорела Wi-Fi плата CB3S (BK7231N). Родного бэкапа не было, заливка дампа от другого мотора дала конфликт в Tuya (то один подключается, то другой отваливается). В итоге сделал нормальный локальный вариант: OpenBeken + MQTT + Home Assistant, и всё работает без облака.

Что нужно

  • Плата CB3S / BK7231N

  • USB-UART (у меня CP2102, питание 3.3V)

  • Программа BK7231Flasher

  • Прошивка OpenBeken для BK7231N

  • Home Assistant + Mosquitto broker

    Где взять плату CB3S

    Плату Tuya CB3S (BK7231N) можно спокойно купить на AliExpress — я так и сделал: купил заранее “про запас”, и она у меня долго лежала без дела, пока не сгорела родная плата в моторе.


1) Прошиваем CB3S на OpenBeken

Для прошивки CB3S нужен обычный USB-UART, у меня CP2102.

Какие провода нужны

По сути достаточно 4 линий:

  • GND ↔ GND

  • 3.3V ↔ VCC (только 3.3V!)

  • TX адаптера ↔ RX на плате

  • RX адаптера ↔ TX на плате

⚠️ Важно: питание строго 3.3V, 5V подавать нельзя — есть шанс убить модуль.

Как ловится режим прошивки

Обычно BK7231Flasher при старте пишет что-то вроде “перезагрузите устройство / power cycle”.
Так как у меня были выведены только питание + TX/RX, я просто:

  • снимал питание на секунду

  • и подавал снова в момент, когда программа ждёт перезапуск.

Полезные советы

  • Если не коннектится — первым делом поменять местами TX/RX.

  • Обязательно общий GND между платой и адаптером.

  • Если модуль перезагружается/глючит — лучше питать от стабильного 3.3V, а не от слабого стабилизатора на UART (зависит от адаптера).

Прошиваем модуль CB3S (BK7231N) через BK7231Flasher.

✅ Важно: в актуальных версиях BK7231Flasher OpenBeken уже встроен (есть готовые образы/прошивки внутри программы), поэтому отдельно искать и скачивать .bin обычно не нужно — выбираем OpenBeken прямо в интерфейсе и шьём.


2) Настраиваем каналы в OpenBeken

Заходим в веб OpenBeken устройства:

Launch Web Application → Config → Channel Types

Ставим:

  • Channel 0 — Default

  • Channel 1 — OpenStopClose

  • Channel 2 — Dimmer

  • Channel 3 — ReadOnly

Примечание: типы каналов можно задавать и через autoexec.bat (ниже). Я оставил и в UI, и в autoexec — так проще повторить.


3) Создаём autoexec.bat (TuyaMCU + dpID)

Открываем:

FileSystem → Create File → autoexec.bat

Вставляем:

# Инициализация связи с контроллером мотора

startDriver TuyaMCU

baud 9600

# dpID 1: Основное управление (Enum)

# 0 - Открыть, 1 - Стоп, 2 - Закрыть

setChannelType 1 OpenStopClose

linkTuyaMCUOutputToChannel 1 enum 1

# dpID 2: Установка позиции (Value)

# Сюда шлем проценты (0-100)

setChannelType 2 Dimmer

linkTuyaMCUOutputToChannel 2 val 2

# dpID 3: Текущая позиция (Value)

# Мотор сообщает, где он сейчас (0-100)

setChannelType 3 ReadOnly

linkTuyaMCUOutputToChannel 3 val 3

Сохраняем файл и перезагружаем модуль:

Index → Restart (красная кнопка)

После этого в главном меню OpenBeken появится переключатель из трёх позиций (Открыть, Стоп, Закрыть), ползунок (Channel 2) и показ текущей позиции (Channel 3).

Как я оживил Tuya-мотор штор после сгоревшей CB3S: OpenBeken + Home Assistant + виртуальная штора

4) Настраиваем MQTT в OpenBeken

Config → Configure MQTT

Заполняем данные Mosquitto (IP Home Assistant, логин/пароль). Пароль смотрим в HA:

Mosquitto broker → Configuration / Logins

Ключевое поле:

Client Topic (Base Topic): curtain_1

(Можно назвать иначе, но дальше в коде используйте то же имя.)

После этого в Home Assistant появятся сущности от OpenBeken, но обычно это не “штора”, а отдельные select/сенсоры. Это нормально — исправляем дальше.


5) Делаем “виртуальную штору” (cover) в Home Assistant

Открываем файл:

/config/configuration.yaml

⚠️ Важно: блок template: должен быть один. Если он уже есть — не создавайте второй, добавляйте внутрь существующего.

Вставляем:

template:

..- cover:

....- name: "Штора северная виртуальная"

......unique_id: curtain_virtual

......# Текущая позиция (0-100) берётся из сенсора, ИНВЕРТИРУЕМ

......position: "{{ 100 - (states('sensor.curtain_3') | int(0)) }}"

......open_cover:

........- service: mqtt.publish

..........data:

............topic: "curtain_1/1/set"

............payload: "0"

......stop_cover:

........- service: mqtt.publish

..........data:

............topic: "curtain_1/1/set"

............payload: "1"

......close_cover:

........- service: mqtt.publish

..........data:

............topic: "curtain_1/1/set"

............payload: "2"

......# Ползунок позиции: шлём % в OpenBeken по MQTT на Channel 2

......set_cover_position:

........- service: mqtt.publish

..........data:

............topic: "curtain_1/2/set"

............payload: "{{ 100 - position }}"

............retain: false

............qos: 0

Как читать

  • .. = 2 пробела

  • .... = 4 пробела

  • ...... = 6 пробелов
    и т.д.

В Home Assistant перед вставкой просто замени все .. на 2 пробела (в любом редакторе: “Найти/заменить”).

Перезагружаем Home Assistant. Появится новая сущность типа:

cover.shtora_virtualnaia (название будет зависеть от твоего имени).


6) Если направление перепутано

Есть три независимых “переворота” — меняем по очереди, не всё сразу:

A) Только отображение (ползунок в HA наоборот)

Инверсия делается строкой position::

  • без инверсии:

position: "{{ states('sensor.curtain_3') | int(0) }}"

  • с инверсией (как в примере):

position: "{{ 100 - (states('sensor.curtain_3') | int(0)) }}"

B) Ползунок двигает “не туда”

Меняем payload в set_cover_position:

  • без инверсии:

payload: "{{ position }}"

  • с инверсией:

payload: "{{ 100 - position }}"

C) Open/Close перепутаны местами

Поменять местами payload "0" и "2" в open_cover и close_cover.

7) Итог

В итоге:

  • мотор живёт локально на OpenBeken

  • управление в HA — как нормальная сущность cover с ползунком и кнопками

  • можно дальше пробрасывать в Алису, делать сценарии, расписания, датчики и т.д.


Альтернатива: ESP8266/ESPHome

Теоретически (да и в практически), вместо CB3S можно полностью уйти на ESP8266/ESPHome и управлять мотором через свой контроллер. Такой вариант существует, и многие так делают.

Раньше я пробовал сделать всё на ESP8266 + ESPHome, используя компонент TuyaMCU. Но именно с этим мотором нормально не завелось: либо TuyaMCU в ESPHome не смог корректно управлять мотором, либо я так и не понял, какие именно параметры и dpID нужно правильно настроить под протокол этого устройства.

Возможно, дело ещё и в том, что драйвер TuyaMCU в OpenBeken реализован/отлажен удачнее под такие устройства: у меня он сразу нормально подхватил обмен по UART (9600) и корректно заработали и позиция, и команды.

Поэтому изначально я и пошёл по пути “как с завода” — использовал родную CB3S. А когда всё уже завелось на OpenBeken и стало нормально управляться из Home Assistant без облака, я не стал возвращаться к ESP8266: это снова перепайка, отладка протокола и куча времени.

Короче — работает — не трогай 😄

Показать полностью 5
14

Датчик температуры и влажности Xiaomi Mi Temperature and Humidity Monitor 2 LYWSD03MMC v2.1.1_0159 прошивка в zigbiee

LYWSD03MMC Новая версия прошивки v2.1.1_0159 прошивается немного сложнее.

Для того что бы перейти на zigbee нужно следующее:

1.  Подключаем устройство к телефону в приложении mi home, добавляем в дом, даем уникальное название и запоминаем его.

2.  Отключаем на телефоне Bluetooth, чтобы устройство больше не подключалось к телефону

3.  Считываем данные девайса из аккаунта по инструкции: https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extrac...

•  На windows скачиваем https://github.com/PiotrMachowski/Xiaomi-cloud-tokens-extrac...

•  Нажимаем q

•  Входим в аккаунт mi home по ссылке

•  Выбираем свой регион как mi home (ru или cn)

•  Находим наше устройство и копируем данные: (ID, BLE KEY, TOKEN)

4.  На ПК или ноуте, где есть Bluetooth открываем: https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.htm...

5.  Нажимаем Connect, в окне находим наше устройство LYWSD03MMC (если не находит вытаскиваем и снова вставляем батарейку)

После подключения должно появится Status: 'LYWSD03MMC HW:B1.6' connected, you can now Do the Activation to either get the Token or flash a new Firmware

6.  В строки Device known id, Mi Token, Mi Bind Key вводим скопированные ранее данные

7.  Жмем login, должно появится Status: Login successful и появляется новый раздел с прошивками

8.  Сначала прошиваем Original_OTA_Xiaomi_LYWSD03MMC_v2.1.1_0159c.bin нажимаем на эту кнопку.

9.  Далее на кнопку Start Flashing, пойдет загрузка, ждем до 100%, должна появится надпись Status: Update done after 80.286 seconds и далее Status: Disconnected

10.  После прошивки вытаскиваем батарейку и вставляем обратно, ЭКРАН НЕ БУДЕТ РАБОТАТЬ – это норма, устройство работает.

11.  Опять подключаемся к термометру (повторяем пункты 5, 6, 7)

12.  На этот раз прошиваем Custom Firmware: ATC_v56.bin и повторяем пункт 9

После прошивки экран оживает

13.  В это раз можно не вытаскивать батарейку и сразу нажать Reconnect

14.  После повторного подключения появляются новые прошивки, нам нужна Zigbee Firmware: 1141-020a-01323001-Z03MMC.zigbee нажимаем на нее и снова пункт 9

15.  После прошивки идем в zigbee2MQTT, включаем поиск новых устройств, вытаскиваем батарейку и вставляем обратно – устройство должно определится в вашей сети zigbee

Показать полностью
28

Биос с NVMe для m5a99fx pro r2.0

UPD:

ссылки из статьи уже не работают! нашел у себя архив с биосом, залил на яндекс, может кому пригодится: https://disk.yandex.ru/d/knarAK-7GlfEmQ

Прикупил NVMe накопитель для своего ПК и оказалось, что моя мамка asus m5a99fx pro r2.0 не поддерживает такие накопители, хотя мамка с таким же чипсетом ASUS SABERTOOTH-990FX такой поддержкой обладает.

Целый день убил на решение данной проблемы, сначала сделал загрузочную флешку CLOVER,

инструкция к CLOVER:

https://habr.com/ru/post/472224/

С флешки сначала загружался драйвер NVMe, а уже потом стартовал новый накопитель с виндой, но вся эта загрузка была долгой и теряла всякий смысл.

Решение было одно, это найти или сделать модифицированный биос.

После кучи прочитанных статей смог сделать мод биоса с помощью UEFITool, взял биос своей мамки и биос от SABERTOOTH-990FX, вытащил из второго драйвера Nvme, NvmeSmm, NVMEINT13 и поместил в биос от родной на те же места.

Вот подробная инструкция к UEFITool:

https://forum.overclockers.ua/viewtopic.php?t=185732

Но у меня на отрез отказывалась прошиваться мамка.

Убил кучу времени, оказалось все банально, у меня не подошла флешка, взял флешку другого производителя и все получилось!

Пока бился над этой проблемой, нашел на заграничном форуме:

https://www.win-raid.com/t5240f44-OFFER-ASUS-M-A-FX-Pro-Rev-...

уже готовый модифицированный биос с NVMe для m5a99fx pro r2.0 , ссылка на него:

https://www.win-raid.com/file.php?url=http://files.homepagemodules.de/b602300/f44t5240p128501n2_rXuUwOyD.zip&r=&content=RE:_[OFFER]_ASUS_M5_A99FX_Pro_2.0_Rev_1.01_BIOS_with_NVMe_Support

Решил не рисковать и прошился уже готовым, свой чет побоялся заливать. Все заработало, система увидела накопитель!

Ставится таким же методом, как и в видео:

https://www.youtube.com/watch?v=Y7RsxdiuetI

Флешку лучше форматировать в FAT (не FAT32, а просто FAT). Если после нажатия кнопки обновления биоса лампочка пару раз мигнет и дальше горит зеленым, значит установка не пошла, и меняем флешку.

Оставлю это тут, вдруг кому-нибудь пригодится)))

Показать полностью 1
87

Убрали за 4 месяца

Всем привет!
Еще в середине лета, через портал "добродел" оставил сообщение (жалобу) о том, что неподалеку от дома, между гаражами, образовалась помойка.

И всего лишь каких-то 4 месяца и три отказа понадобилось администрация города Мытищи чтобы убрать этот мусор.
Мусор валялся возле гаражей, а сами гаражи стоят возле контейнерной площадки. Этим и пользовалась администрация, они приезжали, фотографировали площадку возле контейнеров и отписывались, указывая, что всё убрано. А то что это другое место, да плевать они хотели.

Показать полностью 9
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества