스케줄러~
스케줄러는 AoT의 협업형 농장 이벤트 원장(元帳)입니다. AI가 제안한 작업과 사람이 직접 등록한 작업(제초, 점검, 청소, 장치 조작 등)이 하나의 타임라인에서 함께 검토·승인·추적됩니다. 메인 메뉴의 추가 기능 -> 스케줄에서 접근하며, edit_controllers 권한이 필요합니다.
작업 상태~
스케줄러의 각 작업(job)은 다음 상태 중 하나를 가집니다.
| 상태 | 의미 |
|---|---|
| Draft | AI가 제안했으나 아직 승인/반려되지 않은 작업 |
| Pending | 승인되었거나 수동 등록되어 예약 시각을 기다리는 작업 |
| Running | 실행 중 (장치 제어 작업만 해당) |
| Completed | 정상 완료 |
| Failed | 실행 실패 |
| Archived | 취소/삭제된 작업 (이력으로 보관) |
AI 제안~
AI 에이전트가 작업을 제안하면(add_schedule 또는 schedule_device_control 도구를 통해) Draft 상태로 등록되고, AI → 요청 화면의 "일정 제안"에 카드로 나타납니다. 각 카드에는 내용, 장소, 예정 시각, 에이전트의 판단 근거(reasoning)가 표시됩니다. 스케줄러 화면 맨 위에는 기다리는 제안 수와 요청 화면으로 가는 단추가 한 줄로 보이고, 달력에서 제안을 눌러도 요청 화면으로 갑니다.
- 승인 — 작업을
Pending으로 전환합니다. 장치 제어 작업이라면 이 시점에 실제 트리거가 등록됩니다. - 거절 — 작업을
Archived로 전환합니다. - 자세히를 열면 승인 전에 시각·담당자·내용·장소를 조정할 수 있습니다.
제안을 결정하려면 제어기를 편집할 권한이 있어야 합니다. 그룹을 쓰는 경우 대상이 내 그룹 안에 있는 작업만 만들고 승인하고 고치고 취소할 수 있습니다. AI 제안을 승인하면 승인한 사람이 그 작업의 책임자가 되며, 작업이 실행될 때마다 그 사람의 권한과 그룹으로 다시 확인해 더 이상 맞지 않으면 실행하지 않고 실패로 기록합니다.
사람이 하는 작업(제초, 점검 등)도 어디서 만들든 같은 규칙을 따릅니다 — 여기, 노트 구간, AI 어시스턴트나 MCP, Google 캘린더 가져오기 모두 작업을 만들고 고치고 취소하려면 편집자 역할(제어기 편집 권한)이 필요합니다. 편집자보다 낮은 역할은 설정 편집 권한이 있더라도 작업을 볼 수만 있습니다.
책임자 없는 작업. 함수나 시스템이 만든 작업, 이 확인이 생기기 전에 만든 작업, 책임자 계정이 지워졌거나 사용 중지된 작업에는 책임자가 없습니다. 이런 작업은 지금처럼 계속 실행되며, 사용자를 지우거나 계정을 사용 중지해도 그 사람이 맡던 작업은 멈추지 않습니다. 계정을 다시 사용하게 해도 책임자는 자동으로 돌아오지 않으니 다시 지정하세요. 활성 작업 목록의 책임자 열에 책임자 없음으로 표시됩니다. 사용자를 관리할 권한이 있는 사람은 작업 자세히에서 책임자를 고르고 책임자 지정을 누를 수 있습니다. 사용 중지된 계정은 고를 수 없습니다. 그 종류의 작업을 만들 수 있는 역할인 사람만 후보로 나오고, 작업 대상이 그 사람의 권한이나 그룹 밖이면 지정되지 않으며, 지정한 내용은 감사 기록에 남습니다. 그 뒤로는 실행될 때마다 그 사람으로 확인합니다.
수동 작업 등록~
새 작업을 클릭하면 AI를 거치지 않고 직접 작업을 등록할 수 있습니다.
- 작업 종류(출력 제어, PID 조정, 트리거 함수, 추상 계획 (상태))를 고르고, 그에 맞는 대상을 선택합니다 — 장치(채널과 켜기/끄기 상태까지), PID 제어기(바꿀 항목: 목표값, Kp, Ki, Kd), Function, 구역/대지 중 하나입니다. 출력 제어와 PID 조정은 양도 함께 입력합니다 — 장치는 초 또는 PWM, PID 는 새 값입니다.
- 날짜/시각을 입력합니다. 입력한 시각은 브라우저나 시스템 시각이 아니라 대상 장치 자신의 현지 시각으로 해석됩니다 — 이를 명확히 하기 위해 입력란 아래에 같은 순간을 대상의 시간대, 내 시간, UTC 로 함께 보여 줍니다. 대상에 위치가 지정되지 않았으면 그 줄에 그렇게 적히고, 시각은 시스템 시간대로 해석됩니다.
- 반복을 고릅니다 — 1회성, 일간(매일 같은 시각), 또는 간격 (분) 으로 몇 분마다 반복할지 지정합니다.
- 필요하면 지속 시간(분)과 작업 노트를 추가로 지정합니다.
수동 작업은 승인 단계 없이 바로 Pending 상태로 등록됩니다.
AI에게 물어보기~
새 작업 모달은 수동 탭으로 열립니다. 두 번째 스마트 AI 탭에서는 자연어로 작업을 설명하고(예: "3구역 관수 밸브 내일 아침 6시에 5분만 열어줘") 이를 해석할 AI 에이전트를 선택할 수 있습니다 — 고르는 일을 시스템에 맡기는 자동 배포 (AI 멀티에이전트), 또는 켜져 있는 에이전트를 이름과 역할로 직접 지정합니다(내장 AI 가 켜져 있어야 합니다). AI에게 질문을 누르면 같은 탭에 답이 나타납니다 — 에이전트의 인사이트와 제안된 동작 목록입니다. 장치를 조작하거나 일정을 예약하거나 설정을 바꾸는 것은 Draft 제안으로 등록되어 AI → 요청 화면에서 결정하며, 명시적으로 승인하기 전까지는 그런 동작은 아무것도 실행되지 않습니다. 답하기 위해 필요했던 조회는 답이 보이는 시점에 이미 끝나 있습니다.
타임라인 / 장치별 타임라인~
- 타임라인 — 가장 최근 200건의 예약 작업을 상태별 색상으로 구분해 보여주는 캘린더(주/월/주간 목록) 뷰입니다. 위쪽 목록과 같은 범위를 싣습니다 — 제안·대기·실행 중·완료 작업이며, 자동 실행 기록은 켜지 않으면 빠집니다. 실패·보관 작업은 이력에만 나옵니다. 달력의 축은 보는 사람의 시계이고, 항목에 마우스를 올리면 대상 자신의 시간대로 시각이 뜨며, 클릭하면 작업 상세가 열립니다(제안은 AI → 요청 화면으로 보냅니다).
- 장치 타임라인(베타) — 장치마다 한 줄로, 아직 대기 중인 예정 작업 예약과 최근 24시간의 실제 가동을 길이가 적힌 막대로 보여 줍니다. 막대를 클릭하면 이름과 구간이 표시됩니다. 폰에서는 장치마다 한 줄로 접혀 예약 건수와 가동 건수만 보여 줍니다.
이력(History)~
완료·실패·보관된 작업은 이력에 남습니다. 가장 최근 20건이 내용·위치·최종 상태·등록 시각과 함께 나열되고, 설정 아이콘을 누르면 전체 기록(작업 종류, 상태, 위치, 내용, 예정 시각, 소요 시간, 제안한 주체, 그 근거)이 열려 실제로 무엇이 실행되었는지 감사(audit)할 수 있습니다.
시스템이 스스로 남긴 기록(자동 실행)은 사람과 에이전트가 만든 작업을 묻어 버리지 않도록 기본으로 숨겨집니다. 제목 옆의 자동 실행 기록 보기 (n건) 링크가 몇 건이 숨겨졌는지 알려 주고 다시 보여 주며, 같은 링크로 도로 숨깁니다. 타임라인도 이 설정을 따릅니다.
시각 표시~
농장의 각 장치는 서로 다른 타임존을 가질 수 있으므로, 스케줄러에 표시되는 모든 시각에는 해당 시각이 속한 타임존(장치 현지 기준)이 함께 표기됩니다. 대상에 위치가 지정되지 않은 경우에는 '장치 현지' 라고 적지 않고, 시스템 시간대로 추정했다고 표기합니다. 전체 모델은 시간·타임존 문서를 참고하세요.