Как подружить Tesla с Home Assistant и не высадить батарею за ночь
Какое-то время назад официальная интеграция Tesla тихо исчезла из стандартной поставки Home Assistant. Причина банальная: производитель в очередной раз перекроил авторизацию, API сломался, а поддерживать официальный коннектор в актуальном состоянии силами ядра HA стало слишком накладно. Пользователи остались перед выбором: управлять машиной исключительно с телефона или собирать костыли.
К счастью, сообщество быстро подхватило проект. Репозиторий alandtse/tesla взял за основу старый официальный код, переработал логику авторизации и превратился в главную кастомную интеграцию для владельцев электрокаров и домашних накопителей Powerwall.
Зачем тащить электромобиль в умный дом
Казалось бы, у Tesla есть удобное фирменное приложение. Зачем городить сервер умного дома?
Главная причина в автоматизациях на стыке разных систем. Вы можете привязать прогрев салона к будильнику в спальне, открывать ворота гаража при приближении авто или запускать зарядку строго в часы минимального тарифа на электроэнергию.
Интеграция создает в Home Assistant десятки сущностей. Вот четыре направления, с которыми обычно работают:
- Управление климатом и комфортом. Запуск кондиционера, установка точной температуры, включение подогрева руля и сидений, активация режимов Camp Mode или Dog Mode.
- Контроль кузова и замков. Открытие багажника, капота, лючка зарядки, закрытие окон и блокировка дверей.
- Мониторинг телеметрии. Давление в шинах, уровень заряда, расчетное время окончания зарядки, температура внутри и снаружи, текущие координаты.
- Домашняя энергетика. Если у вас стоят солнечные панели Tesla или батарея Powerwall, интеграция собирает данные о перетоках мощности в сеть, потреблении дома и текущем резерве.
Главная дилемма: вампирский разряд против свежих данных
Автомобили Tesla в режиме простоя засыпают, чтобы экономить заряд тяговой батареи и бортового аккумулятора. Если слать HTTP-запросы к машине каждую минуту, бортовой компьютер просто не уйдет в спящий режим. За сутки такой «активности» батарея запросто потеряет 2-4% емкости на пустом месте. В сообществе это явление метко прозвали vampire drain.
Разработчики интеграции подошли к проблеме аккуратно:
Интервал опроса по умолчанию выставлен на 660 секунд (11 минут). Это время выбрано неспроста: большинству моделей требуется от 11 до 15 минут спокойствия, чтобы погрузиться в глубокий сон. Когда интеграция опрашивает серверы Tesla, она сперва проверяет статус. Если машина спит, запрос данных отменяется, и автомобиль продолжает спокойно спать.
Если вам нужны мгновенные данные прямо перед выездом, машину можно разбудить автоматизацией. Например, отправить безобидную команду закрытия центрального замка за 10 минут до выхода на работу. Машина проснется, выполнит команду и заодно обновит все датчики в Home Assistant.
Для тех, у кого уже развернут TeslaMate, есть отдельная киллер-фича: интеграция умеет забирать свежую телеметрию прямо из локального брокера MQTT без лишних запросов к облаку.
Нюансы настройки и Tesla Fleet API
С настройкой придется немного повозиться. Привычный логин и пароль ввести не получится: Tesla требует refresh token. Получить его можно через сторонние утилиты для Android, iOS или специальное расширение для браузера Chromium.
Вторая сложность свежее. Tesla закрыла старый Owner API для большинства автомобилей и перевела управление на новый Fleet API со сквозным шифрованием команд. Читать телеметрию через облако все еще просто, но вот для отправки управляющих сигналов (открыть багажник, включить обогрев) теперь нужен отдельный прокси-сервер.
В экосистеме Home Assistant эту задачу решает аддон Tesla HTTP Proxy. Потребуется настроить DuckDNS, Nginx и сертификаты, чтобы команды с вашего сервера корректно подписывались ключами и принимались серверами Tesla. Инструкция в вики проекта подробная, но базовые навыки сетевого администрирования здесь точно пригодятся.
Как установить компонент
Быстрее всего поставить компонент через HACS:
- Откройте HACS, зайдите в раздел интеграций и добавьте кастомный репозиторий
https://github.com/alandtse/tesla. - Скачайте компонент и перезагрузите сервер Home Assistant.
- Перейдите в «Настройки» -> «Устройства и службы», нажмите «Добавить интеграцию» и найдите Tesla Custom Integration.
- Вставьте заранее сгенерированный токен и при необходимости укажите адрес локального прокси.
Стоит ли ставить
Если у вас есть Tesla и развернутый Home Assistant, альтернатив практически нет. Репозиторий активно поддерживается сообществом, быстро реагирует на изменения в облаке Tesla и аккуратно обращается с батареей машины.
Проект требует терпения на этапе первичной авторизации и настройки прокси. Но как только вы свяжете сценарии умного дома с климатом и зарядкой электрокара, возвращаться к ручному управлению через официальное приложение уже не захочется.
