Applications such as long-term environmental monitoring and large-scale surveillance demand reliable performance from sensor nodes while operating within strict energy constraints. There is often not enough power for sensors to make measurements all of the time. In these cases, one must decide when to run each sensor. To this end, we develop a one-step optimal sensor-scheduling algorithm based on expected-utility maximization. "Utility" is an application-specific measure of the benefit from a given sensor measurement. In sensing environments that can be modeled using a hidden Markov model, selecting the appropriate combination of sensors at each time instant enables maximization of the expected utility while operating within an energy budget. For some budgets, the utility-based algorithm shows more than 300% utility gains over a constant duty-cycle scheme designed to consume the same amount of energy. These benefits are dependent on the energy budget.