Сообщество - Home Assistant

Home Assistant

44 поста 1 070 подписчиков

Популярные теги в сообществе:

9

Как я оживил 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
1

Связь Packet Transport в ESPHOME между нодами

Вопрос от моего приятеля. Прошу не пинать. Приятелю лень регистрироваться на пикабу. Он попросил опубликовать вопрос в сообществе. Что я и делаю.

Вопрос следующего плана.

Хочузабрать несколько устройств под управление контроллера. Для этого в качество прослойки хочу использовать ESP процы. Система не критичная. Вообще. Просто хочется немного сократить беготни.

В чем суть. Берем несколько ESP, подключаем их к WIFI, настраиваем Packet Transport для обмена между ними и все ок.

НО Не хочется вязать одну комнату отдельным WIFI. Для эксперимента взял плату ESP32, настроил на ней точку доступа, modbus, подключил к ней клиентские контроллеры и вроде бы все.

При этом у меня данные с клиентов приходят, и я могу прочитать их по modbus с хоста. А вот клиенты прочитать с хоста не могут. Связь получается односторонняя. От клиентов к хосту. А мне нужно передавать данные в обе стороны.

схематично задумка выглялит вот так. только количество клиентских точек около 50 шт будет.

схематично задумка выглялит вот так. только количество клиентских точек около 50 шт будет.

Если в качестве точки доступа взять отдельный ESP, и точку сделать клиентом этой сети, то все работает. А держать отдельную ESP только как точку доступа как-то жаба душит...

Такой режим чем-то в homeassistant не поддерживается? Или все таки я что-то не так делаю?

Вопрос приятеля. А тег "МОЁ" БУГАГА

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

Салага просит помощи у бывалых. 18+. Без регистрации

Всем доброго времени суток, бывалые. Прошу вашего наставления, но сперва пролог.


В голову взбрело купить Яндекс станцию. После покупки, подумал: - неужели это всё, что она умеет? А как же: уберись дома, постирай вещи, приготовь еды и тд. И решил это исправить. Начал гуглить и спрашивать у ОКО всезнания - ChatGPT. Они ответили, что я клоун и что по моим запросам мне может помочь (Home Assistant).
Ок... Начал узнавать и действительно, есть перспективы. Узнал, что для этого надо и как можно это реализовать. Сказали, что нужен какой-то сервер. Я как человек, который играл только в доту и который создавал сервера только в майнкрафт, думал, всё! Узнал как сделать сервер своими руками... и "о чудо!"
Всё оказалось плёвым делом. Здесь я впервые встретился с Raspberry Pi. Посмотрел сколько стоит и цены на необходимые к нему приблуды, потом посмотрел в свой кошелек и увидел там только нищету.

Окей. Далее поинтересовался, чем можно заменить малинку. И БАЦ, можно заменить старым ПК. Тут синдром Плюшкина сыграла свою роль. Я нашел свой старый ПК. Его характеристики:

- процессор: Intel Core i3-3240, 2 ядра / 4 потока, 3.4 ГГц
- Оперативная память: 2×2 ГБ DDR3 1600 (итого 4 ГБ)
- Блок питания: AeroCool VX-500
- Видеокарта: NVIDIA GTX 650
- Накопитель: HDD Samsung / Seagate ST1000DM005

Мне GPT сказала, что в принципе все подходит, но нужно будет заменить HDD на SSD, убрать видеокарту и желательно заменить блок питание. Что я и сделал. Убрал видеокарту, заменил HDD на Gigabyte SSD 120 GB (2.5″ SATA), но блок питание решил пока оставить, денег не ма.
Сервер почти готов.

Дальше я подумал, "а с чего мне начать мой умный дом?", "к чему я стремлюсь?". И в голову мне пришла ГЕНИАЛЬНЕЙШАЯ идея "открывать дверь домофона голосом, с помощью Яндекс станции" (как мне казалось неделю назад и наполовину гениальной кажется сейчас). Я вам объясню почему для меня это хорошая идея.
Мы отказались устанавливать в дверь подъезда домофон. Ибо не целесообразно. Мы живем в двухэтажном доме, в общем 6 квартир. И один из соседей просто нашел панель домофона и доводчики и самостоятельно установил в дверь панель домофона, раздал соседям ключи. Вы спросите, - "а как гости или не жители подъезда открывают дверь", очень просто, сосед установил код.
Теперь представьте ситуацию, пришел мой друг, а у него нет ключей, код он не знает, получается, он должен мне позвонить на телефон и попросить код или я должен скинуть ему код. Не очень удобно. А если пришли люди в возрасте, они же не поймут о чем я говорю им. Все привыкли набирать номер квартиры. Мне пришлось бы спускаться и открывать им дверь вручную.
Так мне в голову пришла идея. Вместо меня, дверь будет открывать "Алиса" (зачем мне она тогда).
Так я узнал о Sonoff Zigbee USB Dongle Plus и Sonoff ZBMINI или ZBMINI-L (только не понял, что такое dry contact - сухой контакт), но пока не приобрел их.

Систему вы наверняка сами поняли. Dongle в сервере, а ZBMIMI в панеле домофона.
В моей голове это работает.

["Алиса, запусти протокол "гости""]

[Home Assistant]

[Zigbee-сеть Dongle]

[Zigbee-реле ZBMINI]

[Домофон]

Так я пришел сюда. Что я вообще хочу от умного дома и от вас. Я хочу узнать:
- На верном ли я пути?
- Какой ОС мне использовать? GPT говорит использовать Home Assistant OS
- Как мне вообще управлять сервером и умным домом? У меня есть мой основной ноут.
- Возможно ли вообще реализовать мою теорию?
- Что еще можно реализовать, кроме света, температуры и автоматизированных штор?
- Сервер же 24/7 будет работать, как я понял. Как вы решили экономию электроэнергии?

В целом наверное всё, но будто, что я забыл какие то основные вопросы, вспомню и задам потом. Не судите строго, я обычный обыватель и не имею за плечами ни образования электрика, ни айтишника, буду узнавать всё в процессе.
Я посмотрел реализацию нынешнего умного дома и честно не впечатлен. Включить свет, регулировка тепла, мониторинг влажности и температуры, открыть шторы и автоматизировать всё это. Да, прикольно, но хотелось бы больше. Может, я видел только поверхностные реализации.

Спасибо за внимание! Прошу светлые умы бывалых пользователей умных домов разобраться.

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

Нужна помощь Home assistant vs Xiaomi vacuum X20

Ну во первых всех с новым годом!
счастья, любви, богатства, здоровья и всего, чего сами пожелаете!!!!
Пост для специалистов, если такие тут есть.
есть умный дом, который висел в свое время на облаке tuya. Постепенно переводился по mqtt на home assistant.
почти все переехало, но возникла проблема с пылесосом. Xiaomi x20 ( который сам себя моет и чистит)
Убрать всю квартиру - нет проблем, нажал кнопочку и Робик поехал все чистить.
Но не могу настроить локальную уборку. Например одной конкретной комнаты из home assistant. Из приложения xiaomi нет проблем.
Но хочется завести на НА, чтоб пришел в грязной обуви, нажал на кнопку и Робик убрал бы прихожую.
если кто прошел этот путь, пож. Подскажите, научите!!!
Компенсирую полученные знания всем, чем пожелаете ( в пределах разумного )))))
заранее спасибо.
P.s.
не ругайтесь, клич о помощи закину везде, не только на Пикабу )))

170

Я в шоке...

Встречаемся периодически с друзьями "пивка попить", и в разговорах иногда слышу:

- Ну недавно вот машину купили за 900 тысяч, а потом я ей последний айпад подарил

- А я вот своей последние вотчи подарил

- А мне вот недавно тачку жена размотала, там ремонта на 140 косых, ну ничего, через пару недель уже сделают, как новая будет

И я такой думаю: я в какой-то другой реальности живу или что? Почему всех моих денег хватает только на коммуналку, бензин и жратву, остаётся пара тыщ которые уходят на повседневную хрень типо салфеток и мойки машины?

Это при том, что зарплаты у нас, у всех, в среднем, примерно одинаковые. Разница только в том, что я не женат.

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

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

Альтернатива Телеге

Доброго вечера уважаемые, а кто нибудь задумывался над альтернативой телеге? как я понимаю решение уже принято, но получать уведомления нужно. Какие варианты есть на российском рынке с которыми не будет проблем при настройке?

4

Переход на HAOS - не видит сеть и стоит загрузка

Решил, наконец перейти на эту ось, но пока терплю неудачу.

Делал все по инструкции с сайта для x86-64. Ставлю на старый ноут, без UEFI. Развернул систему на диск, диск снимал. Затем прописал загрузку в Grub,

Загрузка пошла, но встает после "random: crng init done"...

Отличная работа, все прочитано!

Темы

Политика

Теги

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

Сообщества

18+

Теги

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

Сообщества

Игры

Теги

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

Сообщества

Юмор

Теги

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

Сообщества

Отношения

Теги

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

Сообщества

Здоровье

Теги

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

Сообщества

Путешествия

Теги

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

Сообщества

Спорт

Теги

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

Сообщества

Хобби

Теги

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

Сообщества

Сервис

Теги

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

Сообщества

Природа

Теги

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

Сообщества

Бизнес

Теги

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

Сообщества

Транспорт

Теги

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

Сообщества

Общение

Теги

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

Сообщества

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

Теги

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

Сообщества

Наука

Теги

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

Сообщества

IT

Теги

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

Сообщества

Животные

Теги

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

Сообщества

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

Теги

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

Сообщества

Экономика

Теги

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

Сообщества

Кулинария

Теги

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

Сообщества

История

Теги

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

Сообщества