Arm alarm vacation

The Arm alarm vacation action arms your alarm control panel in vacation mode. Heading out for an extended trip? Vacation mode gives your home the highest level of protection while you’re away for days or weeks. Some alarm panels use this mode to enable additional monitoring or longer alert windows.

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 that supports vacation mode. If the alarm is already armed in vacation mode, 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 arm an alarm in vacation mode 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 Arm alarm vacation.
  7. Optional: enter the Code if your alarm panel requires one.
  8. Select Save.

Options in the UI

Code (Optional)

The code to arm the alarm. Not every alarm panel requires a code for arming.

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_arm_vacation. 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_arm_vacation
target:
  entity_id: alarm_control_panel.home_alarm

This arms alarm_control_panel.home_alarm in vacation mode 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_arm_vacation
target:
  entity_id: alarm_control_panel.home_alarm
data:
  code: "1234"

Options in YAML

code string

The code to arm the alarm. Not every alarm panel requires a code for arming.

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 Arm alarm vacation 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 that supports vacation mode.
  • Vacation mode is designed for extended absences. Depending on your alarm panel, it activates all sensors and zones with heightened sensitivity or longer siren durations.
  • Whether a code is required depends on your alarm panel and its configuration.
  • For shorter trips, Arm alarm away is typically sufficient. To disarm when you return, use Disarm alarm.

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: switch to vacation mode from a script

Create a “leaving for vacation” script that arms the alarm in vacation mode. You can add other departure tasks to the same script separately.

  • Action: Alarm control panel: Arm alarm vacation
  • Target: Home alarm
  • Code: 1234
YAML example for arming vacation 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_arm_vacation
target:
  entity_id: alarm_control_panel.home_alarm
data:
  code: "1234"

Automation: arm vacation mode when away for 24 hours

If everyone has been away from home for a full day, upgrade the alarm from away mode to vacation mode automatically. This gives you extended protection without having to remember to switch modes before a trip.

  • Trigger: Person: Paulus has been away for 24 hours
  • Action: Alarm control panel: Arm alarm vacation
  • Target: Home alarm
YAML example for upgrading to vacation mode after 24 hours
AutomationAutomations in Home Assistant allow you to automatically respond to things that happen in and around your home. [Learn more]
alias: "Arm vacation after 24 hours away"
triggers:
  - trigger: state
    entity_id: group.family
    to: not_home
    for: "24:00:00"
actions:
  - action: alarm_control_panel.alarm_arm_vacation
    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:

  • Disarm alarm: Disarm an alarm control panel. Optionally provide a code if your alarm panel requires one.

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