Amcrest video doorbell AD110 initial impressions

131           0x83            Zip archive data, at least v2.0 to extract, compressed size: 201, uncompressed size: 481, name: Install
397           0x18D           Zip archive data, at least v2.0 to extract, compressed size: 1246046, uncompressed size: 1248488, name:
                              kernel.img
1246511       0x13052F        Zip archive data, at least v2.0 to extract, compressed size: 111064, uncompressed size: 223296, name:
                              dhboot.bin.img
1357647       0x14B74F        Zip archive data, at least v2.0 to extract, compressed size: 1380181, uncompressed size: 1388608, name:
                              romfs-x.squashfs.img
2737906       0x29C6F2        Zip archive data, at least v2.0 to extract, compressed size: 9704765, uncompressed size: 9703488, name:
                              user-x.squashfs.img
12442748      0xBDDC7C        Zip archive data, at least v2.0 to extract, compressed size: 1412, uncompressed size: 4160, name:
                              partition-x.cramfs.img
12444240      0xBDE250        Zip archive data, at least v2.0 to extract, compressed size: 355208, uncompressed size: 360512, name:
                              data-x.cramfs.img
12799523      0xC34E23        Zip archive data, at least v2.0 to extract, compressed size: 4018, uncompressed size: 4160, name:
                              web-x.squashfs.img
12803617      0xC35E21        Zip archive data, at least v2.0 to extract, compressed size: 173, uncompressed size: 278, name: check.img
12803857      0xC35F11        Zip archive data, at least v1.0 to extract, compressed size: 128, uncompressed size: 128, name: sign.img
12804969      0xC36369        End of Zip archive, footer length: 22

Quick binwalk of it

Thanks for that. So we might be at an endgame here unless we can crack dsh's auth or get an old bootloader on this thing. It sounds like a while ago Dahua had their cameras turned into a botnet by open telnet sessions and after that started to sign their update files. I was able to use the provided firmware update file to update my own device.

I then took the update file, extracted it using BotoX/Dahua-Firmware-Mod-Kit, but this tool seems to be out of date and cannot handle signed updates. Rebuilding the .bin without any modifications results in a non-usable update package. There might be something more here that Iā€™m just not skilled enough to look at.

Using my setup I could probably modify the user partition to replace the shell and enable sshd by default, but thatā€™s not exactly the most useful thing for the community. That might not even be 100% as I have no idea if itā€™s checksumming the individual squashfs read-only partitions.

Anyway, for anyone whoā€™s interested hereā€™s the full JSON for the CustomConfig file. As @GaryOkie showed with the SSHD.Enable action above, anything in this JSON file should be able to be set by configManager.cgi.

Guys, is it possible to send some standard audio to the speaker of the AD110, like ā€œplease wait i am comingā€ ?

@himdola - I just learned that the Amcrest AD410 (as well as the Dahua/Lorex 2K doorbell) have a ā€œQuick Responseā€ feature to play a pre-recorded message, including one you record yourself. Since this is a SmartHome app-related feature, it should be possible to extend this capability to the AD110 in a future update.

I also just discovered that when the AD110 doorbell is pushed, SmartHome will show a tiny cloud with 3 dots in it that I had never noticed before. Tapping this shows 3 canned pre-recorded messages you can play on the doorbellā€™s speakerā€¦

ā€œCome Back Laterā€, "Leave Package, ā€œNo Visitorsā€. The actual message is longer than this, spoken with a female voice.

So that should be really fine if it can also for AD110. Can you please put some links to that threat? I should then ask to that developer. I am not very good with that scripting language how to implement that also for AD110.

@Himdola - I was referring to a capability in the SmartHome app to play canned messages on the AD110. There isnā€™t yet an option to create and play your own recordings for the AD110 like there apparently is for the AD410.

So even if this capability exists in the app, we donā€™t yet know how the app transmits recorded messages. There is nothing documented about this in the existing API guides except for transmitting encoded audio streams.

I understand that Blue Iris software has the capability to send recordings to Amcrest/Dahua cameras. That might also work for the AD110, but I canā€™t confirm. Or maybe you can hide a google mini speaker or equivalent in the porch ceiling :slight_smile:

Is anyone else not receiving AD110 motion alerts in the SmartHome app lately?

Trying to understand if this is a wider server-side issue with Amcrest push notifications or what. I do see from an event watcher app that the doorbell is properly recognizing pixel movement and/or PIR movement but it isnā€™t sending an associated push notification when these occur. I do get the notifications for doorbell button press though.

Last week (May 11), Amcrest updated the SmartHome app to support the AD410 which handles motion differently. No PIR (alarm events) and added human detection. Itā€™s possible these changes are behind motion notifications failing now.

There was an update to amcrest2mqtt the other day that looks like it fixes some event related things. Iā€™m still getting motion alerts like crazy through the normal app.

Iā€™ve also been looking into how to work around the ability to enable/access two way talk audio and noticed the 5060 SIP port. I found GB28181 is a standard used which seems like the protocol which involves SIP to make calls to the device for two way audio. Just doing a bit of digging led me to this website with quite a bit of info on the protocol by searching GB28181 and how it relates to SIP. I havenā€™t had much time to dig into the protocol as Iā€™m trying to understand a bit more about SIP.

I guess the general idea would be to try and mimic the server locally and point the camera to receive audio from that instead of the manufacturers servers.

Iā€™m working on getting this working on an Amcrest AD410 but the same line in the http api is the same
table.All.RemoteDevice.uuid:xxxxxx.GB28181.Port=5060

I worked around the problem with my AD110 not issuing any motion alerts to the SmartHome app, despite ā€œCall Notificationā€ being enabled in the app.

After dumping the internal config I discovered that the Alarm[0].Enable setting which is used for PIR motion alerts remained ā€œfalseā€. Weird.

Anyway, reset it to true via the API and PIR motion alarms are working fine now .

NOTE: VideoMotion events that Home Assistant Amcrest integration subscribes to are pixel change motion events which are always enabled and are not triggered by PIR alarms. It also explains why HA can get many more motion alerts than the SmartHome app.

I have had two of these (one RMA) both suffer the same problems. They only operate well in temperatures between 40F-90F. Anything outside of that range and they go offline eventually, until rebooted.

Guys a question,

I am using now the generic picture entity to get picture snapshot when someone is at the door. But i need to see Clips in HA instead of only a picture. How can i do that?

I have blueiris, acrest2mqtt and Amcrest integration working in HA.

Hey I have the newer 2K model. Have you figured out any way to reduce RTSP lag?
I experience around 6-10 second lag and when trying to figure out whoā€™s at your door itā€™s a bit awkward.
My Nest Hello had an instant view on our Google Home hub and thatā€™s through the cloud, so itā€™s hard to justify that it ā€œworks betterā€.
I just really hate paying monthly for person detection with the Nest doorbellā€¦

Keith, this RTSP lag is not a problem specific to the AD110 or AD410 - itā€™s a ā€œfeatureā€ of HAā€™s STREAM that will cause a lag on any camera to various degrees. HA is transcoding RTSP into HLS and buffers it for universal web browser playback. If the camera can have its keyframe adjusted then its possible to reduce the lag somewhat, but not entirely.

Some have suggested using MJPEG , which is basically a series of snapshots played back at 1 image per second or so. That will be close to real time. See: Solutions for camera feed delays? Alternative camera platform options?

Probably a better solution that I have been meaning to try is using this WebRTC custom component. see: Realtime camera streaming without any delay - WebRTC

If you try it, report back on how well it works.

1 Like

Have you not tried just using HAā€™s CAMERA RECORD service?

Be sure to specify a lookback value to ā€œrewindā€ the video some. Thatā€™s due to the aforementioned lag.

Addendum:

@himdola - Since you are using Blue Iris, have you tried using the BI integration for accessing recordings?

Thanks for the info.
Iā€™ll dig in.

So a report on WebRTCā€¦ Itā€™s promisingā€¦
Itā€™s faster for sure, but it is a bit more buggy.

It seems to take a lot of resources compared to HLS.
When I loaded it up on my Fire tablet (newest model) it really struggled.
The video window kept restarting and reloading every second or so.

I also tried to cast it, as it says it supports, but the stream never showed up on my Google Home Hub.
In fairness, when I had the Amcrest integration installed for some reason I couldnā€™t get that to work either, while a Wyze V2 that spits out RTSP to Home Assistant showed up instantaneously when I hit the call service button.
I really want the feed to show up on that device when somebody presses the doorbell.

Seems like these Amcrest doorbells are so close to fitting the bill for the ideal HA Doorbell but thereā€™s just all these little issues that make it less than ideal.
Iā€™m fighting the urge not to switch back to my Nest Helloā€¦ I donā€™t want to pay monthly for cloud garbage lol.

Yes i have blueiris but it records all motions and no matter when someone have pressed to the ring button. I just want to lookback some of 10 seconds before someone have pressed the ring button.

I recommend using Frigate if you want really reliable object detection. Using the RTSP feed from the Amcrest doorbell, I feed it directly into Frigate with the rest of my cams. I get clips upon detection not just button press. Just a thought.

Thanks for the tip. For just human detection, the AI in the new AD410 leverages Dahua SmartPlan/IVS Intrusion Detection mode for ingress and ā€œappearā€ into a defined polygon zone. It works quite well. I have turned off general motion detection completely. The only problem I have with it is it also detects anyone walking out the front door. I think this can be tweaked further to remove the ā€œappearā€ setting, but I havenā€™t been home this week to make adjustments via either the API or other software. SmartHome app is very limited.