ОГЛАВЛЕНИЕ:Cтатья 1 (установка)
Cтатья 2 (базовая настройка)
Cтатья 3 (добавляем устройства)
Cтатья 4 (интеграция с HomeKit)
Статья 5 (автоматизации)
Статья 6 (GUI)Статья 7 (Z-Wave)Статья 8 (MQTT)Статья 9 (HTTPS, SSL)
UPD 28.06.2019
На данный момент я ушел с этого пути и использую установку HA в Docker. Мой готовый образ для Raspberry PI3b/3b можно найти тут. Мой актуальный конфиг HA тут.
Сегодня начнем небольшой (а может быть и большой) курс статей по знакомству с Home Assistant. Это еще одна система управления умным домом, свежая, гибкая кроссплатформенная. Для простоты дальнейшего повествования буду называть его HA. Есть 4 пути заиметь сию систему на своем устройстве. Речь дальне пойдет про малинку, но забегая вперед, могу сказать, что установить его можно практически на любое устройство с Unix-like системой. Итак у нас есть 4 варианта из которых я на данный момент буду говорить об одном.1. Развертывание готового образа Hass.io на флешку2. Установка в виртуальное окружение питона3. Установка в Docker4. Развертывание Raspbian с установленным HA на флешкуЯ для себя выбрал второй вариант как более простой, понятный, а так же дающий более подробные знания о том что мы делаем.Для начала нам нужна малинка с установленной Raspbian. Подойдет любая, даже та которая сейчас используется. Статьи по её установке можно найти например тут и тут. Подключаемся к малинке по ssh и обновляем систему до актуального состояния:
sudo apt-get update
sudo apt-get upgrade -y
После того как процесс удачно завершится, необходимо установить дополнительные пакеты, необходимые для дальнейшей работы:
sudo apt-get install python3 python3-venv python3-pip
Далее добавляем нового пользователя для запуска и работы с HA, с его домашней директорией, где будут храниться конфиги:
sudo useradd -rm homeassistant -G dialout,gpio
Этой же командой мы добавили нового пользователя в группы dialout и gpio для управления интерфейсами самой малины. Далее создадим директорию для установки HA и назначим хозяина директории:
cd /srv
sudo mkdir homeassistant
sudo chown homeassistant:homeassistant homeassistant
После этого создадим виртуальную машину от нашего нового пользователя homeassistant:
sudo -u homeassistant -H -s
cd /srv/homeassistant
python3 -m venv .
source bin/activate
python3 -m pip install wheel
Первоначальные приготовления на этом закончены. можно ставить HA. Проделываем это следующей командой:
pip3 install homeassistant
После ввода команды ждем от 5 до 25 минут в зависимости от скорости вашей флешки, пока все это добро установится. Теперь запускаем наш HA первый раз для создания первоначальных каталогов и конфигов:
hass
Ждем еще минут 10 минимум, пока скачаются необходимые файлы, после этого останавливаем HA комбинацией ctrl c. Выходим из под шелла пользователя homeassistant командой exit. После необходимо создать сервис, который будет запускать HA при перезагрузки малинки. Создадим для этого файл сервиса:
sudo nano /etc/systemd/system/homeassistant@homeassistant.service
Вставляем в него следующий текст и сохраняем файл:
[Unit]
Description=Home Assistant
After=network-online.target
[Service]
Type=simple
User=%i
ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant"
[Install]
WantedBy=multi-user.target
Далее надо активировать наш сервис в системе и запустить его:
sudo systemctl --system daemon-reload
sudo systemctl enable homeassistant@homeassistant.service
sudo systemctl start homeassistant@homeassistant.service
Если вы все сделали правильно, через небольшой промежуток времени вы сможете увидеть свой свежеустановленный в браузере. Для этого необходимо перейти по ссылке http://ip.малинки:8123 и откроется что-то похожее на это:
Как видите это долго, но совсем не сложно! В дальнейшем для обновления HA необходимо подключиться к малине по ssh и выполнить следующие три команды:
sudo -u homeassistant -H -s
source /srv/homeassistant/bin/activate
pip3 install --upgrade homeassistant
На этом мы заканчиваем первоначальную установку и настройку и увидимся с вами в следующих статьях!
Жду продолжения с возможностями системы ;)
Обязательно будет!
Обещаю, по твоим статьям поставлю HA на ноут, чтобы сравнить с Хобридж. Спасибо за труды!
Интересно было бы узнать, чем они отличаются.
Это только начало! В дальнейшем распишу все подробно.
у меня почему-то на иФоне когда тапаешь на скриншот ХА не подгружается картинка, в затемнённом фоне «булькает» прогресс в виде окружности и ничего больше, нажатие на крестик не возвращает обратно к статье, помогает только перезагрузка страницы
Буду разбираться
попробую что за зверь такой НА и с чем его едят ))) спасибо за труд.
Спасибо! очень ждём продолжения!
Спасибо. Жду продолжения. Сам сижуна hassio.
H.A устанавливается на малину с установленным homebridge? или отдельную SD?
да. можно утанавливать уже на карту с хомбриджем.
да. можно утанавливать с уже установленным на карту с хомбриджем.
Processing triggers for libc-bin (2.24-11+deb9u3) ...
pi@raspberrypi:~ $ sudo useradd -rm homeassistant -G dialout,gpio
pi@raspberrypi:~ $ cd /srv
pi@raspberrypi:/srv $ sudo mkdir homeassistant
pi@raspberrypi:/srv $ sudo chown homeassistant:homeassistant homeassistant
pi@raspberrypi:/srv $ cd /srv
pi@raspberrypi:/srv $ sudo mkdir homeassistant
mkdir: cannot create directory ‘homeassistant’: File exists
pi@raspberrypi:/srv $ sudo chown homeassistant:homeassistant homeassistant
pi@raspberrypi:/srv $ ^C
pi@raspberrypi:/srv $
дальше дело не пошло...
А что не так то? Вы попытались создать директорию два раза, он второй раз ругнулся. Ничего страшного, двигайтесь дальше!
(homeassistant) homeassistant@raspberrypi:/srv/homeassistant $ sudo nano /etc/systemd/system/homeassistant@homeassistant.service
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for homeassistant:
Sorry, try again.
[sudo] password for homeassistant:
что дальше? пароль admin не походит
Пароль на судо должен быть такой же как и на подключение к ssh. По умолчанию он raspberry
Странно, но у меня не подходит пароль от SHH. Что я делаю не так?
Спасибо за статью! Удалось поставить даже новичку
Ждем еще минут 10 минимум, пока скачаются необходимые файлы, после этого останавливаем HA комбинацией ctrl c.
А как определить что скачались все файлы, я через 15 минут нажал ctrl c 3 раза, иначе командная строка не выходила. В итоге непонятно я этот шаг правильно прошёл или поторопился нажав ctrl c.
Деда...второй раз обламываюсь с написание комментария, нажимаю "отправить" и вылетаю на страницу с логином. Понимаю что через некоторое время бездействия ты выкидываешь (зачем не знаю), но пока статью прочитаешь, пока поэксперементируешь, напишешь комментарий (при этом не уходя со страницы и не перегружая её) то нажав "отправить" получаешь страницы где тебе нужно ввести пароль чтобы залогинится и понять что твой комментарий потерян. Либо время увеличить надо, либо при написании комментария должен сохраняться черновик на сервере автоматом.
Никого не выкидываю. Открывай в нативном браузере, не во внутреннем какого то приложения
На сервере срок жизни авторизации год
Установил, по мануалу в окружении питона, раздел HASS.IO в веб интерфейсе не появился. Он должен быть или его необходимо как то доустанавливать. Дважды переустанавливал с нуля .
с этой установкой его быть не должно
А как поставить?
при установке homeassistant получается следущий лог:
Building wheels for collected packages: cffi
Running setup.py bdist_wheel for cffi ... error
Complete output from command /srv/homeassistant/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-f_2dgv7l/cffi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/tmpm2ibr5ebpip-wheel- --python-tag cp35:
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.5
creating build/lib.linux-armv7l-3.5/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/__init__.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/api.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/model.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/error.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.5/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.5/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-3.5/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.5/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-armv7l-3.5
creating build/temp.linux-armv7l-3.5/c
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fdebug-prefix-map=/build/python3.5-6waWnr/python3.5-3.5.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/srv/homeassistant/include -I/usr/include/python3.5m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.5/c/_cffi_backend.o
c/_cffi_backend.c:15:17: fatal error: ffi.h: Нет такого файла или каталога
#include
^
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
----------------------------------------
Failed building wheel for cffi
Running setup.py clean for cffi
Failed to build cffi
Installing collected packages: asn1crypto, six, cffi, cryptography, pip, certifi, urllib3, requests, bcrypt, homeassistant
Running setup.py install for cffi ... error
Complete output from command /srv/homeassistant/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-f_2dgv7l/cffi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-1uox2556-record/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.5/cffi:
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
Package libffi was not found in the pkg-config search path.
Perhaps you should add the directory containing `libffi.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libffi' found
running install
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.5
creating build/lib.linux-armv7l-3.5/cffi
copying cffi/setuptools_ext.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/pkgconfig.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/cparser.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/__init__.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/vengine_gen.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/recompiler.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/verifier.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/api.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/ffiplatform.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/cffi_opcode.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/backend_ctypes.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/commontypes.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/model.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/error.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/vengine_cpy.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/lock.py -> build/lib.linux-armv7l-3.5/cffi
copying cffi/_cffi_include.h -> build/lib.linux-armv7l-3.5/cffi
copying cffi/parse_c_type.h -> build/lib.linux-armv7l-3.5/cffi
copying cffi/_embedding.h -> build/lib.linux-armv7l-3.5/cffi
copying cffi/_cffi_errors.h -> build/lib.linux-armv7l-3.5/cffi
running build_ext
building '_cffi_backend' extension
creating build/temp.linux-armv7l-3.5
creating build/temp.linux-armv7l-3.5/c
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -g -fdebug-prefix-map=/build/python3.5-6waWnr/python3.5-3.5.3=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DUSE__THREAD -DHAVE_SYNC_SYNCHRONIZE -I/usr/include/ffi -I/usr/include/libffi -I/srv/homeassistant/include -I/usr/include/python3.5m -c c/_cffi_backend.c -o build/temp.linux-armv7l-3.5/c/_cffi_backend.o
c/_cffi_backend.c:15:17: fatal error: ffi.h: Нет такого файла или каталога
#include
^
compilation terminated.
error: command 'arm-linux-gnueabihf-gcc' failed with exit status 1
----------------------------------------
Command "/srv/homeassistant/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-f_2dgv7l/cffi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-1uox2556-record/install-record.txt --single-version-externally-managed --compile --install-headers /srv/homeassistant/include/site/python3.5/cffi" failed with error code 1 in /tmp/pip-build-f_2dgv7l/cffi/
Не понимаю почему но все сделал несколько раз по инструкции но во время установки Homeassistant (pip3 install homeassistant) выдает много ошибок и выделяет красным. А потом не запускается команда Hass пишет что такой нет.
далее файл сервиса создать удалось и занести туда несколько строчек кода.
но после проделанных всех операций в браузе не заходит на страницу HA: http://10.0.1.19:8123">http://10.0.1.19:8123
подскажите плиз что не так?
Если при установке выводит ошибку "Failed building wheel for cffi" и "Failed cleaning build dir for cryptography" , то поможет установка: sudo apt-get install libssl-dev libffi-dev python-dev
Золотой человек! Для знающего может это и элементарно, а для новичка, эта строка - целое решение и куча сэкономленных нервов и времени!
Народ скажите как полностью снести HA? какой командой?
Почему все пытаются его запихнуть в виртуалку, да еще и под новым пользователем? У малины и так ресурсов с гулькин нос, в тут еще виртуалкой его убивать. Да и отдельный пользователь добавляет лишних шагов и сложности управления. Или в этом есть какой-то сакральный смысл, который я еще не понимаю?! )
поддержу вопрос
зачем весь этот огород?
Приветствую!
После обновления на 0.94 появилась такая ошибка:
Как правильно обновить Python, что бы ничего не поломать?
полное удаление! Для нулевой установкиsudo pip3 uninstall homeassistant
https://sprut.ai/client/article/155#">https://sprut.ai/client/article/155#">https://sprut.ai/client/article/155#">https://sprut.ai/client/article/155#">https://sprut.ai/client/article/155#">https://sprut.ai/client/article/155#">
https://sprut.ai/client/article/155#">
https://sprut.ai/client/article/155#">https://sprut.ai/client/article/155#">
https://sprut.ai/client/article/155#">Попытка установки Python-3.7.3 (
Это может занять долгое время
)
Измените статью что установилась сразу Python-3.7.3
Объясните ,что я делаю не так . После того как я создаю homeassistant@homeassistant.service и сохраняю то в название файле дописывается ....service.save и я не могу его запустить
дохожу до "pip3 install homeassistant" - говорит,что без sudo не будет выполнять, меняешь на "sudo
pip3sinstallshomeassistan" - просит пароль
вводишь пароль raspberry - говорит ошибка
Решил также присоединиться
Установил Python 3.9, HA 202.2.3
Все заработало. Однако не могу подключить мобильное приложение
Logger: homeassistant.setup
Source: c:\users\serg\appdata\local\programs\python\python39\lib\site-packages\homeassistant\setup.py:138
First occurred: 7:47:57 (2 occurrences)
Last logged: 7:47:57
Setup failed for mobile_app: Requirements for mobile_app not found: ['PyNaCl==1.3.0'].
Setup failed for default_config: Could not set up all dependencies.
Никто не сталкивался?
в конце установки вылезло сообщение что питон необходимо обновить, НА не запустился, теперь чтоб обновить питон надо остановить НА, но сделать этого не получается НА требует пароль, паолль от SSH не подходить, стандартный тоже не подходит, удаление файлов
.storage/auth*
.storage/onboarding
не получается , так как папки нет, НА то не запустился,
Помогите с поиском или сбросом пароля
а что это за виртуальное окружение питона? и в чём разница от докера?
Хотелось бы где-то почитать подробнее про различные варианты установки HA. Здесь среди статей как-то не нашёл...