Condition-based maintenance (CBM) is a well-known maintenance cost minimization strategy in which maintenance activities are performed based on the actual state of the system being maintained. The act of combining maintenance activities for different components is called opportunistic maintenance or maintenance clustering, which is known to be cost-effective, especially for multi-component systems with economic dependency. Every operating system is subject to gradual degradation which ultimately leads to system failure. Since each level of degradation can be represented by a state, every system can be modeled as a multi-state structure. The state of a system can be estimated through condition monitoring, albeit with uncertainty. The majority of studies in the field of maintenance planning are focused on preventive perfect maintenance operations such as replacement. But in practice, most of the maintenance operations are imperfect because of time, technology, and resource limitations. In this paper, we present a CBM clustering model that factors in uncertainty in alerting and lifetime distribution and considers the possibility of using the imperfect maintenance approach. This model is developed for a system with three levels of warning (Signal, Alert, Alarm), which combines inspections and condition monitoring to avoid unnecessary inspections and thereby achieve better cost-efficiency. Our analysis and results provide a general view of when and how to cluster maintenance activities to minimize maintenance costs and maximize system availability. Numerical investigations performed with MATLAB show that clustering CBM activities can result in as much as 80% cost saving compared to No clustering.