Rule Chain 편집기
사이드바 관리 → Rule Chain에서 텔레메트리·속성 변경·RPC 등 이벤트를 자동 처리하는 로직 흐름을 만듭니다(테넌트 관리자 전용). 노드 종류와 동작 원리는 Rule Engine 개념 문서를 참고하세요. 이 페이지는 편집기 사용법을 다룹니다.
Rule Chain 목록
- 새 Rule Chain — 이름을 입력해 빈 체인을 만듭니다.
- 가져오기 — JSON으로 내보낸 체인을 업로드합니다. 각 항목의 다운로드 아이콘으로 JSON 내보내기도 가능합니다.
- Root 배지 — 테넌트당 하나의 체인이 root이며, 프로파일에 별도 체인을 지정하지 않은 모든 장치의 메시지가 이 체인으로 들어옵니다. 별(★) 아이콘 Root로 설정으로 다른 체인을 root로 바꿀 수 있고, root 체인은 삭제할 수 없습니다(먼저 다른 체인을 root로 지정해야 합니다).
테넌트 생성 시 "Default Rule Chain"이 기본 노드 구성(메시지 타입 분기 → 텔레메트리 저장 / 속성 저장 / 장치 오프라인 알람 서브체인 등)과 함께 자동으로 만들어져 있으므로, 보통은 이 체인을 수정하는 것부터 시작합니다.
편집기 화면
체인을 클릭하면 비주얼 에디터가 열립니다.
- 좌측 노드 팔레트 — 필터 / 보강 / 변환 / 액션 / 흐름 카테고리별로 노드가 그룹되어 있습니다. 원하는 노드를 캔버스로 드래그해 놓으면 추가됩니다.
- 중앙 캔버스 — 노드는 카테고리별 색(필터 파랑, 변환 노랑, 보강 청록, 액션 초록, 흐름 주황)으로
표시됩니다. 노드의 우측 출력 핸들에서 다음 노드의 좌측 입력 핸들로 드래그하면 연결(relation)이
만들어지며, 기본 relation은
Success이고 노드에 따라Failure,True/False등 분기별 핸들이 있습니다. 노드/연결은Delete키로 삭제합니다. 미니맵·줌 컨트롤을 제공합니다. - 우측 노드 설정 패널 — 노드를 클릭하면 열립니다. 이름과 노드별 설정 필드(예: 필터 식, 대상 체인, 알람 타입)를 입력하고 적용을 누릅니다.
- 저장 — 우상단 저장 버튼을 눌러야 노드 배치·설정·연결이 서버에 반영됩니다.
디버그 모드
노드 설정 패널의 디버그 모드 체크박스를 켜면(노드에 벌레 아이콘 표시) 그 노드의 실행 이력이 기록됩니다. 패널 하단 최근 이벤트에 실행 시각, 결과(성공 relation 또는 ERROR), 입력/출력 페이로드(JSON)가 5초 간격으로 갱신 표시되어 체인을 만들면서 바로 검증할 수 있습니다. 체인을 저장한 뒤부터 이벤트가 기록됩니다.
자주 쓰는 구성 예
- 임계값 알람:
key_filter(키 존재 확인) →js_filter(예:temperature > 80) →create_alarm. 복귀 분기에는clear_alarm을 연결합니다. 단순 임계값이라면 Rule Chain 대신 장치 프로파일의 알람 룰이 더 간단합니다. - 알림 발송:
create_alarm뒤에send_notification노드를 연결하면 대상(테넌트 관리자 / 장치 고객 사용자 등)과 채널(인앱/이메일/Slack)을 골라 알림을 보냅니다. 알람 없이send_notification만 단독으로 써서 임의 이벤트를 알릴 수도 있습니다. - 서브체인 분리: 공통 로직을 별도 체인으로 만들고
rule_chain(흐름) 노드로 호출하면 root 체인을 디스패처로 유지할 수 있습니다. - 파생값 저장:
js_transform또는math노드로 값을 계산한 뒤save_timeseries로 저장합니다.