Как сделать чтобы Home Assistant работал по адресу hassio.local

Я установил Home Assistant на Raspberry Pi. Есть множество разных способов как можно установить Home Assistant. Я установил на Raspberry Pi операционную систему Raspbian, а на нее установил Hassio.

Теперь у меня в браузере по адресу http://192.168.1.33:8123 открывается интерфейс Home Assistant (этот интерфейс еще называется lovelace).

Home Assistant lovelace интерфейс ip адрес

Но заходить по адресу неудобно: адрес нужно помнить и набирать его на клавиатуре еще то удовольствие.

Гораздо удобнее если можно было бы заходить в веб интерфейс Home Assistant не по адресу, а по имени. Можно сделать чтобы HA отвечал по имени с помощью настройки mDNS.

Чтобы настроить mDNS нужно выполнить несколько действий:

Все эти действия выполняются на на хосте Raspberry Pi, в операционной системе Raspbian, а не внутри каких-либо докерных контейнеров Hassio. Если у вас Home Assistant работает не на Raspbian, а на операционной системе Ubuntu, то шаги практически такие же.

Сначала заходим по ssh на Raspberry Pi:

ssh pi@192.168.1.33

Все дальнейшие действия нужно выполнять с правами суперпользователя, так что переключаемся в пользователя root:

sudo su

Настройка mDNS выполняется с помощью программы, которая устанавливается в виде пакета "avahi-daemon". Проверяем что такой пакет установлен в системе:

root@raspberrypi:~# dpkg -l|grep avahi-daemon
ii  avahi-daemon    0.7-4+b1    armhf    Avahi mDNS/DNS-SD daemon
root@raspberrypi:~#

В моей ситуации пакет уже установлен. Если эта команда ничего не выводит (что означает что пакета в системе нет), то нужно установить пакет с помощью команды "apt-get update && apt-get install -y avahi-daemon".

То как работает mDNS описано в файле "/etc/avahi/avahi-daemon.conf". Нужно отредактировать этот файл. Например, это можно сделать с помощью редактора nano

nano /etc/avahi/avahi-daemon.conf

Необходимо убрать символ решетки со строки, которая начинается с host-name и в этой же строчке написать hassio после символа равно. Вот как должен выглядеть фрагмент этого файла.

[server]
host-name=hassio
#domain-name=local

(строку с текстом #domain-name можно оставить с символом решетки вначале, значение local — это значение по умолчанию для этой настройки).

Нужно сохранить файл /etc/avahi/avahi-daemon.conf (в редакторе nano это делается с помощью комбинации клавиш ctrl+X, а потом нажать клавишу Y для сохранения).

Редактирование конфигурации mDNS в nano

И после того как файл сохранен нужно перезапустить программу avahi-daemon:

root@raspberrypi:~# service avahi-daemon restart
root@raspberrypi:~#

И после этого можно заходить в интерфейс Home Assistant по адресу http://hassio.local:8123

Home Assistant lovelace интерфейс hassio.local

Иван Бессарабов
ivan@bessarabov.ru

16 декабря 2019

Кстати, у меня есть телеграм канал про Home Assistant: https://t.me/bessarabov_ha