[ST Edge] ONVIF-compliant IP Camera Motion Detection & Video Streaming - Testers Wanted!

My outdoor IP cams that use this driver are all down.

My indoor Nest cams with direct integration are all working.

Hi, @TAustin

By this, do you mean that when you click on the plugin to see the video stream, no command is sent to the driver?

I asked the team related to the official integrations about video streaming and they haven’t got reports about issues in the service, so, it doesn’t seem a general issue.

@nayelyz
I would love to know if the team have any intentions of allowing users LAN camera streaming

My holy grail is viewing my LAN cameras in the Smartthings app on my TV

So while this works, I’m using it to turn on a light and then automatically turn it off after a minute, but the problem is that it it triggering motion and it cycles non stop, what kind of combinations of settings can I do to alleviate this issue?

When you have a camera group defined with two or more cameras, and you click to open the camera group, normally that initiates a request to the respective drivers to get the stream URL and then the video stream is displayed for each camera. What is happening now is that when you click on the camera group, it just displays the blank stream screen for each camera with the word “Off” as seen in this post. And no request is ever sent to the driver for the stream URL.

Have you tried adjusting the device Setting called ‘Minimum motion-active interval’? This will limit the repeated motion triggers. So for example, if you set it to 300 (seconds), you’ll only get motion activations every 5 minutes at most.

The other thing is to check your camera’s own settings and see if there are any options you can adjust there.

Decided to give this a try and got some interesting results.

I have 9 cameras from Amcrest. All have static IPs. Everything is on the same subnet. All but #208 are hard wired. All but 208 are port forwarded through my NVR.

I enrolled in the driver and searched for new devices. All 8 cameras showed up and I renamed them and added admin username and password. All other settings are default. Video Stream setting is Sub Stream and all cameras indicate resolution of (varies)w x 480h

All but 208 responded immediately when refreshed and I was able to get reliable motion detection.

I did not have the option to create a camera group in the Android App.

I went into the API browser and was able to create a camera group and I also added 2 virtual cameras just in case. I was unable to add the virtual cameras to the group they don’t show up as an option.

On doing this, camera 209 showed up in the camera group and gave me a single current frame(time-stamped) and displayed “LIVE”. None of the other cameras gave me a picture.

Reading the notes on your github I saw that the password needs to not have an ‘@’ in it, and of course mine did. I figured I should give myself the best chance of success before reaching out so I added a user account to each camera with admin rights for now to see what would happen. I also noticed I had ONVIF authentication OFF on most cameras so I turned that ON.

Once I did this, the combination of both of these changes killed most of the connections in SmartThings. The notes below indicate that a lot of that was due to the ONVIF authentication setting. I also used a third account as I suspected possible issues with the case-sensitivity of the password based on the way it was showing on the setting screen. In any case, having an ‘@’ in the password didn’t seem to make much difference. Camera 209 seems like it indicates there might be a issue with the case-sensitivity in the way the settings store the login info.

As it stands now for testing I am using the admin passwords on each with ONVIF authentication turned on where they allow it to still respond. I have changed my admin password to include no special characters.

Occasionally, I’m able to get one frame out of 207, 209, and 210 when I initially open the camera group but it takes 30 seconds or longer and never refreshes. Motion sensing remains very reliable.

Amcrest cameras are made by Dahua if that makes any difference.
If there’s any further info or logs you need, let me know.

Thank you

Each camera has three user accounts (note capitalization) and all three users are admins with full control for the purposes of this test

admin   A****111
User    A****111
nvr     a****111

Camera number is just the last 3 of the static IP
Model number of the camera is also listed. Those ending in E are POE cams

201 IP2M-842
ONVIF Authentication Must be OFF

203 IP2M-842E
ONVIF Authentication Must be OFF

204 IP2M-842
ONVIF Authentication Must be OFF

205 IP2M-852E
Only admin password responds with ONVIF Auth ON

206 IP2M-841
Only admin password responds with ONVIF Auth ON

207 IP4M-1026E
Only admin password responds with ONVIF Auth ON

208 IP2M-842 (on Wi-Fi)
Not Responding

209 IP8M-2496E
No option for ONVIF Authentication
admin: Responding
User: not responding 
nvr: Responding (?!?)

210 IP4M-1026E
Only admin password responds with ONVIF Auth ON

Hi - Thanks very much for taking the time to report your findings.

Other Duhua camera users have also found that they must disable authentication to get their cameras to work. We’ve never been able to figure out why this is the case.

I’d recommend searching for other Duhua-related posts in this topic to see if others have made any comments about getting the video streaming to work.

I’m not sure what the issue is that you are seeing beyond the authentication problems. You’ve tried changing the Video Stream Selection in the device settings to both Sub Stream and Main Stream? Typically, you want sub stream, since it should be the lower “preview” resolution. One other thing to check in your camera’s app settings is to make sure that the framerate is not too high.

You mentioned that your NVR is portforwarding your cameras - I’m wondering if it’s possible that when SmartThings is setting up the rstp stream with your camera, that something is getting blocked. It might be an interesting experiment to put one of your cameras directly on to your LAN and see if the streaming works that way.

What did you use to create the virtual camera devices?

I have a revised driver on my alternate test channel that you are welcome to try. It might be interesting to see if you have any better success regarding the authentication, since I’ve made some changes to that code. Also, if you have CLI, it would be great to get some logs. I can help guide you through that if you have the time. Send me a direct message and we can continue the conversation there.

1 Like

Almost 3 months since I logged the case and no real progress. The support person sends an update every week or so but it is usually no update on the camera group problem, just that development is still working on it. If they are working on it, it would have been fixed. I suspect they haven’t looked at the problem.

I guess we need to wait and see if they fix the lost functionality.

The ability to add camera groups has been fixed by @TAustin in this release update of the API Browser+

Thanks @Dennis. I wish I had seen that earlier. That fixed my inability to create a camera group but I am not able to see video now that I have the cameras in groups. It tries to get video but then fails with the attached message.

I can see the cameras are responding in the camera configuration. I am not near the cameras to create motion. I will try that later when I am there.

Any other suggestions for why the video streams aren’t showing? These are Amcrest cameras which I don’t think I saw many people using these in the discussion.

I did a quick web search of who manufactures Amcrest cameras and found a site that says:

If you haven’t already known, Amcrest is a US-based company that specializes in video surveillance equipment. However, they rebrand hardware manufactured by the Chinese OEM, Dahua.
Dahua is a well-known OEM that manufactures and provides security cameras to various other brands. A few familiar brands include Montavue, Lorex, and Amcrest. They also sell their own devices separately.

Source: https://www.securitycamhq.com/brands/dahua-vs-amcrest/#:~:text=If%20you%20haven't%20already,by%20the%20Chinese%20OEM%2C%20Dahua.

So based on that information, I believe that TAustin has said in his previous post it may have something to do with disabling authentication.

Thanks. @Dennis I will give it a try. Not a preferred configuration but I can try it and then make a decision on how to proceed

No problem. Personally, I wouldn’t disable authentication for any camera - period, but you do you.

I agree. I was going to try it as a test but I agree that if it works it is not an approach I am going to implement.

@kajoyce

I share your concern about turning off authentication. If you are interested in testing a revised driver I have an another channel, send me a direct message and I’ll give you the channel invite. In this test driver I had made changes to the authentication code, so it might be worth a shot to see if it addresses the known problems with Duhua and Amcrest cameras.

1 Like

I’ll definitely dig back in and see what else there is to see on Dahua cams

I just gave this a whirl and no difference. Tried lower frame rate, main stream

I’ll work on that now. I’m going to have to figure out some more in-depth firewall settings in my router, I think. 208 is currently on my LAN and is completely unresponsive. I’m sure this has something to do with firewall settings.

Created in API Browser

I do have access to CLI, no problem. I took a look at them and there is a lot of chatter happening with camera 208 and my printer/scanner which shows up as ONVIF. I’ll probably have to unplug both for logging. I’ll hold off on the newer driver for now while I learn a bit more about how to handle my firewall settings without opening up the whole thing. Thanks for the response and I’ll be in touch soon.

1 Like

For some explicable reason, the ‘CLI’ virtual camera devices you can create in SmartThings (including using my API Browser+) lack the videoStream capability, which is needed for SmartThings to recognize it as an eligible camera device to include in a group.

Therefore you’ll have to use my vEdge driver to create the virtual camera device(s) - or anyone else’s virtual device driver that creates camera devices with the videoStream capability.

1 Like

Thanks @TAustin direct message sent

TO EVERYONE USING THIS DRIVER:

I’m doing a poll to see how many of you have had your video streaming stop working vs. those that still have it working. Please only reply if you actually had it working previously.

Let me know:

  1. Working / no longer working
  2. Your country

Thanks!