📢 Announcing WebThings Gateway 2.0

The WebThings community are very excited to announce the release of WebThings Gateway 2.0.

webthings_gateway_2.0_banner

Build your own smart home hub. WebThings Gateway is a self-hosted web application for monitoring and controlling your home over the web.

This release comes with the highly requested groups feature, which lets you drag and drop devices into groups to organise them.

It’s also the first release to be compliant with the W3C Web of Things 1.x family of standards and comes with some major OS upgrades and a new release model.

To find out more about this release, and what’s coming next for the WebThings project, check out our announcement blog post, then go ahead and download it from our website.

The WebThings open source project is maintained by an international community of volunteers and we’d like to say a big thank you to the many contributors who made this release possible.

Happy Holidays from the WebThings Team! :christmas_tree:

OOPS, I think my problem was linking the wrong/old image when starting docker. I updated my docker start script and the error below did not appear….

The logs did complain about the Virtual Things and Date Time adapters though which I’ve disabled for my testing.

Sorry for the confusion.

Eric

When starting the 2.0 image. Could not manually obtain url either.

2025-12-20 07:32:05.620 ERROR : Failed to parse add-on list: FetchError: request to https://api.webthings.io:8443/addons?arch=linux-arm64&version=2.0.0&node=115&python=3.11 failed, reason: connect ECONNREFUSED 44.240.205.60:8443
at ClientRequest. (/home/node/webthings/gateway/node_modules/node-fetch/lib/index.js:1501:11)
at ClientRequest.emit (node:events:524:28)
at emitErrorEvent (node:_http_client:101:11)
at TLSSocket.socketErrorListener (node:_http_client:504:5)
at TLSSocket.emit (node:events:524:28)
at emitErrorNT (node:internal/streams/destroy:169:8)
at emitErrorCloseNT (node:internal/streams/destroy:128:3)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
type: ‘system’,
errno: ‘ECONNREFUSED’,
code: ‘ECONNREFUSED’
}

Hi Eric,

I actually don’t think it was you. I just logged into the cloud servers for the back end services and discovered that some of the docker containers had randomly stopped themselves, possibly as a result of an OS update yesterday. The add-on proxy wasn’t running which is why you couldn’t get a list of add-ons.

I’ve re-started all the Docker containers so things should be running smoothly again now.

Thank you for reporting!

Ben

Wow!!!

Excellent news. Will look forward to testing on my spare RPi4. Noted that the Date Time adapter is currently not working, dang, this is needed for my installs.

Anyway, on wards to testing on my spare RPI4 and a pair of N100 NUCs.

Many thanks to Ben and team

1 Like

In addition to Date Time (which I disabled in my test docker) the Zwave addon seems to be just missing. I can’t “add” it since it’s not in the list. No worries for me as I have moved most of my automation to Home Assistant, except for Zwave, which I still runs on WebThings, mostly because I do not want to re-locate the controller to HA and need to reset & install each my 10 zw devices again.

Motto: if it ain’t broke, don’t mess with it….

How long will the Snap package be experimental for as i don’t use Docker?

Looks like someone filed an issue for the Date Time adapter, which will need testing and updating for 2.0 Error when activate in gateway 2.0 ¡ Issue #16 ¡ WTIOAddons/date-time-adapter ¡ GitHub

We may also need to release a new version of the gateway-addon-python package with upgraded packages (see this PR) and put out a quick bugfix release of the gateway which bundles it.

Thank you for testing.

Thanks for testing @EricEdberg, the Z-wave add-on needs to be tested with 2.0 and then have its manifest updated in the addon list. Would you mind filing an issue at GitHub - WebThingsIO/zwave-adapter: Z-Wave adapter add-on for WebThings Gateway to say that it’s not currently available on 2.0?

That depends a bit on how much people use it, and contribute. I spent a year trying to work with Canonical to port WebThings Gateway to Ubuntu Core as a snap package, and it mostly works and it is now marked as a stable release, but there are some outstanding issues in getting the gateway to work fully within snap confinement.

I do hope to keep maintaining it if people find it useful, and in some areas it can actually currently do things the Docker image can’t do (e.g network settings).

Let us know how you get on!

Hi Ben, thanks for your efforts on this.

Im unable to contribute sorry because im not a software engineer.

Ive installed Ubuntu Server 24.04.3 (not Ubuntu Core) in a VM and installed the snap and have come across a few issues but it looks like they’re already filed on GitHub except for one- that being i cant see the Power Settings addon that adds a menu option to shutdown or reboot device.

Im unable to contribute sorry because im not a software engineer.

There are lots of ways to contribute, like filing bugs for example :slightly_smiling_face:

Ive installed Ubuntu Server 24.04.3 (not Ubuntu Core) in a VM and installed the snap and have come across a few issues but it looks like they’re already filed on GitHub except for one- that being i cant see the Power Settings addon that adds a menu option to shutdown or reboot device.

Thank you for testing the snap.

It looks like the Power Settings add-on says in its manifest that it only supports up to Python 3.9, but the WebThings Gateway 2.0 Docker image comes with Python 3.11. This is probably why it is not available on 2.0. It looks as though the GitHub repository for that add-on has been archived and is no longer being actively developed. There is a new add-on that replaces it but it’s not currently listed in the WebThings add-on directory and may only support the Candle fork of WebThings Gateway.

Someone might be interested in creating a new add-on for this, but I’m also interested in adding built-in shut down/reboot buttons in the gateway UI since it seems like a useful feature.

On another note i read somewhere that when using the Snap it doesn’t automatically connect USB devices and so any USB devices have to be manually connected using the command line.

Is this still the case or is this issue fixed in 2.0? (i need to connect a USB Zigbee dongle)

@lenno Snaps do not support USB hotplug by default, it is an experimental feature that you have to manually enable on the command line. In the WebThings Gateway snap installation instructions, that’s the reason for this command:

$ sudo snap set system experimental.hotplug=true

You can read more about USB hotplug with snaps here.

As an aside, the lack of basic features like this was one of the reasons I stopped pursuing Ubuntu Core as a potential base OS.

Hey Ben, yeah I ran that command during installation.

So is this a case of it should work but might not work?

NOTE- I haven’t plugged in my Zigbee USB dongle yet to try because it’s a pain in the butt to move the Zigbee dongle back to the v.1.0 installation if it doesn’t work properly (ie. re-pair the 16 sensors of which some are in the roof)

Yes it has worked for me on Ubuntu Desktop and Ubuntu Core at least, I haven’t tested on other Linux distributions.

I’ve just remembered there is one other step you need to take though…

You’ll notice that in the documentation it says “For more options such as giving the snap access to USB devices, please see the snap README”.

The README provides the commands needed to connect the serial-port interface to the “slot” which is automatically created by hotplug. Unfortunately Ubuntu won’t automatically connect the interface for you, which is one of the remaining issues outstanding with the snap*.

I’m not sure which USB dongle you are using but you may well find that you don’t need to physically re-pair all the Zigbee devices. Most of the time the paired devices are stored on the USB dongle itself so once you plug the dongle into a new gateway and scan for devices they are already there. It’s worth testing.


* For anyone interested, in order to programmatically connect plugs to slots a snap needs access to the extremely privileged snapd-control interface, which Canonical will usually only grant to customers paying for a dedicated snap store, which costs from $15k/year! These kinds of restrictions are what led me to switch to using Docker images instead.

Ill try it and see how it goes. Thanks for the info

Hey Ben,

So ive installed my Zigbee dongle and its all working which is great!

However the problem ive run into is Telegram- its not working. Any chance you can assist with this?

Here are the logs-