ha-scripts
Installation
SKILL.md
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 # single | restart | queued | parallel
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: "good_morning_playlist"
media_content_type: "playlist"
Calling a Script
# From an automation
- action: script.morning_routine
data:
brightness: 80
# From the UI: Developer Tools → Actions → script.morning_routine
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
Related skills