스마트싱스(SmartThings) 버튼 이벤트로 HA 자동화 만들기 💡
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Home Assistant에서 자동화를 구성할 때 가장 흔히 사용하는 트리거는 '상태' 변경입니다. 예를 들어, 조명이 '꺼짐'에서 '켜짐'으로 바뀔 때를 감지하는 식이죠. 하지만 버튼처럼 상태가 변하지 않는 기기는 어떻게 자동화할 수 있을까요?
예를 들어, 스마트싱스(SmartThings)에서 연동한 버튼을 한 번 누르고, 잠시 후 또 한 번 누르는 상황을 생각해 보겠습니다. 두 번 모두 'pushed'라는 동일한 이벤트가 발생할 뿐, 상태가 'pushed'에서 다른 것으로 바뀌지 않습니다. 따라서 일반적인 상태 트리거로는 두 번째 누름을 감지할 수 없는 문제가 발생합니다.
이럴 때 필요한 것이 바로 이벤트(Event) 트리거입니다. 상태 변화가 아닌, 특정 이벤트 발생 자체를 감지하여 자동화를 실행하는 방법이죠.
1. 내 버튼의 고유 이벤트 데이터 찾기
자동화를 만들기 전, 내 버튼이 어떤 이벤트를 발생시키는지 정확히 알아내야 합니다.
개발자 도구 > 이벤트 메뉴로 이동합니다.
수신할 이벤트 항목에
*(별표)를 입력하고 수신 시작을 누릅니다.*는 모든 이벤트를 수신하겠다는 의미입니다.이제 자동화에 사용하고 싶은 스마트싱스 버튼을 물리적으로 눌러보세요. (한 번 누르기, 두 번 누르기, 길게 누르기 등 원하는 동작을 실행)
버튼을 누르는 순간, 화면에 해당 이벤트 정보가 나타납니다.
smartthings.button이라는event_type과 함께event_data에 상세 정보가 표시되는 것을 확인할 수 있습니다.
{
"event_type": "smartthings.button",
"data": {
"device_id": "YOUR_UNIQUE_DEVICE_ID",
"component_id": "main",
"capability": "button",
"attribute": "button",
"value": "pushed",
"data": {}
},
"origin": "LOCAL",
"time_fired": "2025-10-14T13:10:00.123456+00:00",
"context": {
"id": "...",
"parent_id": null,
"user_id": null
}
}
여기서 가장 중요한 정보는 event_type과 data 안의 내용들입니다. 이 정보를 활용해 "이러한 데이터를 가진 smartthings.button 이벤트가 발생하면 자동화를 실행해라"라고 명령할 수 있습니다.
2. 이벤트 트리거로 자동화 만들기
이제 찾아낸 이벤트 데이터를 이용해 자동화를 만들어 보겠습니다.
설정 > 자동화 및 장면에서 새 자동화를 추가합니다.
트리거(Triggers) 유형으로 이벤트를 선택합니다.
이벤트 유형에는 위에서 확인한
smartthings.button을 입력합니다.이벤트 데이터에는 특정 버튼의 특정 동작을 필터링할 정보를 입력합니다. UI 모드보다는 YAML 모드로 직접 편집하는 것이 편리합니다.
우측 상단의 점 3개 메뉴를 눌러 YAML로 편집을 선택합니다.
아래와 같이 트리거 부분을 수정합니다.
data부분은 위에서 확인한 내 버튼의event_data내용을 참고하여 채워 넣습니다.
YAML 예시:
이렇게 설정하면, 상태 변화와 관계없이 지정된 device_id를 가진 버튼에서 double이라는 value를 가진 smartthings.button 이벤트가 발생할 때마다 이 자동화가 트리거됩니다.
이제 이 트리거 아래에 원하는 동작(Actions)을 추가하면, 버튼을 누를 때마다 원하는 작업을 수행하는 안정적인 자동화를 완성할 수 있습니다. 🚀
댓글
댓글 쓰기