Home Assistant

Zigbee가 뭔가요? Home Assistant + Zigbee2MQTT 세팅 완벽 가이드

오놀의 운세 2025. 11. 5. 21:14

Home Assistant(HA) 시리즈의 5편에서, 우리는 'Xiaomi Miot Auto'를 이용해 샤오미의 Wi-Fi(와이파이) 기기들을 연동했습니다. 하지만 이것은 스마트홈의 '맛보기'에 불과합니다.

HA 스마트홈의 진정한 '꽃'이자 '핵심'은 바로 'Zigbee(지그비)'입니다.

여러분은 "왜 Wi-Fi가 있는데 굳이 Zigbee라는 복잡한 걸 또 써야 하지?"라고 생각하실 수 있습니다. 혹은 이미 Aqara(아카라), Tuya(투야), 필립스 휴(Hue) 등 여러 브랜드의 Zigbee 기기를 사용하면서, 각 브랜드의 '허브(게이트웨이)'를 따로따로 관리하는 데 지쳐있을지도 모릅니다.

오늘은 왜 Zigbee가 필수인지, 그리고 이 모든 브랜드의 허브를 집어던지고, 단돈 만 원짜리 USB 동글 하나로 모든 Zigbee 기기를 '대통합'시키는 궁극의 솔루션, 'Zigbee2MQTT' (Z2M) 세팅법을 완벽하게 알려드립니다.

1. Zigbee vs Wi-Fi: 왜 Zigbee가 필수인가?

스마트홈 기기에는 왜 Wi-Fi 방식과 Zigbee 방식이 나뉘어 있을까요? 둘의 역할이 완전히 다르기 때문입니다.

  • Wi-Fi (와이파이): 고대역폭, 고전력 소모
    • 특징: 빠르고 많은 데이터를 전송합니다. (예: 영상 스트리밍)
    • 용도: 스마트 TV, 스피커, 카메라 등 항상 전원에 연결되어 있고 많은 데이터가 필요한 기기에 적합합니다.
    • 단점: 전력 소모가 큽니다. 만약 도어 센서를 Wi-Fi로 만들면, 배터리가 며칠 만에 방전될 것입니다.
  • Zigbee (지그비): 저대역폭, 초저전력 소모
    • 특징: 아주 적은 데이터(예: '열림/닫힘', '온도 23도')만 가끔 보냅니다.
    • 용도: 문 열림 센서, 동작 감지 센서, 온도 센서, 리모컨 버튼 등 '배터리'로 작동하는 소형 기기에 절대적으로 유리합니다. (CR2032 같은 작은 동전 배터리 하나로 1년~2년을 버팁니다.)
    • 핵심 장점: '메시 네트워크(Mesh Network)'

2. Zigbee의 핵심: '메시 네트워크'란?

Wi-Fi는 '스타(Star)' 방식입니다. 모든 기기가 '공유기'라는 중앙 허브에 1:1로 연결되어야 합니다. 공유기에서 멀리 떨어진 지하실의 센서는 신호가 약해 작동이 안 될 수 있습니다.

Zigbee는 '메시(Mesh)' 방식입니다.

  1. '코디네이터(Coordinator)' (오늘 우리가 설치할 USB 동글)가 대장 역할을 합니다.
  2. 배터리로 작동하는 '엔드 디바이스(End Device)' (센서, 버튼 등)가 코디네이터와 통신합니다.
  3. 전원에 연결된 '라우터(Router)' (스마트 플러그, 스마트 전구 등)가 '중계기' 역할을 합니다.

즉, 지하실의 도어 센서(엔드 디바이스)는 바로 옆의 스마트 플러그(라우터)와 통신하고, 그 플러그는 1층의 스마트 전구(라우터)와 통신하며, 그 전구가 최종적으로 2층의 코디네이터(USB 동글)에게 신호를 '릴레이' 해줍니다.

이 중계기(라우터)들이 그물망처럼 연결되어, 집이 아무리 넓고 복잡해도 음영 지역 없이 네트워크를 매우 안정적으로 확장합니다.

3. ZHA vs Zigbee2MQTT: 무엇을 선택해야 할까?

Home Assistant에서 Zigbee를 사용하는 방법은 크게 두 가지입니다.

  1. ZHA (Zigbee Home Automation): HA에 '공식' 내장된 기능입니다. 설정이 비교적 간단하고, 애드온(Add-on)을 따로 설치할 필요가 없어 초보자에게 좋습니다.
  2. Zigbee2MQTT (Z2M): '커뮤니티' 기반의 별도 애드온입니다. MQTT 브로커라는 '우체국' 프로그램을 중간에 하나 더 설치해야 해서 조금 더 복잡합니다.

그런데 왜 많은 '고수'들이 ZHA 대신 Z2M을 추천할까요?

  • 압도적인 기기 호환성: Z2M은 전 세계 개발자들이 실시간으로 기기를 추가합니다. 알리익스프레스에서 구매한 정체불명의 Zigbee 기기도 Z2M에서는 인식될 확률이 ZHA보다 훨씬 높습니다.
  • 강력한 제어 기능: 기기의 세세한 옵션까지 설정할 수 있고, 네트워크 맵, 신호 강도 등 디버깅에 필요한 정보를 훨씬 강력하게 제공합니다.
  • HA와의 분리: Z2M은 별도 프로그램이므로, HA를 재시작해도 Zigbee 네트워크는 죽지 않고 계속 살아있습니다.

우리는 이 시리즈에서 '궁극의 스마트홈'을 지향하므로, 조금 더 복잡하더라도 강력한 'Zigbee2MQTT'를 설치할 것입니다.

4. [실습 1] 하드웨어 및 소프트웨어 준비

1) 하드웨어: Zigbee 코디네이터 (USB 동글)

여러분의 HA 서버(라즈베리파이/노트북)에 꽂아줄 '대장'이 필요합니다. 2025년 기준, 가장 검증되고 추천되는 모델은 'Sonoff Zigbee 3.0 USB Dongle Plus (모델 P)'입니다. (E 모델도 있지만 P 모델이 Z2M과 호환성이 더 검증되었습니다.)

알리익스프레스나 국내 쇼핑몰에서 1~2만 원대에 구매할 수 있습니다.

2) 소프트웨어: '우체국'과 '번역기'

Z2M은 이름 그대로 "Zigbee 신호"를 "MQTT 메시지"로 번역(2)해주는 '번역기'입니다.

  • MQTT (Message Queuing Telemetry Transport): IoT 기기 간의 초경량 메시지 프로토콜입니다. '우체국'이라 생각하면 쉽습니다.
  • Zigbee2MQTT (번역기): Zigbee 센서로부터 "열림!" 신호를 받으면, "homeassistant/sensor/door/state"라는 주소로 "OPEN"이라는 편지를 써서 MQTT 우체국에 보냅니다.
  • Home Assistant (수신자): HA는 이 우체국을 구독(Subscribe)하고 있다가, 편지가 도착하면 "아, 현관문이 열렸구나!"라고 인지합니다.

따라서 우리는 HA에 'Mosquitto' (우체국 애드온)와 'Zigbee2MQTT' (번역기 애드온) 2개를 설치해야 합니다.

5. [실습 2] Mosquitto MQTT 브로커(우체국) 설치

  1. [설정] > [애드온] > [애드온 스토어]로 이동합니다.
  2. "Mosquitto broker"를 검색하여 설치합니다.
  3. [시작]을 누르기 전에, [구성] 탭으로 이동합니다. logins: [] 항목을 찾아 다음과 같이 수정합니다. (새로운 MQTT 전용 사용자를 만드는 것입니다.) logins: - username: mqtt_user password: mqtt_password (username과 password는 원하는 것으로 설정하되, HA 로그인 계정과 다르게 만드세요.)
  4. [저장]을 누르고 [시작] 버튼을 눌러 Mosquitto를 실행합니다.
  5. [설정] > [기기 및 서비스]로 이동하면, 'MQTT'가 자동으로 발견되었을 것입니다. [설정하기]를 누릅니다.
  6. [브로커]에 localhost (또는 core-mosquitto), [포트]에 1883을 입력하고, 3번에서 만든 mqtt_user와 mqtt_password를 입력합니다.
  7. [제출]을 누르면 '성공' 메시지와 함께 MQTT 우체국이 HA와 공식적으로 연결됩니다.

6. [실습 3] Zigbee2MQTT (번역기) 설치 및 설정

Z2M은 공식 애드온 스토어에 없습니다. '저장소'를 추가해야 합니다.

  1. [설정] > [애드온] > [애드온 스토어]로 이동합니다.
  2. 오른쪽 상단의 점 3개 메뉴를 클릭하고 [저장소]를 선택합니다.
  3. 입력창에 다음 GitHub 주소를 정확히 붙여넣고 [추가]를 누릅니다. https://github.com/zigbee2mqtt/hassio-zigbee2mqtt
  4. 저장소가 추가되면, 스토어 목록 아래에 'Zigbee2MQTT'가 새로 생깁니다. 설치합니다.
  5. [시작]을 누르기 전, USB 동글을 HA 서버에 꽂습니다.
  6. [설정] > [시스템] > [하드웨어] > (점 3개 메뉴) > [전체 하드웨어]로 이동합니다.
  7. 'tty' 또는 'serial' 항목에서 여러분의 Sonoff 동글 주소를 찾습니다. 보통 /dev/ttyUSB0 또는 /dev/serial/by-id/usb-ITEAD_Sonoff_... 같은 긴 주소입니다. 이 'ID'로 시작하는 긴 주소를 복사합니다. (이 주소는 절대 바뀌지 않아 더 안정적입니다.)
  8. 다시 Zigbee2MQTT 애드온의 [구성] 탭으로 돌아옵니다.
  9. serial 항목을 찾습니다. port 부분에 방금 복사한 동글 주소(예: /dev/serial/by-id/usb-ITEAD_...)를 붙여넣습니다.
  10. mqtt 항목을 찾아, 5번 실습에서 만든 Mosquitto 브로커의 사용자 정보(mqtt_user, mqtt_password)를 정확하게 입력합니다.
  11. [저장]을 누르고 [시작] 버튼을 누릅니다.
  12. [로그] 탭을 눌러 "Successfully connected to MQTT broker"와 "Zigbee adapter online" 메시지가 뜨는지 확인합니다.

7. 첫 번째 센서 페어링하기

로그가 정상이라면, 모든 준비가 끝났습니다.

  1. Zigbee2MQTT 애드온 페이지에서 [Web UI 열기] 버튼을 클릭합니다.
  2. Z2M 전용 대시보드가 열립니다. 오른쪽 상단의 'Permit join (All)' (안테나 모양 아이콘) 버튼을 클릭합니다.
  3. 이제 코디네이터가 '페어링 모드'로 진입했습니다.
  4. 여러분(이 준비한 Aqara, Tuya 등 Zigbee 센서의 페어링 버튼을 5초 이상 길게 누릅니다. (기기마다 다름)
  5. 잠시 기다리면, Web UI 화면에 "Interview started", "Interview successful" 메시지와 함께, 방금 페어링한 기기가 마법처럼 목록에 나타납니다.
  6. 이제 HA의 [설정] > [기기 및 서비스] > [기기] 탭으로 돌아오면, MQTT를 통해 해당 기기가 자동으로 추가된 것을 확인할 수 있습니다.

결론: 비로소 열린 '진짜' 스마트홈의 문

축하합니다! 여러분은 1~2만 원의 비용으로, 시중에 판매되는 수십만 원짜리 '범용 Zigbee 허브'를 직접 구축하셨습니다.

이제 여러분은 비싼 브랜드별 허브에 종속될 필요 없이, 알리익스프레스에서 가장 저렴하고 성능 좋은 Zigbee 센서를 마음껏 직구하여 HA에 무제한으로 연결할 수 있는 '자유'를 얻었습니다.

다음 12편에서는, 이 자유를 만끽하기 위해 우리가 알리에서 구매해야 할 '가성비 Tuya Zigbee 센서 5종'을 직접 리뷰하고 HA에 연결해 보겠습니다.