Disarm alarm

The Disarm alarm action disarms your alarm control panel. Picture this: you walk through the front door after a long day, and your alarm automatically disarms for you. No rushing to the keypad, no frantic code entry.

This action works with any alarm control panel entityAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] in Home Assistant. If the alarm is already disarmed, calling the action does nothing.

Using this action from the user interface

If you prefer building automations and scripts visually, Home Assistant walks you through this action step by step. You pick what to target, tweak a few options, and save. No YAML knowledge required.

To disarm an alarm from an automation or a script:

  1. Go to Settings > Automations & scenes.
  2. Open an existing automation or script, or select Create to start a new one.
  3. If you’re setting up a new automation, add a trigger in the When section. Scripts don’t need a trigger. They run when something else calls them.
  4. In the Then do section, select Add action.
  5. Select what you want to control. Under By target (see Targets), pick the area your alarm panel is in (like your hallway or entryway). You can also select a floor, a device, a specific entity, or a label.
  6. From the actions shown for that target, select Disarm alarm.
  7. Optional: enter the Code if your alarm panel requires one.
  8. Select Save.

Options in the UI

Code (Optional)

The code to disarm the alarm. Not every alarm panel requires a code.

Using this action in YAML

If you work directly in YAML, or you want to know exactly what Home Assistant does under the hood, this section has the technical reference. It lists the field names you use in YAML, their types, and which ones are required.

In YAML, refer to this action as alarm_control_panel.alarm_disarm. A basic example looks like this:

ActionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. [Learn more]
action: alarm_control_panel.alarm_disarm
target:
  entity_id: alarm_control_panel.home_alarm

This disarms alarm_control_panel.home_alarm without a code.

If your alarm panel requires a code, include it in the data section:

ActionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. [Learn more]
action: alarm_control_panel.alarm_disarm
target:
  entity_id: alarm_control_panel.home_alarm
data:
  code: "1234"

Options in YAML

code string

The code to disarm the alarm. Not every alarm panel requires a code.

Targets of the action

This action requires a target. The target is the object of the action. You can point the action at a single entityAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more], a device, an area, a floor, or a label, and Home Assistant will run the action on every matching alarm_control_panel entity behind that target.

  • Entity: one specific alarm_control_panel entity, such as alarm_control_panel.living_room.
  • Device: every alarm_control_panel entity that belongs to a device.
  • Area: every alarm_control_panel entity in a room or area.
  • Floor: every alarm_control_panel entity on a floor.
  • Label: every alarm_control_panel entity that shares a label.

You can also select different target types in one action. For example, you can add a specific entity and an area as targets in the same action to run the action on both of them at once.

Good to know

  • The Disarm alarm action works on any alarm control panel entityAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] in Home Assistant.
  • If the alarm is already disarmed, calling this action does nothing.
  • Whether a code is required depends on your alarm panel and its configuration. Some panels always require a code, others never do.
  • To arm the alarm again after disarming, use Arm alarm away or Arm alarm home.

Try it yourself

Ready to test this? Open Developer tools > Actions, search for this action, fill in the fields, and select Perform action. You see what happens on your actual entitiesAn entity represents a sensor, actor, or function in Home Assistant. Entities are used to monitor physical properties or to control other entities. An entity is usually part of a device or a service. [Learn more] without writing a line of YAML.

More examples

Real scenarios where this action shows up in automations and scripts. Copy any example and adapt it to your setup.

Tip

You don’t need to edit YAML to use these examples. Copy a YAML snippet from this page, open the automation editor in Home Assistant, and press Ctrl+V (or Cmd+V on Mac). Home Assistant automatically converts the pasted YAML into the visual editor format, whether it’s a full automation, a single trigger, a condition, or an action.

Action: disarm the alarm with a code

Disarm the home alarm using a PIN code. Useful as a quick action on a dashboard or from a script.

  • Action: Alarm control panel: Disarm alarm
  • Target: Home alarm
  • Code: 1234
YAML example for disarming with a code
ActionActions are used in several places in Home Assistant. As part of a script or automation, actions define what is going to happen once a trigger is activated. In scripts, an action is called *sequence*. [Learn more]
action: alarm_control_panel.alarm_disarm
target:
  entity_id: alarm_control_panel.home_alarm
data:
  code: "1234"

Automation: disarm when you arrive home

When you pull into the driveway and your phone reports you’re home, disarm the alarm automatically. No more rushing to the keypad before the siren goes off.

  • Trigger: Person: Paulus changes to home
  • Action: Alarm control panel: Disarm alarm
  • Target: Home alarm
YAML example for disarming on arrival
AutomationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more]
alias: "Disarm alarm on arrival"
triggers:
  - trigger: state
    entity_id: person.paulus
    to: home
actions:
  - action: alarm_control_panel.alarm_disarm
    target:
      entity_id: alarm_control_panel.home_alarm
    data:
      code: "1234"

Automation: disarm every morning on weekdays

Start the day without the alarm blaring when you open the bedroom door. Disarm it automatically at 7 in the morning on weekdays.

  • Trigger: Time: 07:00
  • Condition: Day of the week is Monday to Friday
  • Action: Alarm control panel: Disarm alarm
  • Target: Home alarm
YAML example for a weekday morning disarm
AutomationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more]
alias: "Disarm alarm on weekday mornings"
triggers:
  - trigger: time
    at: "07:00:00"
conditions:
  - condition: time
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
actions:
  - action: alarm_control_panel.alarm_disarm
    target:
      entity_id: alarm_control_panel.home_alarm
    data:
      code: "1234"

Still stuck?

The Home Assistant community is quick to help: join Discord for real-time chat, post on the community forum with the action you’re calling and what you expected to happen, or share on our subreddit /r/homeassistant.

Tip

AI assistants like ChatGPT or Claude can also explain actions or suggest the right one when you describe what you want in plain language.

Related actions

These actions work well alongside this one:

  • Arm alarm away: Arm an alarm control panel in away mode. Optionally provide a code if your alarm panel requires one.

  • Arm alarm home: Arm an alarm control panel in home mode. Optionally provide a code if your alarm panel requires one.