USB is a universal bus that required drivers and a description of how to work with it. It has greater flexibility, but same time all logic should be stored somewhere (drivers/app/etc) and this is not easy "scalable" such as Windows, Linux, Phone, etc... all required different apps and manages... And unfortunately, it's no way to enable/disable USB locally (like manage outgoing power, since mostly it's managed on BIOS level, which is not fully available from OS level - actually check your Mother Board if it's supporting IPMI - it's a management tool which works on the lower level, but mostly available only on Server type of hardware)
I have similar needs of turning on/off light, but more for indication. My use case: we have an office with sales, support, etc... calls are not often, but when they are in place it's better to keep being quiet. And since people are using the same headsets for listening to music - from the side you can't understand if the call is in progress or not...
So, the idea is:
- Arduino (later can be optimized for something cheaper)
- WIFI connection
- LED light (5V ideal, but might be 12V)
- Power from a power adapter or maybe USB (later can check if the battery is making sense)
- Management done via a web browser (simplifying management such as - can be done via Chrome Extension, button on the web-page, remotely managed from (in my case) phone system)
If all will be good - some centralized management can be added on top (all light can be registered in the system (such as WebSocket for example, or google pub/sub for centralized management). In this case, it can be triggered remotely by a phone system in a centralized way, such as: if incoming call - light can start blink to get attention when the call is in place and automatically turn on when the call in place... plus can be done the similar way for Google Meeting, Zoom, any other app on the computer)
PS: will be good to find anything ready-to-go like that... but oh, well - for now nothing has been found.