Smart grid and smart house applications currently seldom utilise the Internet of Things (IoT), despite the fact that it offers substantial benefits over conventional communication methods. This research uses a thorough literature analysis to help bridge the gap between current state-of-the-art smart home apps and their potential integration into an Internet of Things (IoT) enabled environment. We propose a holistic framework which incorporates different components from IoT architectures/frameworks proposed in the literature, effectively incorporate smart home devices into an Internet of Things (IoT) solution that is focused on the cloud. For the suggested architecture, we determine a model for smart home administration and the primary responsibilities of each level. We also discuss practical design challenges emphasising data processing, smart home communication protocols and interoperability. We believe that the comprehensive architecture established in this article may serve as a rock-solid foundation for those in the future who build smart home solutions based on the Internet of Things.