본문 바로가기
IT/HomeLabs

[HomeLabs] Home Assistant 음성 제어 2026.4: 로컬 AI 홈 오토메이션 완벽 가이드

by 수누다 2026. 4. 9.

클라우드 없이 로컬 AI 음성 제어 — Home Assistant 2026.4의 새로운 시대

솔직히 말하자면, 저는 한동안 음성 제어를 포기하고 살았습니다. Alexa나 Google Home 같은 상용 솔루션은 결국 외부 서버를 거쳐야 하고, 집 안에서 하는 말이 어딘가 서버로 날아간다는 게 찜찜했거든요. 그렇다고 직접 구축하자니 예전 방법들은 너무 복잡하거나 인식률이 형편없었고요.

그런데 Home Assistant 2026.4 업데이트를 보고 눈이 번쩍 떠졌습니다. 로컬 AI 기반 음성 제어가 이 정도 수준이 됐다고요? 제가 직접 홈랩에 올려보고 2주 넘게 써봤는데, 이건 제대로 소개해드려야겠다 싶었습니다.

이 글에서는 Home Assistant 음성 제어 신기능 세팅 방법을 처음부터 끝까지 알려드릴게요. 제가 겪은 삽질도 솔직하게 다 공유합니다.

Home Assistant 2026.4 local AI voice control system architecture overview diagram

▲ Home Assistant 2026.4의 로컬 AI 음성 제어 전체 아키텍처. 외부 클라우드 없이 모든 처리가 로컬에서 이루어집니다.


Home Assistant 2026.4에서 뭐가 달라졌나 — 핵심 신기능

먼저 이번 업데이트의 핵심부터 짚고 가겠습니다. 쉽게 말해, 예전에는 음성 인식 → 텍스트 변환 → 명령 해석이 각각 따로 놀았는데, 이번엔 통합 로컬 AI 파이프라인(Local AI Pipeline)으로 묶어버렸어요.

주요 변경사항 한눈에 보기

  • 🎙️ Wyoming Protocol 2.0 지원 — 음성 위성(Voice Satellite) 연결이 훨씬 안정적
  • 🧠 내장 LLM(대형 언어 모델) 통합 — Ollama 연동으로 로컬 AI 명령 해석 가능
  • Whisper.cpp 최적화 — ARM 기반 기기에서 음성→텍스트 변환 속도 40% 향상
  • 🏠 Context-Aware Automation(문맥 인식 자동화) — "그거 꺼줘" 같은 모호한 명령도 문맥 파악해서 처리
  • 🔒 완전 오프라인 동작 — 인터넷 연결 없이 모든 음성 처리 가능

특히 Context-Aware Automation이 진짜 게임체인저더라고요. 예전엔 "거실 조명 꺼줘"처럼 정확하게 말해야 했는데, 이제는 "아까 켠 거 꺼줘"도 알아듣습니다. 처음 됐을 때 저도 모르게 "오오..." 했어요 ㅎㅎ


시작하기 전에 확인하세요 — 준비물 & 시스템 요구사항

설치 전에 준비물 체크가 정말 중요합니다. 저도 처음에 이걸 대충 보고 시작했다가 중간에 막혀서 다시 처음부터 했거든요. 미리 확인하면 훨씬 수월합니다.

하드웨어 최소 사양

구성 요소 최소 사양 권장 사양 제 환경
CPU 4코어 이상 8코어 이상 Intel N100 (4코어)
RAM 8GB 16GB 이상 16GB DDR5
저장공간 32GB 128GB SSD 256GB NVMe
마이크 USB 마이크 Echo Dot 또는 전용 위성 기기 M5Stack ATOM Echo
HA 버전 2026.4 이상 최신 버전 2026.4.2

💡 : Raspberry Pi 5도 됩니다. 근데 LLM 모델까지 로컬에서 돌리려면 솔직히 버거워요. 저는 미니PC 쪽을 추천드립니다.

소프트웨어 사전 준비

  • Home Assistant OS 또는 Supervised 설치 환경
  • HACS(Home Assistant Community Store) 설치 완료
  • Ollama(로컬 LLM 실행 도구) — 별도 서버 또는 HA 호스트에 설치
  • Wyoming Protocol 지원 마이크 기기 또는 ESPHome 기기

실전 설치 가이드 — 단계별로 따라오세요

자, 이제 본론입니다. 제가 실제로 세팅한 순서대로 설명드릴게요. 막히는 부분에서는 제가 겪은 문제도 같이 알려드릴게요.

Home Assistant voice assistant add-on configuration screen with Wyoming protocol settings

▲ Home Assistant의 Wyoming 프로토콜 설정 화면. Add-on 스토어에서 직접 설치할 수 있습니다.

Step 1. Wyoming 관련 Add-on 설치

Home Assistant 관리자 패널 → Settings → Add-ons → Add-on Store로 이동합니다.

다음 세 가지 Add-on을 설치하세요:

  1. Wyoming Faster Whisper — STT(음성→텍스트) 엔진
  2. Wyoming Piper — TTS(텍스트→음성) 엔진
  3. Wyoming openWakeWord — 웨이크워드(활성화 키워드) 감지

설치 후 각각 시작해주세요. 처음 시작할 때 모델 다운로드가 있어서 시간이 좀 걸립니다. 저는 10분 정도 걸렸어요.

Step 2. Faster Whisper 설정 최적화

Wyoming Faster Whisper Add-on의 Configuration 탭에서 아래처럼 설정하세요:

language: ko
model: small-int8
beam_size: 1
vad_filter: true
compute_type: int8

여기서 model: small-int8이 중요합니다. medium이나 large도 있는데, 한국어 인식률은 small-int8으로도 충분하고 속도가 훨씬 빠르거든요. 제가 직접 비교해봤을 때 large 모델이 인식률이 5% 정도 더 좋긴 한데, 응답 속도가 3배 느립니다. 일상 대화에선 small-int8이 훨씬 쓸 만해요.

Step 3. 웨이크워드 설정

openWakeWord Configuration에서 웨이크워드를 선택합니다. 기본 제공 웨이크워드 목록:

  • hey_jarvis — 인식률 가장 좋음 (제가 쓰는 것)
  • ok_nabu — HA 공식 웨이크워드
  • hey_mycroft
  • alexa — 호환 모드
wake_word: hey_jarvis
threshold: 0.5
noise_suppression_level: 2

⚠️ 주의: threshold를 너무 낮추면 오작동이 많아집니다. 0.5~0.7 사이가 적당해요. 저는 처음에 0.3으로 했다가 TV 소리에도 반응해서 난리났었습니다 ㅎㅎ

Step 4. Ollama 연동으로 로컬 LLM 연결

이게 이번 2026.4의 핵심 신기능입니다. Ollama를 HA 호스트나 별도 서버에 설치한 후 연동하는 과정이에요.

먼저 Ollama 서버에서 한국어 지원 모델을 다운로드합니다:

# Ollama 서버에서 실행
ollama pull llama3.2:3b

# 또는 경량 모델
ollama pull qwen2.5:3b

그 다음 HA의 configuration.yaml에 다음을 추가합니다:

conversation:
  intents:
    HassTurnOn:
      - "[{entity}] 켜줘"
      - "[{entity}] 켜"
      - "[{entity}] 틀어줘"
    HassTurnOff:
      - "[{entity}] 꺼줘"
      - "[{entity}] 꺼"
      - "[{entity}] 끄고 싶어"

그리고 Settings → Voice Assistants → Add Assistant에서:

  1. 이름: 원하는 이름 (저는 "자비스"로 했습니다)
  2. Language: Korean (ko)
  3. Conversation Agent: Ollama Conversation 선택
  4. STT: Wyoming Faster Whisper
  5. TTS: Wyoming Piper
  6. Wake Word: openWakeWord - hey_jarvis

Step 5. ESPHome 음성 위성 기기 연결

M5Stack ATOM Echo 같은 ESPHome 기기를 음성 위성(Voice Satellite)으로 쓰는 경우, ESPHome 설정 파일이 필요합니다. 공식 HA 문서의 기본 설정을 한국어 최적화를 위해 약간 수정했어요:

esphome:
  name: voice-satellite-living
  friendly_name: "거실 음성 위성"

microphone:
  - platform: i2s_audio
    id: mic_i2s
    i2s_din_pin: GPIO23
    adc_type: external
    pdm: false

speaker:
  - platform: i2s_audio
    id: speaker_i2s
    i2s_dout_pin: GPIO22

voice_assistant:
  microphone: mic_i2s
  speaker: speaker_i2s
  noise_suppression_level: 2
  auto_gain: 31dBFS
  volume_multiplier: 2.0
  use_wake_word: true
  on_wake_word_detected:
    - light.turn_on:
        id: led_ring
        blue: 100%
        brightness: 70%

⚠️ 삽질 기록 — 이것만 알면 반은 먹고 갑니다

저도 처음 세팅할 때 꽤 고생했는데요. 제가 겪은 문제들 정리해드립니다. 비슷한 상황 만나시면 참고하세요.

문제 1. 한국어 인식이 영어로 나오는 경우

증상: 분명 한국어로 말했는데 STT 결과가 영어나 이상한 문자로 나옴

원인: Faster Whisper의 language 설정이 auto로 되어 있을 때 짧은 발화에서 언어 감지 실패

해결: Configuration에서 language: ko를 명시적으로 지정. 절대 auto로 두지 마세요.

문제 2. Ollama 응답이 너무 느린 경우

증상: 명령 후 5~10초 이상 기다려야 응답이 옴

원인: 모델이 너무 크거나, Ollama 서버의 GPU 가속이 안 됨

해결:

  • 모델을 llama3.2:3b 또는 qwen2.5:3b로 변경
  • Ollama 환경변수에 OLLAMA_NUM_GPU=1 추가 (GPU 있는 경우)
  • CPU만 있는 경우 num_ctx: 512로 컨텍스트 크기 제한

문제 3. 웨이크워드 오인식

증상: 아무 말도 안 했는데 갑자기 HA가 반응함

해결: threshold를 0.6 이상으로 올리고, noise_suppression_level을 2~3으로 설정. 마이크가 TV나 스피커 근처면 멀리 배치하세요.

문제 4. TTS 목소리가 어색한 경우

기본 한국어 Piper 목소리가 좀 로봇 같다는 분들 계시죠? 저도 그랬는데, 커뮤니티에서 만든 ko_KR-kss-medium 모델이 훨씬 자연스럽더라고요. HACS에서 설치 가능합니다.


실제 사용 결과 — 2주 써본 솔직한 후기

Home Assistant dashboard showing voice command history and automation results with Korean language

▲ 실제 운영 중인 HA 대시보드. 음성 명령 기록과 자동화 실행 결과를 한눈에 확인할 수 있습니다.

2주 동안 진짜 메인으로 써봤습니다. 기존에 쓰던 Google Home은 완전히 빼버리고요.

잘 되는 것들 ✅

  • 조명 제어: "거실 조명 50%로 줄여줘" → 거의 100% 인식
  • 온도 조절: "에어컨 24도로 맞춰줘" → 잘 됨
  • 씬(Scene) 실행: "영화 모드 켜줘" → 완벽
  • 상태 확인: "지금 거실 온도 몇 도야?" → 잘 대답함
  • 복합 명령: "잘게, 조명 다 끄고 플러그도 다 꺼줘" → 됩니다!

아직 아쉬운 것들 🔶

  • 사투리나 빠른 발화 시 인식률이 약간 떨어짐
  • 완전 새로운 명령 패턴은 처음엔 못 알아듣는 경우 있음 (학습 필요)
  • 응답 속도: 클라우드 방식 대비 1~2초 더 걸림 (감수할 만한 수준)

전반적으로 홈 오토메이션 AI로서의 완성도가 예상보다 훨씬 높았습니다. 특히 개인정보가 밖으로 나가지 않는다는 점에서 저는 이게 훨씬 마음 편하더라고요.


로컬 AI vs 클라우드 음성 제어 비교

Infographic comparing local AI voice control vs cloud-based voice control for smart home, showing privacy, speed, cost and reliability metrics

▲ 로컬 AI 음성 제어와 클라우드 기반 음성 제어의 핵심 항목 비교.

항목 로컬 AI (HA 2026.4) Google Home / Alexa
개인정보 보호 ✅ 완전 로컬 처리 ❌ 클라우드 전송
응답 속도 🔶 1~3초 ✅ 0.5~1.5초
인터넷 의존성 ✅ 없음 ❌ 필수
월 비용 ✅ 0원 (전기료 제외) 🔶 구독 또는 기기 구매
커스터마이징 ✅ 완전 자유 ❌ 제한적
초기 설치 난이도 🔶 중간 ✅ 쉬움
한국어 인식률 🔶 95% 내외 ✅ 97% 내외
서비스 종료 위험 ✅ 없음 ❌ 있음 (실제 사례 다수)

이 표 보시면 아시겠지만, 응답 속도와 초기 설치 난이도 빼면 로컬이 거의 다 앞서거나 동등합니다. 특히 서비스 종료 위험은 실제로 여러 번 있었잖아요. Works with Nest 종료, SmartThings 기능 축소... 이런 거 생각하면 로컬 음성 인식 방향이 장기적으로 맞다고 봅니다.


자주 묻는 질문 (FAQ)

Q. Raspberry Pi 4로도 되나요?

됩니다. 단, LLM 연동 없이 기본 Conversation Agent만 쓰는 경우에요. Ollama까지 같이 돌리면 버거워요. Pi 5 이상이나 미니PC를 추천드립니다.

Q. 기존 Google Home 기기를 마이크로 활용할 수 있나요?

직접적으로는 안 됩니다. 하지만 ESPHome 지원 기기나 M5Stack ATOM Echo 같은 저렴한 기기로 대체하는 게 훨씬 낫습니다. 1~2만원대에 구할 수 있어요.

Q. 한국어 웨이크워드 커스텀이 가능한가요?

2026.4 기준으로 커스텀 웨이크워드 학습 기능이 베타로 들어왔습니다. "안녕 자비스" 같은 한국어 웨이크워드도 만들 수 있어요. 다음 글에서 이 부분을 자세히 다룰 예정입니다.

Q. 스마트홈 음성 봇을 여러 방에 배치하려면?

각 방에 ESPHome 음성 위성 기기를 두고, HA에서 Area(구역)를 설정하면 됩니다. "여기 조명 꺼줘"라고 하면 명령한 방의 조명만 꺼져요. 이게 진짜 편합니다.


마무리 — 로컬 스마트홈 음성 제어의 시대가 왔습니다

Home Assistant 음성 제어가 이 정도 수준이 됐다는 게 솔직히 아직도 신기합니다. 2년 전만 해도 "로컬 음성 제어는 아직 멀었다"는 게 중론이었는데, 이제는 일상에서 쓸 수 있는 수준이 됐거든요.

제가 이 글에서 다룬 내용을 요약하면:

  1. Wyoming Faster Whisper + Piper + openWakeWord 세 가지 Add-on 설치
  2. Faster Whisper에서 language: ko 명시 설정
  3. Ollama로 로컬 LLM 연동 (선택사항이지만 강력 추천)
  4. ESPHome 음성 위성 기기로 각 방 커버리지 확보
  5. threshold, noise suppression 튜닝으로 오작동 최소화

처음 세팅이 좀 복잡해 보여도, 한 번 제대로 해두면 정말 편합니다. 저는 지금 아침에 일어나서 "굿모닝" 하면 커튼 열리고, 커피머신 켜지고, 오늘 날씨 알려주는 루틴으로 하루를 시작하고 있거든요. 이게 다 클라우드 없이 로컬에서 돌아간다는 게 아직도 뿌듯합니다 🎉

다음 글에서는 한국어 커스텀 웨이크워드 만들기LLM 프롬프트 튜닝으로 더 자연스러운 대화 만들기를 다뤄볼 예정입니다. Home Assistant ESPHome 기기 설정 가이드도 참고해보시면 이번 내용 이해에 도움이 됩니다.

궁금한 점이나 막히는 부분 있으시면 댓글로 남겨주세요. 제가 겪은 삽질이 여러분의 시간을 아껴드릴 수 있다면 그걸로 충분합니다. 😄