hmm , not sure if its possible to block calls
if we can cancel the call, then its possible, i’m now trying to use hikconnect cloud to terminate the call with a script… that isapi just doesnt work for me, not sure why
Oooo this looks promising! I’ve tried the 2 commands to cancel the call and get the same response as you. Next I will try installing Node Red and have a play with that.
what device do you have?
i’m going to use cloud to cancell /answer the call, i traced it before, but never implemented it yet
should be this command :
PUT /v3/devconfig/v1/call/QXXXXX/operation?cmdId=3&handler=xxxHTTP/1.1
cmdId = 3 or 2 or5 depending, if you cancel/answer/end the call
Same here, i use kv6113.
verry strange, according to docs it should work
can oneone try that nodered? i dont have use it
if the nodered works, then we are doing something wrong here, must be a small isse tough
ok, my shell commands are ready for use, i get a 200 response , but its late now, not gonna wake up my wife now , stuff for tomorrow …
for the ones interested :
- platform: rest
name: hikconnect_login
scan_interval: 7200
resource: "https://apiieu.hik-connect.com/v3/users/login/v2"
headers:
customno: 1000002
appChannel: "hikvision"
Content-Type: "application/x-www-form-urlencoded"
featureCode: "xxxx"
lang: "en-US"
clientVersion: "4.14.1.0407"
appId: "HikConnect"
sessionId: ""
clientType: 55
clientNo: "google_play"
areaId: 111
netType: "WIFI"
osVersion: "5.1.1"
method: POST
payload: !secret hikvision_payload
value_template: "Hikconnect Login"
json_attributes:
- loginSession
for shell commands:
hikconnect_callsignal_3: >
curl -X PUT
--header "sessionId: {{ state_attr('sensor.hikconnect_login', 'loginSession').sessionId }}"
"https://apiieu.hik-connect.com/v3/devconfig/v1/call/xxxxxx/operation?cmdId=3&handler=xxxxx"
hikconnect_callsignal_2: >
curl -X PUT
--header "sessionId: {{ state_attr('sensor.hikconnect_login', 'loginSession').sessionId }}"
"https://apiieu.hik-connect.com/v3/devconfig/v1/call/xxxxx/operation?cmdId=2&handler=xxxx"
hikconnect_callsignal_5: >
curl -X PUT
--header "sessionId: {{ state_attr('sensor.hikconnect_login', 'loginSession').sessionId }}"
"https://apiieu.hik-connect.com/v3/devconfig/v1/call/xxxxx/operation?cmdId=5&handler=xxxx"
hey @mihalich1988 , i had a look at your trace, you are using this url to put ISAPI commands
https://apiirus.hik-connectru.com/v3/userdevices/v1/isapi
do you know that there are maybe other urls for v2 isapi? have you traced them?
thnx
All right, I’ll try the hangup command tonight/tomorrow!
I don’t have a lot of experience with nodered packages, and not enough time to document myself now, how would I go about changing the ISAPI commands to adapt to the 8003 in an installed nodered pkg?
I indeed updated everything to 2.2.50 and the latest fw for the DS-KH8350-WTE1/EU, which for me fixed the names of the outdoor stations being displayed properly in the indoor monitors. (if it helps, surv station is able to unlock the doors and maybe seeing what it does when using two way audio could be copied to hang up calls.)
I will definitely try your sdk extension for homeass, any reduction in delay helps! Btw, have you seen if with the sdk there is a way of knowing which specific room/apt no. has been called?
cheers
ok, if you upgraded to 2.2.50 , then you CANT use isapi for callstatus or events, only opendoor will work
if you want callstatus and events, then you can use the SDK addon, its faster anyway, i use it too, its not based on polling
the callsignal to abort call with ISAPI, seems it doesnt work for anyone, dont think its firmware or device related, must be doing something wrong, but i dont know what… would be nice if indeed someone could test the nodered, but i think it doesnt work either
i think room info is indeed there in SDK, not 100% sure
I don’t know answer for this question ((
ok, np
have you developer now more then the old php file?
@juan11perez what Docker network configuration and ports are you associating with the container?
Also, I found that I had to modify the <hcnetsdk.py>::161 to remove the leading “/” of the library path
hcnetsdk_path = os.path.join(current_path, "lib/libhcnetsdk.so")
no incoming ports are needed, its the docker that connects to doorbell on port 8000 , only outgoing
Hi @pergola.fabio, thank you so much for all your effort in this thread!
I have KD8003 and KH6320 (with latest FW) and I’m trying to set my HA to make ring stop when the door is opened without need to go to the intercom and press the red button manually. I have a zigbee sensor on the door, not using doorbell’s signals.
Anyway, after endless attempts I can finally confirm that there is a way how to do that.
The API call you’ve mentioned yesteday actually works!!!
“https://api.hik-connect.com/v3/devconfig/v1/call/xxxxxx/operation?cmdId=3”
I’m almost done with a simple python script based on @tomasbedrich’s library that will be executed while the door is opened and execute the hang up method via hikconnect api.
Thanks everyone!
perfect, yeah, i’m not home, so havent tested it yet , but was indeed quite sure that it would work
Great idea actually to place there a sensor, so if door opens, calls will be stopped!! gonna do that too, i also have a spare sensor somewhere
you have a python script that is logging in, and they you use the session id?
i have a session id sensor in HA? so i just use the shellcommand
anyway, you used cmdId=3 , have you also tried 2 and 5?
i think those are answer and end call, not sure
alltough, i still looking for a local command, instead of API
ah, and for the ones that dont have access to outdoor, i have found a way to use ISAPI trough hikconnect cloud, example command :
example
curl -X POST --header "sessionId: XXXXX" --data "apiKey=100044&channelNo=1&deviceSerial=QXXXXXX&apiData=GET /ISAPI/VideoIntercom/capabilities" "https://apiieu.hik-connect.com/v3/userdevices/v1/isapi"
Good day. This is my compose:
hikvisionsdk:
container_name: hikvisionsdk
image: hikvisionsdk
restart: unless-stopped
hostname: UNRAID
network_mode: "host"
privileged: true
environment:
- PGID=100
- PUID=99
- TZ=Asia/Dubai
you didnt create a local addon? where did you create it?
edit nm, seems its now yaml, i used json
I didnt create an addon. I dont use HASSOS.
I run HA in plain docker.
So I created a hikvision docker image based on your zip file and then spun it via docker compose.
ah ok, makes sense now