Centralite 3400 keypad

Hello everyone

I just got myself one Centralite 3400-G keypad (3rd-gen) and I am trying to get it working with HA. I write this post to keep track of my own thougths and hopefully get some help :grinning:

I believe the G-version is pretty much the same as previous models (3400 and 3400-D) just with the double-key panic function instead of unsused A and B keys.

The keypad has paired well with ZHA but now the situation is as follows:

  • No zha_event whatsoever, either when dialing arm/disarm code, activating proximity sensor or press&hold panic keys
  • Battery entity doesn’t get any readings
  • Binary sensor IAS_zone is allways off (not sure what this sensor is supposed to represent)
  • Temperature entity seems to work well

Note - I use a tasmotized SONOFF ZBBridge as Zigbee coordinator

What I have managed so far:

  1. When I activate tasmotas T2Z on the ZBBridge (module 75 instead os module 0) I get beautiful mqtt messages
    1.1 Arm/disarm codes
    1.2 Battery levels
    1.3 Proximity sensor trigger
  2. Zigbee2mqtt seems to support the keypad, although I don’t have the required hardware to test it. Maybe there is a way to translate Z2Ms converter into the corresponding ZHA device handler but I am still trying to digest all the instructions for ZHAs device handlers…
  3. I contacted Centralites support and they were kind enough to provide me with a list of clusters and attributes/commands for the keypad. Sadly no information about payloads/args to be sent with the commands.
    3.1 All the clusters in Centralites file seem to match with what ZHA discovers and configures. There seems on the other hand to be some mismatches when coming down to commands/attributes
  4. I am trying three approaches for sending commands to the keypad. Sadly I don’t succeed in changing the keypad arm mode with any of them
    4.1 From ZBBridges console (with module 75 activated) and using ZbSend command
    4.2 From HA device page ā€œmanage clusterā€ option
    4.3 With node-red, zha.issue_zigbee_cluster_command

What I hope to get done:

  • Get zha_events with the same messages that T2Z manages to capture
  • Be able to send commands to the keypad to acknowledge arm/disarm codes and to change panel status in case of arming/disarming directly in HA

Does anyone have any suggestions?
Maybe someone is already using the keypad and have already managed to do all this?

Just realized that Centralites support just gave me a link to the keypads Compliance Document at zigbeealliance.org :laughing: and I felt so special, I thought I was provided with some secret information…

Anyway, now I know that, AND that all the information about clusters, commands and payloads/args are supposed to be used (as long as the manufacturer of the device doesn’t deviate from the standard) is in the ZigBee Cluster Library Specification.

So now I did myself some reading and I have managed to use zha.issue_zigbee_cluster_command and node-red call service nodes to successfully send following commands to the keypad! :partying_face: :muscle:

  • Make the keypad ā€œbeep-onceā€ with hi-pitch or low-pitch (to indicate correct or wrong code)
  • Change keypad status to Disarmed, Armed Home, Armed Night or Armed Away
  • Start a beeping loop (to use as ā€œcountdown before armingā€ or ā€œwaiting for disarm codeā€
  • Put the Armed Home/Night/Away keys into flashing red (to be used in combination with beeping loop to indicate ā€œcountdown before armingā€). I’m not completely satisfied with the keypads behaviour, it goes to sleep after a couple of seconds, comes back still flashing if I wave my hand for the proximity sensor. I want it to be awake all the time during countdown. Maybe there is a command to keep the lights on?

Beep-once uses ArmResponse command, the other commands are with PanelStatusChanged.

Now I just have to manage to get ZHA to catch the messages from the keypad and start giving me zha_events.

Does anyone know if there is a way of listening to the ā€œraw dataā€ previous to zha_event? I guess it is described in the instructions for ZHA device handler but I wonder if there is some shortcut :grin:

Looks great so far! Have you made any more progress?

FYI, discussion is ongoing over here on the zigpy / zha device handlers github.

And here’s the history of the fabulous work done by dmulcahey on the pull request

I just purchased some of these. Are you able to shared your node-red flows please?

It looks like you have achieved all that I’m trying to do.

That will be my pleasure! I am on vacation now so I will not be at home for a couple of days though. Hopefully I’ll put the flows here some day next week.

On the other hand there’s been a great step forward since alarm panels have been integrated in HA, so I hope to be able to manage my alarm panels that way soon, instead of sending raw cluster commands.

In my investigations I found that node red’s new node ā€˜Device’ can send and receive most of these commands without any cluster or call service nodes.

1 Like

Has anyone been able to get these keypad’s to work?

I have my sync’d with Alarmo and the keypad is able to arm and disarm alarmo, but the keypad never shows it’s armed when it is indeed armed. It always shows the green lights" and none of the armed modes are red either.

Anyone know what I’m doing wrong?

I have it paired with Zigbee2mqtt.

I have great synchronization with this clever automation.