시각적 자동화, Node-RED를 활용하는 이유
스마트홈 자동화를 구성할 때 가장 큰 난관은 바로 자동화 로직을 어떻게 구현할 것인가입니다. YAML 기반의 automation.yaml 스크립트는 강력하지만, 초보자에겐 진입 장벽이 높습니다.
이때 Home Assistant와 결합 가능한 Node-RED는 블록을 연결하는 시각적 인터페이스를 통해 자동화를 보다 직관적으로 구현할 수 있게 해줍니다.
특히, Node-RED는 HTTP, MQTT, WebSocket 등 다양한 프로토콜을 기본적으로 지원하여 외부 시스템과의 통합에 탁월한 장점을 가집니다. 본 포스트에서는 외부 HTTP 웹훅을 통해 재실 상태를 제어하는 자동화를 Node-RED로 구성해보겠습니다.
에드온 설치부터 웹훅 자동화 구현까지
1. Node-RED 설치 (에드온 방식)
Home Assistant의 Supervisor 메뉴 > Add-on Store 에서 Node-RED를 검색하여 설치하고, Configuration 탭에서 credential_secret 값을 설정한 후 Start 버튼을 눌러 실행합니다.
설치 후 http://<home_assistant_ip>:1880 으로 접속하여 Node-RED 편집기에 진입할 수 있습니다.
2. 외부 웹훅을 위한 포트포워딩
외부에서 Node-RED의 웹훅 엔드포인트를 호출하려면, 라우터에서 다음과 같이 포트포워딩을 설정해야 합니다:
- 외부 포트: 18800
- 내부 IP: Node-RED Add-on이 구동되는 내부 IP
- 내부 포트: 1880
그 후, 예를 들어 http://your.public.ip:18800/webhook_presence_on?key=redchupa 와 같이 외부에서 재실 ON을 제어할 수 있게 됩니다.
3. 예제 플로우 설명 – 웹훅을 통해 재실 상태를 제어
다음 Node-RED 플로우는 input_boolean.presence_virtual_1을 외부 호출을 통해 ON/OFF 제어하는 예시입니다.
인증 키는 ?key=redchupakey를 사용합니다.
💡 주요 흐름
- http in 노드에서 /webhook_presence_on 또는 /webhook_presence_off GET 요청을 수신
- 쿼리 문자열의 key 값을 확인하여 인증 처리
- 인증 성공 시 input_boolean.presence_virtual_1를 ON 또는 OFF
- JSON 응답 반환
✔ 웹훅 ON 요청 예시:
GET http://your.public.ip:18800/webhook_presence_on?key=redchupakey
- 처리 결과: input_boolean.presence_virtual_1가 켜짐
- 응답: { "success": true, "message": "Webhook OK 재실 on" }
✔ 웹훅 OFF 요청 예시:
GET http://your.public.ip:18800/webhook_presence_off?key=redchupakey
- 처리 결과: input_boolean.presence_virtual_1가 꺼짐
- 응답: { "success": true, "message": "Webhook OK 재실 off" }
❌ 잘못된 키 예시:
GET http://your.public.ip:18800/webhook_presence_on?key=wrongkey
- 응답 코드: 401 Unauthorized
- 응답 메시지: "Unauthorized"
외부 시스템과의 연동, Node-RED로 더 쉽게
Node-RED를 활용하면 단순히 Home Assistant 내부 자동화뿐만 아니라, 외부 API 호출, 타 시스템 연동, 이벤트 기반 제어 등을 손쉽게 시각적으로 구성할 수 있습니다.
특히 이번 웹훅 기반 자동화는 사무실 출입기록, 스마트폰 Tasker, Arduino, 외부 서버 등에서 HTTP 호출만으로 Home Assistant 상태를 제어할 수 있다는 점에서 실용적입니다.
Node-RED는 스마트홈 시스템을 확장성 있게 구축하려는 사용자에게 매우 유용한 도구이며, 위와 같은 기본적인 예제만 숙지해도 다양한 자동화를 빠르게 구성할 수 있습니다.
'스마트홈 IoT' 카테고리의 다른 글
LG 틔운으로 식물 키우기 자동화: 스마트하게 반려식물 돌보기 (0) | 2025.07.09 |
---|---|
홈어시스턴트의 최종병기, ESPHome 완벽 가이드: 나만의 스마트기기 만들기 (0) | 2025.07.09 |
Zigbee vs Wi-Fi vs Matter 프로토콜 차이 (0) | 2025.07.09 |
디지털 신호와 아날로그 신호의 차이, 알고 계셨나요? (0) | 2025.07.09 |
스마트홈 IR 리모컨 허브의 치명적 단점들, 알고 계셨나요? (0) | 2025.07.09 |