Install Home Assistant Operating System
Download the appropriate image
-
VirtualBox (.vdi)
-
KVM (.qcow2)
-
Vmware Workstation (.vmdk)
-
Hyper-V (.vhdx)
After downloading, decompress the image. If the image comes in a ZIP file, for example, unzip it.
Follow this guide if you already are running a supported virtual machine hypervisor. If you are not familiar with virtual machines, we recommend installing Home Assistant OS directly on a Home Assistant Yellow, a Raspberry Pi, or an ODROID.
Create the virtual machine
Load the appliance image into your virtual machine hypervisor. (Note: You are free to assign as much resources as you wish to the VM, please assign enough based on your add-on needs).
Minimum recommended assignments:
- 2 GB RAM
- 32 GB Storage
- 2vCPU
All these can be extended if your usage calls for more resources.
Hypervisor specific configuration
VirtualBox
KVM (virt-manager)
KVM (virt-install)
Vmware Workstation
Hyper-V
- Create a new virtual machine.
- Select type Linux and version Linux 2.6 / 3.x / 4.x (64-bit).
- Select Use an existing virtual hard disk file, select the unzipped VDI file from above.
- Edit the Settings of the VM and go to System > Motherboard. Select Enable EFI.
- Then go to Network > Adapter 1. Choose Bridged Adapter and choose your network adapter.
Please keep in mind that the bridged adapter only functions over a hardwired Ethernet connection.
Using Wi-Fi on your VirtualBox host is unsupported.
6. Then go to **Audio** and choose **Intel HD Audio** as audio controller.
By default, VirtualBox does not free up unused disk space. To automatically shrink the vdi disk image
the discard
option must be enabled using your host machine’s terminal:
VBoxManage storageattach <VM name> --storagectl "SATA" --port 0 --device 0 --nonrotational on --discard on
More details can be found about the command can be found here.
- Create a new virtual machine in
virt-manager
. - Select Import existing disk image, provide the path to the QCOW2 image above.
- Choose Generic Default for the operating system.
- Check the box for Customize configuration before install.
- Under Network Selection, select your bridge.
- Under customization select Overview > Firmware > UEFI x86_64: …. Make sure to select a non-secureboot version of OVMF (does not contain the word
secure
,secboot
, etc.), e.g.,/usr/share/edk2/ovmf/OVMF_CODE.fd
. - Click Add Hardware (bottom left), and select Channel.
- Select device type: unix.
- Select name: org.qemu.guest_agent.0.
- Finally, select Begin Installation (upper left corner).
virt-install --name hass --description "Home Assistant OS" --os-variant=generic --ram=2048 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=sata --import --graphics none --boot uefi
If you have a USB dongle to attach, you need to add the option `—hostdev busID.deviceId`. You can discover these IDs via the `lsusb` command.
As example, if `lsusb` output is:
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 30c9:0052 Luxvisions Innotech Limited Integrated RGB Camera
Bus 003 Device 003: ID 1a86:55d4 QinHeng Electronics SONOFF Zigbee 3.0 USB Dongle Plus V2
Bus 003 Device 002: ID 06cb:00fc Synaptics, Inc.
Bus 003 Device 005: ID 8087:0033 Intel Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
You can recognize the Sonoff dongle at Bus 003 Device 003
. So the command to install the VM will become:
virt-install --name hass --description "Home Assistant OS" --os-variant=generic --ram=2048 --vcpus=2 --disk <PATH TO QCOW2 FILE>,bus=sata --import --graphics none --boot uefi --hostdev 003.003
Note that this configuration (bus 003, device 003) is just an example, your dongle could be on another bus and/or with another device ID.
Please check the correct IDs of your USB dongle with lsusb
.
- Create a new virtual machine.
- Select Custom, make it compatible with the default of Workstation and ESX.
- Choose I will install the operating system later, select Linux > Other Linux 5.x or later kernel 64-bit.
- Select Use Bridged Networking.
- Select Use an existing virtual disk and select the VMDK file above.
After the VM has been created, go to Settings > Options > Advanced. Under Firmware type select UEFI.
Hyper-V does not have USB support
- Create a new virtual machine.
- Select Generation 2.
- Select Connection > Your Virtual Switch that is bridged.
- Select Use an existing virtual hard disk and select the VHDX file from above.
After creation, go to Settings > Security and deselect Enable Secure Boot.
Start up your virtual machine
- Start the virtual machine.
- Observe the boot process of the Home Assistant Operating System.
- Once completed, you will be able to reach Home Assistant on homeassistant.local:8123. If you are running an older Windows version or have a stricter network configuration, you might need to access Home Assistant at homeassistant:8123 or
http://X.X.X.X:8123
(replace X.X.X.X with your ’s IP address).
Help us improve Home Assistant
Have you just installed Home Assistant? The Home Assistant team is looking to talk to you to understand how the installation went.
With the Home Assistant Operating System installed and accessible, you can continue with onboarding.
Install Home Assistant Core
Install WSL
To install Home Assistant Core on Windows, you will need to use the Windows Subsystem for Linux (WSL). Follow the WSL installation instructions and install Ubuntu from the Windows Store.
As an alternative, Home Assistant OS can be installed in a Linux guest VM. Running Home Assistant Core directly on Windows is not supported.
This is an advanced installation process, and some steps might differ on your system. Considering the nature of this installation type, we assume you can handle subtle differences between this document and the system configuration you are using. When in doubt, please consider one of the other installation methods, as they might be a better fit instead.
Prerequisites
This guide assumes that you already have an operating system setup and have installed Python 3.11 (including the package python3-dev
) or newer.
Install dependencies
Before you start, make sure your system is fully updated, all packages in this guide are installed with apt
, if your OS does not have that, look for alternatives.
sudo apt-get update
sudo apt-get upgrade -y
Install the dependencies:
sudo apt-get install -y python3 python3-dev python3-venv python3-pip bluez libffi-dev libssl-dev libjpeg-dev zlib1g-dev autoconf build-essential libopenjp2-7 libtiff5 libturbojpeg0-dev tzdata ffmpeg liblapack3 liblapack-dev libatlas-base-dev
The above-listed dependencies might differ or missing, depending on your system or personal use of Home Assistant.
Create an account
Add an account for Home Assistant Core called homeassistant
.
Since this account is only for running Home Assistant Core the extra arguments of -rm
is added to create a system account and create a home directory.
sudo useradd -rm homeassistant
Create the virtual environment
First we will create a directory for the installation of Home Assistant Core and change the owner to the homeassistant
account.
sudo mkdir /srv/homeassistant
sudo chown homeassistant:homeassistant /srv/homeassistant
Next up is to create and change to a virtual environment for Home Assistant Core. This will be done as the homeassistant
account.
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3 -m venv .
source bin/activate
Once you have activated the virtual environment (notice the prompt change to (homeassistant) homeassistant@raspberrypi:/srv/homeassistant $
) you will need to run the following command to install a required Python package.
python3 -m pip install wheel
Once you have installed the required Python package, it is now time to install Home Assistant Core!
pip3 install homeassistant==2023.10.1
Start Home Assistant Core for the first time. This will complete the installation for you, automatically creating the .homeassistant
configuration directory in the /home/homeassistant
directory, and installing any basic dependencies.
You can now reach your installation via the web interface on http://homeassistant.local:8123
.
If this address doesn’t work you may also try http://localhost:8123
or http://X.X.X.X:8123
(replace X.X.X.X with your machines’ IP address).
When you run the hass
command for the first time, it will download, install and cache the necessary libraries/dependencies. This procedure may take anywhere between 5 to 10 minutes. During that time, you may get a site cannot be reached error when accessing the web interface. This will only happen the first time. Subsequent restarts will be much faster.
Help us to improve our documentation
Suggest an edit to this page, or provide/view feedback for this page.
Update: новая статья
У новых пользователей часто возникает вопрос — можно ли установить Home Assistant на Windows?
Конечно можно! Проблема заключается в том, что не все зависимости Home Assistant легко установятся на любую сборку Windows. Об этом можно почитать тут.
На портале уже была статья о подобной установке. В своей версии я чуть подробнее опишу детали.
Идём на сайт python и скачиваем последнюю на момент написания статьи версию. Можно скачать как обычную, так и 64-битную версию.
В процессе установки Python я встречал следующие проблемы:
- установка не стартовала на «голой» Windows 7 без важных обновлений — нужно обновить систему стандартным способом
- установка не завершалась с недоступным сайтом python (из-за РКН) — нужно отключить опции download debug…
Вот у вас и установлен Python.
Далее нажимаем на клавиатуре win R и запускаем cmd
В запустившейся консоли вводим :
pip install homeassistant
Вот у вас и установлен последний Home Assistant.
На этом этапе у вас не должно возникнуть особых проблем. Python и HA должны установиться в практически любую систему.
Первый запуск Home Assistant
В той же консоли, что и ранее, просто вводим — hass.
Начнётся первый запуск HA. Он может быть достаточно долгим. HA будет скачивать и устанавливать разные библиотеки python, которые требуются конфигурации по умолчанию. А их не мало.
Плюс, если в процессе установки в вашей локальной сети обнаружатся поддерживаемые устройства — начнётся установка и их библиотек. В логе это отображается примерно так:
INFO (SyncWorker_1) [homeassistant.util.package] Attempting install of pychromecast==4.0.1
Вот на этом этапе вполне возможны проблемы и разные ошибки в консоли.
Терпеливо ждите пока HA делает свои дела. В идеале в конце лога вы должны увидеть строчку:
INFO (MainThread) [homeassistant.core] Starting Home Assistant
Далее попытайтесь открыть в любом браузере страницу:
http://localhost:8123/Вполне возможно у вас ничего не откроется. Это нормально.
План 2
Нажимайте в консоли Ctrl C, это принудительно остановит HA. Если не получится — закрывайте консоль и запускайте её заново.
И снова вводите в консоли — hass. И снова ждём строчку Starting Home Assistant и пробуем открыть в браузере:
http://localhost:8123/
План 3
Если со второй попытки страница так и не открылась — останавливаем HA и открываем папку с конфигами. Путь до неё показывается сразу после ввода команды hass. Это должно быть что-то вроде:
C:\Users\Alexey\AppData\Roaming\.homeassistant
Только с именем вашего пользователя. Проще вбить этот адрес сразу в проводнике Windows.
Теперь правим файл configuration.yaml.
Заменяем всё его содержимое на 3 простые строки:
config: frontend: system_health:
Это минимальный набор модулей, необходимый для старта HA и отображения главной страницы. Сильно сократит перечень зависимостей и повысит шансы старта.
Снова запускаем hass и пробуем открыть страницу.
PS
Это не все проблемы с которыми можно столкнуться. Но, надеюсь, вам хватит советов, описанных в статье.
Уровень сложности
Простой
Время на прочтение
11 мин
Количество просмотров 23K
В данной статье мы затронем установку Home Assistant с некоторыми аддонами как на поддерживаемые, так и на не поддерживаемые официально системы (32 бит).
В настоящее время умные дома становятся все более популярными среди потребителей. Это связано с быстро развивающейся технологией, которая позволяет создавать устройства и системы, способные управлять различными аспектами жизни в доме, такими как освещение, отопление, кондиционирование воздуха, безопасность и развлечения. Кроме того, умные дома позволяют сократить расходы на энергию и повысить уровень комфорта и удобства жизни.
В данной статье мы поговорим о том, как создать умный дом на платформе Home Assistant. Home Assistant — это бесплатная и открытая система управления домашними устройствами, которая позволяет интегрировать различные устройства и сервисы для автоматизации и управления жизнью в доме.
Преимущества Home Assistant перед системами умных домов других производителей (Xiaomi,Tuya, и др.) заключается в возможности использовать устройства разных производителей с разными типами подключения (WiFi, MQTT, Zigbee, Bluetooth) без привязки к экосистеме определенного производителя.
Нам потребуется компьютер или ноутбук с 512+ Мб ОЗУ
Если ваш компьютер или ноутбук имеет 64-битный процессор, установка Home Assistant значительно упрощается, так как подробная инструкция доступна на официальном сайте.
Однако, если у вас есть устройство с 32-битным процессором и архитектурой i386, то установка аддонов для работы с внешними датчиками может быть сложной из-за отсутствия официальной поддержки. Однако, не отчаивайтесь, поскольку в этой статье мы рассмотрим способы установки на такие устройства. (Важно отметить, что эти методы также могут быть применены на 64-битных системах, но они сложнее официальных в реализации).
1. Установка системы
Для сервера умного дома подойдет практически любой дистрибутив Linux, но рекомендуется Debian. В данной статье буду использовать сам Debian.
Начнем с установки. Этот процесс одинаков практически для любой системы.
-
Скачайте последнюю версию ISO.
Я выбрал образ «Small», так как он включает большинство файлов в образ, что требует меньше загрузки в процессе установки. -
Скачайте Balena Etcher, инструмент для записи ISO-образов на USB-накопитель. Если вы работаете в системе linux, вместо этого можно использовать dd.
-
Подключите загруженный USB-накопитель к системе и загрузитесь с USB.
-
Следуйте процессу установки.
Большая часть процесса — это следование настройкам по умолчанию и просто нажатие кнопки Continue.Не забудьте ввести учетные данные для пользователя root и пользователя, не являющегося администратором.
Если вы планируете использовать компьютер только для умного дома, убедитесь, что вы не устанавливаете графический интерфейс пользователя (GUI), и обязательно установите SSH-сервер.
-
После завершения установки войдите в систему по SSH, либо напрямую с пк, используя учетные данные обычного пользователя (не рут).
2. Установка Docker и Docker Compose
Несмотря на то, что Docker и Docker engine официально не поддерживают 32-битные системы, его можно установить, воспользовавшись данным репозиторием на GitLab:
wget https://gitlab.com/docker-32bit/debian/raw/i386/build-image.sh
sudo bash build-image.sh
Docker Compose можно установить командой:
sudo apt install docker-compose
3. (опционально) Установка Portainer
Portainer может пригодиться для более удобного управления будущими Docker-контейнерами.
Для установки Portainer создадим конфигурационный файл docker-compose.yaml:
cd /opt
sudo nano docker-compose.yaml
Не забудьте обновить часовой пояс в конфигурации ниже.
Кроме того, я храню весь свой конфиг Docker и тома в этой папке. Это облегчает резервное копирование. Эти тома будут хранить данные из образа Docker локально, чтобы данные не терялись при пересборке контейнера (например, при обновлении) /opt
Здесь мы передаем файл, содержащий наши локальные настройки времени, чтобы Portainer знал, который сейчас час (для временных меток журнала), а также сокет, управляющий Docker, чтобы Portainer мог выполнять действия в Docker.
version: '3.0'
services:
portainer:
container_name: portainer
image: bigbugcc/portainer-ce
restart: unless-stopped
ports:
- "9000:9000/tcp"
- "9443:9443/tcp"
environment:
- TZ=Asia/Novosibirsk
volumes:
- /etc/localtime:/etc/localtime:ro
- /var/run/docker.sock:/var/run/docker.sock
- /opt/portainer/data:/data
Разрешения
Мы также разрешим нашему пользователю, не являющемуся администратором, изменять этот файл. Опять же, чтобы немного облегчить нам жизнь.
sudo chown root:docker docker-compose.yaml
sudo chmod g+w docker-compose.yaml
Проверьте конфигурацию
Хотите убедиться, что вы не допустили ошибок в конфигурации? Выполните следующую команду, и Docker выведет вам то, что будет запущено, а также все ошибки в вашем конфиге и предупреждения.
docker-compose -f docker-compose.yaml config
Запуск
docker-compose up -d
Запускаем, и Docker загрузит последний образ Portainer и все настроит. После этого мы сможем открыть веб-интерфейс Portainer, перейдя по адресу (вы получите предупреждение о самоподписанном сертификате) или (нешифрованное соединение).
https://<ip компьютера>:9443
http://<ip компьютера>:9000
При первом посещении этого портала он попросит нас создать учетную запись пользователя.
4. Установка Home Assistant
Если вы пропустили предыдущий пункт, то потребуется первоначальная настройка Docker Compose для работы:
cd /opt
sudo nano docker-compose.yaml
Далее записываем конфигурацию контейнера в файл(не забываем указать свой часовой пояс для правильного показа времени в интерфейсе и логах):
version: '3.0'
services:
[...]
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
restart: unless-stopped
environment:
- TZ=Asia/Novosibirsk
volumes:
- /opt/homeassistant/config:/config
- /etc/localtime:/etc/localtime:ro
privileged: true
network_mode: host
Создадим папку для конфигурационных файлов Homeassistant и запустим его:
cd /opt
sudo mkdir -p homeassistant/config
docker-compose up -d
Теперь Docker извлечет образ Home Assistant и все настроит.
Настройка Home Assistant
Теперь, когда контейнер запущен и работает, нам нужно настроить сам экземпляр Home Assistant.
Откройте браузер и перейдите по адресу http://<ip компьютера>:8123
Начальная настройка Home Assistant
Выберите имя пользователя и пароль для вашей учетной записи Home Assistant. Эта учетная запись также будет «администратором».
Далее пройдите через настройку вашей домашней зоны. В процессе настройки Home Assistant даже покажет вам устройства, которые он уже обнаружил и которые вы можете интегрировать с самого начала.
После завершения настройки вы окажетесь на информационной панели Home Assistant. Если вы настроили какие-либо устройства на предыдущем этапе, они будут отображаться на главном экране.
Управление Portainer из Home Assistant
Как только мы начнем добавлять дополнения, нам захочется довольно часто иметь возможность быстро просматривать их без необходимости открывать дополнительные окна браузера.
Для этого мы воспользуемся панелью iframe. Эта интеграция добавит Portainer в боковую панель Home Assistant.
cd /opt/homeassistant/config
sudo nano configuration.yaml
Чтобы добавить iframe для Portainer, добавьте следующий код в файл configuration.yaml
:
panel_iframe:
portainer:
title: Portainer
url: "https://192.168.10.106:9443"
icon: mdi:docker
require_admin: true
5. Установка брокера Mosquitto для работы MQTT и Zigbee устройств
В этой части мы добавим наше первое дополнение. Брокер Mosquitto MQTT позволит нам соединяться с широким спектром устройств, и я настоятельно рекомендую его к установке.
Обновим конфигурацию docker-compose.yaml
:
services:
[...]
homeassistant:
[...]
depends_on:
- mosquitto
mosquitto:
container_name: mosquitto
image: eclipse-mosquitto
restart: unless-stopped
ports:
- "1883:1883/tcp"
environment:
- TZ=Asia/Novosibirsk
volumes:
- /opt/mosquitto/config:/mosquitto/config
- /opt/mosquitto/data:/mosquitto/data
- /opt/mosquitto/log:/mosquitto/log
stdin_open: true
tty: true
Мы добавили строки stdin_open
и tty
, чтобы впоследствии мы могли подключиться к терминалу контейнера для выполнения некоторых команд.
Обратите внимание, что мы также добавили зависимость от контейнера mosquitto для нашего контейнера Home Assistant. Таким образом, наш брокер будет в сети до запуска Home Assistant, и мы можем быть уверены, что наше соединение не прервется.
Файл конфигурации mosquitto.conf
Когда мы запустим контейнер Mosquitto с помощью docker-compose up -d
, в журналах появятся ошибки о невозможности открыть файл конфигурации /mosquitto/config/mosquitto.conf
. Чтобы исправить это, мы можем загрузить файл конфигурации по умолчанию и сохранить его во вновь созданном каталоге config
:
cd /opt/mosquitto/config/
sudo wget https://raw.githubusercontent.com/eclipse/mosquitto/master/mosquitto.conf
Однако мы сделаем несколько изменений. Вы можете добавить следующие строки в конец конфигурационного файла, так как по умолчанию все настройки закомментированы (настройки по умолчанию).
sudo nano mosquitto.conf
# Добавьте следующие строки в конец
# Listen on port 1883 on all IPv4 interfaces
listener 1883
socket_domain ipv4
# save the in-memory database to disk
persistence true
persistence_location /mosquitto/data/
# Log to stderr and logfile
log_dest stderr
log_dest file /mosquitto/log/mosquitto.log
# Require authentication
allow_anonymous false
password_file /mosquitto/config/mqttuser
Пользователи Mosquitto
Далее мы создадим пользователя в Home Assistant для соединения с брокером.
В идеале мы позже создадим нового пользователя для каждого устройства (семейства). Например, одна учетная запись для устройств Shelly, одна для Zigbee2MQTT и т.д.
Выполните следующую команду для создания пользователя с именем homeassistant. Обратите внимание, что параметр -c создаст новый файл паролей и перезапишет все существующие файлы. Поэтому отбросьте этот параметр, если вы хотите создать вторую учетную запись.
docker exec -it mosquitto mosquitto_passwd -c /mosquitto/config/mqttuser homeassistant
Если теперь вы проверите содержимое только что созданного файла mqttuser
, вы найдете свое имя пользователя и хэшированный пароль:
cat /opt/mosquitto/config/mqttuser
homeassistant:$7$101$q7VtJJ/E*******7$1I******************************************b/G**************************************A==
Теперь мы можем перезапустить контейнер Mosquitto, чтобы он загрузил наши изменения:
sudo docker-compose restart mosquitto
Логи должны показать, что контейнер Mosquitto запущен:
sudo cat /opt/mosquitto/log/mosquitto.log
1662413136: mosquitto version 2.0.15 starting
1662413136: Config loaded from /mosquitto/config/mosquitto.conf.
1662413136: Opening ipv4 listen socket on port 1883.
1662413136: mosquitto version 2.0.15 running
Настройка MQTT в Home Assistant
Теперь мы можем подключить Home Assistant к нашему брокеру MQTT, чтобы он мог начать подписываться на темы и отправлять сообщения. Поскольку пока нет других подключенных MQTT клиентов, Home Assistant пока не будет добавлять новые устройства.
Мы добавляем новую интеграцию MQTT в Home Assistant и вводим учетные данные, которые мы установили минуту назад для аутентификации.
Логи контейнера MQTT подтверждают успешное подключение Home Assistant:
sudo cat /opt/mosquitto/log/mosquitto.log
1662413136: mosquitto version 2.0.15 running
1662414198: New connection from 192.168.10.106:43153 on port 1883.
1662414198: New client connected from 192.168.10.106:43153 as 4atvQWWEyf2XpG3yy0kgOW (p1, c1, k60, u'homeassistant').
1662414198: Client 4atvQWWEyf2XpG3yy0kgOW disconnected.
1662414198: New connection from 192.168.10.106:39605 on port 1883.
1662414198: New client connected from 192.168.10.106:39605 as 5gNbahjfE5DulEufquYcaa (p2, c1, k60, u'homeassistant').
6. Установка Zigbee2MQTT для подключения датчиков и других устройств умного дома по протоколу Zigbee
Для этого потребуется приобрести отдельный Zigbee-координатор, который подключается к компьютеру по USB. Я использовал этот в своей системе.
Найти координатор Zigbee
В конфигурации Docker compose нам нужно будет назначить координатор Zigbee, который будет подключен через USB, к контейнеру Docker.
Подключите ваш координатор Zigbee (например, Conbee II, Sonof Zigbee 3.0 Plus, …) к вашей машине. Затем выполните следующую команду, чтобы получить уникальный путь к устройству.
ls -l /dev/serial/by-id/
usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_eexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx52-if00-port0 -> ../../ttyUSB0
Позже мы будем использовать этот уникальный путь by-id в нашей конфигурации вместо типичного /dev/ttyUSB0, потому что всегда есть риск, что устройство получит новый TTY после перезагрузки, особенно при подключении других устройств.
Docker-compose
Мы расширяем наш docker-compose.yaml конфигурацией для контейнера Zigbee2MQTT.
services:
[...]
zigbee2mqtt:
container_name: zigbee2mqtt
image: koenkk/zigbee2mqtt
restart: unless-stopped
ports:
- "8099:8099/tcp"
environment:
- TZ=Asia/Novosibirsk
volumes:
- /opt/zigbee2mqtt/data:/app/data
- /run/udev:/run/udev:ro
devices:
- /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_eexxxxxxxxxxxxxxxxxxxxxxxxxxxx52-if00-port0:/dev/ttyACM0
Обратите внимание, что я изменил отображение портов для этого контейнера. Порт 8080 уже используется администратором, поэтому я изменил порт внешнего интерфейса Zigbee2MQTT на 8099 (см. ниже) и указал его в конфигурации Docker.
Мы не будем пока запускать наш контейнер, так как сначала нам нужно настроить нашу конфигурацию.
Создаем пользователя MQTT
Когда мы настраивали MQTT-брокер Mosquitto, я говорил, что предпочитаю создавать MQTT-пользователя для каждого сервиса. Поэтому давайте создадим пользователя для нашего контейнера Z2M.
docker exec -it mosquitto mosquitto_passwd /mosquitto/config/mqttuser z2m_mqtt
Password: # Enter a password
Reenter password: # Repeat the password
cat mosquitto/config/mqttuser
[...]
z2m_mqtt:$7$101$1xcB1yrF********$O$XR******************2/N************************************************************g==
Конфиг Zigbee2MQTT
Чтобы получить копию стандартного конфига, запустите sudo wget https://raw.githubusercontent.com/Koenkk/zigbee2mqtt/master/data/configuration.yaml
в папке, где будет храниться конфиг (/opt/zigbee2mqtt/data
). Затем откройте и отредактируйте его с помощью sudo nano /opt/zigbee2mqtt/data/configuration.yaml.
Мы укажем Z2M подключиться к нашему MQTT-брокеру, использовать синтаксис, который понимает Home Assistant для обнаружения устройств, настроить веб-сервер и позволить Z2M сгенерировать некоторые ключи, используемые для настройки сети Zigbee.
# Adapter settings
serial:
port: /dev/ttyACM0
# MQTT
mqtt:
base_topic: zigbee2mqtt
server: '!secret server'
user: '!secret user'
password: '!secret password'
client_id: zigbee
# Zigbee network
permit_join: false # Do not allow random devices to connect automatically
# Webserver
frontend:
port: 8099 # Custom port
url: 'http://<ip.of.our.box>:8099' # Update IP here
# Devices and groups
# Extract config to separate files
devices: devices.yaml
groups: groups.yaml
# Home Assistant integration
homeassistant: true
Если вы проверите журналы через Portainer или docker-compose logs zigbee2mqtt
, вы увидите, что наш контейнер прекрасно запустился:
Using '/app/data' as data directory
Zigbee2MQTT:info 2022-10-04 12:09:47: Logging to console and directory: '/app/data/log/2022-10-04.12-09-47' filename: log.txt
Zigbee2MQTT:info 2022-10-04 12:09:47: Starting Zigbee2MQTT version 1.28.0 (commit #03ba647)
Zigbee2MQTT:info 2022-10-04 12:09:47: Starting zigbee-herdsman (0.14.62)
Zigbee2MQTT:info 2022-10-04 12:09:48: zigbee-herdsman started (resumed)
Zigbee2MQTT:info 2022-10-04 12:09:48: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20220219,"transportrev":2},"type":"zStack3x0"}'
Zigbee2MQTT:info 2022-10-04 12:09:48: Currently 0 devices are joined:
Zigbee2MQTT:info 2022-10-04 12:09:48: Zigbee: disabling joining new devices.
Zigbee2MQTT:info 2022-10-04 12:09:48: Connecting to MQTT server at mqtt://<ip.of.our.box>:1883
Zigbee2MQTT:info 2022-10-04 12:09:48: Connected to MQTT server
Zigbee2MQTT:info 2022-10-04 12:09:48: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}'
Zigbee2MQTT:info 2022-10-04 12:09:48: Started frontend on port 0.0.0.0:8099
Zigbee2MQTT:info 2022-10-04 12:09:48: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}'
Добавим Z2M на боковую панель Home Assistant:
Процесс аналогичен с добавлением Portainer:
panel_iframe:
portainer:
[...]
zigbee2mqtt:
title: Zigbee2MQTT
icon: mdi:zigbee
url: http://192.168.10.106:8099
require_admin: true
После перезапуска Home Assistant (docker-compose restart homeassistant
) получим примерно следующее:
В данном видеоролике подробно и наглядно показано как пользоваться Zigbee2MQTT. Если вы в первый раз работаете с ним, рекомендую к просмотру.
Конец
Спасибо за внимание, есть еще немало дополнений, которые можно добавить, поэтому статья будет дополняться.
Если возникнут вопросы или предложения — пишите в комментарии, рад любой активности.
На данный момент инструкция неактуальна. Текущие варианты установки можете посмотреть на официальном сайте HA.
В данной статье будет пошагово описан процесс установки home assistant на ПК под управлением Windows 10.
Важно отметить, что операционная система Windows не является основной для HA, что проявляется в неполной работоспособности программного обеспечения, в связи с чем установку HA на Win10 рекомендуется производить только для ознакомления с возможностями ПО.
Итак, приступим.
-
-
- Первым делом нам нужно установить Python. Идем на официальный сайт, выбираем последнюю версию, проматываем страницу вниз и выбираем нужный нам файл (например Windows x86-64 executable installer). Скачиваем и запускаем.
- При установке выбираем Customize installation -> на второй вкладке оставляем только pip -> на третьей выбираем Add Python to environment variables.
- После того, как Python установится запускаем командную строку: нажимаем Win и R, в появившемся поле вводим cmd и нажимаем Ок.
- Вводим в командной строке pip install homeassistant, нажимаем Enter и ждем пока все установится. В случае ошибок внимательно читаем и делаем что там будет написано. В моем случае не было Visual C++ 14.0. Для исправления – скачиваем Build Tools для Visual Studio с официального сайта, устанавливаем и перезагружаем ПК.
- Программа установлена и для запуска осталось ввести команду hass в командной строке. На данном этапе может появляться много ошибок, возможно придется прервать запуск (Ctrl+C) и запустить заново. Также брандмауэр может попросить разрешить доступ. Разрешаем. В самом конце запуска в консоли должна появиться строчка со следующим содержанием: INFO (MainThread) [homeassistant.core] Starting Home Assistant.
- Далее запускаем браузер и вводим localhost:8123. Если все сделано правильно, то откроется окно регистрации учетной записи. Если ничего не получилось, то попробуйте еще раз выполнить пятый пункт.
- Поздравляю, мы установили Home Assistant на ПК под управлением Windows 10.
-
Ссылки на другие уроки по настройке Home Assistant.
Home Assistant – это бесплатное программное обеспечение, которое позволяет управлять умным домом с помощью одной платформы. Это открытый исходный код, разработанный командой энтузиастов по всему миру. Основной задачей Home Assistant является сбор данных с разных устройств и обеспечение пользователям удобного интерфейса для управления всеми умными устройствами в их доме.
Если у вас есть компьютер с операционной системой Windows и вы хотите установить и запустить Home Assistant, следуйте этой пошаговой инструкции:
Шаг 1: Установка Python
Перед установкой Home Assistant вам понадобится Python. Скачайте последнюю версию Python с официального сайта python.org и запустите установщик. Убедитесь, что при установке выбрана опция «Add Python to PATH». После завершения установки, вы сможете запустить Python-скрипты из командной строки.
Шаг 2: Создание виртуальной среды
Рекомендуется использовать виртуальную среду для изоляции установки Home Assistant от других проектов Python на вашем компьютере. Откройте командную строку и введите следующую команду:
python -m venv homeassistant
Это создаст новую виртуальную среду с именем «homeassistant».
Шаг 3: Активация виртуальной среды
Чтобы активировать виртуальную среду, введите следующую команду:
homeassistant\Scripts\activate.bat
После выполнения этой команды вы будете находиться в активной виртуальной среде, и все последующие команды будут выполняться в этой среде.
Содержание
- Установка Home Assistant
- Шаг 1: Загрузка установщика и Python
- Шаг 2: Создание виртуального окружения
- Шаг 3: Запуск Home Assistant
Установка Home Assistant
Home Assistant можно установить на компьютер под управлением операционной системы Windows, следуя этим простым шагам:
1. Загрузите установочный файл Home Assistant для Windows с официального веб-сайта. (ссылка)
2. Запустите загруженный установочный файл, чтобы начать процесс установки.
3. Во время установки выберите папку, в которой будет установлен Home Assistant.
4. После завершения установки запустите Home Assistant, щелкнув на ярлык на рабочем столе или в меню «Пуск».
5. Веб-интерфейс Home Assistant будет доступен по адресу «http://localhost:8123» в вашем веб-браузере. Нажмите на этот URL, чтобы получить доступ к управлению Home Assistant.
Теперь вы готовы начать настройку и использование Home Assistant на вашем компьютере под управлением операционной системы Windows.
Шаг 1: Загрузка установщика и Python
Прежде чем приступить к установке Home Assistant на Windows, вам необходимо скачать установщик Python с официального сайта Python. Для этого:
- Откройте веб-браузер и зайдите на сайт https://www.python.org/downloads/windows/.
- На главной странице сайта найдите раздел «Python Releases for Windows» и прокрутите вниз до появления списка выпусков Python для Windows.
- Выберите последний стабильный релиз Python, предназначенный для Windows, и щелкните на нем, чтобы перейти на страницу загрузки.
- На странице загрузки найдите заголовок «Files» и выберите ссылку, соответствующую архитектуре вашей операционной системы (обычно это «Windows x86-64 executable installer» для 64-битных систем или «Windows x86 executable installer» для 32-битных систем).
- Сохраните установочный файл Python на ваш компьютер.
После завершения загрузки установочного файла Python вы можете переходить к следующему шагу — установке Python на вашем компьютере.
Шаг 2: Создание виртуального окружения
Для запуска Home Assistant на Windows нам понадобится виртуальное окружение Python. Виртуальное окружение позволяет изолировать зависимости нашего проекта, что позволяет удобно работать с разными версиями библиотек и избегать конфликтов между ними.
Чтобы создать виртуальное окружение, выполните следующие шаги:
- Откройте командную строку: нажмите «Win + R», введите «cmd» и нажмите «Enter».
- Перейдите в ранее созданную директорию для проекта Home Assistant с помощью команды «cd path/to/project», где «path/to/project» — путь к директории.
- Установите инструмент для создания виртуальных окружений, выполнив команду «pip install virtualenv».
- Создайте виртуальное окружение, введя команду «python -m venv venv», где «venv» — имя для вашего виртуального окружения.
- Активируйте виртуальное окружение, выполнив команду «venv\Scripts\activate». При успешной активации вы увидите, что перед текущим путем будет указано имя виртуального окружения.
Теперь у вас есть виртуальное окружение для запуска Home Assistant на Windows. Выполните следующий шаг, чтобы продолжить установку и настройку Home Assistant.
Шаг 3: Запуск Home Assistant
После установки необходимых компонентов и настройки Docker вы готовы запустить Home Assistant на своем компьютере с Windows. Вот этапы, которые вам нужно выполнить:
- Откройте командную строку или PowerShell в Windows.
- Перейдите в каталог, где вы установили файлы Home Assistant.
- Введите команду
docker-compose up -d
и нажмите Enter. - Дождитесь завершения процесса запуска.
- Теперь вы можете открыть веб-браузер и перейти по адресу http://localhost:8123.
После этого вы должны увидеть веб-интерфейс Home Assistant, отображающий установленные компоненты и возможности платформы. Если все прошло успешно, поздравляю, вы успешно запустили Home Assistant на Windows!
Обратите внимание, что при каждом запуске компьютера вам потребуется выполнить только две последние команды (‘docker-compose up -d’ и открытие браузера), чтобы запустить Home Assistant. Остальные этапы, такие как установка Docker и загрузка файлов Home Assistant, выполняются только один раз.