Как открыть умный дом Home Assistant с телефона вне дома без проброса портов

Доступ к Home Assistant из любой точки без белого IP, проброса портов и облачной подписки. Пошагово: настройка Home Assistant, программы DevProxy и мобильного приложения.

Обновлено:

Содержание

В чём проблема

Дома у вас работает Home Assistant: вы включаете свет, смотрите датчики и камеры. Но вне дома приложение не может к нему подключиться. Провайдер не даёт «белый» адрес, а открывать порт на роутере вы не хотите или не умеете.

Как это решает DevProxy

На любом домашнем компьютере, который постоянно включён, запускается программа DevProxy. Она даёт Home Assistant защищённый адрес вида https://dom.ваше-пространство.devtunnels.ru. По нему умный дом открывается с телефона откуда угодно, а вход по-прежнему защищён паролем Home Assistant.

Что понадобится

  • Home Assistant, в который вы входите по имени и паролю.
  • Домашний компьютер с Windows, Linux или macOS, который включён постоянно. Подойдёт и тот, на котором работает сам Home Assistant.
  • Программа DevProxy и ключ доступа с готовым вариантом «Сайт или API». Как их получить, описано в статье «Как начать пользоваться DevProxy».

Шаг 1. Узнайте адрес Home Assistant в домашней сети

Нужен адрес из цифр, например 192.168.1.50. В Home Assistant откройте «Настройки», затем «Система», затем «Сеть»: адрес указан в разделе сетевых адаптеров. Сам Home Assistant обычно работает на порту 8123, то есть полный адрес выглядит как http://192.168.1.50:8123.

Если Home Assistant установлен на том же компьютере, где будет работать DevProxy, адрес будет http://127.0.0.1:8123.

Шаг 2. Разрешите Home Assistant принимать подключения через DevProxy

Home Assistant из соображений безопасности отклоняет запросы, пришедшие через посредника, пока вы явно не разрешите это. Без этого шага вместо умного дома вы увидите ошибку «400: Bad Request».

Откройте файл configuration.yaml Home Assistant. Проще всего это сделать дополнением File editor: «Настройки», затем «Дополнения», затем «Магазин дополнений», найдите File editor и установите. Добавьте в конец файла:

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 192.168.1.0/24

Запись 192.168.1.0/24 означает «все устройства домашней сети с адресами 192.168.1.что-то». Если адрес Home Assistant начинается с 192.168.0., напишите 192.168.0.0/24. Если DevProxy работает на том же компьютере, что и Home Assistant, вместо этой строки укажите две: - 127.0.0.1 и - ::1.

Если раздел http: в файле уже есть, не создавайте второй, а добавьте строки в существующий. Сохраните файл и перезапустите Home Assistant: «Настройки», затем «Система», затем кнопка перезапуска в правом верхнем углу.

Шаг 3. Настройте программу DevProxy

Откройте файл настроек DevProxy (как это сделать) и замените его содержимое на этот текст:

server: https://control.devtunnels.ru
token: ВАШ_КЛЮЧ
reconnect: true
tunnels:
  - name: dom
    kind: http
    local: http://192.168.1.50:8123

Вместо ВАШ_КЛЮЧ вставьте свой ключ, в строке local укажите адрес из шага 1. Сохраните файл и выполните devproxy start. Такие же настройки есть в кабинете в разделе «Шаблоны», в карточке Home Assistant.

Шаблон Home Assistant
Шаблон Home Assistant

Шаг 4. Откройте умный дом с телефона

В кабинете в разделе «Туннели» скопируйте адрес туннеля dom. Отключите на телефоне Wi-Fi, чтобы проверить работу через мобильный интернет, и откройте адрес в браузере. Появится обычная страница входа Home Assistant.

Шаг 5. Настройте мобильное приложение

В приложении Home Assistant откройте «Настройки», затем «Приложение-компаньон», затем сервер. В поле внешнего адреса вставьте адрес туннеля. Теперь приложение само переключается на него, когда вы уходите из дома.

Важно знать

  • Адрес туннеля могут найти посторонние, поэтому защитите вход: длинный пароль и двухэтапная проверка. Её можно включить в профиле Home Assistant, в разделе многофакторной аутентификации.
  • Компьютер с программой DevProxy должен работать постоянно и не уходить в спящий режим.
  • Управление домом расходует совсем немного трафика. Просмотр камер расходует заметно больше.

Если что-то не получилось

  • «400: Bad Request». Шаг 2 не выполнен или указана не та сеть. В журнале Home Assistant при этом есть запись о запросе от недоверенного посредника (untrusted proxy).
  • Ошибка соединения вместо страницы входа. Проверьте, что адрес из строки local открывается в браузере на том компьютере, где работает DevProxy.
  • Приложение не подключается вне дома. Проверьте, что в нём указан именно адрес туннеля, начинающийся с https://.

Попробуйте бесплатно

Бесплатного тарифа хватает на все сценарии из инструкций.

Создать аккаунт

Другие инструкции