Things Gateway 0.5 packed full of new features, including experimental smart assistant

The Things Gateway from Mozilla lets you directly monitor and control your home over the web, without a middleman.

Today the Mozilla IoT team is excited to announce the 0.5 release of the Things Gateway, which is packed full of new features including customisable devices, a more powerful rules engine, an interactive floorplan and an experimental smart assistant you can talk to.

Customisable Things

Custom Capabilities

A powerful new “capabilities” system means that devices are no longer restricted to a predefined set of Web Thing Types, but can be assembled from an extensible schema-based system of “capabilities” through our new schema repository.

This means that developers have much more flexibility to create weird and wacky devices, and users have more control over how the device is used. So if you have a door sensor which also happens to be a temperature sensor, a smart plug which also has a multi-colour LED ring, or a whole bunch of sensors all in one device, you’re not limited by restrictive device types.

This also provides more flexibility to developers who want to build their own web things using the Things Framework, which now also has support for Rust, MicroPython and Arduino.

Custom Icons

When a user adds a device to the gateway they can now choose what main function they want to use it for and what icon is used to represent it.

Image showing the UI for choosing capabilities from a dropdown menu

You can even upload your own custom icon if you want to.

Image showing UI for selecting an image icon for different types of things

Custom Web Interface

In addition to the built-in UI the gateway generates for devices, web things can now provide a link to a custom web interface designed specifically for any given device. This is useful for complex or unusual devices like a robot or a “pixel wall” where a custom designed UI can be much more user friendly.

Image of UI showing examples of custom web interface icons you can create

Actions & Events

In addition to properties (like “on/off”, “level” and “color”), the gateway UI can now represent actions like “fade” which are triggered with a button and can accept input via a form.

Screenshot of UI for choosing different types of actions

Screenshot of UI for defining duration and level

The UI can also display an event log for a device.

Screenshot of event log UI

Powerful Rules Engine

The rules engine now supports rules with multiple inputs and multiple outputs. Simple rules are still just as easy to create, but more advanced rules can make use of “if”, “while”, “and”, “or” and “equals” operators to create more sophisticated automations through an intuitive drag and drop interface.

It’s also now possible to set colours and strings as outputs.

Interactive Floorplan

The floorplan view is even more useful now that you can view the status of devices and even control them from directly inside the floorplan. Simply tap things to turn them on and off, or long press to get to their detail view. This provides a helpful visual overview of the status of your whole smart home.

UI showing an interactive floorplan for monitoring your smart home

Smart Assistant Experiment

A feature we’re particularly excited about is a new smart assistant you can talk to via a chat style interface, either by typing or using your voice.

You can give it commands like “Turn the kitchen light on” and it will respond to you to confirm the action. So far it can understand a basic set of commands to turn devices on and off, set levels, set colours and set colour temperatures.

Image of the foxy smart assistant and examples of voice and text interactions

The smart assistant is still very experimental so it’s currently turned off by default, but you can enable it through Settings -> Smart Assistant UI.

UI for enabling the smart assistant

Other Changes

Other new features include developer settings which allow you to view system logs and enable/disable the gateway’s SSH server so you can log in via the command line.

UI showing developer settings panel

It’s also now much easier to rename devices and you can now also add devices that require a pin number to be entered during pairing.

How to Get Involved

To try out the latest version of the gateway, download the software image from our website to use on a Raspberry Pi. If you already have a gateway set up, you should notice it automatically update itself to the 0.5 release.

As always, we welcome your contributions to our open source project. You can provide feedback and ask questions on Discourse and file bugs and send pull requests on GitHub.

Happy hacking!

About Ben Francis

Former Mozilla Software Engineer. W3C Invited Expert on Web Applications and the Web of Things.

More articles by Ben Francis…


5 comments

  1. Pratham

    Wish this was a simple apt-get and then run kinda thing. flashing it on a new sd card is too much hassle, as i already use my one and only pi as a server.
    this brings me to another question: why can many projects like this not have a simple inside raspbian installation? why do they need another os?

    August 2nd, 2018 at 08:50

    1. Ben Francis

      Thanks for this feedback. Currently development is moving very rapidly and packaging for Linux distributions takes a lot of time. But this is definitely something we’ll consider for the future.

      In the meantime, as Outpox says below, you can always do a git checkout directly on your Raspberry Pi and build it from there with yarn, as per the README.

      August 3rd, 2018 at 05:05

  2. tapper

    Hi how is the webinterface with a screen reader. If I log on to it with firefox will my screen reader be able to read the pages? What would be the IP to log on? Is there a good geting started guide?

    August 2nd, 2018 at 16:18

    1. Ben Francis

      Hi Tapper,

      A good guide for getting started is here https://hacks.mozilla.org/2018/02/how-to-build-your-own-private-smart-home-with-a-raspberry-pi-and-mozillas-things-gateway/

      Whilst you can carry out the full setup process through Firefox and the UI is all HTML, I imagine there’s a great deal of room for improvement for users of screen readers. We would love for someone to give the process a try and let us know where you get stuck, so we can unblock you and start to make improvements so that as many features as possible can be used with a screen reader. Please feel free to provide feedback on GitHub in issue 582 (https://github.com/mozilla-iot/gateway/issues/582.

      August 3rd, 2018 at 05:16

  3. Outpox

    @Pratham I believe you may be able to install it manually via the sources, check the README in the git repo: https://github.com/mozilla-iot/gateway
    Also I believe it would be possible to make a docker image of it.

    August 3rd, 2018 at 01:01

Comments are closed for this article.