РАЗРАБОТКА

Весы Withings подключили к Home Assistant без облака

Разработчик подключил Withings Body+ к Home Assistant через ESP32, чтобы умные весы Withings передавали данные без облака производителя.

✍️ Редакция iTech News | 08.09.2026 | ⏱ 4 мин | Источник: Habr / Новости
📜

Разработчик Дидак Сабатес заставил умные весы Withings Body+ передавать данные в Home Assistant напрямую, без обязательного захода на серверы производителя. Для русскоязычной аудитории умного дома это знакомый сюжет: купил устройство, а потом выяснил, что твои килограммы сначала едут в чужое облако и только потом возвращаются в локальную систему.

О проекте сообщает Habr / Новости. Сабатесу понадобились плата ESP32, Bluetooth-связь с весами и собственный компонент для ESPHome, написанный на C++. В нормальном сценарии Withings Body+ работают через облако: весы отправляют результаты измерений на серверы Withings, а Home Assistant забирает их через официальный API. Интеграция существует, но локальной ее назвать трудно.

В документации SDK Withings прямо заложена такая архитектура: сторонние приложения не должны синхронизироваться с устройством напрямую, данные сначала попадают в облако. Для производителя это контроль над экосистемой, поддержка единого пользовательского опыта и, вероятно, меньше головной боли с совместимостью. Для пользователя Home Assistant это лишнее звено, зависимость от интернета и еще один сервис, которому приходится доверять медицински чувствительные данные, пусть речь и идет о бытовых весах.

Сабатес обошел этот маршрут через ESP32. После взвешивания микроконтроллер принимает данные от Withings Body+ по Bluetooth, а затем ESPHome передает их по локальной сети в Home Assistant. То есть домашняя автоматизация получает показатели без ожидания синхронизации с внешним API и без необходимости пропускать измерения через серверы производителя. В мире умного дома это почти классический jailbreak: не ради пиратства, а ради нормального владения собственным устройством.

Главная сложность была не в железе, а в протоколе. У Withings нет публичной документации, которая позволила бы заменить фирменное приложение и спокойно читать все нужные поля с весов. Сабатес использовал OpenCode с Codex: AI-агент разбирал старую версию Android-приложения Withings, сопоставлял декомпилированный код с уже известными сведениями о протоколе и помогал писать компонент ESPHome. Процесс выглядел не как магия из демо-ролика, а как нормальная инженерная итерация: новая прошивка, подключение ESP32, перевод весов в режим настройки, тестовое взвешивание, логи, следующая правка.

В Home Assistant в итоге попадает не только вес. Для каждого пользователя Сабатес вывел показатели жировой массы, процента жира, мышечной массы, костной массы, воды и безжировой массы. Отдельно писать распознавание людей не пришлось: умные весы Withings уже умеют идентифицировать пользователя и передают его ID вместе с результатом измерения. Это важная деталь, потому что без нее проект быстро превратился бы в неудобную самоделку, где каждый замер нужно вручную сопоставлять с человеком.

Для хранения данных разработчик настроил шаблонные датчики Home Assistant. Благодаря этому последний результат не пропадает из интерфейса, если отключить ESP32. Сам микроконтроллер тоже сохраняет полученные значения и восстанавливает их после перезагрузки. Для домашней автоматизации это мелочь только на бумаге: если после каждого рестарта панели превращаются в набор пустых сенсоров, пользоваться такой интеграцией долго никто не будет.

История хорошо попадает в текущий нерв рынка умных устройств. Производители продают железо, но все чаще оставляют ключевую логику в облаке: авторизацию, историю, интеграции, иногда даже базовые функции. Пока сервис работает, это выглядит терпимо. Когда меняются условия API, ломается приложение, закрывается региональная поддержка или просто пропадает интернет, внезапно выясняется, что «умный» гаджет без внешнего сервера становится заметно глупее.

Для разработчиков здесь интересны сразу две линии. Первая — ESPHome и Home Assistant продолжают быть практичной базой для локального умного дома, где пользователь контролирует данные и сценарии. Вторая — AI-инструменты начинают играть роль не только генераторов boilerplate-кода, но и помощников в реверс-инжиниринге: читать декомпилированный код, искать соответствия, предлагать реализацию, быстро прогонять гипотезы. Это не отменяет инженерной проверки руками, но сокращает путь от «протокол закрыт» до «у меня есть рабочий компонент».

Ограничения у проекта пока существенные. Сабатес не открыл код, а тестировал решение на конкретной модели Withings Body+. На других весах Withings интеграция может работать нестабильно или не заработать вообще. Поэтому говорить о готовом массовом решении рано. Но сама демонстрация важнее: даже бытовой гаджет с закрытым протоколом можно вернуть в локальную инфраструктуру, если есть ESP32, терпение и достаточно хороший инструмент для разборки чужой логики. Следующий вопрос для рынка неприятный: сколько еще купленных устройств пользователям придется «освобождать», чтобы они просто работали дома, а не в чужом дата-центре.

Поделиться: Telegram X LinkedIn