Hikvision Doorbell / Videointercom integration

it should be created, otherwise you wouldnt see the logs
its in HA :> Settings => integrations => mqtt => “devices”

No devices or entities in my broker.
Could it be that I have configured my broker incorrectly? Unfortunately, I am still a beginner on this topic.

I found the problem. I reconfigured the broker and adjusted the password. Now it works. Thanks for the help.

1 Like

hi guys,
i bought a Hikvision DS-KD8003-IME1(B) and a indoor station Hikvision DS-KH6320-WTE1
i used this add-on to integrate the doorbell in home assistant, works quite good.

i would need another indoor station now for my second flat. if i understand that right, i can only setup another (own) flat in the hik-vision app with another indoor station.
is it possible to setup a virtual indoor station for that?
i only want to use the hik-vision app for the second flat, no indoor panel.

i can buy one, but maybe i can save money with a virtual indoor station.
maybe this could help me?

Hmm, hikconnect is always linked to the indoor, it generates an QR, you need to setup an primary indoor anyway for the second flat, my guide is just to forward the call to an extension

1 Like

okay thank you for the quick reply. so i have to buy another indoor station, no virtual solution for another flat?

Don’t think so, 8003 always needs an indoor

1 Like

Alternative, you can setup a full SIP for your second flat, but no hikconnect then

1 Like

I have the following issue: Reject and Hangup commands don’t work.
I have DS-KV6113 module (with the latest firmware V2.2.65 build 231213). I am able to get ringing status , open the relay (via switch in HA) but no commands work.

That’s the log of the plugin:

[2024-04-06 16:02:41.013][INF] Private connect 192.168.77.210:8000 sock=169 this=0x3062d18 cmd=0x117001 port=45710
[2024-04-06 16:02:41.017][DBG] SimpleSTDCommandToDvr with out cmd[PUT /ISAPI/VideoIntercom/callSignal?format=json], input size[37], max segment length[262144]
2024-04-06 16:02:51.346 | INFO     | mqtt_input:_reject_call_callback:308 - Received reject command for doorbell: Front door
2024-04-06 16:02:51.346 | DEBUG    | sdk.utils:call_ISAPI:125 - Call ISAPI request method url body: PUT /ISAPI/VideoIntercom/callSignal?format=json {"CallSignal": {"cmdType": "reject"}} 
2024-04-06 16:02:51.352 | DEBUG    | sdk.utils:call_ISAPI:165 - Response output: {
	"requestURL":	"/ISAPI/VideoIntercom/callSignal",
	"statusCode":	1,
	"statusString":	"OK",
	"subStatusCode":	"ok"
}
[2024-04-06 16:02:51.347][INF] Private connect 192.168.77.210:8000 sock=169 this=0x3062d18 cmd=0x117001 port=53542
[2024-04-06 16:02:51.352][DBG] SimpleSTDCommandToDvr with out cmd[PUT /ISAPI/VideoIntercom/callSignal?format=json], input size[37], max segment length[262144]

any ideas what I do wrong and how to solve it?

I don’t have indoor panel only KV6113.
My KV6113 is configured to use SIP (via freePBX). When the button is pressed that I get a call on my phone (SIP client) where I am able to answer, reject etc. That means → calling from Door bell (KV6113) works

Don’t think those commands work with SIP, you can use maybe the AMI from asterisk to send reject signals

But what’s the environment gets it working (and was used in the testing)? Doorbell + Indoor panel? (I mean when Doorbell calls to Indoor panel)?

Yes indeed, call to indoor or to hikconnect…, I believe those Callsignal commands simute the Hikvision protocol

OK. Clear… so, I just “replaced” it with AMI command directly to Asterix in order to Hangup a call from Doorbell :slight_smile:
Only “calling status” and “switch relay” are using from the Addon now.

1 Like

Hi there,
after following the thread, I set up the add-on for my doorbell DS-KV6113(C) + indoor station DS-KH9510-WTE1(B).
Everything works, but when someone rings the bell, 2-way audio does not work. I noticed that reject and hang up commands don’t work via MQTT.

I read that you have to send the command from the indoor station, not the outdoor station, if you have an indoor station like me.
When I send the hangup or reject commands from the indoor station, I get this error:

2024-04-07 15:57:35.253 | **INFO** | mqtt_input:_reject_call_callback:308 - **Received reject command for doorbell: Indoor**

2024-04-07 15:57:35.426 | **ERROR** | mqtt_input:_reject_call_callback:321 - **Error while rejecting the call with ISAPI: ('Error while calling ISAPI /ISAPI/VideoIntercom/callSignal?format=json', 29, 'Device operation failed.')**

2024-04-07 15:57:36.815 | **INFO** | mqtt_input:_hangup_call_callback:331 - **Received hangup command for doorbell: Indoor**

2024-04-07 15:57:36.854 | **ERROR** | mqtt_input:_hangup_call_callback:344 - **Error while Hanging up the call with ISAPI: ('Error while calling ISAPI /ISAPI/VideoIntercom/callSignal?format=json', 29, 'Device operation failed.')**

I think this bug is causing the 2-way audio not to work because those commands don’t work.
How can I fix this problem? I read that you only need Hik-Connect if you don’t have an indoor station. I don’t want to use Hik-Connect anyway and the indoor & outdoor are not connected to the internet.

What works: Relay, call status, 2-way audio when idle
What does not work: Answer, Caller Info, Hangup Call, Reject Call, 2-way-audio when ringing
Error message is always the same as above, error 29

What is needed for the commands to work?

Thank you for your work!

It should work, your indoor 9510 is the same as what I have…
Reject = only works when the indoor is ringing, this method gives the decline tone

Alternative, you can first send answer and then hangup, also when it’s ringing… This method doest give the decline tone at outdoor station

I did my test while ringing the doorbell, the indoor station rings and works as usual. For some reason I always get the same error as above: 29, ‘Device operation failed’.
I also tested answering first and then hanging up, but both give me the same error. I tried your script and unfortunately got the same error.

pergola.fabio
Quick note, for people having issues with the “answer” command, with error 29 , seems it only works when the device is connected to Hikconnect
Thnx for the tip!
@tevaadarelsol

I saw that you wrote that this might fix the error, but I don’t want to use Hik-Connect, so I disabled it and cut off internet access for both the indoor and outdoor station.
I also didn’t configure SIP or anything, just followed your tutorial for two-way audio with frigate, so I’m using ISAPI. Also, I have Scrypted running which also uses ISAPI but also has the same problem (no two-way audio when ringing).
What should I try next?

Indeed, answer+hangup doesn’t work, when not connected to hikconnect… Have you tried the reject command? Maybe hikconnect is also needed for this specific device… It works for me, I’m connected to hikconnect… Can you try setting up hikconnect for testing?

Btw…may be someone has the idea or already met the following issue.
I have my doorbell connected to SIP. It works quite well, I get a call on my SIP client when the button on the doorbell is pressed. But I don’t hear any Ring\Dial tone (its silent) at my doorbell (but it works when I use hikconnet for calling). I also specified ringtone at “Ringbacktone Settings” in my doorbell - didn’t help. The question is: how to get Ring\Dial tone (its silent) on doorbell when it’s dialing via SIP. (Asterisk Dial Options (for SIP extention for Doorbell) are set properly… i.e. Ringtone should be played) Thanks

Isn’t that something you need to configure in your dialplan to add ringback?

I just enabled Hikconnect on the indoor station KH9510-WTE1(B) and it turns out that it fixes error 29. All commands via mqtt work and the two-way audio works fine.

A bit disappointed because I was hoping to find another solution, being dependent on the Hikvision cloud kind of defeats the purpose of using a local solution. Maybe there is another solution someone has successfully tried, like using SIP, Asterisk or anything else…?