 Thank you very much for joining. I hope you can hear me well It's about time to start This this presentation is about comparison of open source Software home automation tools. My name is León on the V and I'm a senior software engineer at consumer group In the next 30 minutes I'll provide an overview of the open source home automation systems that I know and at the end of the presentation There will be like five minutes for Q&A I Work for consulco group, which is a services company specialized and embedded Linux An open source software my colleagues and I have experienced in upstream contributions to various Popular open source projects starting with the Linux kernel you boot the yokto project and open embedded automotive grade Linux and many more the company has Has an office here in California. However, we have engineers around the world and I'm coming from the office in Bulgaria So I'm traveling from Europe to here The agenda for the next 30 minutes is Of course home automation. First of all, what are the challenges in front of home automation after that? We will do an overview of the popular open source home automation open source platforms that already exist and We can use and finally I have a slide about conclusions Based on my personal experience. I have to say that this presentation is inspired by my My desire to pick up the right open source Software to install in my home to manage all these devices that I take from different brands Internet of things is no longer just the buzzword a decade ago Everyone was speaking about internet of things the huge possibilities that if internet of things can provide however today internet of things are all around us and their new New challenges in front of them internet of things are heavily used in home automation tasks most notably for smart speakers Smart lightning systems and of course robotic vacuum cleaners, which are very popular nowadays True various gateways it's possible nowadays to connect devices that are Operating on various protocols such as Zigbee Bluetooth to the internet as well Obviously having internet of things in our home automation has a lot of advantages, but it also Has some disadvantages The major advantage is that when we combine artificial intelligence and machine learning with the big data generated from all those Sensors and smart devices that we have in our houses We have huge opportunities to understand our ourselves better and to optimize a lot of processes that we do and to make life Our life better of course, so the disadvantages the not so bright side of the things is that When you buy devices from different vendors, it's very hard to make them work together There are several initiatives that we're gonna mention that are trying to solve this Very often sensitive personal information is stored in the cloud and there is no option To use the device without a connection to the cloud as a software engineer I'm always concerned about privacy without I wouldn't say that I'm a privacy or security freak in any way But still sometimes, you know having personal information in the cloud is something that bothers me So how open source can help? Make things better the first of all there are collaborative projects for Interoperability this means that when you have numerous devices From different vendors these projects are trying to solve on a vendor level this problem by using a similar protocols and Making things work together Some of those projects Have been present on previous editions of the better Linux conference. So I'm sure you are familiar with those names The open connectivity foundation Which which is a joint venture between Intel and Samsung opened off? Which is adopted in Panasonic devices, of course Mozilla web of things I'm sure everyone knows Mozilla and they have this initiative for internet of things and In the slides you see that they have even in an implementation that you can also use and the eclipse IOT Foundation is also working on a variety of open source projects, which helps connect various devices However today we'll focus not on these initiatives, but more on open source home automation platforms, which are far more practical They they are started by Various people various creators because they had the problem that I had in my home after buying all those devices from different vendors I wanted to to control them together to make them work together so In in the next slides, I'll cover more than 10 of those platforms so when I was Preparing initially For for this talk I had in mind to focus only on three of them and a few others However, it appears that there's so many other home automation open source platforms that it's very hard to pick just one therefore, I Decided to put a lot of slides and to cover some of them not all of them, of course We are not going to do a side-by-side comparison But rather say what what are the benefits and of each platform? Of course, there are a lot of links so after the talk The slides are already shared so you can have a look and check all the details. I Have to say a disclaimer here. I have used Some of those systems personally in my home not all of them and I don't consider myself an expert because you see that some of those systems have a lot of a lot of features a Lot of features that I'm not very familiar with as well however Some of them have very good documentation others not so good and I hope this presentation will show you the variety of open source home automation platforms that are there on the market and Finally in the conclusions, we can have some kind of a discussion. I'll share with you my thoughts of what's what's good and what can be made better All right, so let's start with home assistant How many of you are using home assistant? Can you raise your hand? All right. Okay. That's fair amount of people So home assistant is an open source home automation platform Which is written in Python 3 with polymer and yaml for configuration files It's one of those platforms that is perfect to run on Raspberry Pi And you see in the next slide that Raspberry Pi obviously is a very popular among these open source home automation Platforms because most of the time people are creating like do-it-yourself solutions with installing these open source software solutions Home assistant nowadays It's recommended to work on Raspberry Pi 3b or newer such as b-plus or eventually even 4 it has been started six years ago and Actually, I've never met the creator of the project, but I believe he he's living here in San Diego There is a really nice talk By him from a previous edition of embedded Linux conference, which is available online at the last of my slides You see a link to this talk. I highly recommend you to have a look at it where he Explains internals how home assistant works and makes a deep dive Here we will not have enough time to do a deep dive in any of the platforms that we we will discuss Home assistant has a huge community. There are more than 10000 1500 contributors They have forums with a with a lot of people asking question or replying question the documentation is It's quite good. Of course the source code is available at github under Apache 2.0 license So it's an entirely open source project The key features is that home assistant supports more than a thousand components in other words most probably if you buy If you buy a device a home automation Internet a thing from Available on the market most probably an integration for it already exists in home at the home assistant Of course the examples are like Ikea trophy Philips Q Google assistant Lexa Amazon. I call nest Cody and so on And the good thing in home assistant is that a few releases ago? Maybe it was Approximately a year ago They provided user logins. So that you have a System with users you can define users and restrict access to the system only by certain users They are continuing the efforts to make different permissions for those users so that the user in future would have Access to different parts of the system One of the key features that I really enjoy and home assistant Is the automatic discovery of devices? This means that as soon as you have home assistant properly set up and running It will discover certain devices There is a very well-defined protocols which could help you do this another key feature is the automatic updates of the lavalas UI this is the default UI and Those of you who know me from my previous presentations know that I'm a huge fan of in cutity the machine to machine communication protocol and Home assistant has an excellent integration of various in cutity components So as I told you a home assistant is Home assistant is a Solution that can run on various different platforms, but one of the most commonly used platform is a Raspberry Pi There are a couple of ways how to get started with home assistant on Raspberry Pi Nowadays the recommended solution is hacaio. This is an embedded Linux distribution Which is now made with built root It has a docker container and route for software over-the-air updates It has been started by Pascal Vizelli in two years ago in 2017 It's compatible not only with raspberry pi but also with inter nuke with odroid devices fingerboard orange pi prime and of course virtual a virtual appliance As far as I remember initially they started with a build based on the yachter project and open embedded after that They decided to switch to to build root Another option which is very popular back in the days was to use the has been image The has been image as the name suggests is an image that had out of the box in styles home assistant on a Raspbian image or and Raspbian is the the default The default Linux distribution provided by the raspberry pi foundation for all raspberry pi models and versions It's for all raspberry pi models versions because the images compile for RV six And of course you have the option to do a manual installation I told you that I'm a huge fan of impurity Just to repeat once again a home assistant has having more than a thousand components These are just a few of those components that are related to impurity Impurity is a machine-to-machine protocol that helps you transfer Payload which could be text or binary payload Through various connected devices Using a broker. How many of you have used them QT? Okay, like half a drill more right. It's um, it's a really awesome protocol because it It allows you near real-time communication and it's very convenient for internet of things and both home on home automation however, the problem is that impurity solves The issue how to transfer the data between the devices, but it does not define How to serialize the data that you are transferring so home assistant has a solution for this they have a very good documentation and a very straightforward way that includes Jason and call it messages how to Send data between the devices and an impurity broker to which home assistant is connected I'm particularly speaking about this because you see that some of the other systems that we're gonna We're gonna talk about have adopted this approach and have adopted the standard defined by home assistant So the next And the next open source home automation platform that I would like to cover is open hop open hop is one of the oldest home automation systems and how many of you have used it no matter which version of open hop Okay, just all right for people or it so I'm gonna cover open hop to in the next few slides. There is a huge changes between version one and two Open open hop stands for open home automation bus The second version is written in actually both versions are written in Java But this one has been completely rewritten. That's that's why There is a huge difference between version one and two and there are a lot of tutorials if you are an existing open hop Open hop user with the version one how to migrate to version two For a while it was based on the eclipse smart home, but since version since version 2.5 things have changed it has more than a 1,500 supported things these are the devices that you can integrate easily on open hop It has been started almost 10 years ago by Kai it has also a huge community and more than 400 contributors the source code is available again in github the licenses eclipse public license to zero You can install and run open hop on Devices supporting Microsoft Windows Mac OS and the new Linux distribution including crossberry pie pine 64 or docker Open hop is also providing mobile applications for Android and iOS which are available at the application stores While speaking about home assistant, I told you that home assistant solves very well the impunity specification for payloads and open hop also has this auto discovery feature really convenient and It for impunity it supports both the homey specification and the home assistant impunity components The same components that you saw in the previous slides defined by a home assistant can be used in a similar way by open hop the next system that I would like To to talk with with you about is the mottics now. How many of you are using the mottics? anyone all right Although Nobody said that is using from people here in the room. It's again a very popular system It's very lightweight. This is one of the advantages of the mottics and it's lightweight probably because it's written in C plus plus Of course there there is support for Python plug-in framework It again runs very well on Raspberry Pi. It has been started seven years ago and It also has big community with more than 250 contributors the source code is available again at github under GPL version 3 license You can install the mottics on Microsoft Windows and GNULINX distribution Again, it's it can run pretty well on Raspberry Pi There is no dedicated image for Raspberry Pi unlike open hop and home assistant. However, the installation is It's simplified by an installation script All right, so now I would like to Given give you an overview of other open-source systems. There are many of them We will not go in too much details Probably because we don't have enough time for them But you see some systems that have a very long history and we are starting with mr. House Mr. House has been started 20 years ago When I when I had a look at the logs and I saw that it started in 99 I was I was amazed But home automation is obviously a problem that has been around for quite quite a lot of time and will it will remain Mr. House is written in pearl since it's quite old Quite quite old too. It runs on Windows 95 or newer versions of Windows and of course most of the UNIX based platforms It's available again at github under GPO version 2 license It doesn't have as big community nowadays as the three other systems that we had a look at But of course if you like coding on pearl, it's it's good to have a look at it Another system written in Python with a front-based Front-end web interface based on Aurelia is open motics This in this is an interesting solution because there is a Company behind this project. It has been started more than 15 years ago And it became open source in 2012 seven years ago. The company is based in Belgium So it's It provides not only the software, but also the hardware and there provide open source hardware So some of the so the hardware schematics are available as well as the software both are in github Creative commons is used for the open source hardware Schematics and GPO version 2 for the software There is a community maintained home assistant plug-in so you can use You can interface things that are already supported by home assistant another system that has A similar approach of not only providing the the the software, but also providing the hardware is Gdom it's a written in PHP Has paid Android and iOS applications. It it supports Various protocols through which you can connect various internet of things and devices It has been started more than five years ago by two co-founders it's Which are based in France? The core source code is available at github under GPO version 2 license So here the interesting part for those two solutions are that they are not only software, but they combine software and hardware And now for those of you who like JavaScript, they are entirely A Platforms entirely based on JavaScript the first one that I would like to share with you is called IO broker It's written in JavaScript with of course not GS and Redis it runs on both arm and Intel devices It's compatible x86 64 devices. It's compatible with Various new Linux distributions Windows and macOS or pretty much you can run it on any operating system out there It supports Almost 300 connected devices, of course this number is far less compared to some of the systems that we covered at the beginning but it supports numerous adapters for integrating third-party systems and Protocols one of the key features here is again that it has automatic discovery Devices of devices over being and in Qtd started in Germany. It's available in github under MIT license If you remember at the beginning I told you about this collaborative projects by started by several several associations One of the most Muzawa and the web of things So Muzawa is not only working on a protocol and a way how to integrate things together But they are also providing a reference implementation of a gateway, which is called Muzawa web things gateway it's again written in JavaScript just like In the previous solution on the IO broker with no GS and there are some Python scripts as well it runs on two devices and Out of the box and there are instructions how to easily got it working on raspberry pi 3 b or b plus and to resomnia Are you familiar with the to resomnia project? Anyone right? Okay, yeah, to resomnia is a very interesting project because it's an entirely open source Wi-Fi Router high-end router. That's why Muzawa has chosen web of things to support it It uses the web of things framework Of course the the task of the whole gateway is to monitor and control your smart home devices with a unified web interface and To provide add-on so that you can integrate the various devices It's again available at github under this time under Muzawa public license to zero and Katie Gehry is giving a talk in one of the other rooms. She is representative of Muzawa So if you have technical questions regarding Muzawa web of things gateway, you can also find her and ask Because it's a it's a really interesting project We're moving on with kawa os this is a server written in C++ The web application is based on angular gs. I'm not sure which version of angular gs I know that in the front-end web development world. This is also important, but I'm not sure for the moment There is a graphical user interface for mobile mobile devices and desktop application written in Qt and QML I Saw that there are some integration APIs that are written in the go programming language So this solution integrates together various programming languages It's built with the octa project and open embedded so it provides a Linux distribution For the supported devices which are Raspberry Pi, Primal board, QB board, Intel Atom and of course other Intel X8664 machines which are defined pretty much by the The the configuration that it makes picks up when when it builds the image Most of the users are French French speaking, this is another thing that I should Should note some of those systems are have for regional popularity Which means that they're popular in certain countries and you can see that sometimes the documentation is Or the forums are not only of English-speaking people and I've noticed while I was doing the research for this this presentation that a lot of the solutions are very popular in certain region depending on the the creator of the project Chaos is available in github under GPL v3 license Open that home is another solution it's written in Java and Apache Maven it runs on Windows Mac OS new Linux distributions, which include Raspbian for Raspberry Pi It supports again multiple protocols and devices including Wi-Fi and radio band devices it offers an open-res interface and of course just last Pretty much any of the other systems can be extended with plugins again. It's available with github and the licenses GPL v3 and The next system is smart home and G it's written in Python. It's available for manual installation or with Docker There is an image for Raspberry Pi, which is based on the Raspbian distribution It has been started seven years ago, but the user documentation at the moment is only in German However, the developers documentation is in English. This is this is a fine example How a system can be? Can have a long history and can be originally very popular most of the users are obviously based In German speaking countries and because of that the user documentation is available in German And the source code is in github under GPL v3 license And Another solution that this solution is more exotic in my opinion because it's written in C sharp It's again open source Python and JavaScript are also used. It's available for Microsoft Windows Debian and Ubuntu with compatible or and any Compatible Debian derived distribution that support that packages and Mac OS, of course There is an Android Client application. I couldn't find an iOS application It supports Some of course quite a lot of devices including some Scenarios for voice control it has been started seven years ago and the source code is available again in github So, okay We are coming towards the end of the presentation as you have seen. There are so many so many Solutions we didn't do a deep dive in any of them However, I have to say that this the systems that we Mentioned so far our system that solve this particular problem how to integrate all those Devices that are available on the market from different vendors and to work together However, if you are interested in home automation with open source software tools There is a huge variety and there are awesome projects that deserves our attention. I'm personally using Kodi Which Kodi some media center it there there are several distributions like Libre a leg open a leg which you can install on a on a device plug it on your TV and enjoy an open source solution for Watching your favorite movies and shows another solution which is Having an open source client is flex. It's a it's a streaming solution again for those of you interested in voices voice assistants my craft is an alternative of Google assistant and Alexa Snips is another Open source tool that provides you options to build your own home assistant Of course on cloud if you don't want your date all of your data in the cloud and if you prefer tool To keep your favorite photos or documents in in your home in your own cloud for the people who like Retro gaming there. There are some great projects like retro pi which allows you to get back into the 80s or early 90s and enjoy your favorite games I Have I have one set up with really cool case that includes retro pi. Unfortunately, I don't have enough time to play with it All right so as you have seen there is a huge variety of open source home automation platforms nowadays several years ago There was a demand on the on in the open source community for such kind of solutions But at the moment there are a lot of solutions If you ask me too many of those solutions are available in my opinion and this is a personal opinion Home assistant open hap to and do motics are ahead of game as of the moment I'm personally using Most of the time home assistant and open hap to the good thing is that you can run both of them simultaneously The motics is also a nice solution as you have seen From the previous slides, but it doesn't have such a good MQtD support And therefore I prefer to use home assistant and open hap to because I have a lot of open source hardware devices that I create on my own and For me, it's easier to integrate them in home assistant and open hap to Unless you have a very very good reason, please do not start another home automation platform We have plenty of them in my opinion. We should focus our efforts as a community in making Making things better making new features better futures one of the problems that I Have experience and some of my friends who have tried those systems who are Who are not engineers is that very often the installation? Is very difficult and time-consuming? So one of the hardest steps is how to get started with some of those platforms Some of them have better better process for installation. For example, the museo web of things has a very straightforward process how you can you know connect your Your gateway to your Wi-Fi network, but for some of the other for some of the other systems You have to you know download an image flush it to a micro SD card after that mount the SD card Type in your Wi-Fi and for a regular user. This is something that's difficult I know that everyone here in this room is an engineer and probably it sounds silly that it could be difficult to mount an SD card and go to a specific location and type in a Wi-Fi password, but if you think about And consumers sometimes this could be could be hard So the business models are Different as you have seen some systems provide everything open source and rely on donations other systems Such as a home assistance Assistant have paid cloud subscriptions and this is one of their ways To get some money to fund the further development of the project Often there are companies providing paid support for the people who cannot so fast something in in the With with the system with the tool of course there is There are marketplaces for plugins and sometimes Sometimes there are paid plugins no matter that the whole the whole core part of the project is free and open source and as you have seen there are a couple of Solutions which provide not only the software, but also the hardware which And their business model is based on that to sell the hardware and with the profit to continue developing Thank you very much These are a few useful links This is this is the link that I've mentioned if you want to learn the insurance about home assistant. It's It's a couple of years old, but still very valid So We're I'm a bit late, but I would like to hear your questions So thank you very much for your attention and please let me know what questions we have. Yes, and this is for the recording Okay. Yeah, this is a really good question. So the question is why I'm using at home both home assistant and open have I don't have a good reason for this I'm just curious person and I like to to experiment and one of the reasons was to see if they can work together so Yes, they have different They have different approach I Would say that in terms of features that I personally need home assistant has more features but it's always good to try new things and In February I visited FOSDM, which is the largest open source conference in in Europe I met the creator of open hub and since I have been using open happy in the past I decided to give it another try because I had a chat with him He had a nice boot and there were a lot of improvements in open happy in the recent years Do you have other questions? I think yeah, sure Yeah, this is an excellent question very common question. I think every one of us is having this type of problems and In my opinion As you have seen there are so many projects too many projects However, there are certain projects that have this critical mass of users that are more actively contributing and One of the things that are there most most of the time people are contributing back to these projects are plugins or add-ons Whatever is the name within the the project so that They can integrate third-party devices like devices that communicate to different protocols like hubs to communicate with let's say Zigbee or whatever And if you have such device at home, and I think every one of us is having the best The best approach to pick up the right home automation platform for you is first to go and check that in the documentation how difficult it is to to get support for your particular device and which additional hardware to use To make them talk to each other Yes, yes The whole idea behind all these platforms that you saw is to solve this problem The thing is that there are so many different protocols so that Different platforms have different level of support depending on the on the platform. Thank you very much Are there any other questions? Yeah? Can we just? Yeah, so those those projects that are Widely used and have a lot of contributors Provide on their websites a list of products that are supported For example at home because I can because I can can I have Alexa in in my living room and Google assistant to Google home in in my kitchen and the the room that I used to work from And I have homecasts around the TVs and Lightning from different vendors and this becomes a huge problem if you want to connect them together I don't like the idea that big corporations wants us to buy Things from us one vendor just because those things can work Talk together and I'm using Home automation open source tools to solve this problem The best approach that I would recommend you is to go to the website of the particular project out if if I'm on your place, I would start with the tree the first tree that we've Covered and check if the particular device that you have in mind is already supported if it's not supported which Which is possible if it's a rare device The next step would be to see How difficult is it to get it supported because since it's an open source project You have the freedom to write a plug-in and integrate it like no Yeah, this sounds really fun Fortunately, I don't have enough time for games, but I'll try to give it. I'll give it a try Okay, thank you very much for joining again