Home Assistant 설치

Home Assistant 설치

요약: Home Assistant 설치하기

Smartthings를 활용하여 집 IoT를 구성하였다. 하지만 Smartthings의 DTH가 지원 종료하며 DTH를 사용하던 모든 기기들은 edge 드라이버로 전환이 필요하였다. Edge 드라이버가 제공되는 기기들은 그나마 전환이 쉬웠지만, Edge 미지원 또는 일부 지원하는 기기의 전환은 쉬운 것이 아니었다. 결국 이 사건이 계기가 되어 Home Assistant (HA)는 요즘 어떤가 궁금하여 HA를 다시 설치해 보았다.  지금은 Smartthings가 메인이지만 HA도 사용하며 테스트를 해보려 한다.

HA는 Proxmox + HAOS VM으로 설치하였다. 참고로 HA를 Proxmox LXC + docker 환경에서 설치하려 했으나, LXC에서는 설치가 되지 않았다. 또한 Proxmox + Debian 11 VM + HA Supervised docker로 설치해 보았으나, 이 환경에서는 add-on 설치 시 add-on 미지원 에러 발생하였다.

설치 방법

HAOS 설치는 tteck의 비공식 스크립트를 사용하였다.

참고로 native 환경에서는 HA의 Supervised 설치 가이드를 따라 설치한다.

설치 후 설정

MQTT와 Zigbee to MQTT 설치한다. Add-on을 통해하면 된다.

Zigbee USB 동글 연결

USB 동글 연결 후 재부팅하면 Proxmox에서 동글이 인식된다.

동글을 다음 그림과 같이 VM에 연결해줘야 한다.

그러면 Home Assistant에서 USB 동글을 볼 수 있다.

혹시 Zigbee2MQTT 메뉴가 502 에러 발생하면, 다음과 같이 serial 부분을 추가한다. serial은 port: 로 시작한다.

Addon 설치

File Editor: Home Assistant config 수정을 위해 File editor를 설치 한다. 설치 시 옵션은 다음과 같이 한다.

Reverse Proxy 설정

NPM을 사용하여 reverse proxy 설정하고 URL로 Home Assistant 접속했을 시 에러가 발생한다. 이는 Home Assistant가 proxy 서버를 알지 못하기 때문이다. 수정을 위해/config/configuration.yaml 에 다음 라인을 추가한다.

http:
  use_x_forwarded_for: true
  trusted_proxies:
    - 192.168.1.200

그래도 에러 발생하면 설치 방법에 따라 trusted_proxies 의 주소가 docker 내부 주소일 수 있다. 이경우 설정 -> 시스템 -> 로그에 가서 에러를 확인해보면 proxy 주소가 나와있다. 그 주소를 trusted_proxies에 넣는다.

기타

Xiaomi (Yeelight) 데스크 램프 설정

기기 설정은 다음과 같이한다.

설정 -> 기기 및 서비스 -> 통합요소 추가 -> Yeelight -> IP 추가 (192.168.0.51)

기기를 찾는데 시간이 걸릴 수 있다. 상황에 따라 기기 껐다 켰다를 몇 번 해줘야 할 수도 있다.

Xiaomi  공기청정기 설정

설정 -> 기기 및 서비스 -> 통합요소 추가 -> Xiaomi mio

기기 추가를 위해 샤오미 계정으로 로그인 한다.

id: [email protected]
password: xxx
country: cn

샤오미 계정에 등록된 기기 리스트가 나오면, 클릭하여 HA에 추가한다.

사용 후기

HAOS를 VM으로 설치했을 때 Proxmox 서버의 전력 사용량이 상당히 증가하였다. HAOS 설치 전 서버는 Idle 시 약 7W 정도를 사용했는데, HAOS 설치 후 기본 17W를 사용했다. 순정 Ubuntu VM 실행했을 때도 Idle 시에는 ~7W 소비하였기에 이부분은 매우 이상했다.

또한 HAOS 실행 중 실수로 Zigbee USB 동글을 제거해보니, 이 동글을 찾으려고 하는지 CPU 사용량이 갑자기 높아지며, 전력량도 ~30W로 늘어났고 이 상태를 계속 유지하였다. 조금 더 사용해봐야 하겠지만,  Zigbee 동글 제거할 일이 있으면 VM끄고 작업해야 겠다.