home-assistant
This skill should be used when helping with Home Assistant setup, including creating automations, modifying dashboards, checking entity states, debugging automations, and managing the smart home configuration. Use this for queries about HA entities, YAML automation/dashboard generation, or troubleshooting HA issues.
What this skill does
# Home Assistant Helper
## Overview
This skill provides tools and workflows for working with Home Assistant installations. It enables querying the live HA instance for entities, services, and configuration data, debugging automations, and generating YAML configurations for automations and dashboards.
**Key Capabilities:**
- Query entities, states, and services from the live HA installation
- Search for similar entities to use as examples
- Check automation states and execution history
- Generate YAML configurations for copy/paste into HA
- Find real examples from the user's setup to inform new configurations
## Core Workflow
When helping with Home Assistant tasks, follow this general approach:
1. **Understand the requirement** - What is the user trying to accomplish?
2. **Discover existing entities** - Use scripts to find relevant entities in their setup
3. **Find similar examples** - Search for existing automations or entities that do something similar
4. **Generate YAML** - Create well-formed YAML that can be copied directly into HA
5. **Explain the configuration** - Describe what the YAML does and how to install it
## Available Scripts
All scripts require the `HA_TOKEN` environment variable to be set, which contains the Home Assistant long-lived access token. The HA instance is available at `http://homeassistant.local:8123`.
**Important:** All scripts now use `uv` with inline PEP 723 dependency declarations and the `homeassistant-api` library for consistent, maintainable code. Dependencies are automatically installed by `uv` on first run.
### Entity Discovery
#### `ha_get_entities.py [domain]`
Retrieve all entities, optionally filtered by domain.
**Usage:**
```bash
uv run scripts/ha_get_entities.py # All entities
uv run scripts/ha_get_entities.py light # Just lights
uv run scripts/ha_get_entities.py sensor # Just sensors
```
**When to use:** To discover what entities are available, especially when building new automations.
#### `ha_get_state.py <entity_id>`
Get the current state and attributes of a specific entity.
**Usage:**
```bash
uv run scripts/ha_get_state.py light.living_room
```
**When to use:** To check current state, available attributes, or confirm an entity exists.
#### `ha_search_similar_entities.py <pattern>`
Search for entities matching a pattern in their entity_id or friendly_name.
**Usage:**
```bash
uv run scripts/ha_search_similar_entities.py "bedroom"
uv run scripts/ha_search_similar_entities.py "motion"
uv run scripts/ha_search_similar_entities.py "temperature"
```
**When to use:** To find entities related to what the user wants to automate. This is especially useful for finding examples before creating new automations.
### Automation Management
#### `ha_get_automations.py [search_term]`
Retrieve all automations, optionally filtered by search term.
**Usage:**
```bash
uv run scripts/ha_get_automations.py # All automations
uv run scripts/ha_get_automations.py motion # Automations with 'motion'
uv run scripts/ha_get_automations.py light # Automations with 'light'
```
**When to use:** To find existing automations that are similar to what the user wants to create. Use these as templates.
### Automation Trace Analysis
#### `ha_list_traces.py [automation_id]`
List automation execution traces with timestamps and status.
**Usage:**
```bash
uv run scripts/ha_list_traces.py # All traces
uv run scripts/ha_list_traces.py 1761430536701 # Specific automation traces (using numeric ID)
```
**Important:** Use the numeric automation ID (e.g., `1761430536701`), not the full entity_id (e.g., `automation.bedroom_light`). You can find the numeric ID in the automation's attributes from `ha_get_automations.py` output.
**When to use:** To see recent automation runs, their status, and timing. Use this to identify which run IDs to investigate further.
**Output includes:**
- Run ID (for use with `ha_get_trace.py`)
- Timestamp
- Execution state (stopped, running, etc.)
- Script execution status (finished, failed_single, failed_conditions, etc.)
- Last step executed
- Any errors
#### `ha_get_trace.py <automation_id> <run_id>`
Get detailed step-by-step trace for a specific automation run.
**Usage:**
```bash
uv run scripts/ha_get_trace.py 1761430536701 1ceef6b2b6f63a8745eb5dba3fe12f71
```
**Important:** Use the numeric automation ID (e.g., `1761430536701`), not the full entity_id.
**When to use:** To debug a specific automation run. Shows the complete execution path including:
- Trigger details
- Condition evaluations (pass/fail)
- Actions executed
- Variables at each step
- Timing information
- Error details if failed
**Tip:** Get the run_id from `ha_list_traces.py` output.
#### `ha_trace_summary.py <automation_id>`
Get aggregated statistics for an automation's execution history.
**Usage:**
```bash
uv run scripts/ha_trace_summary.py 1761430536701
```
**Important:** Use the numeric automation ID (e.g., `1761430536701`), not the full entity_id.
**When to use:** To understand automation reliability and performance over time.
**Output includes:**
- Total runs
- Success/failure counts and rates
- Average/min/max execution times
- Common error patterns
- Distribution of where executions complete
### Service Discovery
#### `ha_get_services.py [domain]`
Get all available services with descriptions and field information.
**Usage:**
```bash
uv run scripts/ha_get_services.py # All services
uv run scripts/ha_get_services.py light # Just light services
uv run scripts/ha_get_services.py climate # Just climate services
```
**When to use:** To discover what services are available and what parameters they accept.
### Configuration
#### `ha_get_config.py`
Get Home Assistant configuration including version, location, and components.
**Usage:**
```bash
uv run scripts/ha_get_config.py
```
**When to use:** To understand the HA setup, available integrations, or system information.
#### `ha_get_config_entries.py [domain]`
Get Home Assistant config entries, optionally filtered by domain. This is essential for services that require a `config_entry_id`, such as `telegram_bot.send_message`.
**Usage:**
```bash
uv run scripts/ha_get_config_entries.py # All config entries
uv run scripts/ha_get_config_entries.py telegram_bot # Just Telegram bots
uv run scripts/ha_get_config_entries.py mqtt # Just MQTT entries
```
**When to use:** When you need to get config_entry_id for services like Telegram notifications, or to discover what integrations are configured.
### Service Calling
#### `ha_call_service.py <domain> <service> <json_data>`
Call a Home Assistant service (use with caution).
**Usage:**
```bash
uv run scripts/ha_call_service.py light turn_on '{"entity_id": "light.living_room"}'
```
**When to use:** Rarely. Generally only for testing or when the user explicitly asks to control something.
## Typical Workflows
### Creating a New Automation
1. **Understand the goal** - Ask clarifying questions about triggers, conditions, and actions
2. **Find similar entities** - Use `ha_search_similar_entities.py` to find relevant entities
3. **Search for similar automations** - Use `ha_get_automations.py` with search terms to find examples
4. **Review existing automation** - If a similar one exists, examine its structure
5. **Generate YAML** - Create well-formatted YAML with:
- Descriptive alias
- Clear description
- Appropriate triggers
- Relevant conditions
- Necessary actions
- Proper mode (single, restart, queued, parallel)
6. **Provide copy-paste YAML** - Format for easy copying into HA configuration
7. **Explain** - Describe what the automation does and how to add it to HA
### Debugging an Automation
1. **Check automation status** - Use `uv run scripts/ha_get_state.py automation.automation_name` to check:
- Current state (on/off)
- Last triggered time
- Current execution count
- Automation mode
2. *Related in Data & Analytics
clawarr-suite
IncludedComprehensive management for self-hosted media stacks (Sonarr, Radarr, Lidarr, Readarr, Prowlarr, Bazarr, Overseerr, Plex, Tautulli, SABnzbd, Recyclarr, Unpackerr, Notifiarr, Maintainerr, Kometa, FlareSolverr). Deep library exploration, analytics, dashboard generation, content management, request handling, subtitle management, indexer control, download monitoring, quality profile sync, library cleanup automation, notification routing, collection/overlay management, and media tracker integration (Trakt, Letterboxd, Simkl).
querying-soql
IncludedSOQL query generation, optimization, and analysis with 100-point scoring. Use this skill when the user needs SOQL/SOSL authoring or optimization: natural-language-to-query generation, relationship queries, aggregates, query-plan analysis, and performance or safety improvements for Salesforce queries. TRIGGER when: user writes, optimizes, or debugs SOQL/SOSL queries, touches .soql files, or asks about relationship queries, aggregates, or query performance. DO NOT TRIGGER when: bulk data operations (use handling-sf-data), Apex DML logic (use generating-apex), or report/dashboard queries.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
habit-flow
IncludedAI-powered atomic habit tracker with natural language logging, streak tracking, smart reminders, and coaching. Use for creating habits, logging completions naturally ("I meditated today"), viewing progress, and getting personalized coaching.
app-store-optimization
IncludedApp Store Optimization (ASO) toolkit for researching keywords, analyzing competitor rankings, generating metadata suggestions, and improving app visibility on Apple App Store and Google Play Store. Use when the user asks about ASO, app store rankings, app metadata, app titles and descriptions, app store listings, app visibility, or mobile app marketing on iOS or Android. Supports keyword research and scoring, competitor keyword analysis, metadata optimization, A/B test planning, launch checklists, and tracking ranking changes.
visualizing-data
IncludedBuilds dashboards, reports, and data-driven interfaces requiring charts, graphs, or visual analytics. Provides systematic framework for selecting appropriate visualizations based on data characteristics and analytical purpose. Includes 24+ visualization types organized by purpose (trends, comparisons, distributions, relationships, flows, hierarchies, geospatial), accessibility patterns (WCAG 2.1 AA compliance), colorblind-safe palettes, and performance optimization strategies. Use when creating visualizations, choosing chart types, displaying data graphically, or designing data interfaces.