DS-KD8003 - DS-KV8113 - DS-KV8213 - DS-KV6113 - DS-KV8413 and .... integration Hikvision HikConnect Video intercom doorbell

guys, first step into integration, with command below you can open the door from HA :

change offcourse password and ip

curl -i --digest -u admin:xxx -X PUT -d '<RemoteControlDoor><cmd>open</cmd></RemoteControlDoor>' http://192.168.0.xx/ISAPI/AccessControl/RemoteControl/door/1

3 Likes

Great Fabio!
this is working also on DS-KV8113-WME1, with both door locks output!
In my case “door/2” is a gate

it’s months i was looking for something working on this Hikvision series.
Mirco

Yeah, was searching for it too :wink:

I now use google assistant to open the door :slight_smile:

So i can now reuse the 2 Shelly1 relays i’ve installed at the house entrance for something else!! :smiley:
Getting the button press event on a sensor without using a nodemcu would be also very useful

Yeah, i am now finding out how to capture a doorpress event

Can you try:

Hikvision intercom

You like your doorbell?

Installed last June to replace a very old 2 wires video intercom, and always worked perfectly.
I’m satisfied with that, already integrated with HA using its 1080p rtsp stream, working these days to gain also its doorlocks management

I can’t get any call status detail, maybe my fault, only an authorization issue

{
	"requestURL":	"/ISAPI/VideoIntercom/callStatus",
	"statusCode":	4,
	"statusString":	"Invalid Operation",
	"subStatusCode":	"badAuthorization",
	"errorCode":	1073741827,
	"errorMsg":	"The user has not passed the authentication"
}

Maybe you can try addding the username pass,ord in the http string? Like… Http://user:pass@ip

I was passing the needed credentials, but I was using a Google Chrome browser to get that, it does not parse the full output
This is with CURL

HTTP/1.1 401 Unauthorized
Date: Sun, 07 Feb 2021 22:15:38 GMT
Server: webs
Content-Length: 0
Connection: close
X-Frame-Options: SAMEORIGIN
Pragma: no-cache
Cache-Control: no-cache
WWW-Authenticate: Digest qop="auth", realm="DS-4B9D48FF", nonce="OTU1ZTM1YmE4NzUzNDM3M2JmMjJmYjljZmY1MzYwMWY=", stale="false", opaque="", domain="::"
Content-Type: application/json

HTTP/1.1 200 OK
Date: Sun, 07 Feb 2021 22:15:38 GMT
Server: webs
Content-Length: 42
Connection: close
X-Frame-Options: SAMEORIGIN
Pragma: no-cache
Cache-Control: no-cache
Content-Type: application/json

{
        "CallStatus":   {
                "status":       "idle"
        }

WTF it works!
After pressing the button

HTTP/1.1 200 OK
Date: Sun, 07 Feb 2021 22:21:16 GMT
Server: webs
Content-Length: 42
Connection: close
X-Frame-Options: SAMEORIGIN
Pragma: no-cache
Cache-Control: no-cache
Content-Type: application/json

{
        "CallStatus":   {
                "status":       "ring"
        }

After answering

HTTP/1.1 200 OK
Date: Sun, 07 Feb 2021 22:21:43 GMT
Server: webs
Content-Length: 44
Connection: close
X-Frame-Options: SAMEORIGIN
Pragma: no-cache
Cache-Control: no-cache
Content-Type: application/json

{
        "CallStatus":   {
                "status":       "onCall"
        }

Here is the good syntax for me

curl --digest http://user:[email protected]/ISAPI/VideoIntercom/callStatus?format=json

{
        "CallStatus":   {
                "status":       "idle"
        }
}

Good to hear :slight_smile:
But that command is what I told you to try right? Or did you change something?

Yes , i tried indeed chrome too, so when not using chrome it gave you another output? Ok … strange… Gonna try that also tomorrow

The URL is exactly the same you posted, no changes

curl --digest http://user:[email protected]/ISAPI/VideoIntercom/callStatus?format=json

i’m configuring the rest sensor in HA to see what happens :crossed_fingers:

1 Like

Hmm, strange it’s always idle for me…
How are you testing the curl now? From putty?

Also post your yaml for that rest sensor, can be usefull for other people too :slight_smile:

Also, i don’t know how often you can poll it, are you setting up a scan interval?

This can be usefull too, it’s an example node script to request isapi calls
Mine ISAPI calls are not there. But should be easy to add them

but not sure if it’s using some kind of polling , maybe it’s the same as create a rest sensor…

I am also trying to find the isapi url to capture when a door went open (relay open/closed) , would be usefull too, that way I can turn off the alarm or turn on lights when you enter your home…

If i can find that one, i can ditch my nodemcu too

1 Like

Tested in a MobaXterm ssh session on my Rasp PI, rest sensor is not working yet, will continue tomorrow.
I’m not sure about the scan_interval value, default 60 seconds is too much, need further testing.