본문으로 건너뛰기

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로 저장합니다.