История версий¶
Скачать актуальное приложение Android: https://mytechnic.ru/cartelemetry/download.php?file=app
v3.3.11 (текущая)¶
- Бета-канал обновлений: в настройках можно переключаться между стабильным и бета-каналом;
бета-сборки нумеруются
X.Y.Z-beta.Nи корректно сравниваются по версии. - Источники в настройках переработаны: система (GPS/датчики устройства) всегда включена; остальные источники добавляются из списка и включаются по отдельности, со счётчиком ожидаемых сенсоров; настройки ADB/DiPlus появляются после добавления соответствующего источника.
- Авто-запуск после обновления: сервис перезапускается после установки новой версии.
- Статус на телефоне: при доступных системных данных вместо «Нет данных» показывается «Системные датчики активны».
- Документация: обновлён список сенсоров (разделение батарей, новые Voyah-сенсоры).
v3.3.10¶
- Калькулируемые сенсоры в правилах: окна/двери (открыто/закрыто) теперь доступны как условия в редакторе правил и в списке телеметрии.
- Быстрый старт: при запуске значения сенсоров видны сразу (восстанавливаются последние значения) — не нужно ждать первый CAN-цикл.
- «Липкие» сенсоры: значение, переставшее обновляться, остаётся видимым, но гаснет до серого («возможно не актуально»).
- Универсальная интеграция: нативные сенсоры (связанные с командами + общие) — обычные сущности; уникальные для авто — атрибуты диагностической сущности.
- Батареи разделены явно:
device_battery(устройство),battery_12v_voltage(12В АКБ), тяговая батарея (soc,battery_capacity,traction_battery_voltage/current, температуры, ячейки). - Новые сенсоры Voyah: оставшееся время зарядки, средняя скорость, средняя мощность, рекуперация, поток энергии.
v3.3.9¶
- Исправлена ошибка интеграции: при первом появлении нового сенсора интеграция падала
с
AttributeError: 'EntityRegistry' object has no attribute 'async_enable'иTypeError: HomeAssistantView.json() ... 'status'— сенсоры не включались. Заменено на корректные вызовы (async_update_entity(..., disabled_by=None)иstatus_code=).
v3.3.8¶
- Единый источник данных сенсоров: все хранилища (значения/сырые/кэш) сведены в один ValueStore с уведомлением об изменениях — правила, дашборд и телеметрия читают одни и те же актуальные значения.
- Отключённые источники пробуются периодически: канал, который стал доступен позже (включили ADB, появился DiPlus), автоматически подхватывается — лёгкая проверка раз в несколько циклов.
- Правила реагируют мгновенно: при изменении сенсора пересчитываются только правила, которые на него ссылаются (не весь набор раз в секунду).
- Команды обрабатываются очередью: отдельный поток сериализует команды из HA/интерфейса, а проверка завершения ждёт обновления сенсора от канала (по статусу), а не повторяет команду.
- Оптимизация: правила больше не перечитывают свой JSON-файл каждую секунду.
v3.3.7¶
- Все включённые источники сенсоров работают одновременно: убран короткий цикл выбора
источника — раньше после перестановки приоритета каналов первым отвечал
dumpsys(VVIN/прошивка), и DiPlus/ADB не читались, из-за чего сенсоры «пропадали» из телеметрии и появлялась ошибочная рекомендация подключить ADB. Теперь каналы читаются все и мержатся (приоритет канала определяет, чьё значение побеждает по сенсору).
v3.3.6¶
- Плитка «Громкость» снова показывает значение: пресет ссылался на DiPlus-сенсор
media_volume, а приложение теперь пишет системныйsystem_media_volume— на телефонах и OBD2-адаптерах плитка была пустой. - Сенсоры DiPlus больше не «пропадают» из телеметрии: кэш unsupported-сигналов больше не сбрасывается при каждом запуске (версия сохраняется после очистки), а классификация сенсоров учитывает живой DiPlus, а не только устаревший снимок исследования.
- Убрана ложная подсказка про устаревший домен
teplitzky.ru(путала личный HA на поддомене со старым сайтом проекта).
v3.3.5¶
- Автообновление больше не ставит старую версию: при повторном использовании уже
скачанного файла учитывалась только приставка «car2hass», из-за чего остаток
Car2Hass-3.3.2.apkиз Downloads перекрывал свежий3.3.4— теперь при заданной версии ищется только файл с этой версией в имени. - Подсказка «обновите интеграцию» стала честной: раньше висела всегда, теперь показывается
только когда интеграция действительно устарела (проверка версии через
/api/cartelemetry/info) и исчезает после успешного теста подключения.
v3.3.4¶
- GPS-трек больше не «прыгает»: устаревший last-known-фикс больше не затирает свежую позицию, а на стороне интеграции точки с не-растущим временем фикса отбрасываются — при повторной отправке буфера после сбоя сети трек не уезжает к старым координатам.
- Вкладка «Телеметрия»: раскрытие/сворачивание групп теперь запоминается (раньше состояние сбрасывалось каждые 2 секунды), а список не мигает — лишние перерисовки убраны.
- Тест подключения стал понятнее: предупреждение при устаревшем домене
(
teplitzky.ru), детекция редиректа (адрес мог смениться) и внятные сообщения об ошибках SSL/соединения вместо сырого текста.
v3.3.3¶
- Плитки дашборда: замки дверей показывают реальное состояние (
remote_lock_state); громкость — реальный уровень медиа (system_media_volume, шкала 0–30); подогрев руля/зеркал/ лобового привязаны к фактическим фидбекам (steering_wheel_heat,rear_defrost). - Калькулируемые сенсоры: добавлены агрегаты «открыто окон/дверей» и «все окна/двери закрыты» (вычисляются локально из CAN-сигналов).
- Сенсоры устройства: батарея, давление, громкость теперь помечены отдельным типом
device(раньше относились к типуgps) — честная классификация источника. - Команды из HA восстановлены (критично): вью
/api/cartelemetry/commandsпотеряла обработчикиget/postпри переезде API на/api/cartelemetry(регресс с v3.0) — команды из Home Assistant в приложение не доходили. Теперь снова работают. - Проверка версии интеграции: новый эндпоинт
GET /api/cartelemetry/infoотдаёт версию интеграции и версию протокола; приложение сравнивает с требуемой и при несовпадении показывает точное «обновите интеграцию до vX», а не догадку по HTTP-коду. - Надёжность endpoint:
POST /api/cartelemetryзащищён от «глухого» 500 — ошибка логируется с трейсбеком и возвращается понятным JSON вместо пустой страницы. - ADB без спама: экспоненциальный backoff при недоступном ADB-демоне — OBD/Voyah-устройства больше не пытаются подключиться каждые несколько секунд и не сыплют ошибки в лог.
v3.3.2¶
- Автообновление стало надёжным: при скачивании APK приложение проверяет целостность
файла по контрольной сумме SHA-256, публикуемой сервером (endpoint версии), и не ставит
битый/обрезанный файл. Исправлено скачивание «битого APK» на головных устройствах:
устаревшие файлы
.bin/обрезки от прошлых попыток больше не подхватываются на установку (валидация zip-заголовка на всех путях).
v3.3.1¶
- Настройки Home Assistant: подсказка обновить интеграцию CARTelemetry до последней версии (устаревшая интеграция не отдаёт команды и новые сенсоры — опрос команд в логах давал HTTP 404).
- Правки по логам: опрос команд при отсутствии эндпоинта (устаревшая интеграция) больше не
спамит лог — пауза 5 минут, предупреждение раз в 10 минут; защита от NPE в пуле executors
(
diplusGetDiPars); сенсор погоды теперь переводит солнечно/облачно/пасмурно/снег/туман/гроза; OBD-воркер логирует фазу и тайминги цикла (open/warmUp/read) — удобнее диагностировать обрывы Bluetooth.
v3.3.0¶
- Voyah: расширена read-only телеметрия с 29 до 50 сенсоров — добавлены скорость, передача, ремни безопасности, люк и шторка, все четыре окна, габариты, поворотники, аварийка, круиз/ACC/удержание полосы, автоудержание (EPB), режим движения и др. (параметры VehicleState из прошивки).
- Автообновление: APK больше не «теряет расширение» (не становится *.bin) на головных устройствах Voyah — файл качается в приватное хранилище приложения со своим именем; сервер отдаёт APK напрямую с корректными заголовками Content-Type/Content-Disposition.
v3.2.9¶
- Тест соединения (шаг 2): отправляется реальное имя авто из настроек + один валидный снапшот (вместо «test» и пустого batch); в лог пишется URL запроса и тело ответа.
v3.2.8¶
- Интеграция: исправлена ошибка "disabled_by must be a RegistryEntryDisabler value" — деактивация сенсоров/команд теперь использует enum, а не строку.
v3.2.7¶
- OBD-воркер: фоновая сессия использует обычный open() — не требует разрешения BLUETOOTH_SCAN на Android 12+ (раньше цикл падал каждые 2с с SecurityException).
v3.2.6¶
- Отправка лога: чтение logcat ограничено (не «молчит» при отправке); чанки 500 КБ; логирование этапов отправки; таймаут на диалог очереди.
v3.2.5¶
- Отправка лога без обрезки: большой журнал грузится чанками по 2 МБ, сервер склеивает части в один лог (ранее >4 МБ отклонялось как payload_too_large).
- Диагностика отправки: код HTTP и размер в логе.
v3.2.4¶
- Исправлен краш при старте: setupEnabledFilterListeners обращался к null-адаптеру после перехода на ExpandableListView; чтение отчёта переведено на java.io (совместимо с Android 7).
v3.2.3¶
- Вкладка «Телеметрия»: ExpandableListView — сенсоры раскрываются под своим заголовком группы; состояние раскрытия групп запоминается (по умолчанию открыта «Активные»).
- Отправка лога: размер журнала ограничен 3 МБ (иначе сервер отклонял >4 МБ как payload_too_large → «не доставлен»).
v3.2.2¶
- «Отправить лог» теперь формирует полный журнал работы (LogBuffer + logcat + отчёт исследования при наличии) — больше никогда не отправляется пустой лог.
v3.2.1¶
- Отправка лога: берётся сохранённый отчёт исследования (probe_report.json), даже если исследование только что не запускалось; честное сообщение «лог не доставлен», если он остался в очереди.
- Вкладка «Телеметрия»: CAN-цикл больше не перезаписывает список (только ValueStore-тикер) — исчезает «мигание» между полным списком и fw/vvin.
v3.2.0¶
- Вкладка «Телеметрия» — пайплайн сенсоров: сворачиваемые группы «Активные / Ожидаемые / Недостижимые / Отключенные (с данными) / Отключенные»; системные сенсоры неотключаемые и всегда зелёные; серые — только отключенные и недостижимые; «Ожидаемые» после удачной пробы.
- Отправка: отключенные сенсоры не передаются в HA (оба пути снапшота).
- Интеграция: приложение передаёт disabled_signals; отключенные сенсоры и зависимые команды деактивируются в устройстве HA (карта COMMAND_DEPENDS_ON), выбор пользователя уважается.
v3.1.1¶
- Вкладка «Телеметрия»: видимые группы «Активные / Отключенные (с данными) / Ожидаемые / Отключенные / Недостижимые»; список никогда не пуст (фолбэк + стики-значения).
- Снапшоты: GPS-точки несут реальное время фикса (location_t) — устаревшая базовая локация больше не «прыгает» в трекере к началу движения.
- 500 на /api/cartelemetry: ветка «integration not loaded» логируется в HA.
v3.1.0¶
Новая архитектура (модель воркеров):
- ValueStore — общий поток значений всех сигналов; каналы пишут, вкладка и снапшот читают независимо от CAN-цикла.
- SystemWorker — system-сенсоры (локация + база last-known, батарея, громкость, давление) гарантированно есть на любом Android-устройстве (обычный смартфон без авто).
- Вкладка «Телеметрия» — живые сенсоры зелёными сверху, ожидаемые серыми ниже (по алфавиту), выключенные — в конец групп; системные сенсоры всегда; спойлер «Показать недостижимые».
- ObdWorker — постоянная BT-сессия + периодический опрос PID + переподключение.
- ChannelWorker — pull-каналы (DiPlus/ADB/dumpsys/voyah) пишут в ValueStore.
- Интеграция (Вариант 1): сенсоры создаются disabled-by-default (под спойлером «Отключено»), включаются при первых данных и не теряются; core-сенсоры всегда активны.
- Тест локации — кнопка в настройках (permission/последний фикс/ValueStore).
v3.0.39¶
- Локация: базовая линия гарантирована — last-known (GPS/NETWORK/PASSIVE) пишется в снапшот при старте и в каждом тике при устаревшем фиксе; фильтр точности смягчён (до 1000м, точность передаётся в HA); в отчёт добавлена диагностика локации (loc_permission / loc_last_known_age_sec / loc_provider).
v3.0.38¶
- OBD: прерывистый сбой RFCOMM-подключения («read failed … read ret: -1») — добавлен повтор connect с короткой паузой в обычном пути (probe/read/авто-коннект).
- OBD: если автоопределение протокола не завершается (SEARCHING…) — пробуем явные CAN-протоколы ATSP7 (11-бит) и ATSP6 (29-бит); при успехе фиксируется obd_protocol.
v3.0.37¶
- OBD-пикер: помимо сопряжённых устройств — поиск новых Bluetooth-устройств «в эфире» (скан 12с), сопряжение и подключение (как Car Scanner).
v3.0.36¶
- Локация: всегда-базовая линия — при отсутствии живых GPS-фиксов используется last-known локация (GPS/NETWORK/PASSIVE) и пишется в снапшот; обновляется при старте и при устаревшем фиксе (>30с).
- OBD: включение протокола сразу подключает адаптер (как Car Scanner — автоопределение + connect + init), авто-коннект при запуске приложения; прогрев протокола увеличен до 10с; понятное сообщение «поиск протокола не завершился (SEARCHING…)» при отсутствии ответа.
v3.0.35¶
- Тест соединения с УД: показывается причина HTTP-ошибки эндпоинта; обработчик /api/cartelemetry логирует исключения и возвращает JSON-ошибку вместо голого 500.
- Системные сенсоры: канал system больше не гейтится свежестью GPS (device-сенсоры доступны всегда); добавлены производители device_pressure (барометр) и media_volume (Android AudioManager — громкость обновляется без DiPlus).
- Voyah: сбойный probe пере-повторяется (не вечная защёлка) — телеметрия оживает.
- Профиль: выбранный пользователем источник не меняется при старте; если автоопределение расходится — сообщение «выбранный источник не подходит — рекомендуем X».
- OBD: init верифицирует ответы (ATZ→ELM327, ATE0/ATH0/ATL0/ATSP0→OK), как ReDrive.
v3.0.34¶
- OBD-II: перед чтением PID — прогрев протокола (запрос 0100 с повторами), чтобы ELM успел залочить шину в режиме AUTO; в диагностику добавлен сырой ответ адаптера (obd_raw_sample) — видно, что именно возвращает ELM (битмап или NO DATA).
v3.0.33¶
- Карточка cartelemetry-vehicle-card: слот «Гудок/Сигнал» адаптивный — button (кнопка), switch/light (переключатель), binary_sensor (индикатор состояния on/off).
- Редактор карточки: выбор сущностей через нативный поиск HA; позиции иконок — только ползунки (поля ввода удалены); добавлены двери (12 слотов).
- Дефолтные позиции иконок для типа «car» переработаны и подогнаны под силуэт.
- Пример карточки (стаб) приведён к реальным сущностям интеграции (lock/switch/button/binary_sensor).
v3.0.32¶
- OBD-II: все PID в исследовании читаются одной сессией (один лёгкий init без ATZ-сброса) — адаптер не теряет залоченный протокол; при первом подключении и по кнопке перепривязки — принудительная переинициализация BT (отмена discovery + повтор после паузы).
- Прогресс исследования: единая шкала «каналы + сенсоры» (9+157), больше не «закрывается» на 9/9.
- Исправлен тост при подключении OBD — «Проверка обновлений» заменён на «Подключение к адаптеру».
v3.0.31¶
- OBD-II: надёжное подключение ELM327 — прогрев адаптера (ATZ), один Bluetooth-сокет на сессию вместо переподключения на каждую команду, ретраи; подробная диагностика сбоя (connect/init/ATDP).
- Вкладка «Команды» перенесена в Настройки → отдельный пункт «Тест управления авто».
v3.0.30¶
- В примере карточки cartelemetry-vehicle-card (код, который HA показывает при добавлении) теперь сразу прописан пример расстановки иконок по местам (binding_overrides с x/y в процентах) и ссылка на свою картинку (image_url).
v3.0.29¶
- Редактор карточки cartelemetry-vehicle-card: HA теперь показывает кастомный редактор с настройкой позиций иконок (x/y) и ссылкой на свою картинку (image_url).
v3.0.28¶
- OBD: канал теперь определяется «живым» сразу после ATI; анализ протокола (ATDP) и опрос поддерживаемых PID идут в фоне — исследование больше не убивает probe по таймауту.
- Все типы плиток дашборда (в т.ч. громкость/пресеты с зонами) приведены к единому виду: бирюзовая окантовка + фиксированная высота. Цвета в коде переведены на атрибуты темы.
v3.0.27¶
- Исправлено: включение протокола OBD (чекбокс или кнопка подключения) реально включает его — раньше флаг isObdEnabled не выставлялся, поэтому канал OBD был недоступен даже при отмеченном чекбоксе и успешном подключении адаптера.
v3.0.26¶
- Главный экран: под полоской очереди зарезервировано место — при появлении очереди экран больше не сдвигается.
- Плитки дашборда: фиксированный размер (150dp), без лишних отступов, светлобирюзовая окантовка. Цвета вынесены в палитру (основа для тем оформления).
v3.0.25¶
- В probe-report (исследование) добавлен блок «diagnostics»: состояние OBD (включён ли, режим, статус, протокол ATDP, число поддерживаемых PID, последняя ошибка, имя/MAC адаптера). По любому исследованию на сервере сразу видно, почему OBD-канал недоступен.
v3.0.24¶
- У карточки cartelemetry-vehicle-card появился визуальный редактор: настройка позиций иконок (x/y в % от картинки) для сенсоров/дверей/кнопок + ссылка на свою картинку (image_url).
v3.0.23¶
- В экспорт/отправку журнала добавлен блок «Диагностика»: профиль, активные каналы, VVIN/прошивка, состояние OBD (статус, протокол ATDP, число поддерживаемых PID, последняя ошибка).
- Для телефонов без DiPlus/Voyah: авто-определение сопряжённого ELM327-адаптера (если адрес не выбран) и подсказка в исследовании «подключите OBD-адаптер».
v3.0.22¶
- OBD-II: автоматическое подключение к адаптеру при исследовании/запуске; на кнопке OBD живой статус «подключено / нет связи».
- Анализ протокола при подключении (ELM327 init, ATDP) и опрос bitmap поддерживаемых PID — читаются только универсальные стандартные показатели, которые поддерживает конкретный авто.
v3.0.21¶
- Добавлена вторая карточка
custom:cartelemetry-vehicle-card: силуэт авто/грузовика/мотоцикла, сенсоры и кнопки по binding-точкам, спидометр, панели сенсоров/управления/дверей. Изображения CC0 вassets/. Работает рядом с прежней карточкой (не ломает её).
v3.0.20¶
- Исправлено: сенсоры/управление теперь принадлежат устройству автомобиля (device_info возвращал None — сущности были без устройства). После перезагрузки сущности группируются в устройство авто + связанный трекер.
v3.0.19¶
- Исправлено: генератор const.py терял ручную константу
ONLINE_OFFLINE_SECONDS(интеграция не стартовала — «cannot import name»). Теперь константа пишется генератором.
v3.0.18¶
- Voyah: набор сенсоров расширен с 3 до 29 — курируемые параметры из прошивки (фары/туманки, тормоз/акселератор, зарядка, дворники, двери/замки, климат, режим движения).
- Добавлены новые сенсоры для автоматизаций: подогрев/вентиляция сидений (перед/зад), подогрев руля, обогрев заднего стекла, мощность зарядки, складывание зеркал.
- Все они пробуются в исследовании и читаются каналом Voyah (на реальном авто — те, что реально отдаёт сервис).
v3.0.17¶
- Voyah: расширен набор сенсоров из прошивки (powertrain_mode, low_beam, DRL) — теперь 6.
- Исследование: в сводке «Сенсоров по каналам» видно, сколько прочитал каждый канал (в т.ч. voyah/obd, даже если 0) — понятно, что все каналы пробовались.
- Подсказка в мануале: если ни DiPlus, ни Voyah не дали данных — проверьте, что DiPlus запущен.
v3.0.16¶
- Обновление через приложение: установщик теперь находит реальный скачанный APK (на ГУ Voyah
система сохраняет файл как
*.binили без расширения) — обновление работает на Voyah. - OBD-II: добавлен полный стандартный набор mode-01 — нагрузка двигателя, температура впуска, MAF, уровень топлива, температура снаружи/масла, расход топлива (11 PID). Исследование теперь пробует их, а OBD-канал читает на любом совместимом авто.
v3.0.15¶
- Трекер связан с устройством автомобиля через
via_device— в HA «устройство авто» и трекер видны как одна машина (трекер с картинкой внутри устройства). - Поддержка нескольких авто: одна запись конфига = одно авто (устройство + трекер), карточка — одна на авто.
v3.0.14¶
- Исправлено: ежедневный heartbeat интеграции использовал несуществующий
hass.helpers— интеграция не стартовала («Error setting up entry»). Теперьasync_track_time_intervalимпортируется изhomeassistant.helpers.event.
v3.0.13¶
- Карточка автомобиля и картинка трекера перенесены в
www/community/cartelemetry-card/(стандарт для UI-интеграций) — ресурс/local/community/cartelemetry-card/car-card.js, картинка/local/…/car_top.png; статика теперь работает стабильно. - Иконки типов авто (
vehicle_type: car/hatchback/suv/pickup/van/truck/moto), base64. - Оснастка для вида сверху: SVG-серия
car_top_<state>.svg(двери/окна/люк/багажник/капот) — картинки можно подкладывать самим вwww/community/cartelemetry-card/.
v3.0.12¶
- Документация для разработчиков сторонних приложений: как передавать данные в HA через открытый API-контракт CARTelemetry (страница «Сторонние приложения» + ссылка в описании интеграции в Home Assistant).
v3.0.11¶
- Статистика пользователей: на сайте учитываются уникальные установки приложения и HA-интеграции (анонимный UUID, запросы обновления/пресетов и ежедневный heartbeat), с разделением «приложение / интеграция» и активностью за 7/14/30/180 дней.
- Настройки «Умный дом»: «В очереди», «Последняя отправка» и новая «Последняя попытка» (время и ответ сервера) — сразу под переключателем «Отправлять в HA», обновляются при открытии вкладки.
v3.0.10¶
- Отправка журнала разработчику: поле комментария автозаполняется идентификатором авто (версия приложения, VVIN, прошивка, имя авто, профиль) — при анализе видно, от кого лог, даже если пользователь ничего не ввёл.
- Инструкция: держите DiPlus запущенным на поддерживаемых автомобилях (полный набор сенсоров).
v3.0.9¶
- Автоопределение автомобиля переработано: марка определяется по живому ключевому каналу (Voyah CANBus → Voyah, DiPlus → BYD), внутри марки — «тяжёлый» проход по ожидаемым не-общим сенсорам с учётом отказов (ok²/(ok+fail)). Общие сенсоры (системные, межбрендовые) исключены из скоринга.
v3.0.8¶
- Автоопределение авто: метрика выбора профиля изменена (ok²/expected) — на Voyah-авто, где канал Voyah читает все свои сенсоры, теперь выбирается Voyah, а не BYD.
v3.0.7¶
- Индикатор очереди телеметрии: тонкая полоска на главном экране показывает объём данных, ожидающих отправки в HA (полная — ~2 часа отправок, адаптивно), по мере отправки уменьшается, при пустой очереди скрыта.
- В настройках «Умный дом» — «В очереди» (текущий объём) и «Последняя отправка» (время и объём последней успешной отправки телеметрии).
v3.0.6¶
- OBD-II теперь подключается по Bluetooth: при включении протокола под чекбоксом появляется
кнопка выбора ELM327-адаптера (список сопряжённых устройств, проверка
ATI, сохранение). WiFi/TCP остаётся запасным транспортом. - В окне «О программе» добавлена кнопка «Что нового» — заметки последней версии с сайта.
- Окно заметок версии всегда читаемое (светлый текст на тёмном фоне).
v3.0.5¶
- Техническое обновление: автоматизированный релиз-конвейер (сборка → мануал → деплой на сайт), без функциональных изменений.
v3.0.4¶
- Системные сенсоры (GPS, батарея устройства) в телеметрии выглядят нормально: чекбокс включён и не переключается — они всегда собираются на устройстве.
v3.0.3¶
- Исправлена карточка автомобиля и картинка device_tracker: статика интеграции
перенесена из
/api/в путь/cartelemetry(без авторизации) — теперьcar-card.js,car_top.pngи изображение трекера доступны.
v3.0.2¶
- Обновление через приложение полностью рабочее: авто-проверка при открытии главного окна, исправлена установка (FileProvider), корректное сравнение версий, пропуск повторной загрузки.
- Исправлено: карточка добавления плитки в дашборде стала читаемой; кнопка «+» в правилах больше не перекрывает переключатель.
- Разрешение на чтение хранилища больше не донимает системными сообщениями на BYD-прошивках.
v3.0.1¶
- Карточка автомобиля для дашборда: вид сверху с сенсорами на кузове и плитками управления (
custom:cartelemetry-car-card). - Устройства: общее устройство на автомобиль + отдельное устройство трекера (иконка mdi:car, картинка автомобиля).
- Проверка обновлений через приложение (кнопка в настройках → скачивание и установка APK с сайта).
- Исправлено: оставшиеся ссылки на старый домен (пресеты, справочник команд, отчёты исследования).
- Исправлено: GPS стартует сразу после выдачи разрешения на локацию, без перезапуска приложения.
- Исправлено: импорт конфигураций видит файлы в «Загрузках», добавленные другими приложениями (новое разрешение на чтение).
- Иконки приложения и интеграции: автомобиль на фоне дома; интеграция — с шестерёнкой.
v3.0.0¶
- BREAKING: переименование — интеграция
diplus2hass→ CARTelemetry (домен, каталог, сервисы), приложение → Car2Hass (новый package, ставится рядом со старым). Требуется переустановка интеграции; см. «Переход на 3.0». - Новый endpoint
/api/cartelemetry— старый/api/byd_diplusработает как legacy для старых APK. - Сайт переехал на mytechnic.ru/cartelemetry (старый адрес редиректит).
- Источники данных: единый список каналов из реестра (+Voyah), идентификаторы унифицированы (
dumpsys,adb), system-канал с честной пробой доступности. - Настройки источников: переключатель «Автофолбэк» вместо выбора одного источника; команды следуют каналу сенсора; каналы не отключаются при временном сбое.
- Исследование: профиль авто с процентом совпадения и датой прогона; системные GPS/батари сенсоры передаются и отображаются.
- Проверка обновлений через сайт (кнопка в настройках, скачивание и установка APK).
- Фиксы: групповые отказы getDiPars изолируют сбойный сигнал без рекурсивного деления; sentinel window_rr больше не шумит.
v2.4.0¶
- Новая архитектура телеметрии и исследования — JSON-реестры сенсоров/команд/профилей (141 сенсор / 29 команд / 3 профиля авто), ProbeEngine с автоопределением типа авто по скору ответов сигналов (полный прогон при первом запуске и каждый 3-й запуск, лёгкая проверка каналов между ними) и SourceManager, который централизованно решает, откуда читать, по реестру, активным каналам и отчёту исследования; system-сенсоры (GPS/устройство) читаются всегда.
- GPS 1 Гц — координаты/скорость/азимут снимаются каждую секунду и передаются батчами окном ~4 с; GPS-минимум присутствует в интеграции всегда.
- Секция настроек «Исследование системы» — выбор типа авто из
car_profiles.json, чекбоксы каналов с доступностью из отчёта, статус исследования и экспортprobe_report.json. - Анонимные отчёты исследования (опционально, выключено по умолчанию) — PHP-приёмник на сайте (
/api/probe-report) с валидацией схемы и rate-limit; MCP-API (/api/mcp:list_car_profiles,signal_availability,channel_availability,raw_reports) для анализа доступности сигналов/каналов по моделям. - Новые каналы — OBD-II ELM327 по TCP/WiFi (опционально, выключен по умолчанию), честные availability-пробы DiPlus Push и BYD Cloud, Voyah (только чтение) через рефлексию к вендорскому CANBus-сервису.
v2.3.1¶
- Фикс пропадания сенсоров из телеметрии — DiPlus при обвале сервера больше не помечает исправные сигналы как «неподдерживаемые» (ошибка соединения не считается свойством сигнала). Ранее после обвала DiPlus до 130 сенсоров (включая
window_rr/sunroof/sunshade) навсегда прятались из телеметрии; группа «известно неподдерживаемых» сигналов периодически пере-изолируется, чтобы вернувшиеся сигналы снова стали активными. - Настройки — иконки разделов в одну строку с названием (слева); «Протоколы» → «Сервисы / источники данных», «Технические» → «Опции»; «Геозоны» — отдельный пункт левой колонки; язык, «Обновить пресеты» и импорт/экспорт конфигурации перенесены в «Опции», секция «Прочее» убрана.
- Исследование каналов — модальное окно с прогресс-баром на время зондирования.
- Анализ логов — разбор сценария пропадания сенсоров на BYD Song Pro 2022 задокументирован в
info/telemetry_signal_disappearance_analysis.md.
v2.3.0¶
- Профиль автомобиля — производитель (BYD / «Универсальный авто с Android»), марка/модель и год выпуска в настройках; VIN и версия ПО снова попадают в телеметрию (ранее исключались из слияния сенсоров).
- «Исследование каналов» для универсального авто — зондирование DiPlus, ADB, системных свойств и экспериментальных каналов с отчётом (экран + лог + файл
research_*.txt); отчёт прикладывается к отправляемому логу. - Настройки переработаны — левая колонка разделов (Авто / Протоколы / Умный дом / Технические / Прочее), «О программе» открывается модальным окном.
- Первый запуск новой версии — автоматически открываются настройки автозапуска и окно «О программе».
- Нативная запись команд (бета) — команды применяются через прямой канал записи autoservice (
service call autoservice 6, тот же setInt, что использует HelperDaemon BYD) в дополнение к DiPlus HTTP. Карта команд вassets/native_commands.jsonсопоставляет команду с адресами; native и DiPlus взаимно подменяют друг друга, так что команда выполняется, пока жив хотя бы один интерфейс. Режимautoзапоминает, какой интерфейс отвечал последним. - Верификация записи и отчёт об интерфейсе — результат команды включает использованный интерфейс (
native/diplus) и число фоллбэков; запись, принятая интерфейсом, не показывается как ошибка, даже если связанный сенсор недоступен или не подтвердил значение. - Чистка native-телеметрии —
passenger_seatbelt(мигающий fid) иtrunk(не читающийся fid) убраны из native-карты чтения; оба продолжают работать через DiPlus. - Интервал телеметрии 7 с — цикл native-чтения (4,5–5,5 с) больше не гоняется со следующим тиком; пропуски циклов (до ~120/сессию) устранены.
v2.2.0¶
- Нативная телеметрия (бета) — чтение сигналов напрямую с ГУ через on-device ADB (
service call autoservice), в обход сервера DiPlus. Источник выбирается в настройках (diplus/native/auto); debug-режим сравнивает native-значения с DiPlus в логе. - Выверка таблицы команды→сенсоры —
expectedValueприведены к фактическим enum-переводам, устранены ложныеstate mismatchдля команд дверей/окон/замков/багажника/климата/света.
v2.1.6¶
- Фикс загрузки интеграции — бинарные сенсоры больше не падают с
ImportError: cannot import name 'ONLINE_OFFLINE_SECONDS'; порог онлайн/офлайн задан вconst.py(60 с). - Диапазоны команд приведены к реальным возможностям DiPlus — температура кондиционера 17–30 (дроби отвергаются, иначе DiPlus открывает NaviActivity), вентилятор 1–7, SOC 15–70, внешняя громкость 0–99.
- Сигналы num → enum —
sentry_state,parked_recording_switch,parked_sentry_alarm,lead_car_start_stateпереведены в перечисления с нормальными метками. - История сущностей с реальными метками времени — пакеты телеметрии реплеятся в recorder HA по времени сбора каждого снапшота (HA 2024.6+): история показывает фактическую траекторию, а не один тик.
- Запоминание параметров пресетов — проценты окон, температура/обдув климата сохраняются; диалог редактирования пресета предлагает «Сохранить» / «Сохранить и применить» и не выполняет команды молча.
- Диалоги действий пресетов — сетка кнопок — вместо списка; у пресета «Окна» кнопки Закрыть / Открыть (4 стекла на 100 %) / Проветрить / Свои значения.
- Пресеты дашборда v4 — порт зарядки больше не «отключён» на подключённом пистолете (truthy покрывает реальные значения AC/DC-пистолета и
Ready); режим охраны стал пресетом с 3 кнопками-действиями; детские замки объединены в одну плитку с 4 действиями; удалён дубль-пресет «Закрыть окна»; «Вентилятор климата» и «Темп. климата» переименованы; сравнение опций select нормализовано (без учёта_ / + : -и пробелов). - Сенсор зарядки в HA — бинарный сенсор зарядки включается на
Ready/started/charging/full(раньше машина на активной зарядке присылалаReadyи сенсор оставался выключенным). - Дедупликация экспорта лога — повторные timestamp-строки из секций «In-memory» и «Persistent File» больше не дублируются.
- Единый источник версии — тест согласованности следит, чтобы версия приложения и интеграции совпадала везде; AndroidManifest очищен от устаревшей версии.
v2.1.5¶
- Трёхрежимная запись лога в файл: Выкл (файл не ведётся, только экспорт по запросу) / Базовый (события и ошибки, без RAW) / Подробный (всё, включая тела RAW-ответов DiPlus).
- Лог в памяти — всегда подробный (буфер с ограничением по размеру): экспорт в любой момент даёт полную картину независимо от режима записи в файл.
- Легаси-настройка «Подробный лог» мигрирует в новый режим автоматически; экспорт/импорт конфигурации поддерживает
file_log_mode(и старый ключ).
v2.1.4¶
- Пустое значение условия геозоны =
inside— правила с пустым значением уgeo_*сенсора работают без ручной правки (для «снаружи» укажитеoutsideявно). - «Подробный лог» управляет объёмом — RAW-ответы DiPlus пишутся только при включённой настройке; базовый лог ведётся всегда в память и файл с ротацией 5 МБ.
v2.1.3¶
- Фикс спама лога миграции правил — «minInterval ignored» пишется раз на правило за процесс (было ~6,5 тыс. строк за сессию).
- Предупреждение о пустом условии — правила с пустым значением условия помечаются в логе (они никогда не сработают).
- Дешевле телеметрия — неподдерживаемые сигналы опрашиваются раз в минуту (~в 2 раза меньше запросов).
- Тише логи при падении DiPlus — первая connect-ошибка как ошибка, повторные в течение минуты — в отладку.
v2.1.2¶
- Фикс ошибок HA из-за '∞': числовые сенсоры больше не падают с
ValueErrorна нечисловых значениях (бесконечный расход на стоянке) — состояниеunknown, сырое значение в атрибутеraw_value. - total_energy: класс состояния
total_increasing→total— убраны предупреждения рекордера «not strictly increasing».
v2.1.1¶
- Правила по фронту — на каждый переход: 30-минутный кулдаун больше не применяется к edge-правилам (остаётся для уровневых). «Открыть двери на паркинге» теперь работает на каждом паркинге, включая короткие поездки.
- Удержание условия (debounce): новый параметр правила — условие должно держаться истинным N секунд перед срабатыванием; защита от флапа сигналов.
- Диагностика правил: в логе срабатываний — prev/current состояние и значения сенсоров; логируются смены состояний геозон.
- Валидация редактора: условие с пустым значением не сохранить; для geo-сенсоров подсказки
inside/outside; поле «мин. интервал» отмечено серым для edge-правил. - Быстрее телеметрия: неподдерживаемые сигналы опрашиваются отдельной группой — рабочие группы не сплитятся (~в 3 раза меньше запросов, чище лог).
- Дефолт анти-зацикливания снижен до 60 с (миграция со 1800 для edge-правил).
v2.1.0¶
- Геозоны в Home Assistant — каждая зона появляется как
binary_sensor.<авто>_geofence_<название>(on = внутри); в списке зон приложения — время последнего посещения. - PNG-иконки пресетов вместо эмодзи (подмена своими файлами
icons/<имя>.png, эмодзи как запасной вариант). - Новый вид плиток с зонами — трёхстрочный layout (иконка / ➖ значение ➕ / название).
- Автодополнение действий правил — локализованные enum-варианты, диапазоны min..max, ранее использованные значения.
- Время последнего срабатывания правила — отдельно для прямой и else-ветки.
- Кнопка принудительного обновления пресетов с отображением версии пакета.
- Пауза таймера режима редактирования при открытых диалогах; единый стиль FAB (56dp).
- Стабильность: устранена потеря циклов телеметрии (ConcurrentModificationException), движок правил защищён от ложных срабатываний при старте, чище логи (geo_, getDiPars), переведено «приближается автомобиль».
- Стабильные единицы сенсоров в интеграции (mm для осадков, % для громкости) — чинит long-term statistics.
v2.0.0¶
- Движок правил — локальные автоматизации: множественные условия (AND/OR/NOT), несколько действий, else-ветка, «один раз за поездку», персистентное состояние, экспорт/импорт (формат v2).
- Геозоны с редактором на карте (OpenStreetMap) — виртуальные датчики
geo_<id>для правил. - Пресеты дашборда v3 — исправлены 9 переключателей с перепутанными вкл/выкл; плитки показывают реальные значения; пресеты локализованы (OTA).
- Замки дверей одним тапом, примеры правил при первом запуске, полный экспорт конфигурации (правила + геозоны + настройки).
- Редактор правил на двух языках — 132 локализованных названия сенсоров и подписи операторов.
v1.9.1¶
- Фоновый режим при выключенном авто (ACC off) со встроенным ADB-помощником.
- Лог пишется в файл сразу после старта и сбрасывается при остановке сервиса.
v1.9.0¶
- Стабильный фоновый сервис (явная остановка не перезапускает, тихое уведомление при загрузке).
- Надёжность очереди команд в HA (дедупликация, устаревание, таймауты).
- Исправление online-сенсора и пресета окон; крэшлоги в Downloads.
v1.8.x¶
- Настраиваемый дашборд, внешний реестр сигнал↔команда (OTA), фильтр отключённых сигналов.
- Первая публичная версия с полным каталогом сигналов и двуязычным интерфейсом.