Introducing Mozilla WebThings

The Mozilla IoT team is excited to announce that after two years of development and seven quarterly software updates that have generated significant interest from the developer & maker community, Project Things is graduating from its early experimental phase and from now on will be known as Mozilla WebThings.

Mozilla’s mission is to “ensure the Internet is a global public resource, open and accessible to all. An Internet that truly puts people first, where individuals can shape their own experience and are empowered, safe and independent.”

The Mozilla IoT team’s mission is to create a Web of Things implementation which embodies those values and helps drive IoT standards for security, privacy and interoperability.

Mozilla WebThings is an open platform for monitoring and controlling devices over the web, including:

  • WebThings Gateway – a software distribution for smart home gateways focused on privacy, security and interoperability
  • WebThings Framework – a collection of reusable software components to help developers build their own web things

WebThings Gateway UI

 

We look forward to a future in which Mozilla WebThings software is installed on commercial products that can provide consumers with a trusted agent for their “smart”, connected home.

WebThings Gateway 0.8

The WebThings Gateway 0.8 release is available to download from today. If you have an existing Things Gateway it should have automatically updated itself. This latest release includes new features which allow you to privately log data from all your smart home devices, a new alarms capability and a new network settings UI.

Logs

Have you ever wanted to know how many times the door was opened and closed while you were out? Are you curious about energy consumption of appliances plugged into your smart plugs? With the new logs features you can privately log data from all your smart home devices and visualise that data using interactive graphs.

Logs UI

In order to enable the new logging features go to the main menu ➡ Settings ➡ Experiments and enable the “Logs” option.

Experiment Settings

You’ll then see the Logs option in the main menu. From there you can click the “+” button to choose a device property to log, including how long to retain the data.

Add log UI

The time series plots can be viewed by hour, day, or week, and a scroll bar lets users scroll back through time. This feature is still experimental, but viewing these logs will help you understand the kinds of data your smart home devices are collecting and think about how much of that data you are comfortable sharing with others via third party services.

Note: If booting WebThings Gateway from an SD card on a Raspberry Pi, please be aware that logging large amounts of data to the SD card may make the card wear out more quickly!

Alarms

Home safety and security are among the big potential benefits of smart home systems. If one of your “dumb” alarms is triggered while you are at work, how will you know? Even if someone in the vicinity hears it, will they take action? Do they know who to call? WebThings Gateway 0.8 provides a new alarms capability for devices like smoke alarms, carbon monoxide alarms or burglar alarms.

Alarm Capability

This means you can now check whether an alarm is currently active, and configure rules to notify you if an alarm is triggered while you’re away from home.

Network Settings

In previous releases, moving your gateway from one wireless network to another when the previous Wi-Fi access point was still active could not be done without console access and command line changes directly on the Raspberry Pi. With the 0.8 release, it is now possible to re-configure your gateway’s network settings from the web interface. These new settings can be found under Settings ➡ Network.

Network Settings UI

You can either configure the Ethernet port (with a dynamic or static IP address) or re-scan available wireless networks and change the Wi-Fi access point that the gateway is connected to.

WebThings Gateway for Wireless Routers

We’re also excited to share that we’ve been working on a new OpenWrt-based build of WebThings Gateway, aimed at consumer wireless routers. This version of WebThings Gateway will be able to act as a wifi access point itself, rather than just connect to an existing wireless network as a client.

This is the beginning of a new phase of development of our gateway software, as it evolves into a software distribution for consumer wireless routers. Look out for further announcements in the coming weeks.

Online Documentation

Along with a refresh of the Mozilla IoT website, we have made a start on some online user & developer documentation for the WebThings Gateway and WebThings Framework. If you’d like to contribute to this documentation you can do so via GitHub.

Thank you for all the contributions we’ve received so far from our wonderful Mozilla IoT community. We look forward to this new and exciting phase of the project!

About Ben Francis

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

More articles by Ben Francis…


33 comments

  1. Vladimir

    Just started to building up my smart home system, and decided to use Mozilla Gateway as a basis. One question though that I couldn’t find an answer for: besides wireless devices like zigbee or z-wave, is it possible to connect devices by wire (serial port, LAN etc.), and how? Any guidance would be much appreciated.

    April 18th, 2019 at 16:42

    1. Ben Francis

      Yes, you can use wired connections directly connected to a Raspberry Pi (e.g. GPIO, I2C, UART) or via Ethernet (e.g. ONVIF cameras). Feel free to ask for more information on Discourse https://discourse.mozilla.org/c/iot

      April 19th, 2019 at 07:36

      1. Vladimir

        Marvelous, thank you!

        April 25th, 2019 at 17:51

  2. Vladimir

    And another even more general question: is mozilla gateway cloudless? Will it work locally (triggering scenes when something happens) completely without internet access? I played around with Xiaomi smarthome devices for several years, but the fact that nothing works without link to Xiaomi servers is what drives me away from any cloud smart home solutions.

    April 18th, 2019 at 16:47

    1. Ben Francis

      Yes, everything works locally and will continue working if the Internet goes down. Our remote tunneling service provides secure remote access via a free subdomain, but it’s completely optional.

      April 19th, 2019 at 07:37

      1. Amitabh Ojha

        Thank you all for the WebThings release. Just fab.

        Can we configure an alternate remote tunneling service?
        What are the requirements for such a remote service for it to work?

        April 20th, 2019 at 08:16

  3. Shaun

    Bring back Firefox OS.

    April 18th, 2019 at 16:50

    1. Ben Francis

      \o/

      April 19th, 2019 at 07:39

    2. blake bread

      I think they should take some of the pieces of the old one and have a PWA/webapp based approach, and slap a version on desktop to compete with Chrome OS.

      April 19th, 2019 at 15:46

  4. Nathan

    I have been patiently waiting for this update for a long time. Finally an open source way for me to work with. The big thing is how long Mozilla had been in my life. I remember being a little kid and seeing my dad use the browser. I cant wait to get started on my own smart home .

    April 18th, 2019 at 22:04

  5. noscripter

    Cool!

    April 18th, 2019 at 23:37

  6. shivanshu1333

    Great work!

    April 19th, 2019 at 01:34

  7. shivanshu1333

    Great initiative by Mozilla and nice work done by Ben and other contributors :)

    April 19th, 2019 at 01:38

  8. Ken

    Are there any plans for “scenes” support? Essentially, triggering a series of rules at the tap of a button.

    April 19th, 2019 at 09:23

    1. Ben Francis

      See https://github.com/mozilla-iot/gateway/issues/635

      April 23rd, 2019 at 05:08

  9. Noah Chou

    Is there any support for CC2531?

    April 19th, 2019 at 10:47

  10. Nitins

    I worked with iot but never thougt that is also possible awasome innovotion but will it not making the browser more heavy and we r opening new doors for attacks

    April 20th, 2019 at 05:23

    1. Ben Francis

      WebThings doesn’t require any new implementation in web browsers, it is built on existing web standards like HTTP & WebSockets :)

      April 23rd, 2019 at 05:11

  11. Bonzadog

    One is interested to see Mozilla in this area. I will certainly try it out.

    April 20th, 2019 at 07:44

  12. Le Tu

    It is so nice.
    Can we control our gateways remotely through Ethernet connection?

    April 20th, 2019 at 18:43

    1. Ben Francis

      Yes.

      April 23rd, 2019 at 05:23

  13. Ryan

    I’m using Mozilla Web of Things to implement a IoT scenario. My research is about Security in Smart Enviroments.

    April 21st, 2019 at 12:40

  14. Olav

    Is it possible to connect the Webthings gateway to Apple Homekit? May it work with Homebridge?

    April 23rd, 2019 at 01:59

    1. Ben Francis

      Yes, the gateway has a HomeKit adapter add-on, see the list of supported devices here https://github.com/mozilla-iot/wiki/wiki/Supported-Hardware#homekit

      April 23rd, 2019 at 05:24

      1. Olav

        Ok. I guess I then have to run Mozilla IOT in a docker, and run homebridge on the PI itself?
        RPI3
        Conbee usb
        Aeon g5 usb

        May 3rd, 2019 at 10:46

  15. Juhuwa

    Well, to be honest… controlling appliances, getting values from them, doing monitoring etc. Wasn’t that something in the mid ’80s, described in RFC1067? And SNMP allows you to create own functionality descriptions (called MIB), is secure (well, OK, now we are at the end of that century)… etc.

    April 23rd, 2019 at 04:37

  16. Curious George

    How do devices securely talk to the gateway? Most devices like routers use non secure http

    April 24th, 2019 at 00:19

    1. Ben Francis

      Laptops/desktops/smartphones/tablets access the web interface of the gateway over HTTPS using an optional secure tunneling service provided by Mozilla, with a free subdomain and certificate from LetsEncrypt.

      Smart home devices themselves communicate with the gateway in may different ways (e.g. Zigbee devices use AES encryption).

      April 24th, 2019 at 05:41

  17. VS

    I just finished my implementation with docker, rpi3b, alpine linux.
    I use zigbee and zwave and a few devices now, all is good.
    https://vincentserpoul.github.io/post/mozilla-iot-gateway/

    My only complain is the time to load the pwa on the mobile: i’m sure there can be some cache implemented here.

    It would be nice to have range over time in rules as well (I shd do a PR)

    April 30th, 2019 at 01:55

    1. Ben Francis

      Thanks for the feedback. The PWA does already use caching, with a Service Worker, but I’m sure further improvements could be made. Pull requests are indeed welcome!

      April 30th, 2019 at 04:08

  18. StefanJ

    I have flashed and booted up the R-Pi and have the Aeotec Z-stick Gen 5.
    Is it normal behaviour that it flashes Blue-Yellow-Red after install of the R-Pi?
    Do I need to use the Z-wave add-on? If yes, what to add in the fields for the networkKey and debug?

    May 1st, 2019 at 02:45

  19. ANEESH DUA

    I wish to develop an add-on for Mozilla Gateway. How should i get started?

    May 17th, 2019 at 04:04

    1. Ben Francis

      Check out the documentation on the wiki https://github.com/mozilla-iot/wiki/wiki#add-ons

      May 24th, 2019 at 03:07

Comments are closed for this article.