Настройки¶
Экран настроек приложения (меню → Настройки). Сверху — левая колонка разделов: Авто / Сервисы и источники данных / Умный дом / Геозоны / Опции / О программе. Клик по пункту показывает соответствующую карточку справа («Геозоны» и «О программе» открываются отдельными окнами). Все параметры сохраняются автоматически при изменении — отдельной кнопки «Сохранить» нет.
Авто¶
Карточка профиля автомобиля — базовый раздел, открывается первым.
| Параметр | Описание |
|---|---|
| Производитель | BYD (по умолчанию) или «Универсальный авто с Android». Для универсального авто управление командами недоступно, вместо него появляется кнопка Исследование каналов |
| Марка / модель | например, Voyah FREE; используется в имени файла отчёта исследования |
| Год выпуска | год автомобиля |
Исследование каналов (универсальный авто)¶
Для профиля «Универсальный авто с Android» в карточке появляется кнопка Исследование каналов. Она зондирует четыре канала получения данных (каждый с таймаутом 15 с):
- системные свойства —
getprop(производитель, модель, прошивка); - DiPlus — HTTP-сервер DiPlus;
- ADB — on-device ADB
service call autoservice; - экспериментальный — пробное выполнение команд ADB.
После завершения показывается сводка по каждому каналу (доступен / нет данных / отказ / таймаут). На время зондирования открывается модальное окно с прогресс-баром, показывающим ход по каналам. Кнопка Отправить лог в диалоге прикладывает полный отчёт research_<марка>_<дата>.txt к экспортируемому логу. Для профиля BYD исследование скрыто — работают штатные каналы DiPlus → ADB → системные свойства с управлением командами.
Автоопределение автомобиля¶
Марка определяется по живому аппаратному каналу: канал Voyah CANBus жив → автомобиль Voyah; канал DiPlus жив → семейство BYD. Внутри марки выбирается профиль по «тяжёлому» проходу: явно проверяются все ожидаемые (не «общие») сенсоры, и отказы снижают скор (ok²/(ok+fail)). «Общие» сенсоры — системные (батарея, GPS, экран и т.п., читаются на любом авто) и межбрендовые (soc, запас хода, температура ОЖ) — из скоринга исключены, чтобы не раздувать чужую марку.
Если DiPlus и Voyah оба недоступны
Исследование пробует все каналы (в сводке видно «Сенсоров по каналам»). Если ни DiPlus, ни Voyah CANBus не дали данных — вероятнее всего DiPlus не запущен на ГУ: запустите его и повторите исследование (фолбэк ADB/Dumpsys/System даёт лишь ~10 сенсоров).
Сервисы и источники данных¶
| Параметр | Описание |
|---|---|
| Автофолбэк источников | вкл (по умолчанию): если источник дал сбой — используется следующий выбранный, и так по кругу; все выбранные каналы продолжают опрашиваться. выкл: только канал с наивысшим приоритетом |
| Сравнение ADB и DiPlus (debug) | включает сравнение значений ADB-чтения с DiPlus в логе — для отладки |
| ADB host / port | адрес on-device ADB (по умолчанию 127.0.0.1:5555) |
| DiPlus auth | параметр авторизации HTTP-сервера DiPlus |
В этой же карточке находится раздел Исследование: выбор профиля авто, чекбоксы активных
каналов (DiPlus, ADB, Dumpsys, System, OBD, …) и кнопки запуска/экспорта исследования.
Канал управления командой следует за источником сенсора: если сигнал читается через DiPlus —
команда уйдёт через DiPlus, если через ADB — через ADB (при отсутствии там канала команды —
через доступный альтернативный).
DiPlus должен быть запущен
На автомобилях, где DiPlus поддерживается (BYD и аналоги), держите приложение DiPlus запущенным на головном устройстве. Пока DiPlus не запущен, канал DiPlus недоступен и телеметрия читается урезанным набором (ADB/Dumpsys/System, ~60–80 сенсоров вместо полных ~139). После запуска DiPlus полный набор восстанавливается автоматически.
OBD-II по Bluetooth¶
При включении чекбокса OBD под ним появляется кнопка «Подключить OBD-адаптер (Bluetooth)»:
- нажмите кнопку — откроется список сопряжённых Bluetooth-устройств;
- выберите ELM327-адаптер — приложение подключится, отправит
ATIи проверит, что устройство — совместимый ELM327; - при успехе адаптер сохранится («Адаптер: <имя> — сменить»), и OBD-канал начнёт читать стандартные PID: обороты, скорость, температуру охлаждающей жидкости, педаль газа;
- если Bluetooth выключен — кнопка ведёт в системные настройки Bluetooth;
- WiFi/ELM327-TCP остаётся запасным транспортом (настраивается в конфиге, без UI);
- на кнопке показывается живой статус подключения («Адаптер: <имя> · подключено / нет связи»);
- при подключении автоматически выполняется анализ протокола (ELM327 init → ATDP) и опрос bitmap поддерживаемых PID — читаются только универсальные стандартные показатели, поддерживаемые конкретным авто.
Умный дом¶
Подключение к Home Assistant.
| Параметр | Описание |
|---|---|
| HA адрес сервера | host:port, например 192.168.1.10:8123. Если порт не указан — подставляется 8123, а при включённом HTTPS — 443 |
| HTTPS | чекбокс в строке адреса — включите, если HA за reverse-proxy с TLS |
| Токен | Long-Lived Access Token из профиля HA. Значок ? рядом показывает краткую инструкцию, как его создать. Хранится зашифрованным (Android Keystore) |
| Имя автомобиля | префикс сущностей в HA; должно точно совпадать с именем, заданным при добавлении интеграции. При первом запуске подставляется VVIN — замените на своё |
| Отправлять в HA | мастер-переключатель передачи телеметрии (не останавливает локальный сбор) |
| Проверить соединение | кнопка проверки связи с HA по текущим параметрам |
| В очереди | текущий объём телеметрии, ожидающий отправки в HA (байты), когда HA был недоступен |
| Последняя отправка | время и объём последней успешной отправки телеметрии в HA |
| Последняя попытка | время последней попытки отправки и ответ сервера (например, «HTTP 200», «no network») |
Строки «В очереди», «Последняя отправка» и «Последняя попытка» находятся сразу под переключателем «Отправлять в HA» и обновляются при открытии вкладки «Умный дом» и пока окно активно.
Полоска очереди телеметрии¶
На главном экране, под заголовком, есть тонкая полоска-индикатор: показывает, сколько данных накопилось в очереди на отправку в Home Assistant. Полная полоска — объём, равный примерно двухчасовой отправке (адаптивно: учитывается фактический объём отправок за последние 2 часа, минимум — 256 КБ). По мере отправки полоска уменьшается; когда очередь пуста — скрыта. Подробные цифры (объём очереди и последняя отправка) — в настройках «Умный дом».
Геозоны¶
Пункт левой колонки Геозоны показывает список геозон прямо в правой части настроек (ранее — отдельное окно). Для каждой зоны указаны название, радиус в метрах и последний визит («никогда», «сегодня HH:mm», «вчера HH:mm» или дата). Тап по строке открывает редактор с картой, долгий тап — подтверждение удаления. Кнопка Добавить геозону создаёт новую зону. См. Геозоны.
Опции¶
| Параметр | Описание |
|---|---|
| Автозапуск при загрузке | старт сервиса при включении ГУ |
| Управление авто из HA | опрос команд из Home Assistant. По умолчанию выключено — включайте осознанно |
| Запись лога в файл | три режима: Выкл — файл не ведётся, лог только в памяти и выгружается по требованию (экспорт); Базовый — в файл непрерывно пишутся события, предупреждения и ошибки (без RAW-тел); Подробный — в файл пишется всё, включая тела RAW-ответов DiPlus и детали команд. В памяти лог ведётся всегда в подробном виде (буфер с ограничением по размеру), поэтому экспорт в любой момент даёт полную картину независимо от режима |
| Очередь включена | по умолчанию да; если выключить — при недоступности HA данные отбрасываются |
| Макс. размер, МБ | лимит очереди (по умолчанию 100); старые снапшоты вытесняются |
| Макс. возраст, дней | снапшоты старше лимита (по умолчанию 7) удаляются |
| Работа при выключенном авто | продолжать телеметрию и опрос команд после ACC off |
| Автозапуск BYD | открывает системное окно BYD AppStartManagement для настройки автозапуска |
| Фоновая работа | настройки фонового режима — см. Фоновый режим |
| Применить фоновый режим | применить текущую конфигурацию фонового режима |
Нативная запись (v2.3.0, бета). Команды, для которых известны адреса autoservice, применяются напрямую через ADB — без DiPlus. Если у команды есть связанный сенсор, результат дополнительно верифицируется по состоянию авто. Журнал команд показывает использованный интерфейс (
native/diplus) и число фоллбэков.
Сервис¶
- Язык — русский / английский интерфейс.
- Обновить пресеты — принудительная проверка OTA-обновлений пакета пресетов дашборда; рядом показана текущая версия пакета. Подробнее: OTA-обновления.
- Экспорт / импорт конфигурации — см. Экспорт / импорт.
- Проверить обновления — проверка новой версии приложения на сайте
(
api/version). Запускается автоматически при открытии главного окна и по кнопке. Если обновление есть — открывается окно с текстом «Что нового» (прокручиваемым) и блоком поддержки: QR-код (CloudTips) и подпись «Если вам нравится приложение — Поддержите проект. Спасибо!». Кнопка Скачать и установить качает APK через DownloadManager и запускает системный установщик (файл остаётся в «Загрузках»). - Экспорт лога — через кнопку отправки лога на главном экране (вверху), а также из
диалога «Исследование каналов» (кнопка Отправить лог). Меню: передать
(интенты: почта, мессенджеры, облако), сохранить в Загрузки с toast-подтверждением,
либо на сервер разработчику — отправка полного лога на сервер проекта
(
api/logs) с необязательным полем «Опишите авто и условия запуска» (рекомендуется заполнить для оперативной обработки). Повторные timestamp-строки (одни и те же события в секциях «In-memory» и «Persistent File») в экспорт не дублируются.
Очередь отправки разработчику
Если при отправке лога или исследования нет связи — данные не теряются: они ставятся в очередь и досылаются при появлении соединения. После 3 попыток (пауза, затем ещё 3) приложение спрашивает, продолжать ли отправку; при отказе запись удаляется из очереди.
О программе¶
Модальное окно с версией, ссылками на сайт и Telegram и разделами поддержки (агрегаторы, банки, криптовалюта). Открывается из раздела О программе, а также автоматически при первом запуске новой версии приложения (вместе с системным окном автозапуска BYD). В нижней части окна, слева от кнопки OK, есть кнопка «Что нового» — она показывает заметки последней опубликованной версии (подгружаются с сайта).
Экспорт / импорт¶
- Экспорт конфигурации — один JSON-файл: подключение, фильтр сигналов, правила, геозоны, параметры очереди. На Android 10+ пишется в Загрузки через MediaStore.
- Импорт конфигурации — восстанавливает всё из файла и перезапускает движок правил. Формат v2 принимает и файлы старого формата (v1).
Токен в экспорте
Экспорт включает токен HA — не публикуйте файл и не передавайте третьим лицам.