In the past decade, smart home technologies have been a topic of interest for many researchers with the aim of automating daily activities. However, despite increasing progress in this area, less attention has been paid to smart environments that can adapt to changes in residents’ preferences over time. Here we introduce CASAS, an adaptive smart home system that discovers and adapts to changes in the resident’s preferences in order to generate satisfactory automation policies. The adaptation capability of CASAS is achieved by utilizing data mining methods as well as learning strategies that adapt to the resident’s explicit and implicit preference feedback. In this paper, we present a description of the adaptation models employed by CASAS together with the results of experiments applied to both synthetic and real smart environment data.