본문 바로가기
Hardware/Home Assistant(라즈베리파이)

라즈베리파이에 Home Assistant(HA) 수동 설치법

by lovey25 2020. 10. 22.
반응형

전자제품 좋아하고 메이커 활동에 취미가 있다면 자연스럽게 이어지는 목적지 중 하나가 홈오토메이션인 것 같습니다. 저도 거창한 시스템은 돈이 많이 들 것 같아서 생각도 안 했지만 ESP8266 사용하면서 하나씩 시도해보고 그러다가 Home Assistant(HA), ESPHome 같은 솔루션들을 접하게 되었습니다.

오늘은 그 시작이라고 할 수 있는 HA 설치를 해보려 합니다. 지난번에 3D 프린터 용으로 OctoPrint를 사용하기 위해서 라즈베리파이를 준비했었는데 이렇게 또 활용처가 하나 더 늘었네요. 

HA를 설치하는 방법은 여러 가지가 있는데요. HA에 최적화된 라즈베리파이용 OS인 HASS.io의 이미지로 설치할 수도 있고 아니면 OS가 이미 설치된 라즈베리파이에 매뉴얼로 설치할 수 있는 방법도 있습니다. 라즈베리파이를 특정용 로도 만 한정해서 쓰지 않고 필요에 따라서 이것저것 모두 사용할 수 있기 때문에 저는 수동으로 기존 OS에 추가 설치하는 방법을 시도해봤습니다. 아래 공식 사이트에서 설치 매뉴얼 확인할 수 있는데요. 한번 따라 해 보겠습니다.

(아 그전에 HA의 Add-on기능을 사용하셔야 하는 분은 수동설치를 하시면 안됩니다. 참고하세요. 이유는 뒤쪽에...)

 

Manual installation on a Raspberry Pi

Instructions to install Home Assistant Core on a Raspberry Pi running Raspberry Pi OS Lite.

www.home-assistant.io

설치를 시작하기 전에 라즈베리 파이 패키지 업데이트 한번 해줍니다.

pi@raspberrypi :~ $ sudo apt-get update
pi@raspberrypi :~ $ sudo apt-get upgrade

오랜만에 업데이트라 그런지 좀 오래 걸리네요. 환경에 따라서 소요시간이 다를 수 있으니 인내심을 가지고 기다려줍니다. ㅎ 그리고 패키지 업데이트가 끝났으면 HA설치에 필요한 파일들을 우선 설치해 줍니다. 

pi@raspberrypi :~ $ sudo apt-get install python3 python3-dev python3-venv python3-pip libffi-dev libssl-dev libtiff-dev autoconf build-essential libopenjp2-7

역시 시간이 좀 소요됩니다. 알아서 이미 깔려있는 것과 그렇지 않은 것을 구별해주니 별생각 없이 설치법의 명령어 그대로 복사해서 붙여 넣기 했습니다.

다음으로 HA를 컨트롤하는 시스템 계정으로 homeassistant를 추가해 줍니다. -rm이라는 옵션이 시스템 계정이며 홈 폴더까지 생성하라는 옵션이라고 합니다. 그리고 라즈베리파이의 GPIO와 시리얼을 사용할 수 있도록 사용자 그룹에 HA계정을 추가합니다.

계정을 만들고 나서 "/srv"폴더에 HA 설정용 폴더로 보이는 "homeassistant" 폴더를 생성하고 소유권을 방금 만들었던 HA계정으로 넘겨줍니다. (음.. 이유는 모르지만 그냥 따라 하고 있습니다.)

pi@raspberrypi :~ $ sudo useradd -rm homeassistant -G dialout,gpio,i2c
pi@raspberrypi :~ $ cd /srv
pi@raspberrypi :/srv $ sudo mkdir homeassistant
pi@raspberrypi :/srv $ sudo chown homeassistant:homeassistant homeassistant

이제 HA 계정으로 갈아타고 아까 만들어둔 "/srv/homeassistant/"폴더로 이동해서 HA를 설치할 가상 환경을 활성화합니다.

pi@raspberrypi :/srv $ sudo -u homeassistant -H -s
homeassistant@raspberrypi :/srv $ cd homeassistant
homeassistant@raspberrypi :/srv/homeassistant $ python3 -m venv .
homeassistant@raspberrypi :/srv/homeassistant $ source bin/activate
(homeassistant) homeassistant@raspberrypi :/srv/homeassistant $ 

가이드에는 "python3.8 -m venv ."으로 되어 있는데 에러가 나네요. 그래서 저는 일단 "python3 -m venv ."로 바꿔서 진행했습니다. (나중에 알게 된 사실인데 HA은 파이썬 3.8 이상을 권장하고 있습니다. 아직은 3.7 버전도 사용 가능하긴 한데 곧 업데이트가 되면 3.8 이하는 더 이상 지원하지 않는다고 합니다.)

가상 환경의 활성화 여부는 프롬포트의 변경으로 확인할 수 있습니다. 이제 가상 환경이 준비되었습니다.

HA를 아래와 같이 설치합니다.

(homeassistant) homeassistant@raspberrypi :/srv/homeassistant $  python3 -m pip install wheel
(중략)
(homeassistant) homeassistant@raspberrypi :/srv/homeassistant $  pip3 install homeassistant

여기까지 하면 설치가 끝났고 이제 "hass" 명령어를 입력하면 HA 서버를 실행할 수 있습니다.

pi@raspberrypi :~ $ hass

실행이 되면 HA는 라즈베리파이의 아이피 주소와 기본 포트번호 8123 (00.00.00.00:8123)으로 접속할 수 있는데요. 처음 실행을 하면 대기시간이 좀 필요합니다. 엄~청 기다려야 합니다. 초기화 작업 및 필요한 파일 다운로드 등을 하는데 가이드에서는 5~10분가량이 소요된다고 쓰여있는데... 이건 하드웨어 성능도 좋고 네트워크 환경도 좋을 때 얘기인 거 같습니다. 제 경우 몇 시간이 걸렸는지 모르겠습니다. 하도 반응이 없어서 안 되는 줄 알고 껐다 켜기를 서너 번 했었거든요.

"hass"로만 실행하면 뒤에서 무슨 일이 벌어지고 있는지 잘 모르기 때문에 실행 로그를 자세하게 남기는 옵션인 -v를 추가해서 "hass -v" 명령으로 실행하고 기다렸습니다.

한~참이 지나서.. 아래와 같이 Starting HA라는 메시지가 나오면 이제 거의 끝난 겁니다.

로그상 약 40분 정도 걸린 것으로 보이는데 그전에 몇 번 중단시켜서 이미 진행된 초기화 작업들도 있을 거라고 생각하면 다 합치면 한두 시간은 족히 걸리지 않았을까 싶습니다. ㅡ.,ㅡ

혹시 수동으로 설치를 시도했는데 안 되는 것 같아서 포기하신 분이 계시다면 인내를 가지고 좀 더 기다려보세요. 그럼 문이 열릴 수도 있습니다.

HA 서버가 정상적으로 동작한다면 웹브라우저로 접속해서 HA 로그인 페이지를 만날 수 있습니다. 

로그인을 하고 나니 몇 개 알림이 와있네요.

HA가 정상적으로 동작하기 전에 저는 중간에 중단을 여러 번 해서인지 안전모드로 동작하고 있다는 알림이 떠 있고 그리고 파이썬 버전이 낮다는 알림이와 있습니다. 파이썬은 곧 업그레이드해야겠네요.

자, 이제 제가 요즘 심취해서 공부 중인 ESP8266 모듈을 HA에 연결해서 쓸 수 있도록 해 준다는 ESPHome이라는 확장 프로그램을 설치해 봐야겟... 어라?!

HA는 다양한 확장 프로그램을 지원하고 제3자 확장 프로그램도 많아서 무궁무진한 활용이 가능하다고 다들 얘기했는데요. 이상하게 서버의 관리자 페이지를 아무리 뒤져도 확장 프로그램을 설치할 수 있는 메뉴가 없습니다. 

그런데 홈페이지에 이런 내용은 안내가 있네요.

HA Add-on을 사용하려면 HA 이미지를 이용해서 설치해야만 한답니다. 그러니까 HASS.io를 사용하지 않으면 안 된다는 거죠... 찾아보니 방법이 아주 없지는 않은 것 같지만 제 수준을 넘어서는 것 같아서 일단 여기서 접기로 했습니다. ㅡ.,ㅡ

다행이라면 요즘 OctoPrint를 거의 사용하지 않기 때문에 라즈베리파이를 HA 전용으로 사용해도 괜찮을 것 같은데 SD카드 하나 더 사서 다음에는 HASS.io를 설치해 봐야겠네요.

 

끝!

반응형

댓글