Zoom presence sensor

I failed to notice until half a year later that you replied to me. Yes, my final/3rd paragraph is what I was referring to what you’re describing.

But that was a secondary/trivial problem, my primary problem was the 2nd paragraph, which isn’t what you were talking about.

In any event, I can’t remember what I did many months ago but I eventually got it working again and it has since worked flawlessly with 100% perfection to date. I use it all the time.

My usage dropped a bit during summer, but given the current variant going around and unvaccinated/idiot rates, it appears my use of this integration is going to increase again. Thanks for the good work!

1 Like

just getting this started and using the examples from the install instructions and getting the following error I cannot understand …

Message malformed: required key not provided @ data[‘trigger’][0][‘platform’]

My trigger is:

trigger:
    platform: event
    event_type: zoom_webhook
    event_data:
        event: <ZOOM_EVENT_NAME>

I know the action I’d like which is to turn on my keylight works but the more critical zoom detection is not right just yet.

For one, the structure of event_data has changed, and you would actually want to have the event_data look like this:

event_data:
  status:
    event: <ZOOM_EVENT_NAME>

I’ve updated the README accordingly.

in terms of the issue you actually asked about, I’m not sure why you are getting that because it looks right to me… is your indenting correct? If you think it is, would you mind pasting the full automation so I can see it?

1 Like

Trigger -

trigger:
  platform: event
  event_type: zoom_webhook
  event_data:
    status:
      event: <ZOOM_EVENT_NAME>

Condition - 
condition: state
entity_id: binary_sensor.zoom_jonathan_greene
state: 'on'




Here’s the full thing

alias: Turn on Elgato keylight when on a Zoom call
description: ''
trigger:
  - trigger:
      platform: event
      event_type: zoom_webhook
      event_data:
        status:
          event: <ZOOM_EVENT_NAME>
condition:
  - condition: state
    entity_id: binary_sensor.zoom_jonathan_greene
    state: 'on'
action:
  - type: turn_on
    device_id: 52591d594d2b485c31feb962cef0a8ca
    entity_id: light.elgato_key_light
    domain: light
mode: single

You have trigger twice. Remove the second one and pull everything underneath trigger in by one indent similar to what you have done for the condition and action

thanks. Still not working. Getting a Response error 500 now.

alias: Turn on Elgato keylight when on a Zoom call
description: ''
mode: single
trigger:
  - platform: event
    event_type: zoom_webhook
    event_data:
      status:
        event: <ZOOM_EVENT_NAME>
condition:
  - condition: state
    entity_id: binary_sensor.zoom_jonathan_greene
    state: 'on'
action:
  - type: turn_on
    device_id: 52591d594d2b485c31feb962cef0a8ca
    entity_id: light.elgato_key_light
    domain: light

Hmm a 500 error is strange. Can you paste the raw logs? (with anything you want to redact redacted of course)

ok I’m back. had to do a pretty serious do-over. my pi bit the dust and I now have a fresh clean system running. No 500 error, but I cannot get this to fire.

new code:

alias: 'Call lights '
description: ''
trigger:
  - platform: event
    event_type: zoom_webhook
    event_data:
      status:
        event: <ZOOM_EVENT_NAME>
    context:
      user_id:
        - a59bb8164dd0454085ce1cfcf4679bf3
condition:
  - condition: state
    entity_id: binary_sensor.zoom_zoom_personal
    state: 'on'
action:
  - type: turn_on
    device_id: a4487daf7beddd2b0782d2741191a6be
    entity_id: light.elgato_key_light
    domain: light
mode: single

try removing the context from the trigger. If you have set up the Zoom integration for multiple accounts and want to trigger on a specific one, there’s probably additional information in the event_data that you can use to filter on instead. If that doesn’t help, confirm that the binary_sensor is indeed on when the event comes in

Still not working. I’m just launching a new call to test btw. If I use run actions the light turns on, but if I start a call it does not.

alias: 'Call lights '
description: ''
trigger:
  - platform: event
    event_type: zoom_webhook
    event_data:
      status:
        event: <ZOOM_EVENT_NAME>
condition:
  - condition: state
    entity_id: binary_sensor.zoom_zoom_personal
    state: 'on'
action:
  - type: turn_on
    device_id: a4487daf7beddd2b0782d2741191a6be
    entity_id: light.elgato_key_light
    domain: light
mode: single

tried again with a fresh automation … nope. so strange.

OK I just tested it and I realized there is a bit of a bug. It turns out that because the data is under the status key, HA requires you to match the full data under the status key and not just one key. I will consult with the core devs on whether this needs to be fixed in core or in the integration. Stay tuned, and sorry for the wild goose hunt!

1 Like

OK, just pushed a new release that changes the event data structure so that you can trigger just based on the zoom webhook event name (this means you will have to change your automation back to what you originally had). If you don’t see the option to update the integration in HACS, click the … on the Zoom card in HACS and click Update information which will force HACS to check for updates

Thanks for getting back to me … saw the update was pending along with an update for HACS. Ran both and restarted. I can still trigger the light manually when I run actions … but not when I initiate a call on Zoom.

Edited the automation to:

alias: 'Call lights '
description: ''
trigger:
  - platform: event
    event_type: zoom_webhook
    event_data:
      status:
        event: <ZOOM_EVENT_NAME>
    context:
      user_id:
        - a59bb8164dd0454085ce1cfcf4679bf3
condition:
  - condition: state
    entity_id: binary_sensor.zoom_zoom_personal
    state: 'on'
action:
  - type: turn_on
    device_id: a4487daf7beddd2b0782d2741191a6be
    entity_id: light.elgato_key_light
    domain: light
mode: single

Try this instead (removed the status key since that was removed in the update):

alias: 'Call lights '
description: ''
trigger:
  - platform: event
    event_type: zoom_webhook
    event_data:
      event: <ZOOM_EVENT_NAME>
    context:
      user_id:
        - a59bb8164dd0454085ce1cfcf4679bf3
condition:
  - condition: state
    entity_id: binary_sensor.zoom_zoom_personal
    state: 'on'
action:
  - type: turn_on
    device_id: a4487daf7beddd2b0782d2741191a6be
    entity_id: light.elgato_key_light
    domain: light
mode: single

Still nothing … I’m just going into zoom and starting a call. No lights. Tried also scheduling and joining a meeting as well. Again I can initiate with the run actions command, but not when zoom is actually running a live call.

The following worked for me, although it wasn’t always reliable, possibly because the binary sensor relies on these events too and may not change state until after your automation runs (not sure):

alias: 'Call lights '
description: ''
trigger:
  - platform: event
    event_type: zoom_webhook
    event_data:
      event: user.presence_status_updated
condition:
  - condition: state
    entity_id: binary_sensor.zoom_raman
    state: 'on'
action:
  - service: persistent_notification.create
    data:
      message: test
mode: single

replaced with your new one … rebooted the server. Launched a new zoom call … nothing. doh.

is your binary sensor turning off and on as expected? If not, you may need to verify that the account you are using for the Zoom app is the same one you linked the integration to.

Assuming the binary sensor is turning on and off as expected, try removing the condition clause entirely so you just have the trigger and action