(from https://www.reddit.com/r/homeassistant/comments/1bsysto/comment/kxoym1m)
Bill of Materials:
- An M5 Atom Lite ESP32 but you can use any ESP8266/ESP32. Just need 3.3V & 3x available GPIO's
- Low Voltage Labs LED Traffic lights. These have resistors on them which made this super simple.
- I used something like these to go from female to female on ESP32 -> a solderless breadboard
- A small solderless breadboard and some (I think they're called) DuPont connectors (male-to-male) to connect everything
- A MuteDeck license ($15 USD)
Process:
- office_notifier.yml (below): Flash something like this to the ESP32.
board: esp32dev
worked for the M5 Atom Lite but you will need to tweak for other devices.- Pick any 3 available GPIO's to control Red/Yellow/Green. 4th pin on traffic light is for GND (I think). Took a little trial & error to get HA & colors mapped
- I mapped the RGB LED and button on the ESP32 device to a light/button in HA. I've just got some veclro straps holding this to the (I think) Elgato Flex Arm bar that holds my camera. I don't think I'll actually use the button for anything just b/c the setup is a little delicate. Not sure what to use the RGB LED for just yet
- configuration.yml: I followed this blog post to expose their local API as sensors in Home Assistant
- traffic_light_automation.yml: This controls the 3 LED's on the traffic light based on the state of MuteDeck:
- Red: Video is active
- Yellow: Mic is active
- Green: On a call
- Bonus: hallway_light_automation.yml: this turns the Philips Hue lights outside of my office Red when I'm on a Google Meet so my kids don't come barging in during a call :-)