Skill 详情
ha-dashboard
Relevant but limited to Lovelace dashboards, cards, views, and themes.
使用前先检查
自动化审核只检查相关性,不代表安全审查或推荐。使用前请阅读来源中的说明。
SKILL.md
这段内容是审核时保存的快照。外部来源才是完整且最新的版本。
---
name: ha-dashboard
description: "Configure Home Assistant Lovelace dashboards, cards, views, and themes. Use when working with dashboard YAML, card configuration, view layouts, custom cards, or frontend theming."
allowed-tools: Read, Write, Edit, Grep, Glob, WebFetch
---
# Home Assistant Dashboard Skill
> Configure Lovelace dashboards, cards, views, and themes for Home Assistant.
## Before You Start
**This skill prevents 5 common errors and saves ~40% tokens.**
| Metric | Without Skill | With Skill |
|--------|--------------|------------|
| Setup Time | 30+ min | 10 min |
| Common Errors | 5 | 0 |
| Token Usage | ~8000 | ~4800 |
### Known Issues This Skill Prevents
1. YAML indentation errors (must use 2 spaces, never tabs)
2. Invalid entity ID format (must be `domain.entity_name`)
3. Missing required card properties (e.g., `entity` for button cards)
4. Incorrect view type configuration
5. Theme variables with wrong syntax
## Quick Start
### Step 1: Enable YAML Mode (Optional)
```yaml
# configuration.yaml
lovelace:
mode: yaml
```
**Why this matters:** YAML mode gives full control over dashboard configuration and enables version control.
### Step 2: Create Basic Dashboard Structure
```yaml
# ui-lovelace.yaml or dashboards.yaml
title: My Home
views:
- title: Home
path: home
cards:
- type: markdown
content: Welcome to your dashboard!
```
**Why this matters:** This minimal structure validates your YAML setup before adding complexity.
### Step 3: Add Cards to Views
```yaml
views:
- title: Living Room
path: living-room
cards:
- type: entities
title: Lights
entities:
- light.living_room
- light.kitchen
- type: weather-forecast
entity: weather.home
forecast_type: daily
```
**Why this matters:** Cards are the building blocks of dashboards - start with simple cards before complex ones.
## Critical Rules
### Always Do
- Use 2-space indentation consistently
- Use entity ID format: `domain.entity_name` (e.g., `light.living_room`)
- Validate YAML before reloading (use an online YAML validator)
- Define `tap_action` for interactive cards
- Test on mobile devices
### Never Do
- Use tabs for indentation
- Hardcode entity names that might change
- Create views with 20+ cards (split into multiple views)
- Forget `forecast_type` on weather-forecast cards (required since 2023)
- Mix UI-managed and YAML-managed dashboards without understanding the mode
### Common Mistakes
**Wrong:**
```yaml
type: button
entity:light.living_room
tap_action:
action: toggle
```
**Correct:**
```yaml
type: button
entity: light.living_room
tap_action:
action: toggle
```
**Why:** Missing space after colon and incorrect indentation are the most common YAML errors.
## Known Issues Prevention
| Issue | Root Cause | Solution |
|-------|-----------|----------|
| "Unknown card type" | Missing custom card resource | Add to `lovelace.resources` |
| Cards not updating | Browser cache | Hard refresh (Ctrl+Shift+R) |
| Theme not applying | Wrong variable name | Check theme variable spelling |
| Blank dashboard | YAML syntax error | Validate YAML, check logs |
| Entity unavailable | Wrong entity ID | Check entity in Developer Tools > States |
## Configuration Reference
### Dashboard Configuration (configuration.yaml)
```yaml
lovelace:
mode: yaml # or 'storage' for UI mode
resources:
- url: /local/card.js # Custom card resources
type: module
dashboards:
lovelace-custom:
mode: yaml
title: Custom
icon: mdi:view-dashboard
show_in_sidebar: true
filename: custom-dashboard.yaml
```
**Key settings:**
- `mode`: `yaml` for manual control, `storage` for UI editing
- `resources`: Load custom cards/CSS (only in YAML mode)
- `dashboards`: Define additional dashboards
### View Configuration
```yaml
views:
- title: View Name # Tab title
path: view-path # UR在 GitHub 阅读完整来源 (打开外部页面)