Dynamic programming (DP) can be used to generate the optimal schedules of a smart home energy management system (SHEMS) problem, however, it is computationally difficult because we have to loop over all the possible states, decisions and outcomes. This paper proposes a novel state-space approximate dynamic programming (SS-ADP) approach to quickly solve a SHEMS problem but with similar solutions as DP. The state-space approximations are made using a hierarchical approach, which involves clustering and machine learning. The proposed SS-ADP can generate the day-ahead value functions quickly without compromising the solution quality becasue it only loops over the necessary state-space. Our simulation results showed that the solutions from the SS-ADP approach are within 0.8% of the optimal DP solutions but saves the computational time by at least 20%. The paper also presents a fast real-time control strategy under uncertainty using the Bellman optimality condition and long short-term memory recurrent neural networks (LSTM-RNN). The Bellman equation uses the day-ahead value function from the SS-ADP and the instantaneous contribution function to make fast real-time decisions. The instantaneous contribution is calculated using the PV and load predicted using LSTM-RNN, which performs significantly better than the widely used persistence method. INDEX TERMS PV-storage systems, smart home energy management, state-space approximate dynamic programming, machine learning, long short-term memory recurrent neural networks