← Back
teams-status-rs — Teams Home Automation
Mar 2023 – Present
Repository
Rust tokio MQTT Home Assistant
Problem
Needed a way to automatically control smart home devices (desk lamp color, do-not-disturb sign) based on Microsoft Teams meeting status. The original PowerShell version was fragile and lacked cross-platform support.
Approach
Rewrote the entire application in Rust using the tokio async runtime. Reverse engineered the new Microsoft Teams API (which replaced the log-file-based approach) and shared findings with the community.
Technical Details
- Built on the tokio runtime for efficient async I/O
- Communicates with Home Assistant via MQTT for real-time device control
- Parses Teams API responses to detect status changes (available, busy, in a meeting, etc.)
- Configuration-driven: users define device mappings in a TOML config file
Results
- Reliable, low-resource daemon running 24/7
- Community-driven development through GitHub issues and pull requests
- Shared reverse engineering findings helped other developers build similar integrations