WebThings Shell is a web app runtime for smart displays.
It can be used to create your own touch screen control panel to view and interact with web applications, e.g. the web interface of WebThings Gateway.
Install the ubuntu-frame and frame-it snaps to enable access to the display:
$ sudo snap install ubuntu-frame --channel=22
$ sudo snap install frame-it --classic
- Install the latest edge release of WebThings Shell:
$ sudo snap install --edge webthings-shell
- Configure the snap (needed while the snap is still in development):
$ /snap/webthings-snap/current/bin/setup.sh
- Run the snap using frame-it:
$ frame-it webthings-shell
The application should then start up full screen and load a WebThings Gateway web interface from http://gateway.local if available.
To install the latest edge release of WebThings Shell on Ubuntu Core:
- Follow the instructions to download, flash and configure Ubuntu Core on a Raspberry Pi and connect a display to the Pi
- Install the ubuntu-frame and avahi snaps on the device to enable access to the display and mDNS lookups:
$ snap install ubuntu-frame ubuntu-frame-osk avahi
- Install the latest edge release of WebThings Shell:
$ snap install --edge webthings-shell
- Configure the snap (needed to connect plugs whilst in development):
$ /snap/webthings-shell/current/bin/setup.sh
- Run the snap:
$ sudo webthings-shell
The application should then start up full screen and load a WebThings Gateway web interface from http://gateway.local if available.
To get started hacking on WebThings Shell first make sure that you have Git installed.
Clone the repository from GitHub:
$ git clone https://github.com/WebThingsIO/shell.git
$ cd shell
To build for Linux desktop, first make sure that you have Node.js and npm installed.
We recommend using nvm to install the version of Node.js and npm listed in the .nvmrc file of this repository:
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
$ . ~/.bashrc
$ nvm install
$ nvm use
Install dependencies:
$ npm install
Start the application:
$ npm start
Or to run the application with developer tools enabled:
$ npm run develop
The application should then start up full screen and load a WebThings Gateway web interface from http://gateway.local if available.
Make sure you have snapcraft installed.
$ snapcraft
$ snapcraft remote-build
A self-built snap can be installed using the --dangerous flag, e.g.
$ sudo snap install --dangerous webthings-shell_0.1.0_amd64.snap