본문 바로가기

리눅스/홈어시스턴트

우분투에 홈어시스턴트 supervised 도커로 설치하기

반응형

LG의 무선 진공청소기를 샀는데 이게 IoT기능이 들어가서

휴대폰으로 이것 저것 조작할 수 있었다.

 

그런데 진공청소기를 다 쓰고 충전 거치대에 걸어놓으면

충전이 다 되었다고 폰으로 알림이 온다.

 

뭔가 계속 충전하고 있으면 배터리 수명에 안 좋을 것 같아서

홈어시스턴트로 청소기 전원을 컨트롤 해보기로 했다.

 

 

1. 장치 리스트

내가 스마트홈 구축을 위해 사용한 장치들은 딱 세가지다.

 

(1) 오디세이 SBC

SeeedStudio에서 출시한 Odyssey x86 J4125 를 리눅스 서버로 선택했다.

손바닥만한 사이즈에 깔끔한 호환 케이스도 존재하고,

메모리도 8GB인데다가 SSD도 별도 장착이 가능하다.

USB DP-ALT를 지원해서 C type 케이블로 모니터 출력이 가능하고

랜 포트도 두개나 달려있어서

이거 완전 홈서버용이잖아 ? 싶었다.

 

CPU도 인텔의 J4125를 탑재해서 개인용 홈서버로 사용하기에는 차고 넘치는 성능이다.

 

나는 여기에 우분트 22.04 LTS 버전을 설치해주었다.

 

(2) Sonoff 지그비 동글-P

Sonoff에서 출시한 zigbee Dongle-P를 지그비 코디네이털로 선택했다.

왜 지그비냐고 ?

국내에서 높은 인지도를 갖고있는 다원의 서버 관리 상태를 보고

자체 서버를 사용하는 IoT 제품들을 신뢰하지 않게 되었다.

 

그래서 앞서 말한 개인용 홈서버를 이용해 직접 IoT장치들을 컨트롤하려고 한다.

와이파이나 블루투스로 통신할수도 있지만,

나는 지그비가 좋아서 지그비 동글을 선택했다.

이 동글을 이용하면 지그비 통신이 가능한 IoT 장치들을 홈 서버에 연결할 수 있다.

 

(3) 다원 파워매니저 지그비 스마트플러그

앞에서 다원을 깠지만 그래도 제법 규모 있는 국내 IoT 제품 제조사이므로

다원의 파워매니저 브랜드에서 출시한 지그비 스마트 플러그를 구매했다.

 

지그비 방식으로 서버와 통신하고, 디자인도 깔끔한데다가 국내에서 쉽게 구할 수 있어서 샀다.

또한 저기 초록색으로 빛나는 버튼을 누르면 플러그를 수동으로 켜고 끌 수 있기 때문에

서버가 먹통이 되어도 직접 전원을 통제할 수 있다.

 

 

2. Homeassistant 설치 방법

(1)  우분투 설치

VMWare나 ESXi 등의 가상머신을 이용해 가상환경에 우분투를 설치해도 되지만

나는 오디세이에 직접 우분투를 설치했다.

 

https://ubuntu.com/#download

 

Enterprise Open Source and Linux | Ubuntu

Ubuntu is the modern, open source operating system on Linux for the enterprise server, desktop, cloud, and IoT.

ubuntu.com

여기서 우분투 데스크탑 22.04LTS 버전을 다운받고

https://rufus.ie/ko/

 

Rufus - 간편하게 부팅 가능한 USB 드라이브 만들기

Rufus는 USB 메모리 및 플래시 드라이브를 포맷하고 부팅할 수 있도록 만드는 도구입니다. 그리고 Rufus는 빠릅니다. ISO 이미지에서 Windows 7 설치 USB 드라이브를 만들 때 UNetbootin, Universal USB Installer, W

rufus.ie

여기서 다운받은 rufus를 이용해 USB에 우분투 부팅 디스크를 만들어준다.

 

만들어진 USB를 오디세이에 꽂고 부팅을 하면 되는데,

오디세이에는 이미 윈도우가 설치되어 있는 상태여서

바이오스 환경에서 USB 부팅을 설정해서 우분투 설치를 진행해줬다.

 

(2) 우분투에 도커로 HomeAssistant Supervised 설치하기

홈어시스턴트는 여러 종류가 있는데, 그 중에서도 가장 중요한게 '애드온'의 사용 가능 여부다.

이 애드온을 사용하기 위해서는 Supervisor 기능이 포함된 HomeAssistant를 설치해야 한다.

 

원래는 우분투에 그냥 HomeAssistant Core를 설치하면 아주 쉬운데

이 Core 버전은 Supervisor가 없어서 애드온을 쓸 수 없다.

 

아무튼 Supervised 버전을 설치하는 방법이 공식 홈페이지에는 없어서 고생을 좀 했다.

 

ㄱ. 기본 프로그램 설치하기

sudo apt upadte

sudo apt install \
apparmor \
jq \
wget \
curl \
udisks2 \
libglib2.0-bin \
network-manager \
dbus \
systemd-journal-remote -y

저기 보이는 apparmor와 jq, wget 등등은 홈어시스턴트를 설치하기 위해 필요한 도구들이니 잘 설치해주자.

 

ㄴ. 도커 설치하기

curl -fsSL get.docker.com | sh

도커 설치하는 방법은 쉽다.

이 명령어만 입력하면 된다.

 

ㄷ. OS-Agent 설치하기

wget https://github.com/home-assistant/os-agent/releases/download/1.4.1/os-agent_1.4.1_linux_x86_64.deb

sudo dpkg -i os-agent_1.0.0_linux_x86_64.deb

OS-Agent는 HomeAssistant Supervisor를 OS와 연계시켜준다는데

자세한건 나도 잘 모르겠다...일단 설치하자

 

ㄹ. HomeAssistant Supervised 설치하기

wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb

sudo dpkg -i homeassistant-supervised.deb

이제 이 명령어를 실행하면 도커에 홈 어시스턴트와 관련된 컨테이너들이 올라간다.

 

이러고나서 좀 기다려야 한다.

도커에 컨테이너들이 올라가는 속도가 느려서 바로 완료되지가 않더라

 

아무튼 좀 기다린 뒤에 인터넷 창 주소창에서 [홈서버의IP주소:8123]을 입력하면 된다.

 

홈서버의 IP주소를 모른다고?

 

ip a

터미널에서 이 명령어를 입력하면 된다.

공유기에 연결되어 있다면 192.168.0.XX형태로 나온다.

반응형