Hikvision Doorbell / Videointercom integration

Hi, this is part 2 of the enourmous thread located here:

It contains a lot of info, but also a lot of unnecessary info as well :slight_smile:
So we decided to create a new one, with only relevant info…

Here is the Add-on:

The addon can also run as STANDALONE DOCKER for users that don’t use the add-on store

Confirmed devices : DS-KV8413, KD8003 and DS-KV8113 KV8213 DS-KV6113 and others…

What can it do?

  • It listen for events: callstatus/motion detection/door unlocked/tamper alarm/dimissed alarm
  • It can open a door, usefull for older devices where ISAPI is not possible, when port 80 is blocked
  • It can send a callsignal command, like answer/reject,hangup … very usefull if you have for example a zigbee door sensor, if you open the door by hand, you can drop the ring signal on the indoor stations/or stop hikconnect devices ringing :slight_smile:

Offcourse you need to have local access to your outdoor station, if not, then there is a nice alternative created by @tomasbedrich based on HikConnect Cloud

The addon is based on the SDK Supplied by Hikvision, so no polling needed anymore!!

If still interested in the ISAPI stuff, here is a downloadlink for all ISAPI info i was able to find:

The Addon doesnt create a camera entity (yet), but you can use the generic camera component and use the RTSP link… Some models also support Onvif, so that can be used as well …

rtsp://admin:[email protected]:554/Streaming/Channels/101
rtsp://admin:[email protected]:554/Streaming/Channels/102

Here are some other usefull ISAPI commands:

curl -i --digest -u admin:xxx http://192.168.0.x/ISAPI/VideoIntercom/callStatus?format=json
curl -i --digest -u admin:xxx -X PUT -d '<RemoteControlDoor><cmd>open</cmd></RemoteControlDoor>' http://192.168.0.x/ISAPI/AccessControl/RemoteControl/door/1
curl -i --digest -u admin:xxx -X PUT -d '' http://192.168.0.x/ISAPI/System/reboot
curl -i --digest -u admin:xxx  -d '{"CallSignal":{"cmdType":"reject"}}' -H "Content-Type: application/json" -X PUT http://192.168.0.x/ISAPI/VideoIntercom/callSignal?format=json
# Two Way Audio:
curl -i --digest -u admin:xxx -X PUT http://192.168.0.x/ISAPI/System/TwoWayAudio/channels/1/open
curl -i --digest -u admin:xxx http://192.168.0.x/ISAPI/System/TwoWayAudio/channels/1/audioData
curl -i --digest -u admin:xxx -X PUT -d '' http://192.168.0.x/ISAPI/System/TwoWayAudio/channels/1/audioData
curl -i --digest -u admin:xxx -X PUT  http://192.168.0.x/ISAPI/System/TwoWayAudio/channels/1/close

A usefull automation for example, when someone pressed the doorbell, all indoor stations will ring together with your android/iphone, … i have placed a zigbee sensor at my door, so when i open the door, i want to drop the ringing!!

- alias: Reject call when door is opened manually
  initial_state: 'on'
  trigger:
    - platform: state
      entity_id: binary_sensor.openclose
      from: 'off'
      to: 'on'
  condition:
    - condition: template
      value_template: "{{ (as_timestamp(now()) - as_timestamp(states.sensor.hikvision_callstatus.last_changed)) < 30 }}"      
  action:
    service: hassio.addon_stdin
    data:
      addon: aff2db71_hikvision_sdk
      input: reject

There is also a second add-on for people interested in SIP , read the guide carefully, spend a lot of time on that one, but it gives MANY advantages! :slight_smile:

I do this for fun , like me work?? you can give a donation :slight_smile:

Have fun and enjoy!

Good work Fabio and team

2 Likes

Hi Fabio
wonderful work. It works like a charm.
If you ever could make a stand alone docker image, i’ll be happy to integrate node-red-contrib-hikvision-ultimate with your addon!
Thanks again.

yes, its coming, @mion00 is helping me with this one
lots of new features are also coming … all help is welcome

Would there be any hope in this add-on working with (only interested in doorbell button press actually)
DS-KV8102IP? This is webUI-less model so no ISAPI I think. RTSP from channel 101 works. This add-on does not use ISAPI but “SDK”? So, would there be any hope and point in trying?

Offcourse , just try it, it’s indeed not based on ISAPI

Let me know if it works, I think so… So I can add it to the supported list

So it seems it (DS-KV8120-IP) works. Partially. I can get tamper signal and door unlocked signal (by card swipe). I can unlock door by unlock1 service call. What’s missing is doorbell events. Absolutely no callstatus-related events arrive. And “reject” service call logs: “main:callsignal:253 - Result error: 23”.

Any ideas?

Seems indeed not all hardware is supported… we are going to add more debugging soon, hopefully we can figure out if it’s an issue or indeed not supported…

Keep an eye on upcoming releases

Guys, good news :balloon: :balloon: :balloon: :balloon: :balloon:

New firmware update for DS-KD8003 coming verry soon : V2.2.62_230204
Hopefully for other models too

Have a look at release notes…

Finallyy support for image url for snapshots!! This was was missing for ages on doorbells, while it was present for cameras
Also support for door lock 2 and define user passwords/badges for door 2!!

2 Likes

Sounds great.
I can remember you have mentioned it’s not possible to downgrade firmware beyond a particular version.
Is there any reason not to upgrade when using your addon? (I can remember there was a reason not to upgrade in some cases for cases for DS-KD8003 owners but I can’t remember the exact reason…)

Hi yes , it was because of a custom firmware that I received from Hikvision, to have Alertstream…

But they don’t provide it in new firmwares now…
So I decided to also update, and using SDK now, it gives more options anyway, and I don’t like ISAPi polling

Hi. Did you find any way to call the door and accept our call?
Can we simulate the push bottom with asapi curl command?

No, don’t think you can call the outdoor…

When you press live view button, it just opens an rtsp stream, with two way audio isapi it should work to send/receive audio

Hi, I have 2 DS-KD8003 in SIP mode and I can no longer open the doors using the # key. Has this happened to you too?

I don’t use SIP mode, try just sending #1 or just 1

don’t work, earlier they were # and 2# for their respective doors

What pbx are you using , what device?

FreePBX Official Distro

You can maybe check sip debug log to see what’s going on? Also try changing dtmf mode