목차
- 에어컨 리모컨, 아직도 손으로 누르세요? 😅
- 적외선 제어가 뭔지 먼저 알고 가요
- Home Assistant 적외선 제어(IR Control)란?
- 어떤 하드웨어가 필요한가요?
- ESPHome으로 IR 블라스터 만들기 (실전)
- 준비물
- Step 1: ESPHome 설정 파일 작성
- Step 2: Home Assistant에서 리모컨 신호 학습하기
- Step 3: HA에서 버튼/스크립트 만들기
- Home Assistant 2026.4의 새로운 IR 프록시 기능
- IR 프록시(IR Proxy)가 뭔가요?
- IR 프록시 설정하기
- 자동화(Automation) 연결하기
- 온도 기반 에어컨 자동 제어
- 취침 모드 자동화
- ⚠️ 삽질 기록: 이런 문제들이 있었어요
- 문제 1: IR 신호가 안 날아가요
- 문제 2: 신호는 가는데 기기가 반응 안 해요
- 문제 3: Home Assistant 재시작 후 스크립트가 사라졌어요
- 완성! 결과 확인해봐요 ✅
- 최종 구성 체크리스트
- 실제 사용해보니 어떤가요?
- 자주 묻는 질문 (FAQ)
- Q. 어떤 가전제품이든 다 연동되나요?
- Q. Broadlink 쓰면 더 간단한가요?
- Q. IR 블라스터 거리가 얼마나 되나요?
- Q. Home Assistant 없이 ESPHome만으로도 되나요?
- 마무리: 레거시 기기도 스마트홈의 일원이 될 수 있어요
에어컨 리모컨, 아직도 손으로 누르세요? 😅
홈랩을 꾸리다 보면 언제나 마주치는 문제가 있어요. 바로 레거시 기기(Legacy Device, 구형 기기) 문제입니다. 저도 집에 2014년식 에어컨, 2018년식 TV, 그리고 오래된 선풍기가 있는데요. 이것들은 Wi-Fi도 없고, 블루투스도 없어요. 그냥 적외선(IR, Infrared) 리모컨으로만 동작하는 녀석들이죠.
Home Assistant로 스마트홈을 구성하면서 이 녀석들을 어떻게든 연동하고 싶었는데, 사실 처음엔 방법을 잘 몰랐어요. "그냥 새 제품 사면 되지 않냐"는 말도 들었는데, 아직 멀쩡히 잘 작동하는 기기를 버리기엔 너무 아깝잖아요. 그리고 솔직히 말하면, 이걸 연동하는 게 더 재미있거든요 ㅎㅎ
그래서 오늘은 Home Assistant 2026.4 버전을 기준으로, Home Assistant 적외선 제어를 통해 레거시 기기를 스마트홈에 연동하는 방법을 처음부터 끝까지 정리해드리려고 합니다. IR 프록시(Proxy, 중간 통신 장치) 설정부터 실제 자동화까지, 제가 직접 삽질한 내용을 바탕으로 써볼게요.
▲ Home Assistant IR 제어 전체 구성도 — HA 허브에서 IR 블라스터를 통해 레거시 기기를 제어하는 흐름
적외선 제어가 뭔지 먼저 알고 가요
Home Assistant 적외선 제어(IR Control)란?
쉽게 말해서, 리모컨이 쏘는 그 적외선 신호를 소프트웨어로 흉내 내는 거예요. 우리가 매일 쓰는 에어컨 리모컨도, TV 리모컨도 전부 적외선으로 신호를 보내거든요. 그 신호에는 "온도 24도로 설정해", "채널 5번으로 바꿔" 같은 명령이 인코딩(Encoding, 데이터 변환)되어 있어요.
Home Assistant 적외선 제어는 이 신호를 IR 블라스터(IR Blaster, 적외선 송신기)라는 하드웨어를 통해 소프트웨어로 전송하는 방식입니다. 즉, 앱이나 자동화 규칙으로 "지금 에어컨 켜"라고 명령하면, IR 블라스터가 실제 리모컨과 똑같은 적외선 신호를 쏴주는 거죠.
어떤 하드웨어가 필요한가요?
현재 Home Assistant와 연동 가능한 IR 블라스터는 꽤 다양해졌어요. 제가 직접 써봤거나 커뮤니티에서 검증된 것들을 정리해봤습니다.
| 기기명 | 연결 방식 | HA 통합 방식 | 난이도 | 추천 대상 |
|---|---|---|---|---|
| Broadlink RM4 Pro | Wi-Fi | 공식 통합(Integration) | ⭐⭐ | 입문자 |
| ESPHome + IR LED | Wi-Fi (ESP32/ESP8266) | ESPHome 통합 | ⭐⭐⭐ | DIY 좋아하는 분 |
| SwitchBot Hub 2 | Wi-Fi / BLE | 공식 통합 | ⭐ | 설정 귀찮은 분 |
| Tuya IR Hub | Wi-Fi | Tuya/LocalTuya | ⭐⭐ | 가성비 원하는 분 |
저는 개인적으로 ESPHome + ESP32 조합을 가장 좋아해요. 클라우드(Cloud, 외부 서버) 의존성이 없고, 완전히 로컬(Local, 내부 네트워크)에서 동작하거든요. Broadlink도 좋긴 한데, 클라우드를 거쳐야 하는 경우가 있어서 개인적으로 좀 꺼려지더라고요.
ESPHome으로 IR 블라스터 만들기 (실전)
준비물
- ESP32 개발보드 (1~3천원 수준, 알리익스프레스에서 구매 가능)
- IR LED (적외선 발광 다이오드) × 1~2개
- IR 수신기 모듈 (신호 학습용, 없어도 되지만 있으면 편해요)
- 저항 100Ω × 1개
- Home Assistant에 ESPHome 애드온(Add-on) 설치 완료
Step 1: ESPHome 설정 파일 작성
Home Assistant의 ESPHome 대시보드에서 새 기기를 추가하고, 아래 YAML 설정을 입력해주세요. 여기서 GPIO32는 IR LED를 연결한 핀 번호예요. 본인 배선에 맞게 바꿔주시면 됩니다.
esphome:
name: ir-blaster
friendly_name: "IR 블라스터"
esp32:
board: esp32dev
framework:
type: arduino
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_encryption_key
ota:
- platform: esphome
password: !secret ota_password
logger:
# IR 송신기 설정
remote_transmitter:
pin: GPIO32
carrier_duty_percent: 50%
# IR 수신기 설정 (신호 학습용)
remote_receiver:
pin:
number: GPIO34
inverted: true
dump: all
tolerance: 25%
💡 팁: dump: all 옵션을 켜두면, 기존 리모컨 버튼을 누를 때마다 ESPHome 로그에 해당 신호의 RAW 데이터가 찍혀요. 이걸 복사해서 쓰면 별도 앱 없이도 신호 학습이 돼요.
Step 2: Home Assistant에서 리모컨 신호 학습하기
ESPHome 기기가 HA에 연동됐으면, 이제 기존 리모컨의 신호를 학습시켜야 해요. ESPHome 로그(Logs)를 열고, 에어컨 리모컨의 버튼을 IR 수신기 앞에서 눌러보세요.
그러면 로그에 이런 식으로 출력됩니다:
[D][remote.coolix:XXX]: Received Coolix: data=0xB2BF40
[D][remote.nec:XXX]: Received NEC: address=0x04, command=0x08
[D][remote.raw:XXX]: Received Raw: 9000, -4500, 560, -560, ...
프로토콜(Protocol, 통신 규약)이 자동으로 인식되면 정말 편해요. NEC, Samsung, Panasonic, Coolix 같은 주요 프로토콜은 ESPHome이 자동으로 디코딩(Decoding, 신호 해석)해줍니다. 만약 인식이 안 되면 Raw 데이터를 그대로 쓰면 돼요.
Step 3: HA에서 버튼/스크립트 만들기
신호를 학습했으면, 이제 HA의 configuration.yaml이나 UI에서 실제로 사용할 서비스 호출(Service Call)을 만들어줘야 해요.
# configuration.yaml 또는 scripts.yaml
script:
airconditioner_on:
alias: "에어컨 켜기"
sequence:
- service: esphome.ir_blaster_send_command
data:
command:
- platform: coolix
data: 0xB2BF40
airconditioner_off:
alias: "에어컨 끄기"
sequence:
- service: esphome.ir_blaster_send_command
data:
command:
- platform: coolix
data: 0xB21F48
tv_channel_up:
alias: "TV 채널 올리기"
sequence:
- service: esphome.ir_blaster_send_command
data:
command:
- platform: nec
address: 0x04
command: 0x08
⚠️ 주의: ESPHome 서비스 이름은 기기 이름에 따라 달라져요. 위 예시에서 ir_blaster 부분은 여러분이 설정한 ESPHome 기기 이름으로 바꿔야 합니다. 저도 처음에 이걸 몰라서 한참 헤맸어요 ㅎㅎ
▲ ESPHome 대시보드에서 IR 블라스터 설정 화면 — YAML 에디터와 수신된 적외선 신호 로그 확인
Home Assistant 2026.4의 새로운 IR 프록시 기능
IR 프록시(IR Proxy)가 뭔가요?
Home Assistant 2026.4에서 눈에 띄게 개선된 기능 중 하나가 바로 IR 프록시(IR Proxy, 적외선 중계 기능)예요. 쉽게 설명하면, 여러 개의 IR 블라스터를 하나처럼 묶어서 관리할 수 있는 기능입니다.
집이 좀 넓거나, 방마다 IR 블라스터를 놓아야 하는 상황이라면 이게 정말 유용해요. 저도 거실, 안방, 서재에 각각 하나씩 있는데, 예전엔 방마다 스크립트를 따로 만들어야 했거든요. 이제는 HA가 어느 기기가 어느 방에 있는지 자동으로 판단해서 가장 가까운 IR 블라스터를 써요.
IR 프록시 설정하기
2026.4부터는 UI에서 직접 설정할 수 있어요. 설정(Settings) → 기기 및 서비스(Devices & Services) → 통합 구성요소(Integrations)에서 "IR Proxy"를 검색하면 나와요.
- "IR Proxy" 통합 추가
- 사용할 IR 블라스터 기기 선택 (여러 개 선택 가능)
- 각 기기의 위치(Area, 구역) 지정
- 저장 후 재시작
설정이 완료되면 이런 식으로 YAML에서 사용할 수 있어요:
# IR 프록시를 통한 명령 전송
service: ir_proxy.send_command
target:
area_id: living_room # 거실에 있는 IR 블라스터 자동 선택
data:
device_class: air_conditioner
command: turn_on
temperature: 24
mode: cool
기존에 프로토콜 코드를 직접 넣어야 했던 것과 달리, 이제는 device_class와 command로 좀 더 직관적으로 쓸 수 있어요. 물론 기기 데이터베이스(Database, 데이터 저장소)에 등록된 모델이어야 하는데, 한국 가전 제품들도 2026.4 기준으로 꽤 많이 추가됐더라고요.
자동화(Automation) 연결하기
온도 기반 에어컨 자동 제어
이게 진짜 재미있는 부분이에요. 온도 센서와 연동해서 자동으로 에어컨을 켜고 끄는 자동화를 만들어볼게요.
automation:
- alias: "거실 온도 기반 에어컨 자동 제어"
description: "거실 온도가 28도 이상이면 에어컨 자동 가동"
trigger:
- platform: numeric_state
entity_id: sensor.living_room_temperature
above: 28
for:
minutes: 5 # 5분 이상 지속될 때만 동작
condition:
- condition: time
after: "09:00:00"
before: "23:00:00" # 밤엔 동작 안 하게
- condition: state
entity_id: binary_sensor.someone_home
state: "on" # 집에 사람이 있을 때만
action:
- service: script.airconditioner_on
- service: notify.mobile_app
data:
title: "🌡️ 에어컨 자동 가동"
message: "거실 온도 {{ states('sensor.living_room_temperature') }}°C → 에어컨을 켰어요"
- alias: "거실 온도 내려가면 에어컨 끄기"
trigger:
- platform: numeric_state
entity_id: sensor.living_room_temperature
below: 24
for:
minutes: 10
action:
- service: script.airconditioner_off
이거 처음 세팅하고 나서 진짜 감동이었어요. 퇴근하고 집에 오면 이미 시원해져 있더라고요. 🎉
취침 모드 자동화
- alias: "취침 모드 - TV 및 에어컨 자동 끄기"
trigger:
- platform: time
at: "23:30:00"
condition:
- condition: state
entity_id: input_boolean.sleep_mode
state: "off"
action:
- service: script.tv_power_off
- delay:
seconds: 2
- service: script.airconditioner_set_sleep_mode
- service: input_boolean.turn_on
target:
entity_id: input_boolean.sleep_mode
⚠️ 삽질 기록: 이런 문제들이 있었어요
문제 1: IR 신호가 안 날아가요
가장 흔한 문제예요. 제가 처음에 한 3시간 날렸습니다 ㅎㅎ
- IR LED 방향 확인: LED에서 빛이 나오는 방향이 기기를 향하고 있어야 해요. 스마트폰 카메라로 IR LED를 찍으면 보라색 빛이 보여야 정상이에요.
- 저항값 확인: 저항이 너무 크면 전류가 부족해서 신호가 약해요. 100Ω 정도가 적당하고, 더 강하게 하려면 두 개를 병렬로 연결하세요.
- carrier_duty_percent 조정: 기기마다 38kHz 반송파(Carrier Wave) 듀티 사이클이 다를 수 있어요. 50%가 기본인데, 안 되면 33%나 40%로 바꿔보세요.
문제 2: 신호는 가는데 기기가 반응 안 해요
- Raw 신호 길이 확인: 에어컨 같은 경우 신호가 매우 길어요. Raw 데이터가 잘렸을 수 있어요.
- tolerance 값 조정:
remote_receiver의tolerance를 25%에서 35%로 높여보세요. - 에어컨 프로토콜 특이사항: 에어컨은 온도/모드 정보가 신호에 인코딩되어 있어서, "켜기" 신호 하나로는 안 되는 경우가 많아요. 원하는 설정값이 포함된 신호 전체를 학습해야 해요.
문제 3: Home Assistant 재시작 후 스크립트가 사라졌어요
이건 제가 진짜 황당했던 케이스인데요. configuration.yaml에 직접 넣지 않고 UI에서만 만들었더니, 어느 순간 사라져 있더라고요. HA 2026.x부터는 스크립트를 scripts.yaml로 분리해서 관리하는 게 안정적이에요.
# configuration.yaml에 추가
script: !include scripts.yaml
automation: !include automations.yaml
▲ Home Assistant 대시보드에서 IR 제어로 연동된 레거시 기기들 — 에어컨, TV가 스마트홈 엔티티로 등록된 모습
완성! 결과 확인해봐요 ✅
최종 구성 체크리스트
여기까지 따라오셨으면 아래 항목들이 전부 체크돼야 해요.
- ✅ ESPHome IR 블라스터 기기가 HA에 연결됨
- ✅ 기존 리모컨 신호 학습 완료 (에어컨, TV 등)
- ✅ 각 버튼별 스크립트 생성 완료
- ✅ IR 프록시 설정 완료 (2026.4 신기능)
- ✅ 온도 기반 자동화 동작 확인
- ✅ 모바일 앱에서 원격 제어 가능
실제 사용해보니 어떤가요?
저는 이 시스템을 한 4개월째 쓰고 있는데요, 진짜 만족스러워요. 특히 좋은 점들을 꼽자면:
- 🎉 완전 로컬 동작: 인터넷이 끊겨도 집 내부에서는 다 작동해요
- 🎉 구글 어시스턴트 연동: "헤이 구글, 에어컨 켜줘" 이게 됩니다 ㅎㅎ
- 🎉 에너지 절약: 온도 기반 자동화로 전기요금이 체감상 줄었어요
- 🎉 리모컨 분실 걱정 없음: 이거 진짜 소소하지만 엄청 편해요
자주 묻는 질문 (FAQ)
Q. 어떤 가전제품이든 다 연동되나요?
A. 적외선 리모컨으로 제어되는 기기라면 이론적으로 다 됩니다. 단, 에어컨처럼 상태값이 신호에 인코딩되는 기기는 신호 학습이 좀 더 복잡할 수 있어요.
Q. Broadlink 쓰면 더 간단한가요?
A. 설정 자체는 Broadlink가 더 쉬워요. 앱에서 버튼 학습하고 HA 통합 연결하면 끝이거든요. 다만 클라우드 의존성이 있어서 저는 개인적으로 ESPHome을 선호해요.
Q. IR 블라스터 거리가 얼마나 되나요?
A. 일반 IR LED 하나로도 5~7m는 문제없어요. 더 멀리 보내려면 고출력 LED를 쓰거나, 반사판을 활용하는 방법도 있어요.
Q. Home Assistant 없이 ESPHome만으로도 되나요?
A. ESPHome 단독으로도 기본 동작은 가능하지만, 자동화나 대시보드 같은 기능은 HA가 있어야 제대로 활용할 수 있어요.
▲ IR 블라스터 솔루션 비교 — ESPHome DIY vs 상용 제품별 장단점 요약
마무리: 레거시 기기도 스마트홈의 일원이 될 수 있어요
오늘 내용을 정리하면, Home Assistant 적외선 제어는 생각보다 어렵지 않아요. 핵심만 짚으면:
- IR 블라스터 선택 (ESPHome DIY 또는 Broadlink 등 상용 제품)
- ESPHome으로 신호 학습 및 전송 설정
- HA 스크립트/자동화 구성
- Home Assistant 2026.4의 IR 프록시로 멀티룸 관리
사실 이 작업의 진짜 매력은 "멀쩡한 기기를 버리지 않고 스마트하게 만든다"는 점이에요. 환경적으로도 좋고, 경제적으로도 좋고, 무엇보다 직접 만든다는 재미가 있거든요.
다음 글에서는 Matter(매터) 프로토콜과 레거시 기기 브릿지 구성을 다뤄볼 예정이에요. IR로 제어하는 기기를 Matter 생태계로 끌어올리는 방법인데, 이게 또 꽤 흥미롭더라고요. 기대해 주세요!
혹시 설정하다가 막히는 부분 있으시면 댓글로 남겨주세요. 제가 아는 범위에서 최대한 도와드릴게요. 😊
'IT > HomeLabs' 카테고리의 다른 글
| [HomeLabs] 저전력 미니 서버 구축: N100/N305 미니PC 홈서버 완벽 가이드 (1) | 2026.04.22 |
|---|---|
| [HomeLabs] N100/N305 미니PC 저전력 홈서버 구축 완벽 가이드 (1) | 2026.04.22 |
| [HomeLabs] Matter 프로토콜과 Home Assistant 연동: 스마트홈 기기 통합 완벽 가이드 (0) | 2026.04.16 |
| [HomeLabs] WireGuard VPN으로 홈랩 네트워크 보안 강화하기 완벽 가이드 (0) | 2026.04.13 |
| [HomeLabs] UPS 홈서버 전원 관리: 정전 대비 및 데이터 보호 완벽 가이드 (0) | 2026.04.13 |
| [HomeLabs] Home Assistant 음성 제어 2026.4: 로컬 AI 홈 오토메이션 완벽 가이드 (0) | 2026.04.09 |