| name | ha-scripts |
| description | Home Assistant YAML scripts — callable, reusable action sequences with optional parameters. Use when creating a script, defining a reusable sequence, or adding parameterized fields to a script. |
Home Assistant YAML Scripts
Scripts are reusable, callable action sequences — unlike automations they have no trigger and must be called explicitly.
YAML Style Rules
- 2-space indentation (never tabs)
- Lowercase booleans:
true / false
- Entity IDs:
domain.entity_name (lowercase, underscores)
Script Template
script:
morning_routine:
alias: 'Morning Routine'
mode: single
fields:
brightness:
description: 'Light brightness percentage'
default: 100
selector:
number:
min: 0
max: 100
sequence:
- action: light.turn_on
target:
area_id: kitchen
data:
brightness_pct: '{{ brightness }}'
- delay:
seconds: 2
- action: media_player.play_media
target:
entity_id: media_player.kitchen_speaker
data:
media_content_id: 'media-source://...'
media_content_type: 'playlist'
Calling a Script
- action: script.morning_routine
data:
brightness: 80
When to Use Scripts vs Automations
| Use Case | Choose |
|---|
| Triggered by an event or state change | Automation |
| Called by multiple automations | Script |
| Complex reusable logic | Script |
| One-off response to a trigger | Automation |
Related Skills
- Automations →
ha-yaml-automations
- Blueprints →
ha-blueprints