Abstract-Providing spontaneously personalized services to users, at anytime, anywhere and through any devices represent the main objective of pervasive computing. Smart home is an intelligent environment that can provide dozens or even hundreds of smart services. In this paper, we propose an approach to present spontaneously and continuously the most relevant services to the user in response to any significant change of his context. Our approach allows, firstly to assist proactively the user in the tasks of his/her daily life and secondly to help him/her to save energy in the smart home environment. The proposed approach is based on the use of context history information together with user profiling and machine learning techniques. Experimental results show that our approach can efficiently provide the most useful services to the user in a smart home environment.