스케줄러~
스케줄러는 AoT의 협업형 농장 이벤트 원장(元帳)입니다. AI가 제안한 작업과 사람이 직접 등록한 작업(제초, 점검, 청소, 장치 조작 등)이 하나의 타임라인에서 함께 검토·승인·추적됩니다. 메인 메뉴의 Scheduler에서 접근하며, edit_controllers 권한이 필요합니다.
작업 상태~
스케줄러의 각 작업(job)은 다음 상태 중 하나를 가집니다.
| 상태 | 의미 |
|---|---|
| Draft | AI가 제안했으나 아직 승인/반려되지 않은 작업 |
| Pending | 승인되었거나 수동 등록되어 예약 시각을 기다리는 작업 |
| Running | 실행 중 (장치 제어 작업만 해당) |
| Completed | 정상 완료 |
| Failed | 실행 실패 |
| Archived | 취소/삭제된 작업 (이력으로 보관) |
AI 제안~
AI 에이전트가 작업을 제안하면(add_schedule 또는 schedule_device_control 도구를 통해) AI Proposals 대기열에 Draft 상태로 나타납니다. 각 제안 카드에는 대상, 예정 시각, 에이전트의 판단 근거(reasoning)가 표시됩니다.
- Approve(승인) — 작업을
Pending으로 전환합니다. 장치 제어 작업이라면 이 시점에 실제 트리거가 등록됩니다. - Reject(반려) — 작업을
Archived로 전환하고, 필요하면 에이전트에게 남길 피드백을 함께 기록합니다. - 제안의 Details(상세)를 열면 승인 전에 시각·담당자·내용을 조정할 수 있습니다.
수동 작업 등록~
New Task를 클릭하면 AI를 거치지 않고 직접 작업을 등록할 수 있습니다.
- 대상(출력/채널, PID, Function, 구역 중 하나)을 선택합니다.
- 날짜/시각을 입력합니다. 입력한 시각은 브라우저나 시스템 시각이 아니라 대상 장치 자신의 현지 시각으로 해석됩니다 — 이를 명확히 하기 위해 입력란 옆에 대상의 타임존이 함께 표시됩니다.
- 필요하면 소요 시간과 메모를 추가로 지정합니다.
수동 작업은 승인 단계 없이 바로 Pending 상태로 등록됩니다.
AI에게 물어보기~
New Task 모달의 Ask AI 패널에서는 자연어로 작업을 설명하고(예: "3구역 관수 밸브 내일 아침 6시에 5분만 열어줘") 이를 해석할 AI 에이전트를 선택할 수 있습니다. 에이전트의 응답은 위와 동일한 승인 대기열에 Draft 제안으로 등록되며, 명시적으로 Approve하기 전까지는 아무것도 실행되지 않습니다.
타임라인 / 장치별 타임라인~
- Timeline — 전체 예약 작업을 상태별 색상으로 구분해 보여주는 캘린더(주/월) 뷰입니다.
- Device Timeline — 특정 장치 하나로 필터링한 캘린더로, 해당 장치의 과거 이력과 예정 작업을 한눈에 확인할 때 유용합니다.
이력(History)~
완료·실패·보관된 작업은 History에 실제 실행 결과와 시각 정보와 함께 남아, 실제로 무엇이 실행되었는지 감사(audit)할 수 있습니다.
시각 표시~
농장의 각 장치는 서로 다른 타임존을 가질 수 있으므로, 스케줄러에 표시되는 모든 시각에는 해당 시각이 속한 타임존(장치 현지 기준)이 함께 표기됩니다. 전체 모델은 시간·타임존 문서를 참고하세요.