Как установить домашнего помощника на Ubuntu

Обновлено: 01.07.2024

Этот метод установки предназначен только для опытных пользователей

Убедитесь, что понимаете требования

Установить Home Assistant под присмотром

Этот метод установки обеспечивает все возможности Home Assistant в обычной операционной системе. Это означает, что используются все компоненты метода Home Assistant, кроме операционной системы Home Assistant. Эта система будет запускать Home Assistant Supervisor. Supervisor — это не просто приложение, это полноценное устройство, управляющее всей системой. Он очистит, восстановит или сбросит настройки по умолчанию, если они больше не соответствуют ожидаемым значениям.

Не используя операционную систему Home Assistant, пользователь несет ответственность за установку и обслуживание всех необходимых компонентов. Необходимые компоненты и их версии со временем будут меняться. Home Assistant Supervised предоставляется как есть в качестве основы для самостоятельных решений, поддерживаемых сообществом. Мы принимаем только отчеты об ошибках, которые были воспроизведены в только что установленном, полностью обновленном Debian без дополнительных пакетов.

Этот метод считается продвинутым, и его следует использовать только в том случае, если вы являетесь экспертом в управлении операционной системой Linux, Docker и сетью.

Выполните следующие команды от имени пользователя root ( su - или sudo su - на машинах с установленным sudo):

Шаг 1. Установите следующие зависимости с помощью этой команды:

Шаг 2. Установите Docker-CE с помощью следующей команды:

Шаг 3. Установите OS-Agent:

Инструкции по установке OS-Agent можно найти здесь

Шаг 4. Установите контролируемый пакет Debian Home Assistant:

Поддерживаемые типы машин

  • общий-x86-64
  • одроид-c2
  • одроид-n2
  • одроид-сю
  • кемуарм
  • qemuarm-64
  • qemux86
  • qemux86-64
  • малинапи
  • малинаpi2
  • малинаpi3
  • малинаpi4
  • малинаpi3-64
  • малинаpi4-64
  • возиться
  • хадас-вим3

Если что-то пойдет не так, используйте journalctl -f, чтобы получить системные журналы. Если вы не знакомы с Linux и способами устранения проблем, мы рекомендуем использовать нашу ОС Home Assistant.

ПРИМЕЧАНИЕ. Этот пост был обновлен 26 мая, чтобы использовать Docker-CE вместо Snap.

Home Assistant заявил, что больше не будет поддерживать этот метод установки, но в настоящее время нет другого способ использования внешнего хранилища.

Недавно я обновил свой сервер Home Assistant до комплекта производительности Intel NUC 10 (NUC10i7FNH) вместо Atomic Pi. Мне нужно было вручную установить и настроить Ubuntu на моем оборудовании, есть проблема, из-за которой вы не можете загрузиться с диска NVMe. и мне хотелось большего контроля над дополнительным хранилищем и службами.

Если вам нужны рекомендации по оборудованию для запуска Home Assistant или небольшого сервера, ознакомьтесь с разделом Обновление оборудования Home Assistant.

Обновление прошивки

Всегда рекомендуется обновить прошивку до последней версии любого приобретаемого вами устройства, прежде чем приступать к установке операционной системы (ОС). Обновления прошивки могут добавить дополнительные функции, поддержку оборудования или исправить ошибки, которые могли привести к сбоям при установке.

Я начал с того, что зашел в центр загрузки Intel и искал номер своей модели ( NUC10i7FNH ). Я щелкал, пока не нашел страницу с информацией о доступных обновлениях BIOS. В моем случае она называлась «Инструкции по обновлению и восстановлению BIOS» и содержала подробные инструкции по обновлению BIOS.

Операционная система

Если вы используете только Home Assistant и не планируете запускать какие-либо другие службы на своем компьютере, я бы рекомендовал просто использовать Home Assistant, формально известный как hassio . Он будет автоматически обновляться и управляться за вас, что сократит затраты на техническое обслуживание, что всегда хорошо!

С момента написания этой статьи Home Assistant прекратил поддержку Ubuntu и поддерживает только Debian. Я НАСТОЯТЕЛЬНО рекомендую использовать ОС Home Assistant.

Однако, если вы хотите запустить на своем компьютере дополнительные службы, такие как программное обеспечение для распознавания лиц/изображений, вам потребуется установить Home Assistant в существующей операционной системе (ОС). Кроме того, образы Home Assistant могут иметь ограничения программного обеспечения или драйверов, такие как невозможность загрузки с диска NVMe, что заставит вас установить его в существующей ОС.

Я использую образы сервера Ubuntu Server LTS вместо Windows по следующим причинам:

  • Программное обеспечение с открытым исходным кодом, бесплатное и используется многими. .
  • Ubuntu Server имеет небольшой вес и работает на различных аппаратных архитектурах (например, x86 , arm ).
  • Образы LTS поддерживаются в течение длительного периода времени, и обновление выполняется очень просто.
  • Документальные шаги по установке Home Assistant.

После загрузки последней версии Ubuntu Server LTS с сайта Ubuntu. Нам нужен образ карты MicroSD или USB Flash Drive) со скачанным образом. Я использую Etcher для форматирования диска с загруженным образом Ubuntu (iso).

Установить

После того, как вставлен образ флэш-накопителя или карты MicroSD в компьютер, я следую стандартному процессу установки для Ubuntu. Я использую рекомендуемые настройки для форматирования и создания разделов основного диска NVMe.

Настройка файловой системы Ubuntu

На этом этапе я также могу отформатировать дополнительный диск. Но я всегда предпочитаю форматировать дополнительный диск позже, так как после форматирования дополнительного диска я могу сразу же настроить точки монтирования.

Я всегда устанавливаю и настраиваю SSH по запросу. Это значительно упрощает выполнение описанной ниже установки с помощью основного компьютера, поэтому не забудьте импортировать свои идентификаторы SSH при появлении запроса.

После того, как установщик перезагрузит компьютер, вы можете подключиться к нему по протоколу SSH IP_ADDRESS и использовать свой основной компьютер для завершения установки. Не забудьте заменить IP_ADDRESS на IP-адрес машины. Вы можете получить IP-адрес, разрешив имя хоста, которое вы дали машине во время установки, заглянув в настройки маршрутизатора или выполнив следующую команду:

Просто возьмите первый IP-адрес в списке результатов.

Вы также можете продолжить описанные ниже шаги непосредственно на компьютере, если вы не настроили или не знаете, как использовать SSH. Вот руководство для начинающих по SSH.

Далее следующие шаги требуют sudo для выполнения привилегированных операторов с терминала.

Необязательно: включите службу Canonical Livepatch

Служба Livepatch позволяет применять важные исправления ядра без перезагрузки. Что снижает время, необходимое для поддержания моей установки. Вам просто нужно получить бесплатный ключ Livepatch и ввести приведенные ниже команды (не забудьте заменить KEY на свой ключ Livepatch).

Необязательно: отформатируйте и подключите вторичное хранилище

Я всегда устанавливаю дополнительный накопитель для хранения резервных копий и других данных. Я чувствую, что это помогает защитить меня от сбоев загрузочного диска и облегчает мою жизнь, поскольку все, что мне нужно сделать, это заменить или переформатировать отказавший основной диск, и у меня по-прежнему будет доступ к моим резервным копиям локально.

Следующие шаги подходят для любых устройств хранения (например, SSD или MicroSD). Я чувствую, что каждый раз, когда мне нужно отформатировать диск в Linux, это происходит так давно, что я забываю, как это сделать, а потом целую вечность выясняю, как это сделать. На этот раз я наткнулся на это замечательное руководство, которому я буду следовать ниже с некоторыми изменениями.

Я хочу получить доступ к диску по понятному имени через /mnt/data после его форматирования. Для этого нам сначала нужно создать этот каталог, чтобы в следующих шагах мы могли подключить наше устройство хранения к этой папке.

Далее нам нужно получить расположение нового диска, выполнив приведенный ниже оператор и найдя логическое имя, в моем случае это /dev/sda .

Далее нам нужно создать таблицу разделов GUID (GPT) и ответить Да в ответ на запрос.

Далее нам нужно создать метку раздела

Далее нам нужно создать раздел

Далее нам нужно получить идентификатор UUID диска, чтобы мы могли безопасно его смонтировать. Если у вас есть несколько в списке, мы ищем только наш диск, который мы идентифицировали ранее (например, sda1 ).

Открыв этот текстовый редактор, перейдите в конец файла и добавьте следующую строку, заменив мой UUID f58e18af-1fb2-4186-92f6-702c081a757e на свой.

После добавления нажмите Ctrl+o , затем нажмите клавишу ввода для подтверждения и, наконец, Ctrl+x для выхода из nano.

Далее мы можем перемонтировать все, что определено в /etc/fstab, без перезагрузки, выполнив приведенный ниже оператор.

В предыдущих попытках мне было трудно узнать, на каком устройстве хранится папка. Я наткнулся на эту замечательную маленькую команду df, которая может подтвердить, что /mnt/data находится на правильном устройстве хранения ( /dev/sda ).

Как видите, родительская папка /mnt находится на моем основном диске NVMe, а /mnt/data — на недавно настроенном SSD-накопителе ( /dev/sda )!

Необязательно: поместите резервные копии во вторичное хранилище

Если у вас еще не настроен второй диск. Прежде чем продолжить, установите один из них и выполните описанные выше шаги для форматирования и подключения вторичного хранилища.

ПРИМЕЧАНИЕ. Вы можете разрешить сохранение папки надстроек на дополнительном диске, выполнив те же действия, описанные ниже, но заменив резервную копию надстройками .

Нам нужно создать каталоги резервных копий для Home Assistant, выполнив приведенные ниже команды.

Далее нам нужно обновить fstab, чтобы автоматически монтировать нашу резервную папку при загрузке.

Открыв этот текстовый редактор, перейдите в конец файла и добавьте следующую строку

После добавления нажмите Ctrl+o , затем нажмите клавишу ввода для подтверждения и, наконец, Ctrl+x для выхода из nano.

Наконец, мы можем перемонтировать все, что определено в /etc/fstab, без перезагрузки, выполнив приведенный ниже оператор.

Установка домашнего помощника

На этом шаге Home Assistant устанавливается в соответствии с Универсальным руководством по хосту Linux.

Далее следуйте инструкциям по установке Docker-CE, а затем запустите приведенные ниже сценарии, чтобы завершить установку Home Assistant.

Домашнему помощнику может потребоваться минута или две, чтобы начать работу. Он должен загрузить все контейнеры Docker из реестра Docker, а затем запустить контейнеры.

Если вы хотите узнать больше о докере, я рекомендую посмотреть это видео.

Просто возьмите первый IP-адрес в списке результатов.

Настоятельно рекомендуется настроить маршрутизатор так, чтобы эта машина имела статический IP-адрес. Это гарантирует, что IP-адрес не изменится при перезагрузке компьютера.

Необязательно: восстановить из предыдущей резервной копии

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

Далее настройте пароль в конфигурации и нажмите кнопку Сохранить. Затем нажмите кнопку «Пуск», чтобы включить надстройку Samba.

После запуска необходимо подключиться к общему ресурсу Samba и загрузить загруженную резервную копию в папку резервных копий.

Через несколько минут домашний помощник перезапустится, и вы получите всю существующую конфигурацию и дополнения из предыдущей установки!

Необязательно: настройте интеграцию Z-Wave

Если вы используете Z-Wave, вам также нужно обновить конфигурацию Z-Wave usb_path . Если вы еще этого не сделали, подключите контроллер Z-Wave (например, Aeotec Z-Stick Gen5) к любому USB-порту и выполните следующую команду, чтобы получить UUID USB.

Команда вернула usb-0658_0200-if00 UUID для моего USB-устройства.

Далее нам нужно обновить yaml конфигурации Z-Wave с помощью вашего любимого редактора.

Если вы настроили Z-Wave с помощью страницы интеграции, вам может потребоваться удалить и заново добавить интеграцию, чтобы установить USB-путь.

Наконец, сохраните файл конфигурации и перезапустите Home Assistant, чтобы применить новые параметры конфигурации.

Присоединяйтесь к списку рассылки

Получайте уведомления о новых сообщениях и связанном с ними контенте в свой почтовый ящик. Я никогда не продам вам ничего и НИКОГДА не продам ваш адрес электронной почты.

Блейк Немыйски

Увлечен созданием программного обеспечения

Последние записи

Как получать уведомления, когда ваш почтовый ящик открыт

Тревожные тенденции в продуктах и ​​услугах для умного дома

Защита устройств умного дома с помощью ESPHome и Home Assistant

Создание и поддержка презентации умного дома

О нас

Блейк Ниемийски (Blake Niemyjski) – архитектор программного обеспечения с открытым исходным кодом и частный пилот. С конца 90-х любопытство Блейка было сосредоточено на разработке программного обеспечения, которое помогало бы массам. Будучи разработчиком-любителем, Блейк превратился в студента и профессионала, и его страсть — углублять свои знания и создавать технологии будущего.

Прежде чем продолжить, убедитесь, что вы прочитали и поняли следующие документы:

Этапы перед установкой

Шаг 1. Получение root-прав

Прежде чем мы начнем, вы должны убедиться, что вы вошли в систему как root, Debian может не поставляться с установленным sudo, поэтому, чтобы стать пользователем root:

Затем введите пароль root, который вы настроили во время установки. Не забудьте про тире, так как это позволяет системе запускать сценарии входа для пользователя root.

Однако, если вы работаете в системе с установленным sudo, вы можете использовать команду:

Прежде чем сделать это, подтвердите, что вы являетесь пользователем root, набрав:

Чтобы продолжить, вы должны быть root

Шаг 2. Обновление системы

Перед запуском рекомендуется обновить систему, для этого введите три следующие команды:

Шаг 3. Установите зависимости

Установите все необходимые зависимости с помощью следующей команды:

Шаг 1. Установите Docker Engine

1. Запустите скрипт установки Docker CE

Просто запустите сценарий установки Docker CE для Linux:

2. Протестируйте установку Docker (необязательно)

Чтобы проверить установку Docker, запустите скрипт hello-world:

Если Docker работает правильно, появится следующее сообщение:

Шаг 2. Установите Home Assistant

Установить Home Assistant очень просто, просто выполните следующие действия

1. Установите агент ОС

Агент ОС позволяет Home Assistant Supervisor обмениваться данными с D-Bus и скоро потребуется

Чтобы установить его, просто используйте следующие команды:

Конечно, убедитесь, что вы заменили `os-agent_1.2.2_linux_x86_64.deb` на последнюю версию, которая соответствует архитектуре вашего процессора. Доступно на странице выпусков GitHub

2. Запустите скрипт установки Home Assistant

Теперь, когда вы являетесь пользователем root, просто запустите эти команды, чтобы загрузить и установить Home Assistant Supervised:

После завершения работы вы сможете получить доступ к Home Assistant из:

Шаг 3. Действия после установки

1. Установите надстройку SSH

Дополнение SSH в Home Assistant позволяет вам получить доступ к интерфейсу командной строки Home Assistant, который может быть полезен для диагностики проблем с установкой Home Assistant

  • Чтобы установить SSH, перейдите на вкладку "Супервизор".
  • Затем нажмите "Добавить в магазин".
  • Теперь найдите «Терминал и SSH» и нажмите «Установить».

Перед запуском необходимо установить пароль и изменить порт, так как порт 22 уже используется SSH-сервером хоста

Поэтому, прежде чем запускать надстройку, перейдите на вкладку конфигурации, измените настройку порта в разделе «Сеть» и добавьте пароль. Обязательно сохраните обе эти настройки, после чего вы сможете начать надстройку


Теперь вы сможете подключиться к вашему экземпляру hassio по SSH с помощью команды

2. Установить самбу

SAMBA позволит вам получить доступ к файлам конфигурации с любого компьютера в вашей локальной сети

Просто установить

Найти общий ресурс SAMBA в магазине дополнений

Измените конфигурацию, указав свое имя пользователя и пароль


Затем сохраните конфиг и запустите дополнение

Теперь вы сможете получить доступ к своим файлам из любого файлового менеджера в сети, набрав

в файловый браузер

Ваши файлы конфигурации Home Assistant будут найдены в папке config


Поздравляем, вы настроили Home Assistant.

Спасибо за чтение, если у вас есть какие-либо вопросы, не стесняйтесь обращаться ко мне в Twitter или на сервер DrZzs Discord

Примечания:

Ubuntu Server больше официально не поддерживается Home Assistant

Домашний помощник (под наблюдением) теперь официально поддерживает только последнюю версию Debian. Это означает, что если что-то сломается, вы не сможете пожаловаться на это. Однако они не мешают вам по-прежнему устанавливать его. Если вы устанавливаете Home Assistant Supervised на что-либо, кроме Debian Bullseye, вы получите это уведомление в своем супервизоре (как показано на рисунке ниже):

Чтобы узнать больше, ознакомьтесь с документами о принятии решений по архитектуре дома:

Также не забудьте сообщить мне об этом в комментариях ниже или связаться со мной в Twitter или Discord, если у вас возникнут какие-либо проблемы, которые, по вашему мнению, вызваны этим изменением

43 ответа на вопрос «Установить Home Assistant (под наблюдением) в Debian»

Очень красиво сделано. Спасибо!

Спасибо, что прочитали.

Мой Плохой. Это работает. Мне просто нужно было изменить несколько вещей, чтобы приспособить Ubuntu Server 20.4 к RPi 4 8GB. Теперь все хорошо. Спасибо за вашу запись! Это немного помогло.

У меня постоянно возникали проблемы (повреждение данных, сбои при перезагрузке и т. д.) с HassOS, работающим в Oracle VirtualBox под Windows 10. Я решил попробовать Debian и Portainer, и до сих пор они работали стабильно. Спасибо за советы!

Если вы выполняете установку в Debian, Ubutnu или другой системе, вы можете обнаружить, что при установке Home Assistant пропадает звук. Например, если вы хотите запустить Zoom в той же системе… или воспроизводить музыку вне Home Assistant. Вроде все правильно, просто ничего не слышно 🙂

Спасибо за урок.

Я обнаружил, что [ошибка] отсутствует: apparmor. при попытке запустить сценарий установки.

Мне пришлось запустить "export PATH=$PATH:/usr/sbin"

Я получаю ошибки на последнем шаге, пытаясь запустить dpkg -i homeassistant-supervised.deb. он говорит мне, что при переименовании ошибки dpkg divert происходит перезапись NetworkManager.conf в NetworkManager.conf.real, что не разрешено.

В настоящее время я работаю над решением этой проблемы, интересно, вы используете Pi 4?

Да, на 32-разрядной версии rpi4

Здравствуйте, я получаю те же ошибки, что и выше:

“`
(Чтение базы данных… 22530 файлов и каталогов, установленных на данный момент.)
Подготовка к распаковке homeassistant-supervised.deb…
[предупреждение]
[предупреждение] Если вы хотите больше контролировать свою систему, запустите
[warn] Home Assistant как виртуальную машину или запустите Home Assistant Core
[warn] через контейнер Docker.
[предупреждение]
[предупреждение] Служба ModemManager включена.Это может вызвать проблемы при использовании последовательных устройств.
[info] Исправить ограничение ядра dmesg
/var/lib/dpkg/tmp.ci/preinst: строка 21: /proc/sys/kernel/dmesg_restrict: файловая система только для чтения
dpkg : ошибка обработки архива homeassistant-supervised.deb (–install):
подпроцесс сценария предварительной установки нового пакета homeassistant-supervised вернул статус ошибки 1
[info] Отменить перенаправление при прерывании установки
Нет перенаправления «перенаправление /etc/NetworkManager/NetworkManager.conf в /etc/NetworkManager/NetworkManager.conf.real под присмотром домашнего помощника», никто не удален.
Без перенаправления «перенаправление /etc/NetworkManager/system-connections/default на /etc/NetworkManager/system-connections/default.real под присмотром домашнего помощника», ничего не удалено.
Нет перенаправления «перенаправление /etc/docker/daemon.json в /etc/docker/daemon.json.real под присмотром домашнего помощника», ничего не удалено.
Нет перенаправления «перенаправление /etc/network/interfaces в /etc/network/interfaces.real под присмотром домашнего помощника», ничего не удалено.
При обработке возникли ошибки:
homeassistant-supervised.deb
“`

Установка в контейнере Debian 11 Proxmox.
Вложенность истинна,
и это непривилегированный контейнер

Вы должны использовать полную ОС Debian. Контейнеры Proxmox не поддерживаются


Краткое руководство для тех, кто хочет установить Homeassistant Supervised на Raspberry Pi без использования ОС HomeAssistant.

Эта установка является автономной, поэтому после начальной прошивки все это можно сделать удаленно.

Шаг 1. Загрузите образ сервера Ubuntu

Шаг 2. Запишите образ на USB/MicroSD

Шаг 3. Загрузите Raspberry Pi и найдите свой IP-адрес

Существует множество способов узнать свой IP-адрес, самый простой – войти в систему администратора маршрутизатора и таким образом получить IP-адрес устройств.

Шаг 4. Использование IP SSH на вашем устройстве

В терминале введите ssh ubuntu@

Пароль ubuntu

Если проверка ключа хоста не удалась, попробуйте ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no ubuntu@

Шаг 5: после входа проверьте наличие обновлений (введите следующее)

обновление sudo apt-get && обновление sudo apt-get

Ubuntu пытается автоматически обновить пакеты. Это может помешать выполнению этого шага. Если вы перезагрузитесь во время обновления в фоновом режиме, вы можете столкнуться с проблемами. Оставьте его в покое на несколько часов/ночь для обновления.

Шаг 6 (необязательно). Включите доступ через домен .local, а не через IP

sudo apt-get установить avahi-daemon

Это позволит получить доступ к устройству через ubuntu.local , чтобы изменить его на собственный адрес:

sudo nano /etc/имя хоста

Удалите «ubuntu» и замените его своим собственным, например. "home" для доступа к вашему устройству через home.local

Перезагрузить sudo reboot

Шаг 7. Установка Docker (введите эти команды последовательно)

Снова подключитесь к системе по SSH ssh ubuntu@ubuntu.local

systemctl отключить ModemManager

systemctl остановить ModemManager

Шаг 8. Установите Portainer для управления док-станцией (введите эти команды последовательно)

том docker создать portainer_data

docker run -d -p 9000:9000 -p 8000:8000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce

Доступ к Portainer можно получить через ubuntu.local:9000 (или ваш IP-адрес или любой другой адрес, на который вы изменили свой домен .local)

Шаг 9. Установите HomeAssistant

curl -sL "https://raw.githubusercontent.com/Kanga-Who/home-assistant/master/supervised-installer.sh" | bash -s -- -m raspberrypi4-64

Примечание: raspberrypi4-64 можно изменить на raspberrypi3 и т. д.

Готово — вы можете получить доступ к установке через :8123

Необязательно: установите Homebridge

docker run --net=host --name=homebridge --env PGID=1000 --env PUID=1000 --restart always -v $(pwd)/homebridge:/homebridge oznu/homebridge:ubuntu

Читайте также: