{"id":26590096,"url":"https://github.com/t0mer/onair","last_synced_at":"2026-05-06T19:06:47.222Z","repository":{"id":283851996,"uuid":"953099929","full_name":"t0mer/OnAir","owner":"t0mer","description":"OnAir Monitor is a lightweight Windows system tray application that automatically detects active meetings (e.g., Zoom, Teams) and monitors camera and microphone usage.","archived":false,"fork":false,"pushed_at":"2025-03-23T23:49:00.000Z","size":3660,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-10T19:18:32.660Z","etag":null,"topics":["esp32","iot","teams","wled","zoom-meetings"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/t0mer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-22T15:14:26.000Z","updated_at":"2025-03-24T15:07:45.000Z","dependencies_parsed_at":"2025-03-22T16:34:52.120Z","dependency_job_id":null,"html_url":"https://github.com/t0mer/OnAir","commit_stats":null,"previous_names":["t0mer/onair"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/t0mer/OnAir","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2FOnAir","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2FOnAir/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2FOnAir/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2FOnAir/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/t0mer","download_url":"https://codeload.github.com/t0mer/OnAir/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/t0mer%2FOnAir/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261080420,"owners_count":23106593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","iot","teams","wled","zoom-meetings"],"created_at":"2025-03-23T13:20:44.480Z","updated_at":"2026-05-06T19:06:47.191Z","avatar_url":"https://github.com/t0mer.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OnAir\n\n**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.\n\n## Features\n\n- **Active Meeting Detection:**  \n  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.\"\n\n- **Device Monitoring:**  \n  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.\n\n- **HTTP Notifications:**  \n  Sends HTTP GET requests on startup and shutdown, and sends HTTP POST requests with a JSON payload when the monitored status changes and changes\n  the color of the \"On Air\" sgin.\n\n- **Configurable Presets:**  \n  Change the visual feedback on your WLED device based on your status using four preset values:\n  - **Preset 1:** Active meeting with camera in use.\n  - **Preset 2:** Active meeting without camera in use.\n  - **Preset 5:** No active meeting, but camera in use.\n  - **Preset 3:** No meeting and no camera usage.\n\n- **System Tray Integration:**  \n  Runs in the background with a tray icon and context menu to start/stop monitoring or exit the application.\n\n## Requirements\n\n- **Windows OS**\n- **.NET Framework / .NET (version used to build the application)**\n- **WLED Device** (an ESP8266/ESP32 flashed with the [WLED firmware](https://github.com/Aircoookie/WLED))\n- NuGet packages:\n  - AForge.Video\n  - AForge.Video.DirectShow\n  - NAudio\n  - System.Configuration (if needed)\n\n## Installation\n\n1. **Install and Configure on you esp32/esp8266 module**\n   \nhttps://github.com/user-attachments/assets/0967acd1-1a92-423c-a835-a51deebda3a0\n\n3. **Download the zip file with the application files:** [OnAir.zip](https://github.com/t0mer/OnAir/raw/refs/heads/main/OnAir.zip)\n\n4. **Exctract the files from the downloaded zip** and edit OnAir.exe.config file**\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\" ?\u003e\n\u003cconfiguration\u003e\n    \u003cstartup\u003e \n        \u003csupportedRuntime version=\"v4.0\" sku=\".NETFramework,Version=v4.8\" /\u003e\n    \u003c/startup\u003e\n\t\u003cappSettings\u003e\n\t\t\u003c!-- Camera and URLs --\u003e\n\t\t\u003cadd key=\"CameraHardwareId\" value=\"\" /\u003e\n\t\t\u003cadd key=\"PostUrl\" value=\"http://[]/json\" /\u003e\n\t\t\u003cadd key=\"GetUrl\" value=\"http://[]/win\" /\u003e\n\t\t\u003c!-- Preset values --\u003e\n\t\t\u003cadd key=\"ActiveMeetingWithCameraPreset\" value=\"\" /\u003e\n\t\t\u003cadd key=\"ActiveMeetingWithoutCameraPreset\" value=\"\" /\u003e\n\t\t\u003cadd key=\"NoMeetingWithCameraPreset\" value=\"\" /\u003e\n\t\t\u003cadd key=\"NoMeetingWithoutCameraPreset\" value=\"\" /\u003e\n\t\u003c/appSettings\u003e\n\u003c/configuration\u003e\n\n```\n\n* Under Post and Get URLs, insert the wled device ip.\n* Update the values of the presets from the WLED configuration:\n  * ActiveMeetingWithCameraPreset\n  * ActiveMeetingWithoutCameraPreset\n  * NoMeetingWithCameraPreset\n  * NoMeetingWithoutCameraPreset\n* Set the camera hardware id. you can get the value from the device manager\n  \n![image](https://github.com/user-attachments/assets/adbb19dc-c162-4794-ae9a-1bd8e402a605)\n\nThe Hardware id is the part that starts with \"VID\" and ends with the \"PID\" value.\nIn the example, the hadware id will be: \"VID_5986\u0026amp;PID_2113\".\nRemember to replace the **\u0026** with **\u0026amp;** due to the xml config file limitations. \n\nSave the file and start the application.\n\n### Start the application with windows startup\nTo start the application with windows start up, click on Winkey + R and insert the following command: **shell:startup**\n\n![image](https://github.com/user-attachments/assets/fedec3e0-54c6-42d7-863c-b66fa00449da)\n\nThen create a shortcut to the application executable file and place it in the startup folder.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft0mer%2Fonair","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ft0mer%2Fonair","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ft0mer%2Fonair/lists"}