Internet of Things (IoT) technologies will play an important role in enabling the smart grid achieving its goals in monitoring, protecting, and controlling by incorporating sensors, actuators, and metering devices while supporting various network functions and system automation. In this regard, home energy management systems (HEMS) enable households to better manage energy consumption by providing information about energy usage and allowing more precise control of major appliances. This work proposes a novel framework for IoT based appliance recognition in smart homes. It consists of two parts: training framework and inference framework. The proposed framework allows incorporating different loads in the monitoring system and enables selecting and testing specific parameters related to dataset configuration, feature extraction, and classifier model setting. The work contributes by developing an easy-to-use tool that allows customization of the training/prediction parameters according to the user criterion. Once the data and all its parameters are loaded, a novel feature extraction algorithm is used to obtain a total of ten statistical features. For the classification task, three machine learning models are included: a feed-forward neural network (FFNN), a long short-term memory (LSTM) and a support vector machine (SVM). In addition, the user can apply a set of techniques to overcome the class imbalance, and also measure the influence of the selected features in the classifiers' prediction by performing a feature importance analysis.INDEX TERMS Appliance recognition, frameworks, intrusive load monitoring, internet of things, smart grids, smart homes.