Issues with code on mqtt alarm panel

I’m using to integrate hassio with my paradox alarm. Everything seems to work as expected (getting panels detected and sensors available and updating in HA) but I’m having an issue with the code entry on the lovelace alarm card. I’ve enable the code on the mqtt autodiscovered alarm panel and the input and numeric keypad show up on the lovelace card but I can still arm/disarm the system without having to enter the code. I’ve also created a manual mqtt alarm panel connecting to the same partitions to see if that makes a difference and the manually added one works as expected and I can’t do anything without entering the configured code.
The mqtt message for the autodiscovered panel is:

  "name": "CASA",
  "unique_id": "2a01b584_partition_CASA",
  "command_topic": "paradox/control/partitions/CASA",
  "state_topic": "paradox/states/partitions/CASA/current_state",
  "availability_topic": "paradox/interface/availability",
  "device": {
    "manufacturer": "Paradox",
    "model": "SP7000",
    "identifiers": [
    "name": "SP7000",
    "sw_version": "4.94 build 0"
  "payload_disarm": "disarm",
  "payload_arm_home": "arm_stay",
  "payload_arm_away": "arm",
  "payload_arm_night": "arm_sleep"

The content of my customize.yaml file with the code configuration:
  code_arm_required: true
  code_format: number
  code: 9999
  code_disarm_required: true

The configuration for the manuall mqtt panel that works as expected:

  - platform: mqtt
    state_topic: "paradox/states/partitions/CASA/current_state"
    command_topic: "paradox/control/partitions/CASA"
    availability_topic: "paradox/interface/availability"
    name: "home"
    unique_id: "home"
    payload_disarm: "disarm"
    payload_arm_home: "arm_stay"
    payload_arm_away: "arm"
    payload_arm_night: "arm_sleep"
    code: 1234
    code_arm_required: true
    code_disarm_required: true

From what I can see everything seems to check out and I’d expect the autodiscovered panel to enforce the code as well. Am I missing anything here?



I’m glad that I found this post because I’m experiencing the same issue. Fortunately, the described MQTT solution is an excellent workaround. It is strange though, that if I check my autodiscovered alarm panel attributes in the developer tools, then the “code_arm_required” field is true but it does not seem to have any impact…

Kind regards,


code_format: null
changed_by: null
code_arm_required: true
friendly_name: Home
supported_features: 63


I found this post while searching for a solution to the same problem. After some digging I stumbled on the solution and thought I’d share it here for anyone else.


  • Keypad does not display when MQTT has Auto-Discovery enabled towards Home Assistant.
  • Therefore its not possible to arm or disarm using a code.
  • Manually entering parameters for code, code_arm_required, cod_disarm_required appears to make no difference.


  1. Update “Paradox Alarm Interface” to 3.0.0 or higher to pick up this change:
    MQTT_HOMEASSISTANT_CODE parsing compatible with HA Addon. #194 #260 · ParadoxAlarmInterface/pai@62e8af7 · GitHub

  2. Scroll to near the end of PAI configuration page and enable “Show unused optional config…”

  3. Scroll back up and enter a pin code under MQTT_HOMASSISTANT_CODE

  4. Save and restart PAI to enable. Keypad should now be available for arm/disarm:


1 Like

Thank you for the solution, it worked perfect for my case.
Although is there any way to completely get rid of the keypad as it’s another move someone has to do while driving?