Thermostats, Locks and Extension Add-ons – WebThings Gateway 0.10

Happy Things Thursday! Today we are releasing WebThings Gateway 0.10. If you have a gateway using our Raspberry Pi builds then it should already have automatically updated itself.

This new release comes with support for thermostats and smart locks, as well as an updated add-ons system including extension add-ons, which enable developers to extend the gateway user interface. We’ve also added localisation settings so that you can choose your country, language, time zone and unit preferences. From today you’ll be able to use the gateway in American English or Italian, but we’re already receiving contributions of translations in different languages!

Thermostat and lock in Things UI

Thermostats

Version 0.10 comes with support for smart thermostats like the Zigbee Zen Thermostat, the Centralite HA 3156105 and the Z-Wave Honeywell TH8320ZW1000.

Thermostat UIYou can view the current temperature of your home remotely, set a heating or cooling target temperature and set the current heating mode. You can also create rules which react to temperature or control your heating/cooling via the rules engine. In this way, you could set the heating to come on at a particular time of day or change the colour of lights based on how warm it is, for example.

Smart Locks

Ever wonder if you’ve forgotten to lock your front door? Now you can check when you get to work, and even lock or unlock the doors remotely. With the help of the rules engine, you can also set rules to lock doors at a particular time of day or notify you when they are unlocked.

Lock UI

So far we have support for Zigbee and Z-Wave smart locks like the Yale YRD226 Deadbolt and Yale YRD110 Deadbolt.

Extension Add-ons

Version 0.10 also comes with a revamped add-ons system which includes a new type of add-on called extensions. Like a browser extension, an extension add-on can be used to augment the gateway’s user interface.

For example, an extension can add its own entry in the gateway’s main menu and display its own dedicated screen with new functionality.

Together with a new mechanism for add-on developers to extend the gateway’s REST API, this opens up a whole new world of possibilities for add-on developers to customise the gateway.

Note that the updated add-ons system comes with a new manifest format inspired by Web Extensions. Michael Stegeman’s blog post explains in more depth how to use the new add-ons system. We’ll walk you through building your own extension add-on.

Localisation Settings

Many add-ons use location-specific data like weather, sunrise/sunset and tide times, but it’s no fun to have to configure your location for each add-on. It’s now possible to choose your country, time zone and language via the gateway’s web interface.

With time zone support, time-based rules should now correctly adjust for daylight savings time in your region. Since the gateway is configured to use Greenwich Mean Time by default, your rules may show times you didn’t expect at first. To fix this, you’ll need to set your time zone appropriately and adjust your rule times. You can also set your preference of unit used to display temperature, to either degrees Celsius or Fahrenheit.

And finally, many of you have asked for the user interface to support multiple languages. We are shipping with an Italian translation in this release thanks to our resident Italian speaker Kathy. We already have French, Dutch and Polish translations in the pipeline thanks to our wonderful community. Stand by for more information on how to contribute to translations in your language!

API Changes & Standardisation

For developers, in addition to the new add-ons system, it’s now possible to communicate with all the gateway’s web things via a single WebSocket connection. Previously it was necessary to open a WebSocket per device, so this is a significant enhancement.

We’ve recently started the Web Thing Protocol Community Group at the W3C with the intention of standardising this WebSocket sub-protocol in order to further improve interoperability on the Web of Things. We welcome developers to join this group to contribute to the standardisation process.

Coming Soon

Coming up next, expect Mycroft voice controls, translations into more languages and new ways to install and use WebThings Gateway.

As always, you can head over to the forums for support. And we welcome your contributions on GitHub.

About Ben Francis

Full time UK-based Mozillian, working on the Web of Things.

More articles by Ben Francis…


8 comments

  1. Krzysztof Zurek

    Hi Ben!
    Thanks for thermostat support – I just build such device on ESP32 and I needed it.
    Could you publish new version of Web Thing WebSocket API with included changes you mentioned above? I’m afraid it will require some work on my devices.
    By the way: that change (one websocket per device, not per thing) is a step in right direction.
    With regards
    K.

    November 14th, 2019 at 11:53

    Reply

    1. Ben Francis

      Hi K, glad that it’s useful!

      The WebSocket communications are the same except that you open a single WebSocket on /things and include “id” field in the message which is the thing’s URL. There’s a pull request to land these changes in the spec but we’re still discussing the API https://github.com/mozilla-iot/wot/pull/142

      November 14th, 2019 at 12:31

      Reply

  2. Iulian Arion

    Hello,
    I want to buy a Honeywell T6R thermostat to control the temperature in our baby photo studio. I found, however, that it is not able to control the thermostat valves from the radiators. Do you think your application could do this in tandem with the controller for the boiler?

    Thanks!

    November 21st, 2019 at 05:20

    Reply

  3. Iulian Arion

    Hello,
    I want to buy a Honeywell T6R thermostat to control the temperature in our baby photo studio. I found, however, that it is not able to control the thermostat valves from the radiators. Do you think your application could do this in tandem with the controller for the boiler?

    Thanks!

    November 21st, 2019 at 05:22

    Reply

    1. Ben Francis

      The gateway has support for some smart thermostats, but I’ve not heard of any smart radiator values being supported. I don’t know how your heating system works, but usually the thermostat can send heat to radiators without needing to individually control each radiator valve. You could ask the question on Discourse to see whether anyone in the community has advice https://discourse.mozilla.org/c/iot

      November 21st, 2019 at 06:34

      Reply

  4. Vladimir

    How can I contribute to the localization assets? I can’t find it on Pontoon platform.

    November 21st, 2019 at 18:05

    Reply

    1. Ben Francis

      Hi Vladimir,

      Thanks for your interest in contributing to localisation. We’re working on getting WebThings Gateway into Pontoon right now! https://bugzilla.mozilla.org/show_bug.cgi?id=1596535

      In the meantime, contributors have been submitting translations via pull requests in GitHub https://github.com/mozilla-iot/gateway

      November 22nd, 2019 at 04:46

      Reply

      1. Vladimir

        Yup found it, I’ll submit RU locale to Github then. Hope to see it on Pontoon soon! Will gladly adapt some of the strings with Fluent.

        November 22nd, 2019 at 05:58

        Reply

Post Your Comment