Home energy management system (HEMS) plays a vital role in the demand side management (DSM) of residential sector to achieve better energy efficiency of household via the intelligent control of different smart home entities. In this paper, the energy management problem of a smart home consisting of a utility grid with dynamic electricity price, a photovoltaic (PV) module and the household appliances with three different types of load characteristics (i.e., interruptible, uninterruptible and time-varying) is investigated. A HEMS formulated using mixed integer linear programming (MILP) is then proposed herein not only aims to schedule the load consumptions of all household appliances delicately, but also to manage the power dispatch of utility grid optimally under a single optimization framework without violating the operating constraints. Extensive simulation results show that the proposed HEMS is able to deliver optimal scheduling performance in financial and user's comfort level aspects for being able to satisfy the load demands of all household appliances with minimum electricity costs and shortened user's waiting time, respectively.