1 of 1 people found this helpful
There’s no a specific post or article in the Community about how to build a home automation system. However, there are some resources and ideas around the web that can get you started. I would suggest you to start by looking these two links:
Also, after a quick google search I saw that there are some books in the market that cover this topic. You might want to search them.
I think we need more people asking this question - and folks working on solutions. I have been working on automating my home and have found that there really isn't much available as a coherent solution. There is a lot of "stuff" available, but most of it doesn't work well together, or relies on somebody providing "services" that is far from complete (or useful, in my opinion). Everybody wants you to send your data to the cloud - presumably so that they can justify service charges. If they can create a useful service, well, more power to them, but for me, I want a flexible solution that I can implement and then decide what data I may want in the cloud.
After doing a bunch of research, I've started basing my solution on Kafka - to provide a home central server that receives data from multiple sensors or activators. Tools on the Kafka server then monitor and generate responses that are then fed to various control devices. A database runs on the Kafka server for data archival / history. I'm using JSON as the data format for the Kafka data and have been developing a format to use. All of this is still pretty early and I have only partial functionality so far - it takes quite a bit of time to get this stuff written :-). Kafka has lots of tools for generating and receiving data and this works great on Galileo as well as Linux and other Windows boxes. In my case, I'm using both C/C++ and Python to provide the glue between the sensors (generally running Yocto Linux) and the central server (running Linux since Windows support is always a second thought).
Of course all of this means that you have to be pretty adept at writing software to get this up and running. I see more code on github every week that is providing functionality that is adaptable to this architecture. Of course, I hope that there becomes a larger community working on tools like this to make it much easier and let things plug in more easily.
WilliP Thank you very much for your responding, I 'll work hard to get it done with kafka because i have to finish my project by the end of the current month, i am just a maker so i may find more problems with programming, but i hope to get it all done.
I certainly understand - I originally started to look for something already developed, but I've been looking for a couple of years. I finally decided to try to merge some technologies and I hope to document the process at some point to try to help other folks be able to do this much easier.
Some learnings, avoid X10 - if you are doing something simple and closely located, it may be okay. I have been using Insteon based switches, outlets, etc. and they seem to work pretty well. Of about 30 light switches, outlets, and a few motion sensors in a large house, I have only had one switch that had marginal communication. The programming is not the greatest and the tools provided by Insteon are really bad. They work for a while, but eventually when adding a new device, the programming will get messed up and all kinds of unpredictable things start happening. 3rd party tools seem to work better. Some of the new hubs for some of the other protocols (like Z-wave) are problematic as well. You will have to spend some time picking the appropriate devices or you may end up spending a lot of your month just shaking out the devices.
Good luck - I hope you find something that will work for you.