Hikvision Doorbell / Videointercom integration

Out of interest, why are you actually using scenes & zones? What hardware have you attached on your indoor panels? Is it like for fire alarms ? More like a alarm panel?

PUT /ISAPI/SecurityCP/control/arm/1?ways=stay&format=json


image

PUT /ISAPI/SecurityCP/control/arm/1?ways=away&format=json


image

Now I will try to explain.

I have a DS-KH6320 -WTE1 hanging on my wall
image

It is possible to configure disarming and arming, as well as 4 scenes.
Scenes can contain different sensors, well, let’s say (House Scene to arm only the door.)
It has 8 alarm sensors and 2 relays.
Alarm sensors can be configured as normally open or normally closed and are labeled door sensor, gas sensor, leakage sensor, bell.
So I’m trying to set up a mini home alarm system to open doors, flood and gas.
Thank you.

At this stage, this is an alarm system with a response to the opening of two locks and a door using magnetic sensors.
image
image

image

1 Like

Guys, would it be usefull to see the card numbers from badges in HA ? And maybe todo card management, like add/disable/delete/change holiday schedule?

There are ISAPI commands todo that, like for example:

https://tpp.hikvision.com/Wiki/ISAPI/Access%20Control%20on%20Person/GUID-5CAC1509-3E33-4C54-8CC4-B0218B79D6EB.html

curl -i --digest -u admin:xxx-X POST -H "Content-Type: application/json" -d '{"CardInfoSearchCond": {"searchID": "1","maxResults": 10,"searchResultPosition": 0}}' http://192.168.0.70/ISAPI/AccessControl/CardInfo/Search?format=json

In my case i get all card numbers present:

{
        "CardInfoSearch":       {
                "searchID":     "1",
                "responseStatusStrg":   "OK",
                "numOfMatches": 8,
                "totalMatches": 8,
                "CardInfo":     [{
                                "employeeNo":   "6",
                                "cardNo":       "XXX",
                                "cardType":     "normalCard"
                        }, {
                                "employeeNo":   "7",
                                "cardNo":       "XXX",
                                "cardType":     "normalCard"
                        }, {
                                "employeeNo":   "7",
                                "cardNo":       "XXX",
                                "cardType":     "normalCard"
                        }, {
                                "employeeNo":   "8",
                                "cardNo":       "XXX",
                                "cardType":     "normalCard"
                        }, {
                                "employeeNo":   "9",
                                "cardNo":       "XXX",
                                "cardType":     "normalCard"
                        }, {
                                "employeeNo":   "10",
                                "cardNo":       "XXX",
                                "cardType":     "normalCard"
                        }, {
                                "employeeNo":   "11",
                                "cardNo":       "XXX",
                                "cardType":     "normalCard"
                        }, {
                                "employeeNo":   "9",
                                "cardNo":       "XXX",
                                "cardType":     "normalCard"
                        }]
        }
}#

Я правильно понимаю это для того что-бы настраивать работу беззвучного режима?
Я думаю это функция сильно не нужна её можно настроить один раз с самого устройства.
А вот такие функции которые позволяют управлять устройством для включения и передачи информации нужны.
Допустим.
Работа и Обратная связь по датчикам (включен/выключен)
Обратная связь по сценам (включён/выключен)
Работа и Обратная связь по постановке на охрану (включён/выключен). Просто если не включена охрана некоторые датчики не срабатывают.
Работа и Обратная связь по реле (включён/выключен) их можно поставить на замок или включение света в подезде.
А если бы ещё была возможность автоматически активировать какой нибудь командой просмотр камеры на экране этого устройства вообще было бы круто.
Спасибо.

Yeah , but the IVMS is not needed anymore, let’s say, you get your house cleaned, you can disable/enable the badge at certain times…

Alll events are already available in HA , you can turn on lights/camera based on those events…

Don’t think an Mqtt camera is necessary, you can use rtsp integration for that

I will add later the scene polling, arm/disarm, I was not able to find the command, the indoor panels are quite limitated in the SDK, not everything is possible

Hi there! I noticed that you changed the control source attribute to control_source. Thanks!

However, I just noticed too that the attribute behaviour has been reverted back. I mean that the attribute updates AFTER updating the entity value, so I cannot get the latest attribute value in an automation but the previous one. For the moment, I inserted a 1" delay at the beginning of the automation (to wait such time before checking “key values” conditions), and everything works fine. But it would be great if you can re-include this when able, so the delay is not needed to be added. If not, I can just leave it as is, because it is not a big deal. Thanks!

you are right, i will fix that tomorrow, will be changed in next beta! thnx for feedback

1 Like

Btw , since you use control source , have you found a way to actual link that attribute to a real card/user password?

Yes. After reading all keys I have, I included every code in an input_text helper. Once done, I just check the helper entity content upon relay doorbell switch status change in an autoation.

However, the code displayed in the Hikvision web interface is not the same than the one displayed in your addon, so you have to read the keys and save the code that control_source is getting, not the one that Hikvision admin interface returns. Not a big deal though. Once you collect all keys from control_source, it is very easy to manage. At the end of the day, this is something that you need to do once only, at least in my case.

Yeah, indeed, but there must be a way to reverse it to real badge, must be documented somewhere, would be great to actually display the real badge…

I have also now the Isapi command to retrieve all badges/persons, I had the idea to do badge management from HA, also to disable/enable cards for household persons…

If maybe the person ID is in the control source, we can maybe link it back to the badge card…

See a few post back, how I retrieve the badges with Isapi

If that is possible it would be great! Will check it later the thread history. Thanks!

Yeah , when I have some time, gonna read about control source… :slight_smile:

1 Like

Hey, now we use this one : byControlSrc

But I can also maybe add additional attributes, like the type: password/badge/face/finger
LockiD: is lock 1 or 2 opened

There is also a user ID, maybe that one can be linked to the person’s that I can retrieve with my Isapi command…

https://open.hikvision.com/hardware/structures/NET_DVR_UNLOCK_RECORD_INFO.html

Edit: lockId, is not Necessary, since we already have 2 sensors for the door :slight_smile:

The script listens on udp port 5060. Asterisk by default also listens on 5060. So there is a conflict if I try to run both on the same ip/machine. Is there any workaround for this?

No, the script listens on 5061

hey @TokarevSergey , i have found the commands too for sending arm/disarm !! gonna add those to new beta soon

1 Like

Who is the owner here of a Doorstation that have public passwords (key codes) AND the device can be configured with a browser? (not ivms) like ex ds-kd8003(revb)

@pepeEL , do you have it?

Hi.i have DS-KD8003 Rev B but i dont use public password.