I have been interested in Raspberry Pi based “build your own” smart home hubs for some time now and have tried a good amount of them. For one reason or another, I have never really stuck with them and keep reverting back to either Wink or SmartThings. Well, my latest trip down the rabbit hole had me trying out Mozilla Project Things which like others it runs on a Raspberry Pi and with the addition of both hardware and software add-ons allows you to control your smart home. Let’s take a look at how to get up[ and running with Mozilla Project Things on a Raspberry Pi and then talk about some of its features.
Like most of my Raspberry Pi based projects, Mozilla Project Things can be installed and run from Docker allowing you to have multiple projects running on one Raspberry Pi. Sure you can just flash the SDCard image available for download from Mozilla and have a dedicated Raspberry Pi hub but why not take advantage of Docker and have the ability to use your Raspberry Pi for so much more. Assuming your Raspberry Pi is already up and running and you have Docker installed setup is pretty simple, just follow the steps below.
- From Terminal on your Raspberry Pi Run the Mozilla Project Things Docker Image using the following command:
docker run \ -d \ --rm \ -v /path/to/shared/data:/home/node/.mozilla-iot \ --net=host \ --name mozilla-iot-gateway \ mozillaiot/gateway:arm
- From here open a Browser window and navigate to
Now you will be greeted with the initial set up steps of Mozilla Project Things. Now right off the bat, you will see Mozilla has stepped up the “build your own” hub game by building SSL and DNS right in so unlike other players in this space you do not need to deal with LesEncryp or DuckDNS, simply create your own unique subdomain, create a username and password and you will be up and running and taken to the Mozilla Project Things dashboard which is a mostly blank blue screen with a “+” Icon and a Hamburger Menu.
Navigating around the Mozilla Project Things Dashboard is very simple everything you need is within only a few clicks which makes setup a breeze. Assuming you have a Z-Wave USB Dongle and/or a ZigBee USB Dongle connected to your Raspberry Pi then you can simply click the “+” icon and your gateway will begin searching for devices and all you need to do is enter inclusion mode on those devices. But that’s not all you can add for devices as there are plenty of add-ons available in the settings menu for API or cloud-to-cloud based integrations like Hue, Lifx and Netatmo to name a few.
Once you have a few devices added to your Mozilla Project Things gateway then you will see just how pretty it is. Now I think I am a bit partial to the blue color presented here from my Wink days but I love it! right from the Dashboard you can easily see that status of your devices and drill down into further detail on any one of them with just a click. Now I know what you are thinking, I hate SmartThings because it just displays my devices on a big list, why would I like this any better? Well, that is pretty simple, the Mozilla Project Things dashboard has this handy little Floorplan view!
Floorplan inside of Mozilla Project Things is one of my favorite features and I have not played with any home automation platforms that have offered anything that could compare. All you have to do is upload an SVG file of your home’s floorplan (they are easy enough to create if you do not have one), then start dragging and dropping devices into the respective rooms. On top of how easy the floorplan is to set up, it is also interactive so you can see in real time device status and sensor information. How friggin cool is that and why don’t more home automation platforms do this?
I briefly mentioned add-ons earlier and these are what makes the magic happen with the Mozilla Project Things Gateway. From the settings menu, you can see all of the add-ons that are installed and install any of the available add-ons from the repository. While this is all well and good, it is also where I struggle with Mozilla Project Things. The support for a lot of devices and ecosystems is just not there yet. For me, a major roadblock (and deal breaker) is lack of Lutron support as ninety percent of my lighting is Lutron Caseta. Now I know this is not the fault of Mozilla as I am sure Lutron wants to be paid to access there API this will certainly prove to be a roadblock for many. But because of the other features, I do like about Mozilla Project Things I may dedicate some time into coming up with a workaround, perhaps something with virtual devices, IFTTT and/or MQTT but we shall see.
Mozilla Project Things even has a neet little experimental feature which is its own built-in voice assistant. While I am not sure anyone is ready to ditch Alexa or Google Assistant for this it is nice to see this level of detail go into the end users enjoyment and usability. In my testing, I would say the built-in voice assistant worked about seventy-five percent of the time which is a good start but I still see myself getting my devices into Alexa allowing me control from any of the Amazon Echo devices I have throughout my home.
Now I kind of saved the best for last on this one which is the built-in rules engine. Finally, someone is realizing that we need real automation based off sensor and user data and not just remote control. SmartThings has a pretty basic rules engine built in and you can do some decent automation with it but SmartThings also has webCoRE which allows us to automate our little hearts out and Wink has next to no automation power without using third-party services. Well, the Rules Engine in Mozilla Project Things is amazing right out of the box and reminds me a lot of Stringify but without the Comcast which is nice. You can have a set of triggers and a set of actions, they simply connect in the UI (which could not be easier to use) and as long as you have the data from either a sensor or virtual device you can automate it by easily dragging and dropping.
It appears that a lot has gone into making Mozilla Project Things simple right out of the box. While I do not see many of your average consumers picking up a Raspberry Pi and essentially building there own smart home ecosystem, for those of us tinkerers it is nice to see this level of detail go into the UI. Mozilla Project Things is still very much in its infancy and based off of what I have seen I expect big things from it in the future and I can not wait to see just what those big things are.
I am passionate about the IoT and connected devices. Using connectivity to automate our lives will empower civilization to achieve greatness.