Skip to content

jonathanwelton/raspberry-pi-presence-light-for-teams-and-zoom

 
 

Repository files navigation

Raspberry Pi Presence Light for Teams & Zoom

This project is a fork of Teams-Presence, extended to support Zoom using the Zoom Presence Indicator API.

For simplicity, I kept the indicator light to three colours:

  • #fa0000 Red means the user is sharing their screen, i.e. presenting
  • #ff6cb4 Pink means the user is in an active call, i.e. in a meeting
  • #00fa00 Green means the user is not in a call, i.e. available

Zoom supported presence statuses

Status Colour
Presenting #fa0000
Do not disturb #ff6cb4
In a calendar event #ff6cb4
In a meeting #ff6cb4
Available #00fa00
Away #00fa00
Presence unknown #0000fa

Teams supported presence statuses

Status Colour
Presenting #fa0000
Busy #ff6cb4
Do not disturb #ff6cb4
In a call #ff6cb4
In a conference call #ff6cb4
In a meeting #ff6cb4
Urgent interruptions only #ff6cb4
Available #00fa00
Away #00fa00
Be right back #00fa00
Inactive #00fa00
Offline #00fa00
Off work #00fa00
Out of office #00fa00
Presence unknown #0000fa

Features

  • Zoom support
  • Indicator selector
  • Auto-start scripts

Motivation

This app was created as part of a bigger project to display the presence status of a Zoom user on a Raspberry Pi integrated with a Unicorn pHAT. You can read the original blog post here.

Prerequisites

  • A Raspberry Pi Zero W with a Unicorn pHAT attached
  • Raspbian and Python3 installed on the Pi

Installation

git clone https://github.com/jonathanwelton/raspberry-pi-presence-light-for-teams-and-zoom.git
cd raspberry-pi-presence-light-for-teams-and-zoom
sudo ./install.sh

Usage

Zoom Presence Light

Start by configuring and deploying a version of the Zoom Presence Indicator API.

Store the configuration values for the API in a config.ini file at the root of this project with the following structure:

[presence_api] url = Zoom Presence Indicator API URL token = Zoom Presence Indicator API Verification Token

To start the Zoom Presence Indicator, execute:

sudo python3 start.py

and select option 2, or

sudo python3 autoStartZoom.py

if you want it to run automatically e.g. when the Pi boots.

Teams Presence Light

Start by configuring an Azure AD app to access your Teams presence, following this guide.

  • In the API permissions section, add Presence.Read

  • In the Authentication section, enable Treat application as a public client

  • In the Overview section, take a note of the Client Id and Tenant Id

To start the Zoom Presence Indicator, execute:

sudo python3 start.py

and select option 1, or

sudo python3 autoStartTeams.py

if you want it to run automatically e.g. when the Pi boots.

The first time it runs you will need to provide your Client Id and Tenant Id, and then autheticate.