Обновлено 2026-09-22

Daly BMS по Bluetooth

Daly, модель серии H, K, M, S. 1/5 · USB, без пайки. Модуль Wi-Fi говорит со вторым микроконтроллером.

1. Название и модель

Компонент syssi/esphome-daly-bms слушает Daly Smart BMS по Bluetooth. README относит к нему серии H, K, M и S. Имя в эфире выглядит как DL- и дальше MAC. Серии J, T, A, U, W и ND помечены как другой протокол, стартовый байт 0xA5.

Нужен ESP32 и ESPHome от 2024.12. В esp32-ble-example.yaml сканер пассивный, MAC лежит в secret, поле пароля тоже. В гайд сам пароль не скопирован. status_registers в файле равен 62. Комментарий говорит, что 80 включает температуры MOSFET и платы на Blue Series.

Если в BMS включали Wi-Fi облака, Bluetooth пропадает. README описывает возврат: долгое нажатие на прибор в облачном списке приложения Daly и удаление. После этого BLE снова объявляется.

Проводной компонент patagonaa автор сам просит не ставить основой: он пишет, что UART-вариант ломается на обновлениях ESPHome и советует свой CAN-компонент.

2. Что даёт перепрошивка

  • Напряжение, ток, заряд и ячейки без провода к батарее
  • Несколько BMS на одном ESP32, у каждой свой MAC
  • Плата BMS не вскрывается

3. Что теряется

  • ESP8266 этот BLE не потянет
  • Серия с кадром 0xA5 молчит
  • Пока облако Daly держит модуль, объявлений нет

4. Что понадобится

  • ESP32
  • MAC с наклейки или из сканера, имя DL-
  • Пароль BLE своей BMS, в конфиг через secret

5. Разборка и пины

Программатор USB–UART подключают к модулю, который прошивают, крест-накрест:

  • Земля переходника (GND) — на землю платы. Этот провод обязателен.
  • TX переходника — на RX модуля. На плате площадка часто подписана RX, RXD или RXD0.
  • RX переходника — на TX модуля. На плате это TX, TXD или TXD0.
  • Питание логики — 3,3 В. Пять вольт на эти площадки не подают. Если плату уже кормит её блок, линию 3,3 В с переходника не подключают вторым источником.
  • Для входа в загрузчик ESP8266 и ESP32 площадку GPIO0 (IO0, BOOT) замыкают на землю и в этот момент подают питание. После старта записи землю с GPIO0 снимают.

Если у этой модели в тексте ниже другие имена площадок, прямой порядок TX–TX или прошивка по USB, делайте как написано там. Общая схема выше — для обычного модульного UART.

Корпус не разбирают. ESP32 стоит рядом. MAC копируют из объявления, не из чужого примера.

6. Прошивка

Готового файла «прошивка именно этой модели» на этом сайте нет. Её собирает ESPHome из текстового конфига YAML: туда входят Wi-Fi, пины и команды второго чипа. Чужой .bin из интернета почти наверняка собран с чужим паролем сети.

Какую программу ставить

  • ESPHome Dashboard — дополнение в Home Assistant или программа на компьютере. В ней пишут YAML, нажимают Install, и она сама собирает прошивку. Установка: дополнение для Home Assistant или команда pip install esphome.
  • ESPHome Web, сайт web.esphome.io, — загрузчик в браузере Chrome или Edge. Им записывают уже собранный .bin на ESP8266 и ESP32 через USB–UART. На BK72xx он не рассчитан.
  • esptool — программа Espressif, чтобы снять заводскую копию флеша и записать .bin, если браузер порт не видит. Репозиторий: espressif/esptool.
  • ltchiptool — то же самое для чипов Beken BK72xx (модули WB3S, WBR3, CB3S и похожие). ESPHome для них собирается через LibreTiny. Программа: libretiny-eu/ltchiptool, описание платы: компонент bk72xx.

Как собрать конфиг

  1. В Dashboard нажмите New Device и выберите чип, который стоит на плате: ESP8266, ESP32 или BK72xx. Имя — латиницей, без пробелов.
  2. Пароль Wi-Fi уберите в файл secrets.yaml рядом с конфигом. В YAML оставьте ssid: !secret wifi_ssid и password: !secret wifi_password.
  3. Блок UART, модель и скорости из раздела ниже вставьте в этот файл. Полный пример, если он длинный, берите по ссылке в источниках внизу страницы, а не из гайда соседней модели.
  4. Строки api: и ota: оставьте. Без api: Home Assistant устройство не увидит. Ключ шифрования Dashboard предлагает сам, его потом спросит интеграция ESPHome.

Как залить первый раз

  1. Подключите USB–UART, как в разделе «Разборка и пины»: земля переходника на землю платы, TX переходника на RX модуля, RX переходника на TX модуля. Логика 3,3 В. Имена площадок на конкретной плате — там же.
  2. Для ESP8266 и ESP32 замкните GPIO0 (IO0, BOOT) на землю и в этот момент подайте питание. Для BK72xx ltchiptool сам просит перезапустить чип, обычно кратким отключением земли.
  3. В Dashboard: Install → Plug into this computer, выберите порт переходника. Либо Install → Manual download, сохраните .bin и откройте его на web.esphome.io. Из терминала то же самое делает esphome run имя-устройства.yaml.
  4. Когда в логе появится IP-адрес, GPIO0 от земли отпустите, провода можно отпаять. Следующие обновления идут по Wi-Fi, пункт OTA, паяльник больше не нужен.

Дальше — только то, чем эта модель отличается от общей схемы.

Плату прошивают по USB. active: false в сканере оставлено как в примере. Пароль не оставляют пустым, если BMS его ждёт: поле в примере есть.

Базовый конфиг этой модели с карточки или из репозитория компонента. Wi-Fi, пароль и OTA задайте как в общем разделе выше. Пароли из исходника сюда не перенесены.

esp32:
  board: wemos_d1_mini32
  framework:
    type: esp-idf

external_components:
  - source: github://syssi/esphome-daly-bms@main

esp32_ble_tracker:
  scan_parameters:
    active: false

ble_client:
  - mac_address: !secret daly_mac
    id: client0

daly_bms_ble:
  - ble_client_id: client0
    id: bms0
    password: !secret daly_ble_password
    status_registers: 62
    update_interval: 10s
    response_timeout: 3s

sensor:
  - platform: daly_bms_ble
    daly_bms_ble_id: bms0
    total_voltage:
      name: Напряжение
    current:
      name: Ток
    state_of_charge:
      name: Заряд

7. Настройка в Home Assistant

Сенсоры появляются после первого ответа BLE. Если список пуст, сначала выключают облако Daly по шагам README.

8. Известные баги и как их обойти

  • Серия J или T на компоненте для 0xD2
  • Облако Daly не удалено, Bluetooth мёртв
  • MAC от чужой батареи в secret

9. Источники