/ha-graphapi

Python library for use with Home Assistant to query the presence of a user on Microsoft Teams

Primary LanguagePythonMIT LicenseMIT

ha-graphapi

Contributors Forks Stargazers Issues MIT License LinkedIn


Home Assistant Graph API

A Home Assistant package for consumption of Microsoft's Graph API

Report Bug · Request Feature

Table of Contents

About The Project

This package was born of a desire to surface Microsoft Teams presence data within Home Assistant so that users can create automated flows based on their current activity or availability. Want to illuminate a studio warning light when you're on a call? Track time spent on conference calls? Now you're covered.

Thanks to Microsoft's Graph API, it's easy to get a user to authenticate once and have Home Assistant continue to poll for data in the background.

For now, the package only includes user presence data but the power of Graph API means it can eventually support features such as checking Outlook emails or the status of upcoming meetings. If you have ideas, please raise a feature request or submit a pull request.

Built With

No frameworks. No magic. Just pure Python.

Getting Started

If you'd like to contribute, check out the steps below to get set up locally and see existing example flows.

Prerequisites

The only software required is Python 3 (the package is currently tested on 3.8).

  • Python 3 (download the correct version for your OS here)

Installation

  1. Clone the repo
git clone https://github.com/jlweston/ha-graphapi && cd ha-graphapi
  1. Create a virtual environment
python3 -m venv venv
  1. Run the example (swapping the placeholders with real Azure AD application credentials)
python3 examples/presence.py --client_id {my-client-id} --client_secret {my-client-secret}

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Jamie Weston - @jlweston85 - jlweston85@gmail.com

Project Link: https://github.com/jlweston/ha-graphapi