Home Assistant в Proxmox VE ставят как виртуальную машину с Home Assistant OS (HAOS) из готового образа диска. Для Proxmox выберите KVM/Proxmox (.qcow2).
Что понадобится
Машине HAOS выделяют минимум 2 ГБ оперативной памяти и 2 vCPU (виртуальных процессора). Это нижняя граница из официальной инструкции установки на Linux, дальше ресурсы наращивают под фактическую нагрузку. Часть действий выполняется в веб-интерфейсе Proxmox, часть - командами qm в консоли узла.
Подготовка образа
Скачайте образ с официального сайта и распакуйте его, если он сжат.
1. Скачайте образ HAOS
На странице альтернативной установки выберите вариант KVM/Proxmox - это образ диска в формате .qcow2.
2. Распакуйте образ
Если образ скачан сжатым, распакуйте его. В Proxmox импортируется уже распакованный файл.
Создание виртуальной машины
На выбранном узле Proxmox (поле Node) задайте уникальный VM ID и имя Name. Выделите машине память и процессоры из раздела о требованиях.
3. Создайте виртуальную машину
Из командной строки машину создает qm create. Пример из документации Proxmox создает машину 9000 с 2048 МиБ памяти, сетью VirtIO на мосте и SCSI-контроллером VirtIO:
qm create 9000 --memory 2048 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci
Это общий пример из документации qm, не специфичная для HAOS команда.
4. Выберите прошивку OVMF
HAOS загружается через UEFI, поэтому в качестве BIOS машины выбирают OVMF - открытую реализацию UEFI. В конфигурации это опция bios со значением ovmf. Подробности - в главе qm документации Proxmox.
5. Добавьте EFI-диск
В разделе оборудования машины нажмите Add → EFI Disk и выберите хранилище для диска EFI-переменных. Для новой машины используется efitype 4m. EFI-диск хранит настройки прошивки, например порядок загрузки. На машину можно добавить один такой диск; он включается в резервные копии и снимки состояния. Системный диск HAOS подключается отдельно.
6. Импортируйте образ диском
Подключите распакованный QCOW2-образ к машине как scsi0 с контроллером virtio-scsi-pci. Опция import-from импортирует образ по локальному пути и сразу подключает SCSI-диск. Форма команды из документации Proxmox:
qm set 9000 --scsi0 local-lvm:0,import-from=/path/to/bionic-server-cloudimg-amd64.img
Образ, хранилище и номер машины в примере - демонстрационные значения из документации. Подставьте путь к вашему распакованному образу HAOS, реальный VM ID и целевое хранилище.
7. Включите загрузку с диска
В графическом редакторе порядка загрузки отметьте импортированный диск галочкой и перетащите его на первое место. Из командной строки загрузку ограничивают диском scsi0:
qm set 9000 --boot order=scsi0
Команда с order=scsi0 - пример из документации для машины 9000.
8. Подключите сеть
Сетевое устройство virtio подключается к мосту хоста в режиме Bridged; стандартный мост Proxmox - vmbr0. В этом режиме виртуальная сетевая карта помещается на мост узла, и машина получает прямой доступ к Ethernet-сети, в которой находится узел.
Проброс USB
Чтобы передать USB-радиомодуль в виртуальную машину, определите его идентификатор или физический порт на узле Proxmox.
9. Найдите USB-устройство на хосте
Выполните lsusb на узле Proxmox и определите vendor ID (идентификатор производителя) и product ID (идентификатор модели). Чтобы различить одинаковые устройства по физическому порту, откройте монитор работающей машины командой qm monitor 804 (804 - пример) и выполните info usbhost. Монитор любой запущенной машины показывает одни и те же устройства хоста. Этот способ поиска портов описан в руководстве по USB-устройствам в Proxmox.
10. Привяжите USB-устройство к машине
Устройство назначают командой qm set - по паре vendor:product либо по шине и порту хоста:
qm set 804 -usb0 host=058f:6387
qm set 804 -usb1 host=2-1.2.2
ID и порт в примерах взяты из документации Proxmox, подставляйте свои значения. После настройки выключите машину, если она работала, и запустите снова.
| Как привязывается | Команда | Когда подходит |
|---|---|---|
| По идентификатору устройства | qm set 804 -usb0 host=058f:6387 | устройства разные, их ID не совпадают |
| По шине и порту | qm set 804 -usb1 host=2-1.2.2 | несколько одинаковых устройств делят один ID |
Проброшенный Zigbee-донгл дальше настраивается по гайду Zigbee2MQTT. Если Zigbee2MQTT не видит донгл по пути /dev/serial/by-id, посмотрите разбор ошибки no such file or directory.
Первый запуск
Откройте веб-интерфейс HAOS по имени homeassistant.local или по IP машины с портом 8123.
11. Запустите HAOS
Включите машину и дождитесь окончания загрузки. Если адрес по имени не открывается, используйте http://X.X.X.X:8123, подставив IP машины. Пройдите onboarding (первичную настройку) по гайду по установке Home Assistant.
Другие платформы
Для VirtualBox нужен VirtualBox (Intel chip) (.vdi), для VMware ESXi/vSphere - образ .ova. Эти варианты доступны на той же странице альтернативной установки.
Частые проблемы
При сбоях установки пользователям форума помогали ручное создание машины и изменение сетевых настроек. В таблице приведен их опыт; число веток относится к проблеме, а не к подтверждениям каждого решения.
| Проблема | Веток | Сообщение об ошибке | Что помогало |
|---|---|---|---|
| Установка HAOS или аддонов (дополнений, add-ons, теперь apps) падает при загрузке образов и репозиториев | 5 | # Error installing Home Assistant | An error occured while installing Home Assistant, check the logs below for more information. | Задать серверу статический IP и Google DNS 8.8.8.8, перезагрузиться и ставить из свежего qcow2; либо собрать машину вручную из образа с сайта вместо вспомогательных скриптов |
| Восстановление резервной копии в новую машину Proxmox зависает или падает | 3 | * Began the Restore, but it hung on the screen: Restore in progress | В обсуждениях ждали Supervisor 2024.11.4, делали новую резервную копию и создавали машину скриптами-помощниками Proxmox. Другой вариант - пересобрать машину с тем же IP, вернуть SSL-файлы и настройки шифрованного соединения, восстановить копию и перезагрузить машину, перенести Z-Wave-стик и перезагрузить Proxmox |
| USB-радиомодули после переезда на Proxmox требуют проброса или не различаются по ID | 3 | - | После переезда с Pi - восстановить полную резервную копию, настроить проброс USB и перезагрузить машину для запуска аддонов (apps). При одинаковых ID - привязать устройства к физическим USB-портам и разнести проброшенные порты по разным USB-контроллерам хоста |
| Машина и ее устройства не связываются между мостами или через изолированные VLAN (изолированные сегменты сети) | 4 | - | Для моста - убрать прежнее подключение сетевого интерфейса (NIC) и его статический IP, создать мост с этим IP, проверить его и подключить к нему сетевой интерфейс машины. Для изолированной IoT-сети (сети умных устройств) - открыть доступ к серверу Home Assistant из этого VLAN |
| Образ HAOS не загружается в виртуальной машине Proxmox | 3 | - | Использовать скрипт-помощник Proxmox VE для HAOS (helper script) |
| Home Assistant не стартует после расширения виртуального диска | 2 | - | Перенести резервные копии через USB-флешку и восстановить копию в новой машине. Другой вариант для диска vmdk - конвертировать его в vdi и увеличить виртуальный диск ползунком |
Частые вопросы
Обязательно ли выбирать Q35?
Нет, документированного требования HAOS к типу машины нет. На x86 по умолчанию используется Intel 440FX. Тип машины определяет устройство виртуальной системной платы. Q35 дополнительно дает виртуальную шину PCIe для подключения устройств и может пригодиться при пробросе PCIe-оборудования. Выбор описан в wiki Proxmox.
Что делать, если Bluetooth прерывается после резервного копирования?
Выключить и снова запустить виртуальную машину - такое решение описано для USB-адаптера Kinivo BTD400. Пользователь пробросил адаптер в машину Home Assistant и настроил Bluetooth, а после прерывания его работы резервным копированием останавливал и запускал машину. Этот случай относится к обсуждениям USB-радиомодулей в трех ветках форума.
Включится ли Secure Boot на EFI-диске?
Да, если у EFI-диска включен pre-enroll-keys. Эта опция заранее загружает на диск ключи дистрибутивов и Microsoft Standard Secure Boot и включает Secure Boot по умолчанию. Отключить его можно в меню OVMF прямо в виртуальной машине. Это отдельная настройка прошивки виртуальной машины.



