Motion triggers from ONVIF-compatible IP cameras

Hi all-

Does anyone know if any code has been developed that could subscribe to standard ONVIF cameras to receive motion alerts that could then be used to create a ST motion device that could be used to trigger actions (turning on lights, audio alerts, etc.). Ideally I’d like some Python or Nodejs code I could run on my Raspberry Pi.

If nothing exists, would there be interest in this? I may have to bite the bullet and give it a shot myself.

Todd

The only thing I’ve been able to find is to use a program like this.


But this version is only for Windows and I haven’t found one that works reliably and easily on an RPi yet. This is free though but you would have to have a Windows PC (or server) running 24/7. I then use we webhook in WebCore to trigger the alert/alarm. Also, I only use this for notifications, not for anything security related (when someone pulls in my driveway). The motion sensor portion of it is either too sensitive or not sensitive enough…i’ve never found a sweetspot.

But natively from your ONVIF camera? Which ONVIF profile does your camera support? I suspect it’s G, like mine, which doesn’t support any type of the commands you’d be looking for. There’s a new ONVIF profile, T, that’s currently in development but to use it your camera would have to update it’s firmware or you’d have to buy a new camera.

Ok you effectively burst my bubble :smirk:

I have 5M Reolink cameras that are ONVIF compliant but I see what you mean that only Profile T supports motion events. So we’re left with having to do the image analysis ourselves or use notifications from 3rd party sw like iSpy or Blue Iris, which you point out require a dedicated PC setup. Sigh.

Now I’m wondering about an alternative approach: the reolink sw has the ability to send push notifications to your phone (instant) or emails (probably not so fast). I wonder if there is any way to redirect those push notifications to the RPi. Or… set up an email server on the RPi. I wonder what the delay would be…

If that’s the only way you can get alerts to your phone then if you have a android phone you can install tasker & Sharptools they then link to your SmartThings so when you get a notication or email it will tell SmartThings for you

1 Like

Instead of Tasker I use a program called AutomateIt but it’s basically the same thing. And instead of sharptools, you can just do a web hook directly to core. I’ve tried this method but the motion sensing built into my camera was too unreliable to make it practical.

We’re working on it, have a alpha version ready, will probably release it once it gets closer to the release version.

Working on what, exactly?

Developing an interface for Onvif cameras for SmartThing that will report motion detection - what you asked in the first post.

2 Likes

For all ONVIF cameras? Wouldn’t you have to process the image for motion detection? Not all ONVIF cameras report detected motion.

That would be awesome! Please tell us more when you can. I’d be happy to be a beta tester.

1 Like

Any news on this?

Unfortunately ST broke the platform a few months during a deployment which is causing it to strip out/truncate the body of the device SOAP response. So we’re pretty much in a holding pattern until it’s fixed. It’s been pending a patch for quite some time now.

@rappleg any ETA on the patch?

Well I’ve been using a combination of Reolink’s email notifications when motion detected, and Stringify’s ability to trigger off receipt of gmail. And now of course Google is shutting that capability down and will no longer allow Stringify any access to email. So now what to do?!

I’ve looked into setting up my own email server on my RPi but that looks like a horribly complicated thing to do with no guarantee my ISP would even support it…

Wish I could capture the phone notifications but don’t think there’s any solution available for iPhone.

Open to any further ideas.

If you have an RPi, look at a program called MotionEye. It’s kind of like Blue Iris but for RPi and for free. Allows you to send a web request when motion is detected and when it stops. Could be tied to a virtual motion sensor.

Thanks I’ll check it out!

I was linked to this post for a different reason but I noticed your post here. If you are interested in still using SMTP triggering you can use Shinobi.

here is a link to setup SMTP Event triggering : https://shinobi.video/articles/2019-02-26-how-to-use-smtpbased-event-triggering-in-shinobi

Hi there thanks for the reply. I’m just getting around to look at this option now and I have a question: don’t I have to have a permanent public IP address for the device running your SMPT server? (In my case, my RPI3). It would be on the same home network as my Reolink IP cameras but wasn’t sure if the emailing was really done by the camera firmware or back on the Chinese servers. If it’s really coming from the cameras I may be ok configuring the SMPT server IP address with my local network device IP. Hope that question makes sense…

Unlike an actual SMTP server, the one running in Shinobi is only designed to take trigger requests. It will not direct any real mail.

Since the camera and Shinobi server are on the same network it will go directly to it.