Zoom presence sensor

Hi all,

I built a Zoom custom component that ships with a binary sensor that turns on and off depending on when you are on a Zoom call. I’m using this sensor to notify my wife when I’m on a call when we are working from home so she knows not to come in. The integration can support any webhook event that Zoom supports but the only one that comes with out of the box support is the user presence status webhook.

You can install this component using HACS (look for “Zoom”) and more information about how to set up the integration can be found here: GitHub - raman325/ha-zoom-automation: Custom Home Assistant component for Zoom. Tracks when you are connected to a Zoom call by default but may allow you to track more.

Cheers!

4 Likes

So cool! I’m trying to install this tonight and I see it requires HA to be accessible externally. I’m using Nabu Casa and trying to figure out if I can use this to setup the Base URL need for your integration?

Yes, if you are using Nabu Casa you should be able to use this integration as long as you have Remote UI enabled. When creating the Zoom app and defining the callback URL + Webhook destination, you will need to use the base_url that you use to access your HA instance while on the go, aka the URL that Nabu Casa gives you for Remote UI access

Still no luck. It appears that Nabu uses a URL structure like this for the Remote UI:
https://randomID.ui.nabu.casa/
And like this for webhooks:
https://hooks.nabu.casa/randomID=/
Webhook randomID looks unique to each installed service but I do not see one listed for the Zoom addon.

Do you know what URL’s nabu casa uses for auth and for the API? that would help us figure out what URL to use

So the best way to test this is to use each of those URLs as your base URL in the instructions for creating the Zoom app (include the randomID part). Try the first one then try setting up the Zoom automation. If after you go to the Zoom site to log in, you get redirected to an error, that means you should try the next one. My guess is that it’s going to be the second one, so you would use the following:

Redirect URL for OAuth: https://hooks.nabu.casa/randomID=/auth/external/callback
Event notification endpoint URL: https://hooks.nabu.casa/randomID=/api/zoom_automation

I had this working via Nabu Casa for the past week but decided to update the component today to the 0.2 version. Now it’s no longer working. Do you have recommendations on how I can debug this?

Update: .25 fixed my issues – Thanks!

Sorry I missed this but glad you got it working! I think I introduced a bug with one of the releases which is probably what you hit, but the latest should be chugging along smoothly

@raman325

I’m interested in using this. Few questions:

  1. This creates a binary_sensor for each user, correct?
  2. If I only wanted to monitor the status (on / off) of each user, there’s no need to create a webhook automation trigger, correct?
  3. Will it be able to update multiple binary sensors while users are on a call simultaneously?

Thanks for your work.

  1. Each user you log in as yes.
  2. Correct
  3. Good question. Now that you mention it in it may assume one user. I will look into this and fix if needed. Will look at this tomorrow
1 Like

@HOMECB it should be able to update multiple binary sensors while users are on a call simultaneously. If you find this isn’t the case, please do let me know so I can look into it

1 Like

Thanks. Will check.

@raman325

I’m able to setup a Zoom account but having trouble setting up others that I want to monitor. How can I add a new Zoom integration using a different set of Client ID/Secret & Feature Verification Token for another user?

Adding a new Zoom integration uses the first account’s details (e.g. Client ID) thus resulting in the following error:

You cannot authorize the app

This app cannot be installed outside of the developer’s account. Please contact the application developer to get support with installing this application.

Thanks for your work and your help.

@HOMECB I did not consider the fact that you can’t install a developer app from one account into another. At the moment the integration only allows for one set of client ID/secret/feature verification tokens, but I can re-add support for multiple. I actually had that early on and got rid of it because I thought we could get away with just using one.

Sorry for the delay here, I’ve been working on other things. I will try to put some time into this in the next week or two and get back to you once it’s resolved

@raman325 Thank you so much for your time on this. Looking forward to it.

First of all. Great integration! Nice work!
But unfortunately after a while during the day it becomes idle. After a restart of HA it behaves just like expected again.
Anyone else experienced the same behaviour and found a solution?
Perhaps it’s been resolved with the latest update (0.5.0)

Strange @korallen definitely try updating to the latest and let me know if you still see this issue. I have been using the sensor for a while and from what I can tell, it has been working without fail

I just pushed a new beta release that theoretically adds support for multiple entries. You can see an explanation of how to set it up on the release page: https://github.com/raman325/ha-zoom-automation/releases/tag/v0.6.0-b1

Note that in order to install this release, you will have to go to the Zoom card in HACS and click on “Reinstall” -> once you get there, enable “show beta releases” and install v0.6.0-b1

Let me know if you have any questions or if you run into any trouble with setting up multiple sensors.

Awesome. Will try it out and report back.

@raman325 Unfortunately, I could not proceed further when adding my kids’ (school) Zoom accounts. I was unable to authorize the apps, requiring pre-approval by the school’s Zoom admin.

I have contacted the school’s IT to request for pre-approval with step by step instructions on how to do it lol.

If they grant my request I will try again and report back.

Thanks again for your work and in any case please keep the feature as it could be useful.