3 Reasons Why You Should Use Open Source Home Automation
Updated on 20th Sep 2020 22:34 in General, Smart
With so many different plug and play options, why would anyone want to put with all the extra effort required with an open-source home automation controller? Well, one reason is that you can customize it however you like. Another is the ability to see precisely what the software is doing, relieving any privacy concerns. Here we're going to look into some of the reasons you might want to use an open-source home automation system and some of the reasons you might want to pass on it.
Table of Contents
There are many advantages, but as with most things, the importance of each of these will depend significantly on your personal priorities. If you are trying to decide which Home Automation controller to purchase, check out HubFinder to help narrow down your options!
There is no doubt that no commercial system will ever have the same degree of customization as an open-source project. The reason is that even if a company wanted to allow users to modify anything they wanted to, there would still be limits on what can be done simply because the source code of the core software is unavailable. With an open-source project, you can easily view the entire project along with what makes each part of it tick.
Realistically, you are unlikely to ever go through every part of the code, but the ability to do so is what is really great. Say you are working on an automation that will turn on the light when someone claps their hands. Everything goes well until it comes time to fire the automation based on the event of a "clap". While in commercial systems you might be stuck waiting for the company to get around to adding that functionality, with an open-source project it's entirely possible that someone else has already run into the same problem and wrote code to handle this situation!
If you aren't lucky enough to have an existing solution, you are entirely free to come up with something yourself. It might seem challenging to do, but in many cases, the code required for many more basic integrations is very manageable and can be an excellent way to learn how your smart home works! We used clapping as an example, but maybe a commercial integration for that already exists. The point is that, should a software limitation present its self, you can always resolve it your self.
While there isn't necessarily always a direct privacy benefit to using an open-source system, the potential for privacy benefits is enormous. As the controller will be hosted within your home, there is automatically less risk that your data will end up somewhere it shouldn't. The mere fact that data goes over the internet makes it liable to getting hacked or accidentally revealing private information.
Some commercial systems offer local hubs that operate as a box located in your home, but quite a few of those are actually doing most of the work in the cloud. SmartThings and Insteon are both examples of hubs that will be physically located in your home, but that require an internet connection to provide smart functionality.
It is possible to connect cloud-based smart devices to open-source controllers, and in some cases, it is even possible to have the software hosted in the cloud for you! If having your (potentially sensitive) data on third-party servers doesn't bother you, you are free to leverage all the benefits of cloud services while using open-source software. The advantage is that you can choose if you would rather run everything locally or use the cloud.
There is also the possibility of inspecting every line of the source code yourself to confirm that the software does not violate your privacy. It isn't something most people are going to do, but if you want to be absolutely sure that you will maintain a certain level of privacy, you can do so. This would be impossible with a closed source commercial system where you would have to believe whatever the manufacturer tells you.
This might seem like a strange benefit, but it really is a great thing that most open-source controllers offer. Since everything is open, you are free to learn as much or as little as you please about each internal aspect of the smart home controller. There are many small scale projects you can take on to begin learning more about smart homes and the technology that powers them.
It is challenging to have confidence in a system you don't understand, so learning more about it is an excellent way to be more comfortable with your smart home. As an added benefit, seeing how various components function can help give context to products you might purchase in a store. It will be much easier to understand the value of different features when you have some education about them, so it's also a great way to get better deals too.
Nothing is perfect, and open-source home automation systems are no exception. These disadvantages are very subjective and might not be very important, but only you can decide.
Let's get the big one out of the way first: lacking support. Commercial systems will typically have hundreds or even thousands of pages of documentation and instructions for each little thing. They will also usually provide an email and phone number through which users can obtain support and receive assistance immediately. There is, of course, no such service with open-source projects.
As the goal isn't to make a profit, the organizations that run open-source projects don't have the resources to compete with the support offered by large corporations. If you are more likely to want to call someone to receive assistance rather than spend hours looking for a solution online, a commercial system is likely better suited to your use case.
Typically these companies will also design their systems in a way that reduces complexity for the end-user, making it possible to set everything up with ease. As open-source controllers are usually just composed of the software component, the end-user must set up and configure any required hardware themselves. This is undoubtedly a huge deal breaker for many who either don't want to spend hours figuring out how to do something or solving problems.
Can be intimidating
Newcomers might especially feel intimidated by the sheer quantity of parameters, integrations, and options available. Many commercial systems have a simple UI with a special, harder to access page for configuring all of the advanced options - if they offer any at all. It is the nature of open-source projects that they are often a bit difficult for beginners to get started. It always seems like you need to know everything about it just to get started and do something simple.
Home Assistant was guilty of this in the past by requiring users to configure everything using a YAML configuration file. To be clear, there is nothing wrong with configuring things via a file, but the problem is that unlike when using a UI, it can be difficult to identify which options you need to set to get things working. It was common to have to go on some website to copy-paste the entire configuration just to get things running. If you've ever seen one of these configuration files, you'll know that they can be huge and contain many, many things.
They have since made much of the configuration editable via the UI, which mostly solves this problem as the system ships with a default config that can be modified in the onboarding wizard. The difference between a commercial product and an open-source one usually comes down to how easy it is to get something working when the user knows nothing about the system. Almost every commercial system offers a full-featured graphical onboarding process that walks users through configuring everything needed to get going.
Wait, didn't we say earlier that open-source controllers would have greater compatibility? Of course, the answer is that they do have the best compatibility out of any option, but it comes with a massive caveat: you are on your own when it comes to determining precisely what will be compatible. When picking a device to use with Alexa as an example, many will be listed as "works with Alexa", which can help buyers determine what they should get.
Unfortunately, there is no such standard for open-source controllers. This means that the best way to ensure a device will work is to get one that is compatible with a popular commercial protocol and then to use a bridge between that and the controller. An example of such a protocol would be Z-Wave, which is featured in many hubs and is supported by most open-source projects.
As all Z-Wave devices must conform to a specific standard, you can be sure that you will be able to use those devices with your controller. Apple HomeKit is another example of a popular protocol that has a long list of compatible devices. Another option is to check which kind of integrations are available for the controller and to use that to find compatible devices.
When it comes to the question "Why use open-source home automation?", there are many factors that will come into play. Here we saw that customization, privacy, and education are just a few of the reasons to use an open-source system. Of course, these systems aren't without their downsides, such as a lack of support, intimidating start, and compatibility headaches. Despite all of the downsides, using an open-source home automation controller is an excellent way to gain the most delicate control possible of your smart home.