Часть 1. Выход из вендорского силуэта
Зачем вообще это писать
Каждый спортивный браслет — это маленький медицинский прибор, который знает о тебе больше, чем семейный врач: когда ты спал и как глубоко, как билось твоё сердце ночью, какие у тебя паузы дыхания, в какие минуты тебе было стрессово. Весь этот поток по умолчанию течёт в облачную систему производителя — и остаётся там навсегда, в чужой юрисдикции, на чужих условиях, с чужим правом на «улучшение сервиса».

Проблема не в том, что производитель прямо завтра сделает с данными что‑то плохое. Проблема в силуэте зависимости: твои данные лежат в единственном месте, доступ к которому определяется единственной компанией. Закрылся сервис — история исчезла. Поменял браслет на другой бренд — история осталась у прошлого бренда. Захотел проанализировать сам — упёрся в закрытый API или PDF‑выгрузку «по запросу».
Я носил Honor Band NFC 3, 5 теперь 10 и параллельно копил недовольство этим силуэтом. Ниже при помощи ИИ (glm5.3) написано — как я вытащил (при помощи, как вы понимаете, всё той же GLM) свои данные полностью, без Huawei Developer аккаунта, без облака и без потери функциональности браслета.
Принцип: данные принадлежат тому, у кого они рождаются
Датчик на запястье рождает данные на твоём запястье. Всё, что происходит дальше, — уже транспортировка. Значит, если настроить маршрут так, чтобы данные шли с браслета прямо к тебе домой, минуя вендорское облако, — вопрос владения решается архитектурно, а не юридически. Никто не обязан ничего удалять или передавать: данные просто никогда не покидают твою собственность.
Это ключевая мысль. Не «попросить у вендора свои данные» (GDPR‑запросы, архивы по email), а перехватить поток в точке рождения.
Инструмент, который делает это возможным
Существует проект Gadgetbridge — open‑source Android‑приложение, которое говорит с фитнес‑браслетами напрямую по Bluetooth, тем же языком, что и родное приложение вендора. Протоколы реверс‑инжинирятся сообществом годами, поддерживаются сотни устройств: Xiaomi, Amazfit, Garmin, Pebble, Honor, Huawei.
Что важно:
Браслет не знает разницы. Он парится с Gadgetbridge так же, как с родным приложением: время, будильники, уведомления, цели — всё работает.
История на браслете остаётся на браслете до момента синка, а синк идёт в локальную базу на телефоне.
Никакого облака. Приложению даже не нужен интернет после установки.
Экспорт в открытый формат: sqlite‑база, живущая на твоём телефоне, читаемая чем угодно.
Honor Band 10 — свежее устройство, и его поддержка в Gadgetbridge пока в статусе «experimental». На практике это значит: базовые вещи (шаги, пульс, сон, стресс, SpO2, HRV) работают, какие‑то экзотические функции могут быть недоделаны. Статус можно проверить на сайте проекта — там живая матрица поддержки. Для моих целей экспериментального уровня хватило с запасом.
Порядок действий (без привязки к конкретному телефону)
Всё делается один вечер. Требуется: телефон с Android, кабель USB, компьютер.
Установить Gadgetbridge — сборки распространяются через F‑Droid и сайт проекта. Это не Play Market‑приложение, у него другая модель доверия: открытый код, воспроизводимые сборки, подпись проверяема.
Отвязать браслет от родного приложения. В вендорском приложении — «unpair» / «отключить устройство».
Спарить с Gadgetbridge. Стандартный сценарий: приложение ищет браслет, браслет показывает подтверждение на экране, пара устанавливается. Это называется in‑band pairing — вендорское приложение для этого больше не нужно вообще.
Выключить или заморозить родное приложение. Оно имеет привычку просыпаться в фоне и перехватывать Bluetooth‑соединение. Браслет не может быть подключён к двум хозяевам сразу. Настройки Android позволяют просто запретить ему фон.
Настроить регулярный экспорт. В Gadgetbridge есть встроенная функция автоэкспорта базы — раз в час (или чаще) она кладёт копию базы в папку на телефоне. Это важно сделать сразу: база — единственное место, где живут все твои данные, и регулярная копия убирает страх «а если что‑то сломается».
Выдать себе канал наружу. Пока данные живут на телефоне — они твои, но бесполезны. Дальше начинается вторая часть: как сделать так, чтобы данные сами, без тебя, приезжали домой.
Что изменилось на практике
Батарея. Первое, что замечаешь. Родное приложение — это постоянный фоновый сервис с облачным синком, push‑каналами, аналитикой. Убрал — и телефон перестал быть пылесосом.
Зависимость. Браслет работает даже без интернета на телефоне. Сам синк — локальный Bluetooth. Никакой сервис вендора не участвует в цепочке.
Формат. Все данные — в одной sqlite‑базе. Открыл любой sqlite‑браузер — и вот они, поминутные замеры пульса за ночь, в сыром виде, в своей собственности. О вариантах этого будет написано в третьей части.
Приватность. Пульс в 3 часа ночи, стрессовый час в офисе, пробежка в парке — всё это больше не чьё‑то сырьё для рекомендательного алгоритма.
Честные минусы
Статус экспериментальный — часть фич может подтянуться позже. Я осознанно обменял 5% функциональности на 100% владения данными.
Нет истории из старого облака. Данные, накопленные в вендорском приложении до миграции, там и остались. Перетащить их в новую базу штатной возможности нет (это плата за отсутствие вендорского API). Зато с момента перехода всё новое — моё, навсегда.
Один хозяин за раз. Браслет подключён к одному приложению. Дуал‑синка не существует.
Ни один из этих минусов не перевешивает главный плюс: мои данные остаются в моём распоряжении.
Что дальше, план публикации:
Вторая часть — про то, что делать с данными после того, как они стали твоими: как организовать автоматическую доставку с телефона (подсказка: браслет может и не знать про интернет, но телефон‑то знает), где хранить, как не превратить личную базу здоровья в свалку CSV‑файлов, и как заставить её отвечать на вопросы — от «а сколько я на самом деле спал в среду» до «покажи тренд пульса покоя за год».
Третья часть появится, когда накопится месяцы живых данных: что реальные цифры говорят о сне, нагрузке и восстановлении — и что из этого можно (и нельзя) делать выводы о себе.

