iaqualink_set_schedule
Set or disable an eXO salt-chlorinator timer (pump, chlorinator or aux) with start and stop times, pump rpm and an enable flag, confirming the change before it applies.
Instructions
Change one eXO salt-chlorinator timer (pump, chlorinator or aux): set its start and stop time (24-hour HH:MM) and enable it, set rpm on a variable-speed pump timer, or disable it (enabled: false clears it to 00:00–00:00, as the app does). Identify the timer by its key (sch3), id (sch_3), name or endpoint (ssp_1) from iaqualink_list_schedules. A chlorinator timer must stay inside its pump timer’s window. eXO systems only — for a Jandy AquaLink RS panel use iaqualink_add_schedule / iaqualink_edit_schedule / iaqualink_delete_schedule. The eXO applies changes asynchronously; the result says whether a re-read confirmed it. Unverified on live hardware (shape from community Home Assistant integrations). Asks the user to confirm first: a confirmation prompt where the client supports one; otherwise the first call returns a preview and a confirmToken, and only a repeat call with that token proceeds (see MCP_CONFIRM_MODE).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"serial": "<serial>",
"schedule": "<schedule>"
},
"name": "iaqualink_set_schedule"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rpm | No | Pump speed — variable-speed pump (vsp_*) timers only | |
| stop | No | Stop time, 24-hour HH:MM, after start (required to enable) | |
| start | No | Start time, 24-hour HH:MM (required to enable) | |
| serial | Yes | System serial number, from iaqualink_list_systems | |
| enabled | No | false = disable and clear the timer | |
| schedule | Yes | Timer key (sch3), id (sch_3), name or endpoint (ssp_1) | |
| confirmToken | No | ONLY for the two-step confirmation fallback (a client without MCP elicitation). The confirmToken from this same tool's phase-1 "confirmation-required" response, passed back ONLY after the user has seen that preview and explicitly approved it in chat — never on the first call, never invented, never reused. Call again with the same arguments. Ignored when the client supports elicitation. |