Amcrest video doorbell AD110 initial impressions

I’m constantly having trouble with the amcrest app. I have video footage I want to download and save to my phone, but I don’t want to take out the SD card every time, and downloading just won’t work the way it should. I know the doorbell doesn’t have a web ui that I can access to download them from my computer, so is there any other way to fix the app issue?

@SeanMyth - With the latest firmware, you can download SD-Card recordings to your phone. The limitation is that your phone needs to be on the same network as the AD110. Is that what you mean by “downloading just won’t work the way it should” ?

I have my doorbell also connected to an NVR for recording. I can retrieve videos through its web interface, including remotely via VPN. You can also set up an automation to record video directly in HA, triggered by motion events.

I was doing some testing last night and some clips work, when you begin to download it will say “start to download. please view in list”. But of course for the one clip I want it says the message, but then stops downloading a fourth of the way through and creates a blank video file. I’m guessing it’s just the luck of the draw unfortunately whether or not it will download for me.

Dave - did you ever get a useful response from Amcrest support about this?

I’ve been doing some digging comparing before/after config changes and discovered that the AD110 motion detection settings are written differently from other Amcrest/Dahua cameras.

The settings are not saved in the Motion Detection section, but instead are written to the Alarm section! This explains why other software & NVR’s are not able to change motion detection settings, and worse, can freeze the doorbell live video forcing a factory reset.

If you really want to give it a shot to see if this API command works on the AD110 to turn off/on motion detection. well, here it is. I have not tested it.

http://<ip_addr>/cgi-bin/configManager.cgi?action=setConfig&Alarm[0].Enable=false

You might also need to run this command, because I found it changes in lockstep with enabling/disabling motion detection via the app…

http://<ip_address>/cgi-bin/configManager.cgi?action=setConfig&Alarm[0].EventHandler.SnapshotEnable=false

It seems that if turning off Motion detection via the SmartHome app, it will also disable the snapshot event handler for some reason.

I can’t guarantee this will work, but I think it has a very good chance it will since these attributes are returned successfully with a getConfig command.

I’m away from home, so I’m hoping you are wanting to be the first to try this. If it works, this will be fantastic to reduce so many AD110 false alerts via HA.

EDIT: I got home and tested the setConfig&Alarm command - it works to toggle motion detection! The SH app didn’t reflect the change though. I did not toggle the SnapshotEnable Event Handler. So far, that does not seem to be necessary.

Hi, still struggling with support, they did send me some API commands to try but as the App did not show motion detection status I assumed they did not work. I will have to retry.

How do you send an API command in HA, have not looked yet. Want to use when we are “AWAY” to set Motion detection On.

Regards

Hi Dave - Here’s how to set up a switch to toggle motion detection on the AD110 doorbell…

switch:
  - platform: command_line
    switches:
      doorbell_motion_detect:
        command_on:    '/usr/bin/curl -s --digest -u admin:<password> "http://192.168.x.xx/cgi-bin/configManager.cgi?action=setConfig&Alarm[0].Enable=true" '
        command_off:   '/usr/bin/curl -s --digest -u admin:<password> "http://192.168.x.xx/cgi-bin/configManager.cgi?action=setConfig&Alarm[0].Enable=false" '
        command_state: '/usr/bin/curl -s --digest -u admin:<password> "http://192.168.x.xx/cgi-bin/configManager.cgi?action=getConfig&name=&Alarm[0].Enable" | grep -oPc "true"  || true'
        value_template: '{{ value == "1" }}'

Then in the automation, you can just use the switch.turn_off (or on) service with the entity: switch.doorbell_motion_detect

You can not rely on the status of the Motion Detection switch in the SmartHome app, as it is not updating when the motion detection is changed via the API. However, the status of the switch within Home Assistant will automatically update to the current state if changed by the SH app (within the scan_interval - 10 seconds by default).

EDIT:
@DaveTiff -

I’ve updated the switch to incorporate the switch status - something I just learned how to do. Have you tried these commands yet?

I still would like to know what the exact API commands were that Amcrest Support sent you to try. This would be the first time I’ve heard of anyone receiving API support for the doorbell from them.

Thanks for posting back.

EDIT: Updated code to fix grep return code “error” by forcing it true

I just ordered this camera and it should be here tomorrow. I have 4 other amcrest camera in zoneminder so I was hoping this was similar It doesn;t look like it has a web interface for configuration but it does look like the RTSP feed is the same as my others.

Anything I should know about before it arrives. I Am replacing a LaView doorbell that has frequent disconnect problems

Hi @faspina - correct, there is no web interface on this device, and yes, it supports RTSP. It’s this doorbell’s best feature IMO. Configurations are normally done via the SmartHome app but we are slowly discovering and testing API commands that can provide functionality outside of the app, which is what the previous post was about.

It works well, much better than the LaView. RTSP is the same as my other amcrest.

@DaveTiff - Hey Dave - did you get the code I posted to work for you?

I would also appreciate learning what Amcrest support told you regarding which API commands to try. Their official stance has been to not use anything but SmartHome app to configure the doorbell, so it is very interesting to know if they have backed off on this a bit.

Not tried yet, still waiting a response from Support.

I have issues with the IR Constantly going On & Off at night, this seems to trigger the MD all night. So they are trying to sort that out as well.

I will let you know when I hear something.

Re Dave

@DaveTiff - Ah, ok. you had asked for help turning off MD, and didn’t mention the IR issue.

You are not alone with the IR either going on/off constantly or causing the doorbell to reboot. You can review discussions about this issue on the Amcrest Support forum - here.

A related issue is that no matter what you have set the IR mode to in the app, a weekly forced Tuesday 2AM reboot resets it. We have found that if you configure the IR to “Manual” mode and adjust the intensity, these IR problems can be avoided. It depends on the situation what intensity value works bests. One guy said 95%, another said 15% intensity worked best, so there is a wide range, but the good news, this fixed their issues.

What did Amcrest support ask you to try via the API?

EDIT: forgot to mention - IR issues are often caused by the transformer. Some think lowering the intensity helps with borderline cases of insufficient voltage/amperage.

Here is what they said

We do not have separate API document for AD110
http://mycam:80/cgi-bin/configManager.cgi?action=setConfig&MotionDetect[0].Enable=true

Tried this ?

http://mycamera/cgi-bin/configManager.cgi?action=getConfig&name=MotionDetect[0].Enable

Ok, thanks Dave. MotionDetect[0].Enable is the normal config other Amcrest/Dahua cameras use. This is NOT what the SmartHome app toggles though. The app leaves this enabled true all the time and instead toggles Alarm[0].Enable. It may accomplish the same thing, but for the doorbell, I doubt it.

Their reply does seem to indicate that even Amcrest Support isn’t fully aware of how the API on this doorbell works and is referring to older API documentation for you to try.

Ding or dong, vs ding/dong… could be many reasons for that. 1) wired to the backdoor terminals that only ding, no dong. 2) Chime is mounted upside down so gravity doesn’t bring the hammer down for a dong. 3) bell unit is mechanically broken. 4) the chime kit is switching too slow, which might slow the gravity falling of the hammer, muting the dong after a ding. The former 3 issues are easy to see/fix. The latter would require an o-scope and additional circuitry to see/fix.

Hey guys, ive managed to integrate amcrest doorbell in HA
I look at the stream and it lags 10-15 seconds from real time? why is it so?

in vlc rtsp - its all good

i tried to input the following code of yours to my configuration.yaml

camera:
 - platform: ffmpeg
    input: !secret rtsp
    extra_arguments: '-filter:v crop=1280:720:474:360'
    name: "Amcrest Doorbell"  

and i get following error:

bad indentation of a mapping entry at line 118, column 10:
        input: .secret rtsp
             ^

Unless we can safely change iFrame interval and/or frame rate in the AD110, I think we are stuck with the lag with STREAM enabled. It’s a complicated dance in how Stream works that I can’t explain other than to refer comments made by the head developer of Stream.

You may find this post interesting as it contains a detailed review of several different camera integrations with, and without stream enabled. Also note the reply from the developer, hunterjm.

BTW - we do know that it is possible to modify AD110 video configurations via the API, but one guy who tried it confirmed it worked, but then his AD110 died shortly after. It could have been due to overheating the CPU with the different settings, or it could have been coincidental.

Coming in the next .115 update are significant improvements to Stream (such as adding audio). I did not see in the PR’s anything related to lag improvements though.

EDIT (12/2021) - An important improvement to STREAM was the addition of a new “LL-HLS” Low Latency option. I’ve added it to my stream config and it works! Now, I am only seeing about 2.5 seconds of lag on both ethernet cameras and Wi-Fi doorbell. I can live with that.

All 3 fields must line up directly with “platform”…

camera:
 - platform: ffmpeg
   input: !secret rtsp
   extra_arguments: '-filter:v crop=1280:720:474:360'
   name: "Amcrest Doorbell"  

Also, you do not need the “extra_arguments” that I showed in my early example. This was just an example of how to crop an image when snapshots are taken.

Thanks for reply, it has a lot of info.
so you mean you have the same lag at yours?