Hikvision Doorbell / Videointercom integration

I don’t know, all looks ok to me, have you tested the webui from the go2rtc addon itself? Make sure to access it on https, otherwise the microphone doest load on chrome browser

I will await the MQTT release as it would probably fit my current setup better (I have MQTT and Zigbee2MQTT already in place; my doorbell is simply using the 1-second REST-sensor method to identify ring-events). Once ready and available, I can hopefully add some value by providing feedback on both the add-on as well as documentation :).

1 Like

No need to wait, PR is submitted, if you want, have a look, download it , test it , feedback is welcome before we release next beta!!

I have installed the new version 3.0.0-beta.12
I have errors in the log:
2023-03-11 21:01:25.592 | DEBUG | config:mqtt_config_from_supervisor:36 - Requesting MQTT service configuration to supervisor
2023-03-11 21:01:25.601 | INFO | sdk.utils:loadSDK:44 - Using OS: Linux with architecture: x86_64
loop[2] find 2 mac and 0 ip
[2023-03-11 21:01:25.657][ERR] CCoreGlobalCtrlBase::LoadDSo, HPR_LoadDSo Failed, Path[/app/lib-amd64/libcrypto.so] syserror[115]
[2023-03-11 21:01:25.657][ERR] Load BASE_DLL_LIBEAY failed[syserr: 115]
2023-03-11 21:01:25.902 | INFO | doorbell:authenticate:68 - Connected to doorbell: OUTDOOR STATION DS-KV8113-WME1
2023-03-11 21:01:25.902 | INFO | event:init:76 - Setting up event handler: Console stdout
2023-03-11 21:01:25.902 | INFO | mqtt:init:92 - Setting up event handler: MQTT
[2023-03-11 21:01:25.935][ERR] StructureMime BOUNDARY DATA ERROR!
[2023-03-11 21:01:26.128][ERR] StructureMime BOUNDARY DATA ERROR!

Hi, those are not really errors, they are coming from the new SDK releases , but we are going to revert it in next beta, since there are no new features anyway… Just gets confusing about errors that are not really errors…

It is better that these are warnings, not errors.

just wait 2 min, beta 13 is coming :slight_smile:
Have you tested the new MQTT stuff?


Yes, the device and sensors have appeared.

New beta version 13 is out!

The big news in this release is the addition of an MQTT integration, through which it is possible to integrate each doorbell as a device inside HA, and interact with them using the new and improved switches and buttons!

Added

  • MQTT integration.
    Note: requires a running MQTT broker
  • Each doorbell is now visible as a device inside Home Assistant
  • New sensors and entities:
    • Call state sensor: displays the state of the call (idle, ringing, dismissed)
    • Buttons for accepting/rejecting the call, rebooting the device
    • Switches for controlling the output switches connected to the doorbell unit (to open gates, doors)
    • Device triggers for receiving alarm events (motion detection, door not closed, tamper alarm, etc…)
    • Diagnostic text entity for testing out ISAPI commands (advanced)
  • New configuration option: output_relays (to manually specify the number of relays)
  • If the add-on has trouble connecting to the doorbells, the sensors show up as unavailable

Changed

  • Update documentation, add section about MQTT broker installation
  • The add-on no longer creates simple binary_sensor, but various entities associated to one or more device, each visible in the HA UI
  • Update development documentation with overview on software architecture, add docker-compose.yml example.

Deprecated

  • The Home Assistant REST API integration is no longer recommended in favor of the MQTT integration, and no new features will be added to it

Fixed

  • Sensors no longer disappear on HA restart

As always feedback is welcome, and if you have any issue or would like additional features please head over to our Github project to report them.

Full changelog

For anyone interested, here is the full changelog.

P.S.: @navigatortc Congrats for being one of the first user of the new and improved beta! I was planning to drop here some release notes, but you were faster than me! :rofl:

4 Likes

Again @mion00 , thnx again for this wonderfull work and integration, i think this is the first project that actually supports Video Intercoms based on SDK!!! This time everyone can benefit from it, not only HA users!

DS-KH6320-TE1 supported? My sensors are not available.

Hi , no there are no binary sensors anymore, we decided to stop with that, since we are now capturing more events, and creating sensors for each event is an overkill, now all events are stored in a device trigger, have a look in the docs here…

So yes, you need to now rebuild your automation, sorry for that, but it’s a one time thing only :slight_smile:

For now it will stay like it is (normally) :+)

For anyone interested (from the development side) in learning more about possible integrations, here there is an overview of the architecture of this add-on, with the possible extension points highlighted.

Is Reject Call for non-SIP setups? I have a KV6113 dialing into a conference in Asterisk, but it’s still ringing after I hit reject call.

I have 2 KV6113 running standalone so some situations maybe unique to my setup but here are some other things I noticed in the beta

  1. Tamper alarm only shows up after it is tripped. It’s also kinda awkward to figure out which doorbell triggered it. Right now, I’m trying to parse it from the MQTT topic.
  2. Renaming devices sometimes causes sensors become unavailable. Once I had the call state stay unavailable, another time it was Door 1 relay.
  3. I upgraded the firmware on one, but not the other. They both show the same firmware version, but the build number is different. Any chance this could also be made available? I’ll probably end up upgrading the firmware later, so it may not matter in the end.

Hi, thnx for feedback!

Yes, I think reject only works for non-sip setups, but if you use asterisk , you can use the AMI to send a reject to the channel , this wil also cancle the call…

Why are you using a conference? Do you have early media (video) in your setup when calling multiple users?

Indeed, events only show up, when received, we don’t use an sensor anymore for each type of event, would be to much, and maybe unnecessary for people not using it…

Isn’t it better to rename the doorbell itself in the config… ?
We could add indeed the doorbell name into the event message!

Hi and welcome, some testing from non-standard setups is always interesting in finding some unexpected corner cases.
Let me see If I can integrate what Fabio already explained:

  1. Device triggers can be used inside automations as trigger sources. I haven’t played much with them, but from what I have seen some kind of identifier should be supplied automatically by HA. If you can share some examples of what you would like to achieve maybe we can see what could be improved on our side to be more usable.
  2. How are you renaming the devices? From the HA UI or the add-on configuration?
  3. Can you please provide some details on what steps you did? Have you tried rebooting the add-on after the firmware upgrade?

If you like we can move to Github to discuss more in details these things, leaving this thread from more general discussion and announcements.

If you want, I still have that AMI script somewhere to reject a call from HA to asterisk, I used it before when “reject” was not yet part of the addon

I would like to send a notification to my phone letting me know which doorbell was tampered with. I could just build 1 automation for each doorbell, but I don’t like creating individual automations for each device. I’ve done this before using trigger.entity_id. For example,
{{ trigger.entity_id | replace("binary_sensor", "light") }} allows me to toggle lightbulbs when the corresponding contact sensor changes states. Both of these devices are coming in from the MQTT integration via Zigbee2MQTT.

From the add-on configuration

This is low priority. I did the firmware update on the doorbell last year. Here’s a side by side of the firmware from the system settings screen. image

This seems to do the trick for me:

service: asterisk.hangup
data:
  channel: "{{ states('sensor.2001_channel') }}"
2 Likes

that service is coming from the asterisk integration? Be aware, when you restart Asterisk, the ingegration doesnt work anymore, the connection to Asterisk gets lost