An LED peripheral that reflects the computer's current Microsoft Teams status
The latest Teams update has removed the logging system that this script is reliant upon. An API exists but only reveals if the user is in a meeting or not. I have a few ideas for how to restore functionality but until then, this project will only work with older installations of Teams.
Following the shift to a hybrid working environment post-COVID, it can be difficult for colleagues to determine whether I am on a Teams call or available for a discussion (usually because I have headphones in for music). This script determines the computer's current Microsoft Teams status and sends the relevant colour to the BlinkStick Square LED positioned on the desk, discretely indicating to nearby colleagues my availability if they need me.
There exist expensive pre-built solutions but the BlinkStick is useful as it requires no drivers (useful for corporate installation restrictions) and is simpler than constructing via Arduino, soldering and building/printing associated housing.
Unfortunately Microsoft Teams doesn't have an API accessible by the local computer unless your organisation provides access to the Graph API so instead it monitors the continuously-updated log file in AppData (in Windows or adjust for a similar location for other operating systems). Many thanks to this PowerShell script which provided the backbone of the log scraping.
The Blinkstick has in-built USB firmware so it will run out of the box without the need to install any drivers. You will need a MicroUSB cable and USB port on your device. You need to install Python and the blinkstick
library:
pip install blinkstick
Purchase a BlinkStick Square, plug and play! You could use another Blinkstick product but you will need to slightly tweak the code for the BlinkStick controller.