What device do you have? Does it mean you can see the CallStatus (ringing) in the Fabio’s integration after changing to the ISAPI Transparent channel?
Or you have to poll ISAPI request for the purpose?
Thanks.
Is it possible to detect individual keypresses (like “1”) on the keypad module while a SIP call is active from the DS-KD8003Y-IME2/S?
I’ve tested with Wireshark, SIP/RTP capture, and the addon logs, I can see calls, but no sign of DTMF or per-key events during the call. Has anyone made this work?
I think the DTMF signal during call is from the indoor panel if you want to open the door, it’s the # command during call
Yes, but I was hoping to trigger automations from keypad button presses while a call is active from the doorbell side. Looking to detect things like “1” being pressed mid-call
Ah ok, hmm, don’t think that’s detected, you are using SIP ? Maybe define a dummy sip number and then capture the dummy call from asterisk ? Then you can start an automation from there
Hello. I can’t seem to solve a simple problem with blocking the IP intercom. When I start the docker container, I get an error message. I’ve restarted the intercom, docker, and the system, and waited for over an hour, changing the login and password that I’m 100% sure of, but nothing seems to work. What do you think the problem is?
Maybe reboot the device
Hi Fabio, I’m in a sort of a dead end. My Hikvision addon and integration got broken. All entities are grey. I’ve “reinstalled” the integration, all entities have now duplicated but not the “open relay”. I am sorry I have decided to make the ISAPI calls without Home Assistant now, but even the basic
curl -i --digest -u admin:xxx http://outdoorIp/ISAPI/VideoIntercom/callStatus?format=json
always return “idle” for me no matter how I press the outdoor button. The indoor station rings. I’ve seen you giving somebody an advice to make this ISAPI call to the indoor station, but my indoor DS-KH6320-WTE1 doesn’t even have a web interface, it refuses any :80 ot :443 web calls.
HOWEVER!!! (sorry for caps but I find it mysterious) the Hikvision Add-on log still DOES show every call event when I press the outdoor button! It just doesn’t display it in the “Overview” dashboard.
I am a little bit tired of Home Assistant at the moment, being confused with all “add-ons-integrations-devices-entities-areas-etcetc” mess, but I am capable to write into MQTT whatever I program myself. I am able to open the door with the appropriate ISAPI command, but I wanted to kindly ask you what magic are you using to get the callStatus
in your Add-On. (The I will try the hangup and reject. I am feeling dumb enough to be unable to locate the actual code of your addon to explore! Seems you’re subscribing to the events instead of polling for the call status every second)
Can you please show me a direction?
update: I am willing to go without Hikconnect and place all my cameras in a vlan with no internet. However it’s not done yet The outdoor station model is DS-KV6113-WPE1(B)
Joao, thanks for the reply. Unfortunately I haven’t an indoor panel and on the outdoor panel I can’t get the open status…I solved attaching the magnetic sensor to a zigbee switch.
You don’t need the indoor panel. The reed is connnected to the intercom unit.
Hi, if you have duplicate entities , just stop the addon, go-to MQTT integration and wipe the device, then restart addon, that should work…
Indeed, call events are not based on isapi, it’s indeed listening instead of polling, it used the SDK , all code is in the dev branch… There is no simple command to run it like isapi… that’s why the addon was created …
And indeed port 80 is closed on indoor panels, that’s why you cant send the command to it, however with an SDK connection you can, thats also part of the addon
Fabio, sorry for repeating myself, but I still couldn’t solve the problem of communication with the DS-KV6133 panel. Here’s what the logs say when DEBUG is enabled.
Addon works in a separate container.
Please help me, what am I doing wrong?
Somehow the Hikvision is blocking the access, try reboot the device first, try with another password, maybe it’s a character issue
Unfortunately, I have already done all this and more than once. Rebooted, changed the password to a simpler one without symbols…
Thank you, I will continue to look into the problem
Hello,
I have an outdoor station DS-KD8003-IME1. Sometimes I need to reject a call so I’ve been searching about it and I found that it can be done with ISAPI.
I am using this curl command: (XXXX are replaces for privacy reasons)
curl -v --digest -u admin:XXXX-X PUT “http://XXXX/ISAPI/VideoIntercom/callSignal?format=json” -H “Content-Type: application/json” -d ‘{"CallSignal":{"cmdType":"reject"}}’
It doesn’t matter if the device is on call or iddle it always return something like this:
{
“statusCode”: 4,
“statusString”: “Invalid Operation”,
“subStatusCode”: “invalidOperation”,
“errorCode”: 1073741830,
“errorMsg”: “invalid operation”
}
I see this integration make use of this ISAPI endpoint so maybe someone has experienced it? Any idea? what am I missing?
Thank you in advance I dont have HomeAssistant to try this integration but looks like a nice work.
Hi everyone, I’m currently testing the addon and I’ve already configured both the external and internal devices. All the MQTT entities appear, and some of them work — except for reject call and a few others.
I’m not sure what I’m doing wrong, but when I simulate a call on the doorbell and press the reject call button, either from the internal or external device, the call keeps ringing.
I tried hassio.addon_stdin
, but it doesn’t work at all.
INFO
2025-07-03 09:55:03.525 | INFO | mqtt_input:_reject_call_callback:308 - Received reject command for doorbell: DOORBELL_indoor
2025-07-03 09:55:09.281 | INFO | mqtt_input:_reject_call_callback:308 - Received reject command for doorbell: DOORBELL_outdoor
2025-07-03 09:55:14.974 | INFO | input:execute_command:114 - Rejecting the call
DEBUG
[2025-07-03 10:19:41.623][INF] Alarm[0] IP[192.168.68.79] data_len[568] alarm_len[568] status[430]
[2025-07-03 10:19:53.909][DBG] Alarm chan [0] recv timeout[2]!
2025-07-03 10:19:53.953 | INFO | mqtt_input:_reject_call_callback:308 - Received reject command for doorbell: doorbell_indoor
2025-07-03 10:19:53.953 | DEBUG | sdk.utils:call_ISAPI:125 - Call ISAPI request method url body: PUT /ISAPI/VideoIntercom/callSignal?format=json {"CallSignal": {"cmdType": "reject"}}
[2025-07-03 10:19:53.959][INF] Private connect 192.168.68.78:8000 sock=207 this=0xa51b175c cmd=0x117001 port=50734
2025-07-03 10:19:53.966 | DEBUG | sdk.utils:call_ISAPI:165 - Response output: {
"statusCode": "1",
"statusString": "OK",
"subStatusCode": "ok",
"errorMsg": "ok",
"errorCode": 1
}
[2025-07-03 10:19:53.966][DBG] SimpleSTDCommandToDvr with out cmd[PUT /ISAPI/VideoIntercom/callSignal?format=json], input size[37], max segment length[262144]
2025-07-03 10:19:58.573 | DEBUG | input:loop_forever:39 - Received: reject doorbell_indoor
2025-07-03 10:19:58.573 | INFO | input:execute_command:114 - Rejecting the call
2025-07-03 10:19:58.573 | DEBUG | sdk.utils:call_ISAPI:125 - Call ISAPI request method url body: PUT /ISAPI/VideoIntercom/callSignal?format=json {"CallSignal": {"cmdType": "reject"}}
[2025-07-03 10:19:58.580][INF] Private connect 192.168.68.78:8000 sock=207 this=0xa51b175c cmd=0x117001 port=50736
2025-07-03 10:19:58.590 | DEBUG | sdk.utils:call_ISAPI:165 - Response output: {
"statusCode": "1",
"statusString": "OK",
"subStatusCode": "ok",
"errorMsg": "ok",
"errorCode": 1
}
[2025-07-03 10:19:58.590][DBG] SimpleSTDCommandToDvr with out cmd[PUT /ISAPI/VideoIntercom/callSignal?format=json], input size[37], max segment length[262144]
2025-07-03 10:20:04.663 | DEBUG | event:_handle_callback:220 - Callback invoked from SDK
2025-07-03 10:20:04.663 | DEBUG | event:_invoke_handlers:192 - Invoking 2 handlers
2025-07-03 10:20:04.664 | INFO | event:video_intercom_alarm:120 - Video intercom alarm from doorbell_outdoor
2025-07-03 10:20:04.664 | INFO | mqtt:video_intercom_alarm:395 - Call dismissed, updating sensor
settings: mqtt=MQTT(host='core-mosquitto', port=1883, username='addons', password='Aquaeh5yainiphie4cho4keseicif2Eexe8aeVudekeeng3eiXeechai9ieY3Iu0', 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='doorbell_outdoor', model='DS-KV8113-WME1(C)', manufacturer='Hikvision', sw_version='V2.2.78', hw_version='0x0', identifiers='6883457586564949514587776949406741484950485052494850578282708256494952555451', 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='doorbell_outdoor_call_state', qos=None, unique_id='6883457586564949514587776949406741484950485052494850578282708256494952555451-call_state', unit_of_measurement=None, state_class=None) debug=False manual_availability=True
topic_prefix: sensor/doorbell_outdoor/Call-state
config_topic: homeassistant/sensor/doorbell_outdoor/Call-state/config
state_topic: hmd/sensor/doorbell_outdoor/Call-state/state
wrote_configuration: True
indoor - DS-KH6320-WTE1
outdoor - DS-KV8113-WME1(C)
Hello!
I’m planning to set up an integration with an outdoor station, but I saw in the documentation that the device might get stuck for several hours after integration. This is an outdoor station installed on a residential estate, so I really want to make sure I don’t break anything during the process.
Is there anything I can do to ensure the setup goes smoothly and avoid causing any downtime? Any tips or precautions would be greatly appreciated.
Thanks in advance!
There is no downtime, it’s just a backlog that will be downloaded, especially from outdoor, not indoor
Thanks for the reply!
So the outdoor station itself will work all the time?
Just the integration might download lot of the events and be unstable for a few hours?
That’s correct