According to one example, a system includes a heat source operable to provide an amount of energy to be used to cook a food item, and further includes one or more processors. The processors are operable to receive an indication of a requested cooking temperature, and to receive a plurality of indications of measured temperature associated with the food item at different times. The processors are further operable to determine an integral term based on differences between the requested cooking temperature and the measured temperatures, to determine a heat loss term based on the integral term, and to determine an energy adjustment based on the heat loss term. The heat source is further operable to modify the amount of energy provided by the heat source in accordance with the determined energy adjustment.