To contribute to this page, edit the following file

Xfinity URC4450BC0-X-R #

Model URC4450BC0-X-R
Vendor Xfinity
Description Alarm security keypad
Exposes battery, voltage, occupancy, battery_low, tamper, presence, contact, action_code, action_zone, temperature, action, linkquality
Picture Xfinity URC4450BC0-X-R

Notes #

Device type specific configuration #

How to use device type specific configuration

(Dis)arming #

To (dis)arm the keypad send to zigbee2mqtt/[DEVICE_FRIENDLY_NAME/set payload:

{
    "arm_mode": {
    "mode": "arm_all_zones" // Mode "arm_all_zones" or "disarm"
    }
}

(Dis)arming from the keypad #

When an attempt for (dis)arm is done on the keypad, Zigbee2MQTT will publish the following payload to topic zigbee2mqtt/[DEVICE_FRIENDLY_NAME:

{
    "action": "arm_all_zones", // OR "disarm" when being disarmed
    "action_code": "123", // The code being entered
    "action_zone": 0, // The zone being (dis)armed (always 0)
    "action_transaction": 99 // The transaction number
}

In case you want to confirm this action (e.g. action_code value is OK), respond to it by sending to zigbee2mqtt/[DEVICE_FRIENDLY_NAME/set payload:

{
    "arm_mode": {
    "transaction": 99, // Transaction number (take this value from the (dis)arm attempt property `action_transaction`)
    "mode": "arm_all_zones" // Mode "arm_all_zones", "disarm" or "exit_delay" (take this value from the (dis)arm attempt property `action`)
    }
}

Exposes #

Battery (numeric) #

Remaining battery in %. Value can be found in the published state on the battery property. It’s not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 100. The unit of this value is %.

Voltage (numeric) #

Voltage of the battery in millivolts. Value can be found in the published state on the voltage property. It’s not possible to read (/get) or write (/set) this value. The unit of this value is mV.

Occupancy (binary) #

Indicates whether the device detected occupancy. Value can be found in the published state on the occupancy property. It’s not possible to read (/get) or write (/set) this value. If value equals true occupancy is ON, if false OFF.

Battery_low (binary) #

Indicates if the battery of this device is almost empty. Value can be found in the published state on the battery_low property. It’s not possible to read (/get) or write (/set) this value. If value equals true battery_low is ON, if false OFF.

Tamper (binary) #

Indicates whether the device is tampered. Value can be found in the published state on the tamper property. It’s not possible to read (/get) or write (/set) this value. If value equals true tamper is ON, if false OFF.

Presence (binary) #

Indicates whether the device detected presence. Value can be found in the published state on the presence property. It’s not possible to read (/get) or write (/set) this value. If value equals true presence is ON, if false OFF.

Contact (binary) #

Indicates if the contact is closed (= true) or open (= false). Value can be found in the published state on the contact property. It’s not possible to read (/get) or write (/set) this value. If value equals false contact is ON, if true OFF.

Action_code (numeric) #

Value can be found in the published state on the action_code property. It’s not possible to read (/get) or write (/set) this value.

Action_zone (text) #

Value can be found in the published state on the action_zone property. It’s not possible to read (/get) or write (/set) this value.

Temperature (numeric) #

Measured temperature value. Value can be found in the published state on the temperature property. It’s not possible to read (/get) or write (/set) this value. The unit of this value is °C.

Action (enum) #

Triggered action (e.g. a button click). Value can be found in the published state on the action property. It’s not possible to read (/get) or write (/set) this value. The possible values are: disarm, arm_day_zones, identify, arm_night_zones, arm_all_zones, exit_delay, emergency.

Linkquality (numeric) #

Link quality (signal strength). Value can be found in the published state on the linkquality property. It’s not possible to read (/get) or write (/set) this value. The minimal value is 0 and the maximum value is 255. The unit of this value is lqi.

Manual Home Assistant configuration #

Although Home Assistant integration through MQTT discovery is preferred, manual integration is possible with the following configuration:

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.battery }}"
    unit_of_measurement: "%"
    device_class: "battery"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.voltage }}"
    unit_of_measurement: "mV"
    device_class: "voltage"

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.occupancy }}"
    payload_on: true
    payload_off: false
    device_class: "motion"

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.battery_low }}"
    payload_on: true
    payload_off: false
    device_class: "battery"

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.tamper }}"
    payload_on: true
    payload_off: false

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.presence }}"
    payload_on: true
    payload_off: false
    device_class: "presence"

binary_sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.contact }}"
    payload_on: false
    payload_off: true
    device_class: "door"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.action_code }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.action_zone }}"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.temperature }}"
    unit_of_measurement: "°C"
    device_class: "temperature"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.action }}"
    icon: "mdi:gesture-double-tap"

sensor:
  - platform: "mqtt"
    state_topic: "zigbee2mqtt/<FRIENDLY_NAME>"
    availability_topic: "zigbee2mqtt/bridge/state"
    value_template: "{{ value_json.linkquality }}"
    unit_of_measurement: "lqi"
    icon: "mdi:signal"