Local Akuvox intercom control

Announcing the first release of Local Akuvox.

Do you have an Akuvox intercom that you have full control over? Do you want to have and manage the status of the relays in your Home Assistant?

Do you want to manage the schedules? The user codes? All locally without having to have the device talk to the Akuvox cloud?

Well step right up! I’ve got the integration for you!

What this integration does:

  • Connect to your Akuvox intercom via the local HTTP API
  • Allow you to manage local access schedules
  • Allow you to manage local users, codes, and even cardkeys (if you’ve got the info)
  • Auto-configure the device to send data back to your home assistant via webhooks so that you can have real time knowledge of relay status as well as what PIN codes are used or even if an invalid PIN code has been used

What this integration does not do:

  • Configure the local cameras as cameras in Home Assistant (you can do that via the Home Assistant ONVIF integration)
  • Configure any SIP bits, yes these devices can use your Asterisk server or other private SIP server

At present this integration is strictly related to managing access control.

I’ve already got a PR in to HACS to get this added as a default integration, but that will take a while.

But wait you’re saying, there’s another Akuvox integration already on HACS, and you’re correct! That one uses the Akuvox cloud, this one is 100% local.

Integration with Keymaster for PIN management coming soon!

3 Likes

Thanks a lot tykeal, great integration, I’m using it to test an Akuvox to see if it fits in my home or not :smiley:
I’m testing it and I’m unable to create an user and assign it to the schedule and relay, both the user creation and the user modify are able to change data except the schedule-relay, which is blank no matter what
The Akuvox is a S535 with the latest (and greatest) firmware…
Any advice?

Have you tried adding a schedule to a user after creating them?

local_akuvox.list_schedules will get you all the schedules on the device. Please be aware that local users cannot use cloud defined schedules, you have to either use one of the two pre-defined schedules 1001 aka Always or 1002 aka Never are built into every device that I’ve touched.

As an aside the lastest version of Keymaster supports using the Akuvox as a managed lock. That might be easier to use.

Thank you very much for creating this integration. I use it with my E18C doorbell.
I am currently trying to figure out the easiest way to setup an automation in home assistant, that changes the calling behavior of the doorbell. When someone is at home I would like to call only the indoor monitor, but when no one is home I would like to call my mobile phone.

Right now the doorbell is set up to call all users of the group “doorbell”, which includes the akuvox users for my indoor monitor and my cell phone. So both are ringing always. My initial thought was to use an automation to modify the group membership of the users based on presence. But right now the integration cannot do that. Would it be possible to add this to the modify user action?

It would be possible, but the library that I built would first have to manage groups. Since I was purpose building the library I didn’t put all management APIs into the library that I didn’t need to get this integration built for my initial use case.

@dylex , I’ve released a new version of the integration. It does manage groups and contacts, but apparently the devices seem to have two different contact/group systems. Outside of building out something that uses the webUI’s APIs (which seem to be different than the APIs I’m using) I can’t find a way to actually add locally defined groups that you can manage from the webUI that also include locally defined users :thinking:

Thank you for taking another look. I agree the API is really odd to use. I ended up solving my issue by using the rest_command integration and came up with something that works.

Since my goal was only to change a user’s group, I did not bother try creating groups via the API, but instead created them via the WebUI and then only use them in the request to edit the users. That worked well until I updated (due to another issue) to the latest beta 18.30.11.21. Then the API did not like my request anymore and it took some time until I found out that in the edit API the property name for ScheduleRelay was renamed to Schedule-Relay. Since this a mandatory parameter I could not let it out.

My request now looks like this:
URL: http://ipaddress/api
POST body

{
  "target": "user",
  "action": "set",
  "data": {
    "item": [
      {
        "Group": "All",
        "ID": "10",
        "Schedule-Relay": "1001-1",
        "UserID": "2"
      },
      {
        "Group": "All",
        "ID": "11",
        "Schedule-Relay": "1001-1",
        "UserID": "3"
      }
    ]
  }
}

I can specify any group that already exists in the Group property and thereby can automate depending on if some is at home whether my wife’s and my mobile number are also called when some one rings the door.

1 Like

Thanks for posting this (and tykeal for making Local Akuvox). I was wondering if I could control the Akuvox doorbell locally and dynamically disable the chime or call forwarding. The doorbell (Arlo) is the last cloud-based product in my house, and I really want to get rid of it.

A side question: has anyone tested local 2-way audio via go2rtc and rtsp/onvif? Ideally, I’d like to avoid using a separate doorbell app at all, just talking through the HA companion app and the dedicated view. I use this method successfully with a Reolink cam.

@dylex: oh interesting, I may try exploring down that route some. The docs I have are decent, but they seem to lack in some areas and my getting updated ones is… not always easy. That being said, the local API is significantly better than their cloud API which I’ve got docs for as well.

@slimak: I haven’t, but my understanding is that Akuvox devices uses SIP for all calling features. This includes to an indoor Akuvox monitor.

I know you can connect up the camera on a access control that has it via ONVIF, I did test it in my lab, but I haven’t tried getting 2-way audio working with it at all.

@tykeal do you plan (or would you consider) including support for Akuvox Indoor Monitor at some point? From a very brief search, it seems that auth and relay control API could be reused.

AIUI that's pretty much the only official API available on Indoor Monitors.

Have you tried hooking it up to an indoor monitor? I've got one in my test lab (I built this for a gig customer and they provided me an intercom and indoor monitor) but I haven't found a use case for trying to drive the monitor so I haven't even tried hooking it up. I'm open to adding capabilities to the library and adding capabilities into the integration to use it.

Open PRs and/or feature requests on either / both repositories.

I got my hands on an E12S. I have specific needs because I already have a working door/gate solution that includes a "dumb" chime that I want to keep. This chime is activated by a dry contact. The Akuvox intercom should only be used to activate this chime, local camera access, and, ideally, local 2-way audio to Home Assistant.

While playing around with the device, I discovered that there's a setting that binds the intercom button and a relay (Output To Chime Bell, Execute Relay). This is great and exactly what I need, as it's a simple "electrical" function and works independently of anything else (SIP, cloud). Local Akuvox integration shows the relay/events in Home Assistant. I can also disable it as needed using a schedule associated with the relay.

Local camera access is good and easy, but unfortunately, 2-way audio doesn't work. Therefore, this bit requires either SIP or the cloud. I'm thinking something like this:

E12S <---> Asterisk <---> Home Assistant card(?)

Is this even possible? I would be very grateful for any advice :slight_smile:

Yes, this should be possible. The devices that I have access to all support 2 SIP servers. One is defaulted to the cloud but can be changed. The other is empty. Both of the SIP configurations support up to 2 SIP servers, a preferred and an alternate.

I, personally, haven't done anything with the SIP configuration, nor have I ever played with Asterisk, but it should work. There's an integration available as well as an app available so you can run it fully from the HA system itself (assuming you're using HAOS).

1 Like

Thank you so much, this is fantastic! I configured this on my HA test system and everything seems to be working. I set the Akuvox to call 444 (call gets "parked"; the intercom plays a melody), and I have 60 seconds to load the dashboard with SIP-enabled card, and answer the call. I can also just call the intercom directly, if that call expires (intercom auto-answers). It also works through Wireguard.

1 Like

Is this available yet?

Oh yes, it's been available since v0.2.0 which released about 3 months ago.

I've got someone using it on a multi-unit short term rental building where they have all 3 entrances setup with different Akuvox devices. They've got the main door setup as the parent lock to all the other locks (including Schlage WiFi locks) driving all the codes everywhere.

is there any documentation for setup?

To use Keymaster or for Local Akuvox?

keymaster. I found the documentation and got it set up. there are 2 issues though

  1. its giving user ids that are already in the system so it deletes the existing ones. (this one not so bad as i can add them all through lcm)
  2. Not assigning a schedule
  3. not assigning a relay

The Keymaster integration is supposed to use schedule 1001 (Always) and whichever relay you specify. You should only be trying to use one Relay. If it deleted any IDs then it would have been because they were assigned a different relay than you were trying to manage with keymaster.

Please note, that the Keymaster integration only works properly for one relay on the device. It's possible to manage more than one relay but you have to define Keymaster as managing different sets of slots because of how it does the management.

The reason for why it uses schedule 1001 is that Keymaster manages access scheduling. Either the code is assigned and active or it's deleted and inactive.