ESP8266-01 IoT Smart Timer for Home Automation

With the new buzzwords being Internet Of Things (IoT) and Home Automation, I decided to look at the current items in and around my home that is controlled via some sort of device. The items that stood out, are the following: Swimming pool pump; Swimming pool water filler; Swimming pool and surrounding lights; TV/Entertainment system cabinet lights. The common item used to control these devices, are standard wall plug timers. Each device is fitted with it’s own timer, and are all located in different locations. So why did I choose these items to begin with Internet of Things or Home Automation projects, you might ask? Well, living in South Africa, means power failures are a regular occurrence. With statistics of my home, I had 35 power failures in the past year, totaling 40 hours. This is normally not an issue, as all the currently installed timers are fitted with a back-up battery for time keeping during power failures. But there are some issues: These back-up batteries only last a year or two, then the timer has to be replaced. The timers are constructed such that the timer needs to be destroyed to gain access to the internal Ni-Cad battery. Each time the power fails, the timers with faulty batteries needs to be reprogrammed, and the time set. The physical location of the timer, when plugged into the wall socket, makes it almost impossible to read the lcd displays viewing the timer from the top. This means that the timer needs to be unplugged, or I have to lay down on the floor to set or adjust the timers after a power failure. Due to the above reasons, I decided to test the possibility to replace the timers with an IoT Smart Timer, connected to my local home network. The idea was to design a stand-alone timer, which can: Automatically adjust the current time using the internet (IoT); Operated without any user actions (Smart); Turn an output On/Off according to set times (Timer); Programmable and controllable via network (Home Automation).”