Skip to content

Instantly share code, notes, and snippets.

@khalidabuhakmeh
Last active August 7, 2019 17:11
Show Gist options
  • Save khalidabuhakmeh/d95234ba6794a10fe6bf67933eedac5e to your computer and use it in GitHub Desktop.
Save khalidabuhakmeh/d95234ba6794a10fe6bf67933eedac5e to your computer and use it in GitHub Desktop.
Microsoft Graph IoT Room Meeting Display

We currently use Joan devices to display upcoming meetings in rooms. It works OK, but they have drawbacks.

  1. They are very expensive. Each device ranges between $500 to $899.
  2. To get more features, you have to subscribe to a service for each device.
  3. The wall mounts are a ridiculous $150 a piece. We have 16, which would mean we spend $2,400 on wall mounts alone!

Idea

Use the Microsoft Graph to determine the meeting schedule of each room and the attendees in our building. I want to build a Raspberry Pi attached to an E-Ink display that will display that information.

I also want to list the parts and build a wall mountable enclosure for this device.

Questions

  • Can you use the Microsoft Graph to see rooms in your organization?
  • Can you use the Microsoft Graph to see upcoming meetings?

Any code samples would be greatly appreciated.

OSS

Yes, I would like this to be Open Source.

@darrelmiller
Copy link

There is a new API in beta called "Places" https://docs.microsoft.com/en-us/graph/places-concept-overview

That is designed to provide you all kinds of information about places (e.g. conference rooms) in your organization.

At the moment there is no "official" connection between an event on a calendar and a place. We have encouraged the team to make that happen but if I recall I believe they said they were going to try and sync the location ID with the place Id. Therefore, the location in the event can be used to look up the place. Don't @ me, I can only fix so much at once!

@darrelmiller
Copy link

There is currently no way to find all the events across an org. You would need to have an app walk the users, aggregate and de-dup events. One useful piece of information to understand when looking at the Graph is that many elements of the Graph are stored in user specific datastores. There is not one global database. So accessing data across users is "suboptimal". The advantage of this implementation is horizontal scaling is easy. But it does come with drawbacks when trying to analyze information across an entire org. But where Microsoft creates challenges, our partners see opportunity :-)

@khalidabuhakmeh
Copy link
Author

@darrelmiller our rooms are set up as "individuals". The idea would be that each raspberry pi would be a proxy for that individual. So in a sense, I only need to look at that rooms individual calendar right?

@darrelmiller
Copy link

darrelmiller commented Aug 7, 2019

Ah yes. That makes sense. So you can get a list of events for a user here https://docs.microsoft.com/en-us/graph/api/user-list-events?view=graph-rest-1.0&tabs=http

@MaximRouiller
Copy link

That's such a neat idea.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment