Skip to content

wxsd-sales/roomos-device-widgets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

322 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RoomOS Device Widgets

An app for demoing RoomOS device capabilities in Kiosk/PWA mode.

This is a proof-of-concept application that generates customized web application links for use on a compatible RoomOS 11 device in Kiosk/PWA mode. Kiosk and PWA (Persistent Web App) are new modes that make use of the in-built Web Engine on modern RoomOS devices to display a webpage or custom-made web application on the device. As a result, developers can have full control on the integrations (using APIs and SDKs), branding, controls and UI/UX presented to the end users.

roomos-device-widgets

Table of Contents (click to expand)

Overview

This application generates customized web application links to demos that you create. In this context, a "demo" is a collection of widgets (brand logo, background, sensors etc.) that make up the UI/controls of a PWA/Kiosk device. You can create multiple demos and activate them on a compatible device of your choice after logging-in. Once activated, the application uses cloud xAPI requests with a Webex Bot token to control the device (make calls, get room analytics data, etc.).

Setup

These instructions assume that you have:

  • Administrator access to an Org's Webex Control Hub and a compatible RoomOS 11 device (in a shared workspace).
  • Docker installed and running on a Windows (via WSL2), macOS, or Linux machine.

Open a new terminal window and follow the instructions below to setup the project locally for development/demo.

  1. Clone this repository and change directory:

    git clone https://github.com/wxsd-sales/roomos-device-widgets && cd roomos-device-widgets
    
  2. Copy .env.example file as .env:

    cp .env.example .env
    
  3. Review and follow the Registering your Integration on Webex guide.

    • Your registration must have the following Webex REST API scopes:
      Scope Description
      spark-admin:devices_read See details for any device in your organization
      spark-admin:devices_write Create, update and delete devices and device configurations in your organization
      spark:kms Permission to interact with encrypted content
    • Use these Redirect URIs:
      • https://localhost/auth/webex/callback
      • http://localhost/auth/webex/callback
    • Take note of your Client ID and Client Secret. Assign these values to the WEBEX_AUTHORIZATION_CODE_CLIENT_ID and WEBEX_AUTHORIZATION_CODE_CLIENT_SECRET environment variables within the .env file respectively.
  4. Review and follow the Registering your Integration on Webex guide.

    • Your registration must have the following Webex REST API scopes:
      Scope Description
      spark:people_read Access to read your user's company directory
      spark:kms Permission to interact with encrypted content
    • Use this Redirect URI: https://oauth-helper-a.wbx2.com/helperservice/v1/actions/device/callback
    • Take note of your Client ID and Client Secret. Assign these values to the WEBEX_DEVICE_CODE_CLIENT_ID and WEBEX_DEVICE_CODE_CLIENT_SECRET environment variables within the .env file respectively.
  5. Review and follow the Creating a Webex Bot guide. Take note of your Bot ID and Bot access token. Assign these values to the WEBEX_BOT_ID and WEBEX_BOT_TOKEN environment variables within the .env file respectively.

  6. Set other environment variables as needed in the .env file.

  7. Start the application using:

    docker-compose up
    

Lastly, navigate to http://localhost in your browser and follow instructions.

Demo

A video where we demo this PoC is available on Vidcast — https://app.vidcast.io/share/bb910329-f398-4f04-baec-18ddaf46f493.

Support

Please reach out to the WXSD team at [email protected] or contact me on Webex ([email protected]).

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •