https://github.com/t0mer/onair
OnAir Monitor is a lightweight Windows system tray application that automatically detects active meetings (e.g., Zoom, Teams) and monitors camera and microphone usage.
https://github.com/t0mer/onair
esp32 iot teams wled zoom-meetings
Last synced: 4 months ago
JSON representation
OnAir Monitor is a lightweight Windows system tray application that automatically detects active meetings (e.g., Zoom, Teams) and monitors camera and microphone usage.
- Host: GitHub
- URL: https://github.com/t0mer/onair
- Owner: t0mer
- License: apache-2.0
- Created: 2025-03-22T15:14:26.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-03-23T23:49:00.000Z (7 months ago)
- Last Synced: 2025-06-10T19:18:32.660Z (4 months ago)
- Topics: esp32, iot, teams, wled, zoom-meetings
- Language: C#
- Homepage:
- Size: 3.49 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OnAir
**OnAir** is a lightweight Windows desktop application that monitors your active meetings (e.g., Zoom, Microsoft Teams) and camera activity. Based on your current status, it sends HTTP notifications to a WLED device—triggering visual presets that you can configure for different scenarios.
## Features
- **Active Meeting Detection:**
Automatically detects when you are in an active meeting by scanning for running processes (Zoom/Teams) and inspecting window titles for keywords like "Meeting" or "Call."- **Device Monitoring:**
Checks you are currently in a meeting (Teams and Zoom are the only supported applications at the moment). It also checks if the Camera is in use.- **HTTP Notifications:**
Sends HTTP GET requests on startup and shutdown, and sends HTTP POST requests with a JSON payload when the monitored status changes and changes
the color of the "On Air" sgin.- **Configurable Presets:**
Change the visual feedback on your WLED device based on your status using four preset values:
- **Preset 1:** Active meeting with camera in use.
- **Preset 2:** Active meeting without camera in use.
- **Preset 5:** No active meeting, but camera in use.
- **Preset 3:** No meeting and no camera usage.- **System Tray Integration:**
Runs in the background with a tray icon and context menu to start/stop monitoring or exit the application.## Requirements
- **Windows OS**
- **.NET Framework / .NET (version used to build the application)**
- **WLED Device** (an ESP8266/ESP32 flashed with the [WLED firmware](https://github.com/Aircoookie/WLED))
- NuGet packages:
- AForge.Video
- AForge.Video.DirectShow
- NAudio
- System.Configuration (if needed)## Installation
1. **Install and Configure on you esp32/esp8266 module**
https://github.com/user-attachments/assets/0967acd1-1a92-423c-a835-a51deebda3a03. **Download the zip file with the application files:** [OnAir.zip](https://github.com/t0mer/OnAir/raw/refs/heads/main/OnAir.zip)
4. **Exctract the files from the downloaded zip** and edit OnAir.exe.config file**
```xml
```
* Under Post and Get URLs, insert the wled device ip.
* Update the values of the presets from the WLED configuration:
* ActiveMeetingWithCameraPreset
* ActiveMeetingWithoutCameraPreset
* NoMeetingWithCameraPreset
* NoMeetingWithoutCameraPreset
* Set the camera hardware id. you can get the value from the device manager
The Hardware id is the part that starts with "VID" and ends with the "PID" value.
In the example, the hadware id will be: "VID_5986&PID_2113".
Remember to replace the **&** with **&** due to the xml config file limitations.Save the file and start the application.
### Start the application with windows startup
To start the application with windows start up, click on Winkey + R and insert the following command: **shell:startup**
Then create a shortcut to the application executable file and place it in the startup folder.