Xfinity XHK1-UE Keypad Problems with ZHA

I purchased a few Xfinity XHK1-UE keypads and paired one with HA via a Nortek GoControl USB using Zigbee Home Automation. I realize that keypad support in ZHA is new, so I expect some issues, but I can’t find any documentation that tells me what features are supported and how they can be used with Home Assistant, and the keypad is not performing at all how I expected.

The device paired and kinda works:

I also configured the master alarm code in ZHA:

ZHA Config

Lovelace automatically added this UI card:

Keypad Card

I’m not exactly sure why this UI card exists (other than maybe for testing) because the point of adding a physical keypad is to allow users to arm and disarm the alarm without accessing the UI. Unfortunately, I can’t seem to get the physical keypad to arm or disarm, and only the UI card works, which is the opposite of what I need.

For instance, if I press the “Arm Away” button (a shield around a walking man) on the physical keypad, nothing happens (other than the keypad lights up and beeps with each button press). The same is true for the “Arm Stay” and “Arm Night” buttons. And nothing happens if I try to enter the 4 digit code before or after pressing the arming buttons, either.

If I click the “ARM AWAY” button on the UI card, then the physical keypad beeps, its state changes to “armed_away”, and the upper and bottom lights on the keypad indicate that it is armed.

But once the keypad is in an armed mode, entering the 4 digit code on the physical keypad does not cause anything to change (other than the keypad lights up and beeps with each button press).

The only way to disarm the keypad is to enter the 4 digit code and click the “DISARM” button on the UI card. Then, the keypad beeps, the keypad’s state changes to “disarmed”, and the upper and bottom lights on the keypad indicate that it is disarmed.

Am I doing something wrong? Has anyone used this keypad with ZHA successfully?

I realize there are other options, but I’d really like to stick with ZHA and this keypad. I’m more likely to spend a few weeks reading source code and become a source code fix contributor to zigpy/ZHA than switch to something else.

Additionally, I’ve noticed the following (much less important) issues:

  1. The battery percentage state (sensor.universal_electronics_inc_urc4450bc0_x_r_deadbeef_power) for the keypad is always “unknown” (although a “battery_voltage” attribute does indicate 5.4 volts).

  2. The binary sensor state (binary_sensor.universal_electronics_inc_urc4450bc0_x_r_deadbeef_ias_zone) for the keypad is always “off”. I assumed it was for the tamper sensor button on the back of the keypad, but it doesn’t change if I hold it the tamper sensor button down.

Finally, I’ve got more of these keypads than I need, and I could mail a free keypad (no need to return it) to anyone who is willing to work on these issues.

Thanks,
Michael

P.S. Here are some of the stats on my little HA system:

version: core-2021.7.2
installation_type: Home Assistant OS
dev: false
hassio: true
docker: true
virtualenv: false
python_version: 3.9.5
os_name: Linux
os_version: 5.10.17-v8
arch: aarch64
host_os: Home Assistant OS 6.1
update_channel: stable
supervisor_version: supervisor-2021.06.8
docker_version: 20.10.6
disk_total: 116.7 GB
disk_used: 3.9 GB
healthy: true
supported: true
board: rpi4-64
supervisor_api: ok
version_api: ok
installed_addons: Z-Wave JS (0.1.28), File editor (5.3.1)

Hi Michael,
Where you able to solve your issues with the disarm?
Running into a similar problem.

tx
Raymond

Strangely, after a series of upgrading/updating HA and adding and removing the keypad device from my configuration, the problem went away. The lights and buttons on the physical keypad and the UI card for the keypad now work in concert.

Additionally, I found a way to link the keypad’s control and status with the main home alarm system in HA:

How did you get the keypad to pair? When I go into ZHA and add a device it does not find anything

I think that I used the following:

  1. Remove the cover and the batteries.
  2. While keeping the tamper/pairing button pressed, insert the batteries and then release the tamper/pairing button.
  3. The pairing LED should be flashing.
  4. Press the tamper/pairing button 5 times to reset the keypad.
  5. Remove the batteries again.
  6. While keeping the tamper/pairing button pressed, insert the batteries and then release the tamper/pairing button.
  7. The pairing LED should be flashing again. Now the keypad has been reset and is ready for pairing.
1 Like