Hikvision Doorbell / Videointercom integration

Hello!
I am trying the integration, and it works pretty well, good job :wink:

I would like to use it for a very specific case, I have two indoor doorphones which are linked to one room (they’re not Master/Slave or Extension)
I would like when pressing the physical button to both ring, but at this time, I didn’t find how to do it under IVMS, I can only attach one room to the button.

My idea was to detect the button push event, and initiate a call to the second door phone, using this integration, but I am not sure we can initiate calling (the goal is only to make it rings, like if someone pushed the button)

Thanks for help !

Hi , no it doesn’t intitiate ringing… Maybe you could use sip to make a call to an indoor station from HA

Thanks for your help !

Yep, but that would mean setting up a private SIP protocol, I prefer running under ISAPI, since I have a simple setup.
I tried setting up « Number Settings » menu in KD8003, with the two SIP number of my door phones, but it doesn’t work, do you know to what refers this menu?

Hi, yeah, those SIP numbers you enter there are real sip phones, registered to a PBX like asterisk… You can register indoor stations to asterisk on any other sip endpoint … From your indoor /outdoor / phone/ … You can call each other then… But not based on ISAPI

Why not setting up the second indoor as an extension?

Yes, and custom SIP blocks the preview of the video, no?

Because it’s two separate home and I want one button for delivery, so anyone in the property can take the parcels haha

That would be good if the indoor extension has a unique number for DS-KD-TDM contact list, but it doesn’t work, like Indoor 1-1-1-a Indoor Extension1-1-1-2, it’s only working for separated door phone.

Ok , makes sense…
Indeed , sip breaks the early preview, especially on indoor panels… It only works , by calling to a soft phone, and only on a 1-1 call, not group calling…

Not sure if it’s possible what you are trying to achieve

Then I would probably need an ISAPI plugin on HA to call an indoor station under Hik Protocol… annoying hikvision :joy: that is a really basic feature they could implement, one button should be able to call multiple rooms

I have seen a custom firmware for this, will look it up later.

Found it… Bit seems it was for sip server, it allows group calling from outdoor… Not sure if you can call multiple indoor stations too…

https://www.hikvisioneurope.com/eu/portal/?dir=portal/Technical%20Materials/07%20%20Video%20Intercom/00%20%20Product%20Firmware/05%20DACH%20Customized%20/DS-KD8003(B)/V2.2.58%20Build%20221227

Seems the custom firmwares are for both 8003 and 8003(b)
If the group call also works for non-sip devices, that would be wonderfull, especially if it could handle early video as well!!

That means you can ring both displays, but also for example a softphone , or any asterisk endpoint

are you going to try it?

https://www.hikvisioneurope.com/eu/portal/?dir=portal%2FTechnical%20Materials%2F07%20%20Video%20Intercom%2F00%20%20Product%20Firmware%2F05%20DACH%20Customized%20

Hi Fabio.
I’m new here. I have a Hikvision 8113 doorbell.
I connected doorbell to add-on, but relay and call state are not available(( I read a lot, but did not find my case.
Below you can see a fragment of the log.

2024-08-06 02:25:50.827 | DEBUG | mqtt:init:163 - Configuring 2 door switches
[2024-08-06 02:25:50.824][INF] Private connect 192.168.22.20:8000 sock=136 this=0x2c3b4a64 cmd=0x11000 port=54088
2024-08-06 02:25:50.835 | DEBUG | event:register_handler:234 - Adding event handler MQTT
2024-08-06 02:25:50.835 | DEBUG | mqtt_input:init:21 - Setting up MQTTInput 2024-08-06 02:25:50.836 | DEBUG | sdk.utils:call_ISAPI:125 - Call ISAPI request method url body: GET /ISAPI/System/deviceInfo 2024-08-06 02:25:50.841 | DEBUG | sdk.utils:call_ISAPI:165 - Response output: OUTDOOR STATION 7d49925b-4fc7-406b-a0ec-bc9b5e26976f Vis STD-CGI STD-CGI DS-KV8113-WME1(C) serialNumber>DS-KV8113-WME1(C)0120220921RRK60306312 bc:9b:5e:26:97:6f V2.2.57 build 220816 33685561 1443856 0x0 V2.7 build 220630</ encoderReleasedDate> Vis 88 true true 2 4 1 [ 2024-08-06 02:25:50.838][INF] Private connect 192.168.22.20:8000 sock=142 this=0x2c3b4a64 cmd=0x117000 port=54100 [2024-08-06 02:25:50.841][DBG] SimpleSTDCommandToDvr with out cmd[GET /ISAPI/System/deviceInfo], input size[0], max segment length[262144] 2024-08-06 02:25:50.855 | DEBUG | event:start:255 - Registering callback function using SDK 2024-08-06 02:25:50.855 | DEBUG | doorbell:setup_alarm:90 - Arming the device via SDK [2024-08-06 02:25:50.856][INF] Private connect 192.168.22.20:8000 sock=169 this=0x2c3b4a64 cmd=0x111020 port=54104 2024-08-06 02:25: 50.864 | DEBUG | input:loop_forever:29 - Waiting for input command

I will try! I keep you updated :slight_smile:

Hmm not sure, I thought that device was working, was confirmed by other people… Maybe restart the addon? Or reboot the device? Firmware ?

Rebooted add-on and doorbell several times… Maybe I need different doorbell firmware. Current firmware: 2.2.57. What firmware should I install? May be need install beta of add-on?

not sure, i only have the ds-kd8003 :slight_smile:
What happens if you try opening a door? or manually poll the callstate by pressing these ? what dou you see in log?

image

Has anyone figured out how to integrate the access controllers into ha along side this integration. I found one node red addon that works with a specific model https://m.youtube.com/watch?v=d9MOMtDw7Zs

I believe there is a custom component for ax controllers, based on ISAPI … this addon uses the SDK

Hi Fabio.
Below is a fragment of the log when the doorbell rang:


[2024-08-07 11:52:14.784][INF] Private connect 192.168.22.20:8000 sock=172 this=0xf1d41048 cmd=0x117000 port=42772
2024-08-07 11:52:14.789 | DEBUG    | sdk.utils:call_ISAPI:165 - Response output: <DeviceInfo version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<deviceName>OUTDOOR STATION</deviceName>
<deviceID>7d49925b-4fc7-406b-a0ec-bc9b5e26976f</deviceID>
<deviceDescription>	Vis</deviceDescription>
<deviceLocation>STD-CGI</deviceLocation>
<systemContact>STD-CGI</systemContact>
<model>DS-KV8113-WME1(C)</model>
<serialNumber>DS-KV8113-WME1(C)0120220921RRK60306312</serialNumber>
<macAddress>bc:9b:5e:26:97:6f</macAddress>
<firmwareVersion>V2.2.57</firmwareVersion>
<firmwareReleasedDate>build 220816</firmwareReleasedDate>
<bootVersion>33685561</bootVersion>
<bootReleasedDate>1443856</bootReleasedDate>
<hardwareVersion>0x0</hardwareVersion>
<encoderVersion>V2.7</encoderVersion>
<encoderReleasedDate>build 220630</encoderReleasedDate>
<deviceType>	Vis</deviceType>
<telecontrolID>88</telecontrolID>
<supportBeep>true</supportBeep>
<supportVideoLoss>true</supportVideoLoss>
<alarmOutNum>2</alarmOutNum>
<alarmInNum>4</alarmInNum>
<RS485Num>1</RS485Num>
<customizedInfo></customizedInfo>
</DeviceInfo>

2024-08-07 11:52:14.794 | INFO     | mqtt:handle_device_trigger:487 - Invoking device trigger automation{'name': 'motion_detection', 'type': 'Motion detected', 'subtype': ''}
[2024-08-07 11:52:14.789][DBG] SimpleSTDCommandToDvr with out cmd[GET /ISAPI/System/deviceInfo], input size[0], max segment length[262144]
2024-08-07 11:52:19.369 | DEBUG    | event:_handle_callback:220 - Callback invoked from SDK
2024-08-07 11:52:19.373 | DEBUG    | event:_invoke_handlers:192 - Invoking 2 handlers
2024-08-07 11:52:19.373 | INFO     | event:motion_detection:98 - Motion detected from hikvision_doorbell
2024-08-07 11:52:19.374 | INFO     | mqtt:handle_device_trigger:487 - Invoking device trigger automation{'name': 'motion_detection', 'type': 'Motion detected', 'subtype': ''}
[2024-08-07 11:52:19.369][INF] Alarm[0] IP[192.168.22.20] data_len[568] alarm_len[568] status[104]
2024-08-07 11:52:23.274 | DEBUG    | event:_handle_callback:220 - Callback invoked from SDK
2024-08-07 11:52:23.275 | DEBUG    | event:_invoke_handlers:192 - Invoking 2 handlers
2024-08-07 11:52:23.275 | INFO     | event:motion_detection:98 - Motion detected from hikvision_doorbell
2024-08-07 11:52:23.276 | INFO     | mqtt:handle_device_trigger:487 - Invoking device trigger automation{'name': 'motion_detection', 'type': 'Motion detected', 'subtype': ''}
[2024-08-07 11:52:23.274][INF] Alarm[0] IP[192.168.22.20] data_len[568] alarm_len[568] status[104]
2024-08-07 11:52:26.839 | DEBUG    | event:_handle_callback:220 - Callback invoked from SDK
2024-08-07 11:52:26.840 | DEBUG    | event:_invoke_handlers:192 - Invoking 2 handlers
2024-08-07 11:52:26.840 | INFO     | event:motion_detection:98 - Motion detected from hikvision_doorbell
2024-08-07 11:52:26.840 | INFO     | mqtt:handle_device_trigger:487 - Invoking device trigger automation{'name': 'motion_detection', 'type': 'Motion detected', 'subtype': ''}
[2024-08-07 11:52:26.839][INF] Alarm[0] IP[192.168.22.20] data_len[568] alarm_len[568] status[104]
2024-08-07 11:52:27.497 | DEBUG    | event:_handle_callback:220 - Callback invoked from SDK
2024-08-07 11:52:27.498 | DEBUG    | event:_invoke_handlers:192 - Invoking 2 handlers
2024-08-07 11:52:27.498 | INFO     | event:video_intercom_alarm:120 - Video intercom alarm from hikvision_doorbell
2024-08-07 11:52:27.498 | INFO     | mqtt:video_intercom_alarm:389 - Doorbell ringing, updating sensor 
settings: mqtt=MQTT(host='core-mosquitto', port=1883, username='addons', password='pu4uo6phei4bahKiu5ohr0Iet5zeithuagheequohng0yahzai6Mee7Jiew8Iewi', client_name=None, tls_key=None, tls_certfile=None, tls_ca_cert=None, discovery_prefix='homeassistant', state_prefix='hmd') entity=SensorInfo(component='sensor', device=DeviceInfo(name='hikvision_doorbell', model='DS-KV8113-WME1(C)', manufacturer='Hikvision', sw_version='V2.2.57', hw_version='0x0', identifiers='688345758656494951458777694940674148495048505048575049828275544851485451495', connections=None, configuration_url=None), device_class=None, enabled_by_default=None, entity_category=None, expire_after=None, force_update=None, icon='mdi:bell', name='Call state', object_id='hikvision_doorbell_call_state', qos=None, unique_id='688345758656494951458777694940674148495048505048575049828275544851485451495-call_state', unit_of_measurement=None, state_class=None) debug=False manual_availability=True
topic_prefix: sensor/hikvision_doorbell/Call-state
config_topic: homeassistant/sensor/hikvision_doorbell/Call-state/config
state_topic: hmd/sensor/hikvision_doorbell/Call-state/state
wrote_configuration: True
        
[2024-08-07 11:52:27.497][INF] Alarm[0] IP[192.168.22.20] data_len[568] alarm_len[568] status[430]
2024-08-07 11:52:30.762 | DEBUG    | event:_handle_callback:220 - Callback invoked from SDK
2024-08-07 11:52:30.762 | DEBUG    | event:_invoke_handlers:192 - Invoking 2 handlers
2024-08-07 11:52:30.763 | INFO     | event:motion_detection:98 - Motion detected from hikvision_doorbell
2024-08-07 11:52:30.763 | INFO     | mqtt:handle_device_trigger:487 - Invoking device trigger automation{'name': 'motion_detection', 'type': 'Motion detected', 'subtype': ''}
[2024-08-07 11:52:30.761][INF] Alarm[0] IP[192.168.22.20] data_len[568] alarm_len[568] status[104]
2024-08-07 11:52:34.652 | DEBUG    | event:_handle_callback:220 - Callback invoked from SDK
2024-08-07 11:52:34.653 | DEBUG    | event:_invoke_handlers:192 - Invoking 2 handlers
2024-08-07 11:52:34.653 | INFO     | event:motion_detection:98 - Motion detected from hikvision_doorbell
2024-08-07 11:52:34.653 | INFO     | mqtt:handle_device_trigger:487 - Invoking device trigger automation{'name': 'motion_detection', 'type': 'Motion detected', 'subtype': ''}
[2024-08-07 11:52:34.652][INF] Alarm[0] IP[192.168.22.20] data_len[568] alarm_len[568] status[104]
2024-08-07 11:52:44.793 | DEBUG    | event:_handle_callback:220 - Callback invoked from SDK
2024-08-07 11:52:44.794 | DEBUG    | event:_invoke_handlers:192 - Invoking 2 handlers
2024-08-07 11:52:44.794 | INFO     | event:video_intercom_event:109 - Video intercom event from hikvision_doorbell
2024-08-07 11:52:44.794 | INFO     | mqtt:update_door_entities:300 - Door 1 unlocked by 494848494849494848484900 , updating sensor and device trigger
2024-08-07 11:52:44.795 | DEBUG    | sdk.utils:call_ISAPI:125 - Call ISAPI request method url body: GET /ISAPI/System/deviceInfo  
[2024-08-07 11:52:44.793][INF] Alarm[0] IP[192.168.22.20] data_len[115968] alarm_len[115968] status[431]
2024-08-07 11:52:44.806 | DEBUG    | sdk.utils:call_ISAPI:165 - Response output: <DeviceInfo version="2.0" xmlns="http://www.isapi.org/ver20/XMLSchema">
<deviceName>OUTDOOR STATION</deviceName>
<deviceID>7d49925b-4fc7-406b-a0ec-bc9b5e26976f</deviceID>
<deviceDescription>	Vis</deviceDescription>
<deviceLocation>STD-CGI</deviceLocation>
<systemContact>STD-CGI</systemContact>
<model>DS-KV8113-WME1(C)</model>
<serialNumber>DS-KV8113-WME1(C)0120220921RRK60306312</serialNumber>
<macAddress>bc:9b:5e:26:97:6f</macAddress>
<firmwareVersion>V2.2.57</firmwareVersion>
<firmwareReleasedDate>build 220816</firmwareReleasedDate>
<bootVersion>33685561</bootVersion>
<bootReleasedDate>1443856</bootReleasedDate>
<hardwareVersion>0x0</hardwareVersion>
<encoderVersion>V2.7</encoderVersion>
<encoderReleasedDate>build 220630</encoderReleasedDate>
<deviceType>	Vis</deviceType>
<telecontrolID>88</telecontrolID>
<supportBeep>true</supportBeep>
<supportVideoLoss>true</supportVideoLoss>
<alarmOutNum>2</alarmOutNum>
<alarmInNum>4</alarmInNum>
<RS485Num>1</RS485Num>
<customizedInfo></customizedInfo>
</DeviceInfo>

[2024-08-07 11:52:44.799][INF] Private connect 192.168.22.20:8000 sock=173 this=0xf1d41048 cmd=0x117000 port=48978
2024-08-07 11:52:44.810 | INFO     | mqtt:handle_device_trigger:487 - Invoking device trigger automation{'name': 'Door unlocked', 'type': 'door open', 'subtype': 'door 0', 'payload': {'control_source': '494848494849494848484900'}}
[2024-08-07 11:52:44.806][DBG] SimpleSTDCommandToDvr with out cmd[GET /ISAPI/System/deviceInfo], input size[0], max segment length[262144]

Sounds good, I see the event coming in…

Fabio, after you said that the events are detected, I started looking for where the information is lost. And I found it in Mqtt: I deleted the topics switch & sensor (related to hikvision) and restarted the add-on. After that, the entities became available in HA. Thank you for your work. Have a nice day.

1 Like