홈어시스턴트의 기본 자동화 기능은 비약적으로 발전했지만, 여전히 "A가 켜져 있고, B가 일몰 후에 작동 중인데, C라는 사람이 집에 왔을 때만 D를 해줘"와 같은 다중 조건과 복잡한 흐름을 짜기엔 가독성이 떨어집니다. 이때 필요한 도구가 바로 Node-RED입니다.
Node-RED는 코딩 대신 노드(Node)라고 불리는 상자들을 선으로 연결하여 자동화를 만드는 시각적 프로그래밍 도구입니다. 오늘은 왜 고수들이 결국 Node-RED로 넘어가는지, 그리고 그 강력함을 어떻게 활용하는지 알아보겠습니다.
1. Node-RED가 필요한 이유: 시각화된 논리
기본 자동화는 위에서 아래로 흐르는 텍스트 기반이라 로직이 꼬이면 원인을 찾기 어렵습니다. 하지만 Node-RED는 다릅니다.
- 흐름의 가시화: 데이터가 어느 길로 가고 있는지 선의 흐름을 통해 직관적으로 알 수 있습니다.
- 디버깅의 편리함: 각 단계마다 메시지가 제대로 전달되는지 실시간으로 확인(Debug 노드)할 수 있어 오류 수정이 매우 빠릅니다.
- 유연한 확장: 자바스크립트(JavaScript) 한두 줄만 추가하면 기본 기능에 없는 창의적인 동작을 만들어낼 수 있습니다.
2. 실전 시나리오: "똑똑한 취침 모드" 설계하기
단순히 "밤 11시에 불 끄기"가 아니라, 사람의 상태를 고려한 고급 로직을 짜봅시다.
[자동화 로직]
- 트리거: 밤 10시부터 새벽 2시 사이.
- 조건 1: 침실의 무선 충전기에 스마트폰이 거치됨 (재실 감지).
- 조건 2: 거실 TV의 전력 소모량이 10W 미만임 (TV 끔 확인).
- 동작: 집안의 모든 조명을 끄고, 커튼을 닫으며, 보안 시스템을 '재실 경계'로 변경.
이 과정을 Node-RED에서는 '입력 → 조건 분기(Switch) → 상태 확인(Get State) → 명령(Call Service)' 노드를 선으로 연결하기만 하면 됩니다. 텍스트로 짤 때는 복잡했던 조건들이 시각적으로 한눈에 들어오게 됩니다.
3. Node-RED 설치 및 HA 연동법
홈어시스턴트 사용자라면 설치는 매우 간단합니다.
- 애드온 설치: [설정] -> [애드온] -> [애드온 스토어]에서 'Node-RED'를 검색해 설치합니다.
- 사이드바 노출: 설치 후 '사이드바에 표시' 옵션을 켜면 왼쪽 메뉴에서 바로 진입할 수 있습니다.
- 신뢰 설정: 처음 실행 시 HA와의 연동은 자동으로 이루어지며, 이제 events: state 노드를 꺼내 기기들의 상태 변화를 감지하기 시작하면 됩니다.
4. 고수들의 팁: 'Wait-Until'과 'Delay' 활용하기
Node-RED의 진가는 시간 제어에 있습니다.
- "현관문이 열리고 30초 안에 닫히지 않으면 알림을 보내라"
- "화장실 불이 켜진 지 10분이 지나면 환풍기를 돌리고, 불이 꺼지고 5분 뒤에 환풍기를 멈춰라" 이런 시간차 공격(?) 자동화는 Node-RED의 delay 노드와 trigger 노드를 쓰면 너무나 쉽게 구현됩니다.
5. 지나친 복잡함은 금물
Node-RED는 강력하지만, 모든 자동화를 여기로 옮길 필요는 없습니다. 단순한 "불 켜기"는 HA 기본 자동화가 훨씬 빠르고 관리하기 편합니다. 여러 기기의 상태를 동시에 체크해야 하거나, 복잡한 시간 지연이 필요한 경우에만 Node-RED를 전략적으로 활용하세요.
[12편 핵심 요약]
- Node-RED는 시각적인 선 연결을 통해 복잡한 자동화 로직을 설계하는 도구입니다.
- 데이터의 흐름을 눈으로 확인할 수 있어 디버깅과 조건 분기에 압도적으로 유리합니다.
- HA 애드온을 통해 간편하게 설치하고 기존 기기들을 그대로 제어할 수 있습니다.