Настройка home assistant на windows


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

  1. Create a new virtual machine.
  2. Select type Linux and version Linux 2.6 / 3.x / 4.x (64-bit).
  3. Select Use an existing virtual hard disk file, select the unzipped VDI file from above.
  4. Edit the Settings of the VM and go to System > Motherboard. Select Enable EFI.
  5. 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.

  1. Create a new virtual machine in virt-manager.
  2. Select Import existing disk image, provide the path to the QCOW2 image above.
  3. Choose Generic Default for the operating system.
  4. Check the box for Customize configuration before install.
  5. Under Network Selection, select your bridge.
  6. 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.
  7. Click Add Hardware (bottom left), and select Channel.
  8. Select device type: unix.
  9. Select name: org.qemu.guest_agent.0.
  10. 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.

  1. Create a new virtual machine.
  2. Select Custom, make it compatible with the default of Workstation and ESX.
  3. Choose I will install the operating system later, select Linux > Other Linux 5.x or later kernel 64-bit.
  4. Select Use Bridged Networking.
  5. 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

  1. Create a new virtual machine.
  2. Select Generation 2.
  3. Select Connection > Your Virtual Switch that is bridged.
  4. 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

  1. Start the virtual machine.
  2. Observe the boot process of the Home Assistant Operating System.
  3. 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) без привязки к экосистеме определенного производителя.

Пример интерфейса Homeassistant

Пример интерфейса Homeassistant

Нам потребуется компьютер или ноутбук с 512+ Мб ОЗУ

Если ваш компьютер или ноутбук имеет 64-битный процессор, установка Home Assistant значительно упрощается, так как подробная инструкция доступна на официальном сайте.

Однако, если у вас есть устройство с 32-битным процессором и архитектурой i386, то установка аддонов для работы с внешними датчиками может быть сложной из-за отсутствия официальной поддержки. Однако, не отчаивайтесь, поскольку в этой статье мы рассмотрим способы установки на такие устройства. (Важно отметить, что эти методы также могут быть применены на 64-битных системах, но они сложнее официальных в реализации).

1. Установка системы

Для сервера умного дома подойдет практически любой дистрибутив Linux, но рекомендуется Debian. В данной статье буду использовать сам Debian.

Начнем с установки. Этот процесс одинаков практически для любой системы.

  1. Скачайте последнюю версию ISO.
    Я выбрал образ «Small», так как он включает большинство файлов в образ, что требует меньше загрузки в процессе установки.

  2. Скачайте Balena Etcher, инструмент для записи ISO-образов на USB-накопитель. Если вы работаете в системе linux, вместо этого можно использовать dd.

  3. Подключите загруженный USB-накопитель к системе и загрузитесь с USB.

  4. Следуйте процессу установки.
    Большая часть процесса — это следование настройкам по умолчанию и просто нажатие кнопки Continue.

    Не забудьте ввести учетные данные для пользователя root и пользователя, не являющегося администратором.

    Если вы планируете использовать компьютер только для умного дома, убедитесь, что вы не устанавливаете графический интерфейс пользователя (GUI), и обязательно установите SSH-сервер.

  5. После завершения установки войдите в систему по 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

Веб-интерфейс Portainer

Веб-интерфейс Portainer

При первом посещении этого портала он попросит нас создать учетную запись пользователя.

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 и все настроит.

Скачивание и установка Homeassistant

Скачивание и установка Homeassistant

Настройка Home Assistant

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

Откройте браузер и перейдите по адресу http://<ip компьютера>:8123

Начальная настройка Home Assistant

Окно приветствия Home Assistant

Окно приветствия Home Assistant

Выберите имя пользователя и пароль для вашей учетной записи Home Assistant. Эта учетная запись также будет «администратором».

Далее пройдите через настройку вашей домашней зоны. В процессе настройки 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

Добавление интеграции MQTT

Мы добавляем новую интеграцию MQTT в Home Assistant и вводим учетные данные, которые мы установили минуту назад для аутентификации.

Добавление данных пользователя MQTT

Добавление данных пользователя MQTT

Логи контейнера 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').

Интеграция MQTT запущена

Интеграция MQTT запущена

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 без устройств

Главная панель Zigbee2MQTT без устройств

Нажатием на кнопку Permit join можно разрешить сопряжение Zigbee устройств

Нажатием на кнопку Permit join можно разрешить сопряжение Zigbee устройств

В данном видеоролике подробно и наглядно показано как пользоваться Zigbee2MQTT. Если вы в первый раз работаете с ним, рекомендую к просмотру.

Конец

Спасибо за внимание, есть еще немало дополнений, которые можно добавить, поэтому статья будет дополняться.

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

На данный момент инструкция неактуальна. Текущие варианты установки можете посмотреть на официальном сайте HA.

В данной статье будет пошагово описан процесс установки home assistant на ПК под управлением Windows 10.

Важно отметить, что операционная система Windows не является основной для HA, что проявляется в неполной работоспособности программного обеспечения, в связи с чем установку HA на Win10 рекомендуется производить только для ознакомления с возможностями ПО.

Итак, приступим.

      1. Первым делом нам нужно установить Python. Идем на официальный сайт, выбираем последнюю версию, проматываем страницу вниз и выбираем нужный нам файл (например Windows x86-64 executable installer). Скачиваем и запускаем.
      2. При установке выбираем Customize installation -> на второй вкладке оставляем только pip -> на третьей выбираем Add Python to environment variables.
        Установка python для home assistant
      3. После того, как Python установится запускаем командную строку: нажимаем Win и R, в появившемся поле вводим cmd и нажимаем Ок.
      4. Вводим в командной строке pip install homeassistant, нажимаем Enter и ждем пока все установится. В случае ошибок внимательно читаем и делаем что там будет написано. В моем случае не было Visual C++ 14.0. Для исправления – скачиваем Build Tools для Visual Studio с официального сайта, устанавливаем и перезагружаем ПК.
        ошибка при установке HA visual c++ 14.0 is required python
      5. Программа установлена и для запуска осталось ввести команду hass в командной строке. На данном этапе может появляться много ошибок, возможно придется прервать запуск (Ctrl+C) и запустить заново. Также брандмауэр может попросить разрешить доступ. Разрешаем. В самом конце запуска в консоли должна появиться строчка со следующим содержанием: INFO (MainThread) [homeassistant.core] Starting Home Assistant.
      6. Далее запускаем браузер и вводим localhost:8123. Если все сделано правильно, то откроется окно регистрации учетной записи. Если ничего не получилось, то попробуйте еще раз выполнить пятый пункт.
      7. Поздравляю, мы установили Home Assistant на ПК под управлением Windows 10.

      Авторизация в Home Assistant

Ссылки на другие уроки по настройке 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

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

Содержание

  1. Установка Home Assistant
  2. Шаг 1: Загрузка установщика и Python
  3. Шаг 2: Создание виртуального окружения
  4. Шаг 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. Для этого:

  1. Откройте веб-браузер и зайдите на сайт https://www.python.org/downloads/windows/.
  2. На главной странице сайта найдите раздел «Python Releases for Windows» и прокрутите вниз до появления списка выпусков Python для Windows.
  3. Выберите последний стабильный релиз Python, предназначенный для Windows, и щелкните на нем, чтобы перейти на страницу загрузки.
  4. На странице загрузки найдите заголовок «Files» и выберите ссылку, соответствующую архитектуре вашей операционной системы (обычно это «Windows x86-64 executable installer» для 64-битных систем или «Windows x86 executable installer» для 32-битных систем).
  5. Сохраните установочный файл Python на ваш компьютер.

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

Шаг 2: Создание виртуального окружения

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

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

  1. Откройте командную строку: нажмите «Win + R», введите «cmd» и нажмите «Enter».
  2. Перейдите в ранее созданную директорию для проекта Home Assistant с помощью команды «cd path/to/project», где «path/to/project» — путь к директории.
  3. Установите инструмент для создания виртуальных окружений, выполнив команду «pip install virtualenv».
  4. Создайте виртуальное окружение, введя команду «python -m venv venv», где «venv» — имя для вашего виртуального окружения.
  5. Активируйте виртуальное окружение, выполнив команду «venv\Scripts\activate». При успешной активации вы увидите, что перед текущим путем будет указано имя виртуального окружения.

Теперь у вас есть виртуальное окружение для запуска Home Assistant на Windows. Выполните следующий шаг, чтобы продолжить установку и настройку Home Assistant.

Шаг 3: Запуск Home Assistant

После установки необходимых компонентов и настройки Docker вы готовы запустить Home Assistant на своем компьютере с Windows. Вот этапы, которые вам нужно выполнить:

  1. Откройте командную строку или PowerShell в Windows.
  2. Перейдите в каталог, где вы установили файлы Home Assistant.
  3. Введите команду docker-compose up -d и нажмите Enter.
  4. Дождитесь завершения процесса запуска.
  5. Теперь вы можете открыть веб-браузер и перейти по адресу http://localhost:8123.

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

Обратите внимание, что при каждом запуске компьютера вам потребуется выполнить только две последние команды (‘docker-compose up -d’ и открытие браузера), чтобы запустить Home Assistant. Остальные этапы, такие как установка Docker и загрузка файлов Home Assistant, выполняются только один раз.

  • Настройка dualshock 4 на пк windows 11
  • Настройка high definition audio в windows 10
  • Настройка boot menu windows 10
  • Настройка hdr в windows 11
  • Настройка bluetooth наушников windows 10