Amcrest video doorbell AD110 initial impressions

I don’t know what you could possibly be doing wrong. Others have pulled it and I pull it regularly. Try sudo docker pull. I usually just put the docker run command in and it pulls it for me.

@ghvader - a few weeks ago you had asked about possibility of installing an older AD110 firmware. Just today I have learned that Amcrest Support provided a one-off upload of an old version for someone to install using the Amcrest IP Config tool.

You probably don’t need to install 200702 anymore since the newest firmware has restored the Motion Detection UI. I’m just giving you a heads up that it is indeed possible to back out a firmware if you go through Support to obtain the older firmware.

See this post for further info… https://amcrest.com/forum/viewtopic.php?f=32&t=14470&p=33991#p33987

@GaryOkie Interesting, thanks for the heads up. since amcrest are rebranded Dahua cameras, I had downloaded a Duhua NVR software, it detected all my amcrest cameras and had the ability to upload firmware. I was willing to risk it (if one was available) since it wasn’t working and I was about to junk it and go another route, but then I heard from you about the most recent firmware due out, so i waited. In any event I will not be upgrading any more amcrest firmwares until I’m sure they won’t break existing functionality.

I tried “Use RAW Codes” and still getting hit with HTTP400 errors. Mixed in with them are time resets (seems like the doorbell wants to get a second fast and then is brought back in line) and the mentioned pulse messages.

The snapshot part of the palette also doesn’t seem to work for me - couple this with the fact that if my porch has any shadow I cant make out faces (but if I place my hand over the camera the brightness shifts and faces are clear - Something that should happen automatically) and a ton of misreads with passing cars (which I can deal with if I can get HA integration - I am getting ready to move on to a different system (maybe look into building my own).

Have you gotten this to actually work?

Any news regarding this PR for the button press integration? :slight_smile:

Was thinking about the EUFY VS Armcrest however the EUFY is not able to be implemented in HA.
Do you guys recommend me to get the ARMCREST AD110?

I can now get this to my country via Amazon for a decent price…
Thinking of using it in Motion eye for RTSP record and Lovelace streaming and use the App for the motion detection.

The developer adding all-new platform event support (including doorbell events) was seeing delays due to a lack of available reviewers. Fortunately balloob stepped in to review but requested a slew of changes. Those updates are in progress.

1 Like

is there a web page i can monitor for changes and updates?

The python-amcrest I/O library (v1.7.2) has recently been enhanced to support returning event_data detail about any amcrest/dahua event, which includes doorbell press events. If interested in the background of discovering and supporting these events, you can refer to this “possible support for AD110?” thread.

You can track the progress of the Amcrest Integration pull request to incorporate the new event handling here:

Please limit chatter on this PR. Comments should only be providing review input. I’ll try to answer any questions in this thread and will update everyone here if anything relevant and useful to report occurs.

2 Likes

Hi all, I decided to pull the trigger after reading all the posts. I use FFmpeg Camera integration to get RTSP stream into Home Assistant. I am also able to get button press event and motion detection with Node-RED. However, it is crashing my Node-RED randomly. I already posted an issue in GitHub and hopefully that will be resolved. Other than that, everything looks very promising.

EDIT:
The developer already fixed my Node-RED crashing issue. Everything is working great now!

New to node red, got the ad110 nodes installed, and listening to events, how do I pull the button press out and say, turn on a light

You will have to check “msg.payload.code” against “CallNotAnswered”. Those events are the one you should be interested in. Afterwards, check "msg.payload.action: on the same event. “Start” means someone pressed the doorbell button. I pass that back to a binary sensor in Home Assistant and you can do whatever automation with it. After couple seconds, you will see the “Stop” event which can be used to reset the binary sensor.

The node for Amcrest in NR is way over-the-top chatty, it puts a real strain on NR

thanks @SummerRain, I’m lost, literally just started with node red, only have 2 really basic flows to turn lights on/off with motion, the options in node red blows my mind but at the moment I just don’t understand it, I can see all the events in a debug, that’s as far as I get, no idea what to use to get it back into HA. any help or lessons you could guide me with id appreciate it.

thanks

@Danzal you can import my logic flow using the following json code. You will have to connect the “AD110 Monitor” at the beginning as the trigger and “HA Entity” at the end to feedback to Home Assistant. The outcome should look like this.

[{
	"id": "2724db6b.3d39d4",
	"type": "change",
	"z": "ccf87666.5c3438",
	"name": "",
	"rules": [{
		"t": "set",
		"p": "payload",
		"pt": "msg",
		"to": "on",
		"tot": "str"
	}],
	"action": "",
	"property": "",
	"from": "",
	"to": "",
	"reg": false,
	"x": 560,
	"y": 40,
	"wires": [
		[]
	]
}, {
	"id": "d6a6c07b.1d8a6",
	"type": "change",
	"z": "ccf87666.5c3438",
	"name": "",
	"rules": [{
		"t": "set",
		"p": "payload",
		"pt": "msg",
		"to": "off",
		"tot": "str"
	}],
	"action": "",
	"property": "",
	"from": "",
	"to": "",
	"reg": false,
	"x": 560,
	"y": 100,
	"wires": [
		[]
	]
}, {
	"id": "6334b526.0a78cc",
	"type": "switch",
	"z": "ccf87666.5c3438",
	"name": "",
	"property": "payload.code",
	"propertyType": "msg",
	"rules": [{
		"t": "eq",
		"v": "CallNotAnswered",
		"vt": "str"
	}, {
		"t": "eq",
		"v": "Motion",
		"vt": "str"
	}],
	"checkall": "true",
	"repair": false,
	"outputs": 2,
	"x": 250,
	"y": 120,
	"wires": [
		["c0b754ea.8a3f68"],
		["faaa78b2.58e698"]
	]
}, {
	"id": "c0b754ea.8a3f68",
	"type": "switch",
	"z": "ccf87666.5c3438",
	"name": "",
	"property": "payload.action",
	"propertyType": "msg",
	"rules": [{
		"t": "eq",
		"v": "Start",
		"vt": "str"
	}, {
		"t": "eq",
		"v": "Stop",
		"vt": "str"
	}],
	"checkall": "true",
	"repair": false,
	"outputs": 2,
	"x": 390,
	"y": 60,
	"wires": [
		["2724db6b.3d39d4"],
		["d6a6c07b.1d8a6"]
	]
}, {
	"id": "faaa78b2.58e698",
	"type": "switch",
	"z": "ccf87666.5c3438",
	"name": "",
	"property": "payload.action",
	"propertyType": "msg",
	"rules": [{
		"t": "eq",
		"v": "Start",
		"vt": "str"
	}, {
		"t": "eq",
		"v": "Stop",
		"vt": "str"
	}],
	"checkall": "true",
	"repair": false,
	"outputs": 2,
	"x": 390,
	"y": 180,
	"wires": [
		["f400579c.46cd88"],
		["a7b21d52.88b8"]
	]
}, {
	"id": "f400579c.46cd88",
	"type": "change",
	"z": "ccf87666.5c3438",
	"name": "",
	"rules": [{
		"t": "set",
		"p": "payload",
		"pt": "msg",
		"to": "on",
		"tot": "str"
	}],
	"action": "",
	"property": "",
	"from": "",
	"to": "",
	"reg": false,
	"x": 560,
	"y": 160,
	"wires": [
		[]
	]
}, {
	"id": "a7b21d52.88b8",
	"type": "change",
	"z": "ccf87666.5c3438",
	"name": "",
	"rules": [{
		"t": "set",
		"p": "payload",
		"pt": "msg",
		"to": "off",
		"tot": "str"
	}],
	"action": "",
	"property": "",
	"from": "",
	"to": "",
	"reg": false,
	"x": 560,
	"y": 220,
	"wires": [
		[]
	]
}]
2 Likes

@MorningZ How so? I didn’t see high CPU/RAM usage after setting up the AD110 node. The developer also fixed the bug and it’s not crashing anymore.

That is for sure going to be a case of “your milage may vary”

When I tried to use the palette, it brought my RaPi 4 to its knees. Rebooted it, disabled the palette and i’m back to normal now.

I don’t use Node Red but I am familiar with the event codes/payloads the AD110 issues.

Shouldn’t the code be testing for “CallNoAnswered” (along with payload “Start”), not CallNotAnswered? You can also test for “_DoTalkAction_” with the payload containing Data: “Invite”, but either should work as both occur for a doorbell push.

1 Like

@MorningZ I see. I am running NR docker on my QNAP NAS and probably it’s powerful enough for that.

@GaryOkie I noticed that if “Use Raw Codes” is unchecked in the monitor node, “CallNotAnswered” should be used. If “Use Raw Codes” is checked, “CallNoAnswered” should be used. Since that option in unchecked by default, I keep “CallNotAnswered” in my code. I didn’t dig into the code to find out what’s happening.

ok, thanks for clarifying. I am only familiar with the raw codes Amcrest/Dahua are sending, not anything Node Red code is doing internally to change event names.

I am surprised though that you are seeing heavy chatter coming from the AD110. I wonder if the NR code is subscribing to “All” events and/or polling every few seconds?