-
Home Assistant 설치IT 2021. 1. 17. 18:32반응형
Home Assistant 설치 목적
홈 자동화를 구축하려고 결심하고 인터넷에서 관련 내용을 찾아보면 구글홈, 네이버, 카카오 등 다양하 자료가 나오게 된다.
현재 집에서 사용하고 있는 IoT 디바이스는 가전은 삼성 그리고 샤오미 제품이 많아서 하나의 플랫폼만 사용할 수 없다.
하나의 플랫폼에서 IoT 디바이스를 모두 모아서 관리하면 매우 편리하고 이때 사용할 수 있는 옵션이 Home Assistant 이다.Home Assistant github를 보면 모든 소스는 python으로 개발되어 있어 설치 또한 어렵지 않았다.
모든 설치는 Raspberry PI 3 B에서 설치되었다.Home Assistant 환경 설정
Home Assistant 설치 전에 관련 패키지를 먼저 설치한다.
pi@autohome:~ $ sudo sudo apt install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libtiff-dev autoconf build-essential libopenjp2-7 Reading package lists... Done Building dependency tree Reading state information... Done build-essential is already the newest version (12.6). python3 is already the newest version (3.7.3-1). python3 set to manually installed. python3-venv is already the newest version (3.7.3-1). The following additional packages will be installed: automake autotools-dev dh-python gir1.2-glib-2.0 libexpat1-dev libgirepository-1.0-1 libjbig-dev libjbig0 libjpeg-dev libjpeg62-turbo-dev liblzma-dev libpython3-dev libpython3.7-dev libsigsegv2 libtiff5 libtiffxx5 libwebp6 m4 python3-asn1crypto python3-cffi-backend python3-crypto python3-cryptography python3-dbus python3-entrypoints python3-gi python3-keyring python3-keyrings.alt python3-secretstorage python3-setuptools python3-wheel python3-xdg python3.7-dev Suggested packages: autoconf-archive gnu-standards autoconf-doc libtool gettext liblzma-doc libssl-doc m4-doc python-crypto-doc python-cryptography-doc python3-cryptography-vectors Selecting previously unselected package python3-keyring. Preparing to unpack .../33-python3-keyring_17.1.1-1_all.deb ... Unpacking python3-keyring (17.1.1-1) ... Selecting previously unselected package python3-keyrings.alt. Preparing to unpack .../34-python3-keyrings.alt_3.1.1-1_all.deb ... Unpacking python3-keyrings.alt (3.1.1-1) ... Selecting previously unselected package python3-pip. Preparing to unpack .../35-python3-pip_18.1-5+rpt1_all.deb ... Unpacking python3-pip (18.1-5+rpt1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../36-python3-setuptools_40.8.0-1_all.deb ... Unpacking python3-setuptools (40.8.0-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../37-python3-wheel_0.32.3-2_all.deb ... Unpacking python3-wheel (0.32.3-2) ... Selecting previously unselected package python3-xdg. Preparing to unpack .../38-python3-xdg_0.25-5_all.deb ... Unpacking python3-xdg (0.25-5) ... Setting up python3-entrypoints (0.3-1) ... Setting up dh-python (3.20190308) ... Setting up python3-dbus (1.2.8-3) ... Setting up python3-setuptools (40.8.0-1) ... Setting up python3-xdg (0.25-5) ... Setting up libffi-dev:armhf (3.2.1-9) ... Setting up python3-wheel (0.32.3-2) ... Setting up libjbig0:armhf (2.1-3.1+b2) ... Setting up autotools-dev (20180224.1) ... Setting up libexpat1-dev:armhf (2.2.6-2+deb10u1) ... Setting up libjpeg62-turbo-dev:armhf (1:1.5.2-2+deb10u1) ... Setting up libsigsegv2:armhf (2.12-2) ... Setting up libssl-dev:armhf (1.1.1d-0+deb10u4+rpt1) ... Setting up libwebp6:armhf (0.6.1-2) ... Setting up python3-pip (18.1-5+rpt1) ... Setting up liblzma-dev:armhf (5.2.4-1) ... Setting up libopenjp2-7:armhf (2.3.0-2+deb10u1) ... Setting up python3-crypto (2.6.1-9+b1) ... Setting up libgirepository-1.0-1:armhf (1.58.3-2) ... Setting up libtiff5:armhf (4.1.0+git191117-2~deb10u1) ... Setting up python3-asn1crypto (0.24.0-1) ... Setting up python3-cffi-backend (1.12.2-1) ... Setting up libtiffxx5:armhf (4.1.0+git191117-2~deb10u1) ... Setting up libpython3.7-dev:armhf (3.7.3-2+deb10u2) ... Setting up libjpeg-dev (1:1.5.2-2+deb10u1) ... Setting up libjbig-dev:armhf (2.1-3.1+b2) ... Setting up m4 (1.4.18-2) ... Setting up python3.7-dev (3.7.3-2+deb10u2) ... Setting up libtiff-dev:armhf (4.1.0+git191117-2~deb10u1) ... Setting up python3-cryptography (2.6.1-3+deb10u2) ... Setting up gir1.2-glib-2.0:armhf (1.58.3-2) ... Setting up autoconf (2.69-11) ... Setting up python3-keyrings.alt (3.1.1-1) ... Setting up automake (1:1.16.1-4) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libpython3-dev:armhf (3.7.3-1) ... Setting up python3-secretstorage (2.3.1-2) ... Setting up python3-dev (3.7.3-1) ... Setting up python3-gi (3.30.4-1) ... Setting up python3-keyring (17.1.1-1) ... Processing triggers for libc-bin (2.28-10+rpi1) ... Processing triggers for man-db (2.8.5-2) ... Processing triggers for install-info (6.5.0.dfsg.1-4+b1) ... pi@autohome:~ $
Home Assistant를 실행하기 위한 사용자 그룹 및 사용자 계정은 라즈베리파이에서 제공해주는 기본 계정인 pi를 사용하도록 한다. pi 계정에 필요한 그룹을 추가해서 사용하도록 하자.
pi@autohome:~ $ sudo usermod -aG dialout,gpio,i2c pi pi@autohome:~ $ id pi uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),105(input),109(netdev),999(spi),998(i2c),997(gpio) pi@autohome:~ $
계정 설정이 완료되면 home assistant 디렉토리를 생성한다. 그리고 디렉토리 권한을 pi로 변경하도록 한다.
pi@autohome:~ $ sudo mkdir -p /opt/hass pi@autohome:~ $ sudo chown pi:pi /opt/hass pi@autohome:~ $ cd /opt/hass
각 프로젝트별 파이썬 실행은 일반적으로 virtualenv을 사용하여 실행하면 실행 환경 관리가 매우 편리하므로 virtualenv 환경 설정을 먼저 진행한다. virtualenv 환경이 생성 완료되면 환경을 다시 로드한다.
pi@autohome:/opt/hass $ sudo apt install python3-venv Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: python-pip-whl python3-distutils python3-lib2to3 python3.7-venv The following NEW packages will be installed: python-pip-whl python3-distutils python3-lib2to3 python3-venv python3.7-venv 0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. Need to get 1817 kB of archives. After this operation, 3113 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.raspberrypi.org/debian buster/main armhf python-pip-whl all 18.1-5+rpt1 [1591 kB] Get:2 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf python3-lib2to3 all 3.7.3-1 [76.7 kB] Get:3 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf python3-distutils all 3.7.3-1 [142 kB] Get:4 http://ftp.harukasan.org/raspbian/raspbian buster/main armhf python3.7-venv armhf 3.7.3-2+deb10u2 [6148 B] Get:5 http://raspbian.raspberrypi.org/raspbian buster/main armhf python3-venv armhf 3.7.3-1 [1180 B] Fetched 1817 kB in 6s (322 kB/s) perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_CTYPE = "UTF-8", LC_TERMINAL = "iTerm2", LANG = "ko_KR.UTF-8" are supported and installed on your system. perl: warning: Falling back to a fallback locale ("ko_KR.UTF-8"). locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: LC_ALL? ?? ??? ??? ? ????: ?? ???? ????? ???? Selecting previously unselected package python-pip-whl. (Reading database ... 41791 files and directories currently installed.) Preparing to unpack .../python-pip-whl_18.1-5+rpt1_all.deb ... Unpacking python-pip-whl (18.1-5+rpt1) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../python3-lib2to3_3.7.3-1_all.deb ... Unpacking python3-lib2to3 (3.7.3-1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../python3-distutils_3.7.3-1_all.deb ... Unpacking python3-distutils (3.7.3-1) ... Selecting previously unselected package python3.7-venv. Preparing to unpack .../python3.7-venv_3.7.3-2+deb10u2_armhf.deb ... Unpacking python3.7-venv (3.7.3-2+deb10u2) ... Selecting previously unselected package python3-venv. Preparing to unpack .../python3-venv_3.7.3-1_armhf.deb ... Unpacking python3-venv (3.7.3-1) ... Setting up python-pip-whl (18.1-5+rpt1) ... Setting up python3-lib2to3 (3.7.3-1) ... Setting up python3-distutils (3.7.3-1) ... Setting up python3.7-venv (3.7.3-2+deb10u2) ... Setting up python3-venv (3.7.3-1) ... Processing triggers for man-db (2.8.5-2) ... pi@autohome:/opt/hass $ python3 -m venv . pi@autohome:/opt/hass $ source bin/activate (hass) pi@autohome:/opt/hass $
Home Assistant 설치
python3에서 home assistant를 설치하도록 한다.
(hass) pi@autohome:/opt/hass $ pip install homeassistant ... Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting homeassistant Using cached https://www.piwheels.org/simple/homeassistant/homeassistant-2021.1.4-py3-none-any.whl (10.2 MB) Collecting aiohttp==3.7.3 Using cached https://www.piwheels.org/simple/aiohttp/aiohttp-3.7.3-cp37-cp37m-linux_armv7l.whl (1.3 MB) Collecting astral==1.10.1 Using cached https://www.piwheels.org/simple/astral/astral-1.10.1-py2.py3-none-any.whl (29 kB) Collecting async-timeout==3.0.1 Using cached https://www.piwheels.org/simple/async-timeout/async_timeout-3.0.1-py3-none-any.whl (8.2 kB) Collecting attrs==19.3.0 Using cached https://www.piwheels.org/simple/attrs/attrs-19.3.0-py2.py3-none-any.whl (39 kB) Collecting bcrypt==3.1.7 Using cached https://www.piwheels.org/simple/bcrypt/bcrypt-3.1.7-cp37-cp37m-linux_armv7l.whl (57 kB) Collecting ciso8601==2.1.3 Using cached https://www.piwheels.org/simple/ciso8601/ciso8601-2.1.3-cp37-cp37m-linux_armv7l.whl (29 kB) Collecting cryptography==3.2 Using cached https://www.piwheels.org/simple/cryptography/cryptography-3.2-cp37-cp37m-linux_armv7l.whl (777 kB) Collecting httpx==0.16.1 Using cached https://www.piwheels.org/simple/httpx/httpx-0.16.1-py3-none-any.whl (65 kB) Collecting httpcore==0.12.* Using cached https://www.piwheels.org/simple/httpcore/httpcore-0.12.2-py3-none-any.whl (54 kB) Collecting h11==0.* Using cached https://www.piwheels.org/simple/h11/h11-0.12.0-py3-none-any.whl (54 kB) Collecting importlib-metadata==1.6.0 Using cached https://www.piwheels.org/simple/importlib-metadata/importlib_metadata-1.6.0-py2.py3-none-any.whl (30 kB) Collecting PyJWT==1.7.1 Using cached https://www.piwheels.org/simple/pyjwt/PyJWT-1.7.1-py2.py3-none-any.whl (18 kB) Collecting python-slugify==4.0.1 Using cached https://www.piwheels.org/simple/python-slugify/python_slugify-4.0.1-py2.py3-none-any.whl (7.0 kB) Collecting pyyaml==5.3.1 Using cached https://www.piwheels.org/simple/pyyaml/PyYAML-5.3.1-cp37-cp37m-linux_armv7l.whl (44 kB) Collecting requests==2.25.0 Using cached https://www.piwheels.org/simple/requests/requests-2.25.0-py2.py3-none-any.whl (61 kB) Collecting ruamel.yaml==0.15.100 Using cached https://www.piwheels.org/simple/ruamel-yaml/ruamel.yaml-0.15.100-cp37-cp37m-linux_armv7l.whl (655 kB) Collecting sniffio Using cached https://www.piwheels.org/simple/sniffio/sniffio-1.2.0-py3-none-any.whl (10 kB) Collecting voluptuous==0.12.1 Using cached https://www.piwheels.org/simple/voluptuous/voluptuous-0.12.1-py3-none-any.whl (29 kB) Collecting voluptuous-serialize==2.4.0 Using cached https://www.piwheels.org/simple/voluptuous-serialize/voluptuous_serialize-2.4.0-py3-none-any.whl (6.7 kB) Collecting yarl==1.6.3 Using cached https://www.piwheels.org/simple/yarl/yarl-1.6.3-cp37-cp37m-linux_armv7l.whl (262 kB) Collecting certifi>=2020.6.20 Using cached https://www.piwheels.org/simple/certifi/certifi-2020.12.5-py2.py3-none-any.whl (147 kB) Collecting cffi>=1.1 Using cached https://www.piwheels.org/simple/cffi/cffi-1.14.4-cp37-cp37m-linux_armv7l.whl (346 kB) Collecting chardet<4.0,>=2.0 Using cached https://www.piwheels.org/simple/chardet/chardet-3.0.4-py2.py3-none-any.whl (133 kB) Collecting idna<3,>=2.5 Using cached https://www.piwheels.org/simple/idna/idna-2.10-py2.py3-none-any.whl (58 kB) Collecting jinja2>=2.11.2 Using cached https://www.piwheels.org/simple/jinja2/Jinja2-2.11.2-py2.py3-none-any.whl (127 kB) Collecting MarkupSafe>=0.23 Using cached https://www.piwheels.org/simple/markupsafe/MarkupSafe-1.1.1-cp37-cp37m-linux_armv7l.whl (33 kB) Collecting multidict<7.0,>=4.5 Using cached multidict-5.1.0.tar.gz (53 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing wheel metadata ... done Collecting pip<20.3,>=8.0.3 Using cached https://www.piwheels.org/simple/pip/pip-20.2.4-py2.py3-none-any.whl (1.5 MB) Collecting pytz>=2020.1 Using cached https://www.piwheels.org/simple/pytz/pytz-2020.5-py2.py3-none-any.whl (510 kB) Collecting rfc3986[idna2008]<2,>=1.3 Using cached https://www.piwheels.org/simple/rfc3986/rfc3986-1.4.0-py2.py3-none-any.whl (31 kB) Collecting six>=1.4.1 Using cached https://www.piwheels.org/simple/six/six-1.15.0-py2.py3-none-any.whl (10 kB) Collecting text-unidecode>=1.3 Using cached https://www.piwheels.org/simple/text-unidecode/text_unidecode-1.3-py2.py3-none-any.whl (78 kB) Collecting typing-extensions>=3.6.5 Using cached https://www.piwheels.org/simple/typing-extensions/typing_extensions-3.7.4.3-py3-none-any.whl (22 kB) Collecting urllib3<1.27,>=1.21.1 Using cached https://www.piwheels.org/simple/urllib3/urllib3-1.26.2-py2.py3-none-any.whl (136 kB) Collecting zipp>=0.5 Using cached https://www.piwheels.org/simple/zipp/zipp-3.4.0-py3-none-any.whl (5.2 kB) Collecting pycparser Using cached https://www.piwheels.org/simple/pycparser/pycparser-2.20-py2.py3-none-any.whl (112 kB) Building wheels for collected packages: multidict Building wheel for multidict (PEP 517) ... done Created wheel for multidict: filename=multidict-5.1.0-cp37-cp37m-linux_armv7l.whl size=157852 sha256=0b29bc2bdf9845905fb729a0fe7b6ffb23f5eb8d769ca23ff719f7c11ba8b03d Stored in directory: /home/pi/.cache/pip/wheels/da/2b/ba/2e1aff64d848461c1c0b882f2f3576d0b56ab17735672b84f6 Successfully built multidict Installing collected packages: typing-extensions, sniffio, rfc3986, pycparser, multidict, idna, h11, zipp, yarl, voluptuous, urllib3, text-unidecode, six, pytz, MarkupSafe, httpcore, chardet, cffi, certifi, attrs, async-timeout, voluptuous-serialize, ruamel.yaml, requests, pyyaml, python-slugify, PyJWT, pip, jinja2, importlib-metadata, httpx, cryptography, ciso8601, bcrypt, astral, aiohttp, homeassistant Attempting uninstall: pip Found existing installation: pip 20.3.3 Uninstalling pip-20.3.3: Successfully uninstalled pip-20.3.3 Successfully installed MarkupSafe-1.1.1 PyJWT-1.7.1 aiohttp-3.7.3 astral-1.10.1 async-timeout-3.0.1 attrs-19.3.0 bcrypt-3.1.7 certifi-2020.12.5 cffi-1.14.4 chardet-3.0.4 ciso8601-2.1.3 cryptography-3.2 h11-0.12.0 homeassistant-2021.1.4 httpcore-0.12.2 httpx-0.16.1 idna-2.10 importlib-metadata-1.6.0 jinja2-2.11.2 multidict-5.1.0 pip-20.2.4 pycparser-2.20 python-slugify-4.0.1 pytz-2020.5 pyyaml-5.3.1 requests-2.25.0 rfc3986-1.4.0 ruamel.yaml-0.15.100 six-1.15.0 sniffio-1.2.0 text-unidecode-1.3 typing-extensions-3.7.4.3 urllib3-1.26.2 voluptuous-0.12.1 voluptuous-serialize-2.4.0 yarl-1.6.3 zipp-3.4.0 (hass) pi@autohome:/opt/hass $ pip list Package Version -------------------- --------- aiohttp 3.7.3 astral 1.10.1 async-timeout 3.0.1 attrs 19.3.0 bcrypt 3.1.7 certifi 2020.12.5 cffi 1.14.4 chardet 3.0.4 ciso8601 2.1.3 cryptography 3.2 h11 0.12.0 homeassistant 2021.1.4 httpcore 0.12.2 httpx 0.16.1 idna 2.10 importlib-metadata 1.6.0 Jinja2 2.11.2 MarkupSafe 1.1.1 multidict 5.1.0 pip 20.2.4 pkg-resources 0.0.0 pycparser 2.20 PyJWT 1.7.1 python-slugify 4.0.1 pytz 2020.5 PyYAML 5.3.1 requests 2.25.0 rfc3986 1.4.0 ruamel.yaml 0.15.100 setuptools 40.8.0 six 1.15.0 sniffio 1.2.0 text-unidecode 1.3 typing-extensions 3.7.4.3 urllib3 1.26.2 voluptuous 0.12.1 voluptuous-serialize 2.4.0 yarl 1.6.3 zipp 3.4.0 WARNING: You are using pip version 20.2.4; however, version 20.3.3 is available. You should consider upgrading via the '/opt/hass/bin/python3 -m pip install --upgrade pip' command. (hass) pi@autohome:/opt/hass $
Home Assistant 확인
home assistant 설치가 완료되면 home assistant 초기 설정을 진행 해야한다. hass를 실행하면 되고 간단히 hass를 실행하면 초기에 시간이 오래걸리므로 자세한 로그와 함께 확인하는게 유리하다. -v 옵션을 추가해서 초기 진행 사항을 확인하도록 하자. 라즈베리파이에서 실행해서 그런지 모르겠지만 초기 설정 시간이 굉장히 오래 걸린다.
로그에서 Starting Home Assistant가 표시되면 정상적으로 실행되었다고 할수있다.
(hass) pi@autohome:/opt/hass $ hass -v Unable to find configuration. Creating default one in /home/pi/.homeassistant 2021-01-17 17:32:46 INFO (MainThread) [homeassistant.bootstrap] Config directory: /home/pi/.homeassistant 2021-01-17 17:32:46 INFO (SyncWorker_0) [homeassistant.loader] Loaded homeassistant from homeassistant.components.homeassistant 2021-01-17 17:32:46 INFO (SyncWorker_2) [homeassistant.loader] Loaded persistent_notification from homeassistant.components.persistent_notification 2021-01-17 17:32:46 INFO (MainThread) [homeassistant.setup] Setting up homeassistant 2021-01-17 17:32:46 INFO (MainThread) [homeassistant.setup] Setup of domain homeassistant took 0.0 seconds 2021-01-17 17:32:46 INFO (MainThread) [homeassistant.setup] Setting up persistent_notification 2021-01-17 17:32:46 INFO (MainThread) [homeassistant.setup] Setup of domain persistent_notification took 0.0 seconds 2021-01-17 17:32:46 INFO (SyncWorker_1) [homeassistant.util.package] Attempting install of pyotp==2.3.0 2021-01-17 17:32:53 INFO (SyncWorker_8) [homeassistant.util.package] Attempting install of PyQRCode==1.2.1 2021-01-17 17:33:02 INFO (SyncWorker_4) [homeassistant.loader] Loaded tts from homeassistant.components.tts 2021-01-17 17:33:02 INFO (SyncWorker_7) [homeassistant.loader] Loaded default_config from homeassistant.components.default_config 2021-01-17 17:33:02 INFO (SyncWorker_1) [homeassistant.loader] Loaded script from homeassistant.components.script 2021-01-17 17:33:02 INFO (SyncWorker_8) [homeassistant.loader] Loaded automation from homeassistant.components.automation 2021-01-17 17:33:02 INFO (SyncWorker_9) [homeassistant.loader] Loaded group from homeassistant.components.group 2021-01-17 17:33:02 INFO (SyncWorker_9) [homeassistant.loader] Loaded scene from homeassistant.components.scene 2021-01-17 17:33:02 INFO (SyncWorker_6) [homeassistant.loader] Loaded http from homeassistant.components.http 2021-01-17 17:33:02 INFO (SyncWorker_10) [homeassistant.loader] Loaded blueprint from homeassistant.components.blueprint 2021-01-17 17:33:02 INFO (SyncWorker_11) [homeassistant.loader] Loaded cloud from homeassistant.components.cloud 2021-01-17 17:33:02 INFO (SyncWorker_1) [homeassistant.loader] Loaded webhook from homeassistant.components.webhook 2021-01-17 17:33:02 INFO (SyncWorker_12) [homeassistant.loader] Loaded alexa from homeassistant.components.alexa 2021-01-17 17:33:02 INFO (SyncWorker_21) [homeassistant.loader] Loaded counter from homeassistant.components.counter 2021-01-17 17:33:02 INFO (SyncWorker_14) [homeassistant.loader] Loaded frontend from homeassistant.components.frontend 2021-01-17 17:33:02 INFO (SyncWorker_15) [homeassistant.loader] Loaded api from homeassistant.components.api 2021-01-17 17:33:02 INFO (SyncWorker_9) [homeassistant.loader] Loaded auth from homeassistant.components.auth 2021-01-17 17:33:02 INFO (SyncWorker_6) [homeassistant.loader] Loaded config from homeassistant.components.config 2021-01-17 17:33:02 INFO (SyncWorker_5) [homeassistant.loader] Loaded device_automation from homeassistant.components.device_automation 2021-01-17 17:33:02 INFO (SyncWorker_17) [homeassistant.loader] Loaded lovelace from homeassistant.components.lovelace 2021-01-17 17:33:02 INFO (SyncWorker_3) [homeassistant.loader] Loaded onboarding from homeassistant.components.onboarding 2021-01-17 17:33:02 INFO (SyncWorker_7) [homeassistant.loader] Loaded person from homeassistant.components.person 2021-01-17 17:33:02 INFO (SyncWorker_19) [homeassistant.loader] Loaded image from homeassistant.components.image 2021-01-17 17:33:02 INFO (SyncWorker_0) [homeassistant.loader] Loaded search from homeassistant.components.search 2021-01-17 17:33:02 INFO (SyncWorker_13) [homeassistant.loader] Loaded websocket_api from homeassistant.components.websocket_api 2021-01-17 17:33:02 INFO (SyncWorker_8) [homeassistant.loader] Loaded system_log from homeassistant.components.system_log 2021-01-17 17:33:02 INFO (SyncWorker_14) [homeassistant.loader] Loaded history from homeassistant.components.history 2021-01-17 17:33:02 INFO (SyncWorker_2) [homeassistant.loader] Loaded recorder from homeassistant.components.recorder 2021-01-17 17:33:02 INFO (SyncWorker_24) [homeassistant.loader] Loaded input_boolean from homeassistant.components.input_boolean 2021-01-17 17:33:02 INFO (SyncWorker_9) [homeassistant.loader] Loaded input_datetime from homeassistant.components.input_datetime 2021-01-17 17:33:02 INFO (SyncWorker_6) [homeassistant.loader] Loaded input_number from homeassistant.components.input_number 2021-01-17 17:33:02 INFO (SyncWorker_10) [homeassistant.loader] Loaded input_select from homeassistant.components.input_select 2021-01-17 17:33:02 INFO (SyncWorker_5) [homeassistant.loader] Loaded input_text from homeassistant.components.input_text 2021-01-17 17:33:02 INFO (SyncWorker_18) [homeassistant.loader] Loaded logbook from homeassistant.components.logbook 2021-01-17 17:33:02 INFO (SyncWorker_28) [homeassistant.loader] Loaded map from homeassistant.components.map 2021-01-17 17:33:02 INFO (SyncWorker_3) [homeassistant.loader] Loaded media_source from homeassistant.components.media_source 2021-01-17 17:33:02 INFO (SyncWorker_1) [homeassistant.loader] Loaded mobile_app from homeassistant.components.mobile_app 2021-01-17 17:33:02 INFO (SyncWorker_30) [homeassistant.loader] Loaded tag from homeassistant.components.tag 2021-01-17 17:33:02 INFO (SyncWorker_19) [homeassistant.loader] Loaded ssdp from homeassistant.components.ssdp 2021-01-17 17:33:02 INFO (SyncWorker_47) [homeassistant.loader] Loaded sun from homeassistant.components.sun 2021-01-17 17:33:02 INFO (SyncWorker_0) [homeassistant.loader] Loaded system_health from homeassistant.components.system_health 2021-01-17 17:33:02 INFO (SyncWorker_32) [homeassistant.loader] Loaded timer from homeassistant.components.timer 2021-01-17 17:33:02 INFO (SyncWorker_33) [homeassistant.loader] Loaded updater from homeassistant.components.updater 2021-01-17 17:33:02 INFO (SyncWorker_22) [homeassistant.loader] Loaded zeroconf from homeassistant.components.zeroconf 2021-01-17 17:33:02 INFO (SyncWorker_14) [homeassistant.loader] Loaded zone from homeassistant.components.zone 2021-01-17 17:33:02 INFO (MainThread) [homeassistant.bootstrap] Domains to be set up: {'system_log', 'device_automation', 'webhook', 'onboarding', 'search', 'http', 'websocket_api', 'mobile_app', 'media_source', 'cloud', 'counter', 'api', 'frontend', 'map', 'tts', 'history', 'input_datetime', 'input_boolean', 'input_select', 'tag', 'default_config', 'person', 'group', 'zone', 'auth', 'input_number', 'input_text', 'ssdp', 'logbook', 'recorder', 'alexa', 'timer', 'automation', 'lovelace', 'sun', 'scene', 'blueprint', 'zeroconf', 'image', 'system_health', 'updater', 'script', 'config'} 2021-01-17 17:33:02 INFO (MainThread) [homeassistant.bootstrap] Setting up logging: {'system_log', 'recorder'} 2021-01-17 17:33:02 INFO (SyncWorker_15) [homeassistant.util.package] Attempting install of sqlalchemy==1.3.20 2021-01-17 17:33:20 INFO (MainThread) [homeassistant.setup] Setting up recorder 2021-01-17 17:33:20 INFO (SyncWorker_35) [homeassistant.util.package] Attempting install of aiohttp_cors==0.7.0 2021-01-17 17:33:21 INFO (MainThread) [homeassistant.setup] Setup of domain recorder took 0.6 seconds 2021-01-17 17:33:28 INFO (MainThread) [homeassistant.setup] Setting up http 2021-01-17 17:33:28 INFO (MainThread) [homeassistant.setup] Setup of domain http took 0.0 seconds 2021-01-17 17:33:28 INFO (MainThread) [homeassistant.setup] Setting up system_log 2021-01-17 17:33:28 INFO (MainThread) [homeassistant.setup] Setup of domain system_log took 0.0 seconds 2021-01-17 17:33:28 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 1: {'system_log', 'device_automation', 'webhook', 'onboarding', 'image', 'lovelace', 'search', 'http', 'websocket_api', 'alexa', 'person', 'cloud', 'config', 'api', 'frontend', 'auth'} 2021-01-17 17:33:28 INFO (MainThread) [homeassistant.setup] Setting up device_automation 2021-01-17 17:33:28 INFO (MainThread) [homeassistant.setup] Setup of domain device_automation took 0.0 seconds 2021-01-17 17:33:28 INFO (MainThread) [homeassistant.setup] Setting up webhook 2021-01-17 17:33:28 INFO (MainThread) [homeassistant.setup] Setup of domain webhook took 0.0 seconds 2021-01-17 17:33:28 INFO (SyncWorker_26) [homeassistant.util.package] Attempting install of pillow==7.2.0 2021-01-17 17:33:29 INFO (MainThread) [homeassistant.setup] Setting up lovelace 2021-01-17 17:33:29 INFO (MainThread) [homeassistant.setup] Setting up websocket_api 2021-01-17 17:33:29 INFO (MainThread) [homeassistant.setup] Setup of domain websocket_api took 0.0 seconds 2021-01-17 17:33:30 INFO (MainThread) [homeassistant.setup] Setting up alexa 2021-01-17 17:33:30 INFO (MainThread) [homeassistant.setup] Setup of domain alexa took 0.0 seconds 2021-01-17 17:33:30 INFO (MainThread) [homeassistant.setup] Setting up config 2021-01-17 17:33:30 INFO (MainThread) [homeassistant.setup] Setting up api 2021-01-17 17:33:30 INFO (MainThread) [homeassistant.setup] Setup of domain api took 0.0 seconds 2021-01-17 17:33:30 INFO (MainThread) [homeassistant.setup] Setting up auth 2021-01-17 17:33:30 INFO (MainThread) [homeassistant.setup] Setup of domain auth took 0.0 seconds 2021-01-17 17:33:30 INFO (MainThread) [homeassistant.setup] Setup of domain config took 0.3 seconds 2021-01-17 17:33:30 INFO (MainThread) [homeassistant.setup] Setup of domain lovelace took 1.8 seconds 2021-01-17 17:33:30 INFO (MainThread) [homeassistant.setup] Setting up search 2021-01-17 17:33:30 INFO (MainThread) [homeassistant.setup] Setup of domain search took 0.0 seconds 2021-01-17 17:33:45 INFO (SyncWorker_17) [homeassistant.util.package] Attempting install of hass-nabucasa==0.39.0 2021-01-17 17:33:45 INFO (MainThread) [homeassistant.setup] Setting up image 2021-01-17 17:33:45 INFO (MainThread) [homeassistant.setup] Setup of domain image took 0.0 seconds 2021-01-17 17:33:45 INFO (MainThread) [homeassistant.setup] Setting up person 2021-01-17 17:33:45 INFO (MainThread) [homeassistant.setup] Setup of domain person took 0.0 seconds 2021-01-17 17:33:46 INFO (MainThread) [homeassistant.setup] Setting up onboarding 2021-01-17 17:33:46 INFO (MainThread) [homeassistant.setup] Setup of domain onboarding took 0.0 seconds 2021-01-17 17:34:53 INFO (SyncWorker_1) [homeassistant.util.package] Attempting install of home-assistant-frontend==20201229.1 2021-01-17 17:34:53 INFO (SyncWorker_45) [homeassistant.loader] Loaded camera from homeassistant.components.camera 2021-01-17 17:34:53 INFO (SyncWorker_44) [homeassistant.loader] Loaded google_assistant from homeassistant.components.google_assistant 2021-01-17 17:34:53 INFO (SyncWorker_45) [homeassistant.loader] Loaded media_player from homeassistant.components.media_player 2021-01-17 17:34:55 INFO (MainThread) [homeassistant.setup] Setting up cloud 2021-01-17 17:34:55 INFO (MainThread) [homeassistant.setup] Setup of domain cloud took 0.3 seconds 2021-01-17 17:35:32 INFO (SyncWorker_21) [homeassistant.loader] Loaded device_tracker from homeassistant.components.device_tracker 2021-01-17 17:35:32 INFO (SyncWorker_47) [homeassistant.loader] Loaded hassio from homeassistant.components.hassio 2021-01-17 17:35:32 INFO (SyncWorker_48) [homeassistant.loader] Loaded panel_custom from homeassistant.components.panel_custom 2021-01-17 17:35:32 INFO (MainThread) [homeassistant.setup] Setting up frontend 2021-01-17 17:35:32 INFO (MainThread) [homeassistant.setup] Setup of domain frontend took 0.0 seconds 2021-01-17 17:35:32 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'mobile_app', 'media_source', 'counter', 'map', 'tts', 'history', 'input_datetime', 'input_boolean', 'input_select', 'tag', 'default_config', 'zone', 'group', 'input_number', 'input_text', 'ssdp', 'logbook', 'timer', 'automation', 'sun', 'scene', 'blueprint', 'zeroconf', 'system_health', 'updater', 'script'} 2021-01-17 17:35:32 INFO (MainThread) [homeassistant.setup] Setting up media_source 2021-01-17 17:35:32 INFO (MainThread) [homeassistant.setup] Setting up counter 2021-01-17 17:35:32 INFO (MainThread) [homeassistant.setup] Setting up map 2021-01-17 17:35:32 INFO (MainThread) [homeassistant.setup] Setup of domain map took 0.0 seconds 2021-01-17 17:35:33 INFO (SyncWorker_33) [homeassistant.util.package] Attempting install of mutagen==1.45.1 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up history 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain history took 0.0 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up input_datetime 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up input_boolean 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up input_select 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up tag 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up zone 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up group 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up input_number 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up input_text 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up logbook 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up timer 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up sun 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain sun took 0.3 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up scene 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.components.scene] Setting up scene.homeassistant 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up blueprint 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain blueprint took 0.0 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up system_health 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up script 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain script took 0.0 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain media_source took 0.7 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain group took 0.6 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain logbook took 0.5 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain scene took 0.2 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain system_health took 0.2 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain counter took 0.7 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain input_boolean took 0.6 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain input_datetime took 0.6 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain tag took 0.6 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain input_select took 0.6 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain input_number took 0.6 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain input_text took 0.6 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain timer took 0.6 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setting up automation 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain zone took 0.7 seconds 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.components.http] Now listening on port 8123 2021-01-17 17:35:33 INFO (MainThread) [homeassistant.setup] Setup of domain automation took 0.1 seconds 2021-01-17 17:35:45 INFO (SyncWorker_37) [homeassistant.util.package] Attempting install of zeroconf==0.28.8 2021-01-17 17:35:45 INFO (SyncWorker_9) [homeassistant.loader] Loaded google_translate from homeassistant.components.google_translate 2021-01-17 17:35:56 INFO (SyncWorker_57) [homeassistant.util.package] Attempting install of distro==1.5.0 2021-01-17 17:35:56 INFO (MainThread) [homeassistant.setup] Setting up zeroconf 2021-01-17 17:35:56 INFO (MainThread) [homeassistant.setup] Setup of domain zeroconf took 0.0 seconds 2021-01-17 17:36:05 INFO (MainThread) [homeassistant.setup] Setting up updater 2021-01-17 17:36:05 INFO (MainThread) [homeassistant.setup] Setup of domain updater took 0.0 seconds 2021-01-17 17:36:05 INFO (SyncWorker_10) [homeassistant.util.package] Attempting install of PyNaCl==1.3.0 2021-01-17 17:36:05 INFO (SyncWorker_40) [homeassistant.loader] Loaded binary_sensor from homeassistant.components.binary_sensor 2021-01-17 17:36:05 INFO (MainThread) [homeassistant.setup] Setting up binary_sensor 2021-01-17 17:36:05 INFO (MainThread) [homeassistant.setup] Setup of domain binary_sensor took 0.0 seconds 2021-01-17 17:36:05 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up binary_sensor.updater 2021-01-17 17:36:05 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new binary_sensor.updater entity: binary_sensor.updater 2021-01-17 17:36:05 INFO (MainThread) [homeassistant.components.updater] Submitted analytics to Home Assistant servers. Information submitted includes {} 2021-01-17 17:36:17 INFO (SyncWorker_27) [homeassistant.util.package] Attempting install of emoji==0.5.4 2021-01-17 17:36:27 INFO (SyncWorker_41) [homeassistant.util.package] Attempting install of gTTS==2.2.1 2021-01-17 17:36:27 INFO (SyncWorker_62) [homeassistant.loader] Loaded notify from homeassistant.components.notify 2021-01-17 17:36:27 INFO (MainThread) [homeassistant.setup] Setting up mobile_app 2021-01-17 17:36:27 INFO (MainThread) [homeassistant.setup] Setup of domain mobile_app took 0.0 seconds 2021-01-17 17:36:27 INFO (MainThread) [homeassistant.setup] Setting up notify 2021-01-17 17:36:27 INFO (MainThread) [homeassistant.setup] Setup of domain notify took 0.0 seconds 2021-01-17 17:36:27 INFO (MainThread) [homeassistant.components.notify] Setting up notify.mobile_app 2021-01-17 17:36:38 INFO (MainThread) [homeassistant.setup] Setting up tts 2021-01-17 17:36:38 INFO (SyncWorker_42) [homeassistant.components.tts] Create cache dir /home/pi/.homeassistant/tts 2021-01-17 17:36:38 INFO (SyncWorker_29) [homeassistant.util.package] Attempting install of defusedxml==0.6.0 2021-01-17 17:36:38 INFO (MainThread) [homeassistant.setup] Setup of domain tts took 0.0 seconds 2021-01-17 17:36:47 INFO (SyncWorker_17) [homeassistant.util.package] Attempting install of netdisco==2.8.2 2021-01-17 17:36:57 INFO (MainThread) [homeassistant.setup] Setting up ssdp 2021-01-17 17:36:57 INFO (MainThread) [homeassistant.setup] Setup of domain ssdp took 0.0 seconds 2021-01-17 17:36:57 INFO (MainThread) [homeassistant.setup] Setting up default_config 2021-01-17 17:36:57 INFO (MainThread) [homeassistant.setup] Setup of domain default_config took 0.0 seconds 2021-01-17 17:36:57 INFO (MainThread) [homeassistant.bootstrap] Home Assistant initialized in 251.32s 2021-01-17 17:36:57 WARNING (MainThread) [homeassistant.bootstrap] Support for the running Python version 3.7.3 is deprecated and will be removed in the first release after December 7, 2020. Please upgrade Python to 3.8.0 or higher. 2021-01-17 17:36:57 INFO (MainThread) [homeassistant.core] Starting Home Assistant 2021-01-17 17:36:57 INFO (MainThread) [homeassistant.core] Timer:starting 2021-01-17 17:36:57 INFO (SyncWorker_47) [homeassistant.components.zeroconf] Starting Zeroconf broadcast 2021-01-17 17:36:57 INFO (SyncWorker_48) [homeassistant.loader] Loaded cast from homeassistant.components.cast 2021-01-17 17:36:57 INFO (SyncWorker_49) [homeassistant.util.package] Attempting install of pychromecast==7.6.0 2021-01-17 17:36:58 INFO (SyncWorker_51) [homeassistant.loader] Loaded xiaomi_miio from homeassistant.components.xiaomi_miio 2021-01-17 17:36:58 INFO (SyncWorker_50) [homeassistant.loader] Loaded xiaomi_aqara from homeassistant.components.xiaomi_aqara 2021-01-17 17:36:58 INFO (SyncWorker_23) [homeassistant.loader] Loaded homekit_controller from homeassistant.components.homekit_controller 2021-01-17 17:37:04 ERROR (MainThread) [homeassistant] Error doing job: SSL handshake failed Traceback (most recent call last): File "/usr/lib/python3.7/asyncio/sslproto.py", line 625, in _on_handshake_complete raise handshake_exc File "/usr/lib/python3.7/asyncio/sslproto.py", line 189, in feed_ssldata self._sslobj.do_handshake() File "/usr/lib/python3.7/ssl.py", line 763, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:1056) 2021-01-17 17:37:04 ERROR (MainThread) [homeassistant] Error doing job: SSL error in data received Traceback (most recent call last): File "/usr/lib/python3.7/asyncio/sslproto.py", line 526, in data_received ssldata, appdata = self._sslpipe.feed_ssldata(data) File "/usr/lib/python3.7/asyncio/sslproto.py", line 189, in feed_ssldata self._sslobj.do_handshake() File "/usr/lib/python3.7/ssl.py", line 763, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:1056) 2021-01-17 17:37:04 INFO (SyncWorker_52) [homeassistant.loader] Loaded upnp from homeassistant.components.upnp 2021-01-17 17:37:04 INFO (SyncWorker_14) [homeassistant.loader] Loaded synology_dsm from homeassistant.components.synology_dsm 2021-01-17 17:37:14 INFO (SyncWorker_53) [homeassistant.util.package] Attempting install of construct==2.10.56 2021-01-17 17:37:14 INFO (SyncWorker_36) [homeassistant.loader] Loaded plex from homeassistant.components.plex 2021-01-17 17:37:23 INFO (SyncWorker_35) [homeassistant.util.package] Attempting install of python-miio==0.5.4 2021-01-17 17:37:46 INFO (SyncWorker_24) [homeassistant.util.package] Attempting install of PyXiaomiGateway==0.13.4 2021-01-17 17:37:56 INFO (SyncWorker_55) [homeassistant.util.package] Attempting install of aiohomekit==0.2.60 2021-01-17 17:37:56 INFO (SyncWorker_4) [homeassistant.loader] Loaded discovery from homeassistant.components.discovery 2021-01-17 17:38:08 INFO (SyncWorker_16) [homeassistant.util.package] Attempting install of async-upnp-client==0.14.13 2021-01-17 17:38:21 INFO (SyncWorker_25) [homeassistant.util.package] Attempting install of synologydsm-api==1.0.1 2021-01-17 17:38:32 INFO (SyncWorker_58) [homeassistant.util.package] Attempting install of plexapi==4.2.0 2021-01-17 17:38:43 INFO (SyncWorker_6) [homeassistant.util.package] Attempting install of plexauth==0.0.6 2021-01-17 17:38:51 INFO (SyncWorker_59) [homeassistant.util.package] Attempting install of plexwebsocket==0.0.12 2021-01-17 17:39:02 INFO (SyncWorker_60) [homeassistant.loader] Loaded sonos from homeassistant.components.sonos 2021-01-17 17:39:02 INFO (SyncWorker_5) [homeassistant.util.package] Attempting install of pysonos==0.0.37
서비스 등록
home assistant 설정이 완료되었으면 OS 재 시작 후에도 정상적으로 서비스가 올라오도록 서비스를 활성화하자.
서비스 파일은 최대한 간단하게 생성하였다.pi@autohome:~ $ cat /etc/systemd/system/homeassistant.service [Unit] Description=Home Assistant Service After=network.target Wants=network.target [Service] #Environment="PYTHONHOME=/opt/hass" #Environment="PYTHONPATH=/opt/hass/bin" #Environment="PYTHONIOENCODING=utf-8" #ExecStart=/opt/hass/bin/hass ExecStart=/bin/bash -c 'cd /opt/hass && source bin/activate && hass' Type=simple User=pi Group=pi [Install] WantedBy=multi-user.target pi@autohome:~ $ sudo systemctl daemon-reload pi@autohome:~ $ sudo systemctl enable homeassistant.service Created symlink /etc/systemd/system/multi-user.target.wants/homeassistant.service → /etc/systemd/system/homeassistant.service. pi@autohome:~ $
접속 테스트
접속은 IP:8123으로 접속해보면 된다.
반응형'IT' 카테고리의 다른 글
PostgreSQL 13 Streaming Replication Installation (0) 2021.06.01 Fedora CoreOS PXE Boot 가이드 (0) 2021.01.30 CKA 인증 (0) 2021.01.13 Kubernetes Ingress 설정 방법 (LoadBalancer) (0) 2021.01.12 CentOS kickstart example (0) 2021.01.01