At this point in the project I will try and explain as best as I can how I see these components working and how they should integrate with the main system. Unfortunately I do not have time to continue developing them along with the Challenge but if nobody is against it I will continue updating these post as I progress with development so I can come to a conclusion on all the parts.
I will go ahead in this post and cover the rest of the components. As mentioned I will not leave them be as they are and I hope I will be able to make a separate post for each and every one of them with more details.
1. Temperature Control
For this module I will talk about the gas based central heating system. Most of the heating units have the possibility to connect an thermostat that would control it. The thermostat is basically an temperature sensor that send data to a central module, and a relay that make a connection on a wire and the unit starts. The downside of this system is that you only use the data from the room in which the thermostat is located.
Using the same logic you could gather data from all the rooms and even set different temperatures in each of them and stop the central heating unit only when the coldest room reached the temperature it was set for it. But also the individual heaters would have to be controlled because it can get too hot in other rooms so you would stop the water flowing in the heaters from the rooms where the temperature reached the threshold values. For stopping the heaters there are electric valves I could use or make a mechanism that turns the knob from the heater (in this way I could keep the idea throughout the project that all the automatic things should leave the possibility to be done by hand in the same way were are used to do them)
The user should be able to control the temperature from a distance so you could easily heat up the apartment when you come home from a vacation.
2. Coffee machine
This is again a glorified light switch. It can be implemented using the same idea and integrating the the coffee machine so it would start at a certain hour. As the light switch can be controlled from the main server, the switch from the coffee machine could be controlled the same way. The only other thing I would add is a digital button that would connect the relay without the use of the main server.
3. Personalized home welcoming
This I imagined doing by inserting an RFID reader in the shield of the door know where you insert your key to unlock the door. The RFID tag would be glued to the key so when you insert it to unlock the door the main system would recognize who entered the house. Since there are multiple devices controlled by the main server, it should be able to execute a specific number of commands when you enter for example to start playing a certain playlist, turn on the lights on your usual way through the house, etc.
4. TV Control
The TV Control consists of an IR led that could act like a remote for your TV (I attached some code that I used for testing this and it might help). The hardest part is to recognize what is happening on the TV. Since image recognition is a processing power consuming application I imagined this system on a standalone Raspberry PI that has a camera attached to it and the IR sensor. The main system can send the commands from the user and the TV control system can execute them
Sorry for the lack of information but I will update as I progress with the development. Meanwhile please leave your thoughts in the comments bellow, all ideas are useful.