openclawclaudev1.0.0

Home Assistant Dashboard Manager

tecnocrata@tecnocrata⭐ 0 stars· last commit 7mo ago· 0 open issues

Manage Home Assistant dashboards via WebSocket API. Full CRUD (create, list, update, delete) for dashboards with zero-dependency Python WebSocket client. Supports modern HA 2026+ sections format and legacy card layouts.

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

7.4/10
Verified
Mar 9, 2026

// RATINGS

⭐GitHub Stars
⭐ 0 on GitHubGitHub ↗

New / niche

🟢ProSkills ScoreAI Verified
7.4/10
📍

Not yet listed on ClawHub or SkillsMP

// README

Home Assistant Dashboard Manager Skill

OpenClaw skill for creating and managing Home Assistant dashboards (Lovelace) programmatically via WebSocket API.

Features

  • ✅ Create dashboards from YAML configurations
  • ✅ Update existing dashboards
  • ✅ List all dashboards
  • ✅ Delete dashboards
  • ✅ Zero dependencies - WebSocket client implemented from scratch
  • ✅ Modern sections format - Supports Home Assistant 2026+ dashboard layout

Installation

Via OpenClaw (Recommended)

openclaw skills install home-assistant.skill

Manual Installation

  1. Download home-assistant.skill from releases
  2. Copy to ~/.openclaw/skills/
  3. Extract: python3 -m zipfile -e home-assistant.skill .

Quick Start

Create a Dashboard

cd ~/.openclaw/skills/home-assistant/scripts

python3 ha_dashboard.py create \
  "wss://your-ha-instance.com/api/websocket" \
  "YOUR_LONG_LIVED_TOKEN" \
  dashboard-config.yaml \
  "My Dashboard" \
  "my-dashboard" \
  "mdi:home"

List Dashboards

python3 ha_dashboard.py list \
  "wss://your-ha-instance.com/api/websocket" \
  "YOUR_LONG_LIVED_TOKEN"

Update Dashboard

python3 ha_dashboard.py update \
  "wss://your-ha-instance.com/api/websocket" \
  "YOUR_LONG_LIVED_TOKEN" \
  "my-dashboard" \
  updated-config.yaml

Delete Dashboard

python3 ha_dashboard.py delete \
  "wss://your-ha-instance.com/api/websocket" \
  "YOUR_LONG_LIVED_TOKEN" \
  "my-dashboard"

Dashboard Configuration

The skill supports the modern sections-based dashboard format (HA 2026+):

views:
  - type: sections
    title: Network Dashboard
    path: network
    sections:
      - type: grid
        cards:
          - type: heading
            heading: Router Status
          - type: gauge
            entity: sensor.cpu_usage
            min: 0
            max: 100
            severity:
              green: 0
              yellow: 60
              red: 80

See references/dashboard-config.md for complete syntax reference.

Requirements

  • Python 3.7+ (uses asyncio)
  • Home Assistant with WebSocket API enabled (default)
  • Long-Lived Access Token from Home Assistant

Development

This project uses uv for Python dependency management:

# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install dependencies (optional, script has zero deps)
uv sync

# Install with YAML support
uv sync --extra yaml

Optional Dependencies

  • PyYAML - For better YAML parsing (gracefully degrades without it)
# Ubuntu/Debian
sudo apt install python3-yaml

# Or via pip
pip install pyyaml

Security

⚠️ Important: Never commit your Home Assistant tokens or URLs to version control.

Getting a Long-Lived Access Token

  1. Open Home Assistant
  2. Go to Profile → Security
  3. Scroll to Long-Lived Access Tokens
  4. Click Create Token
  5. Give it a name (e.g., "OpenClaw Dashboard Manager")
  6. Copy and save the token securely

Best Practices

  • Create separate tokens for different tools
  • Name tokens clearly so you know what they're for
  • Revoke tokens you're no longer using
  • Store tokens in environment variables:
export HA_URL="wss://your-instance.com/api/websocket"
export HA_TOKEN="your_token_here"

python3 ha_dashboard.py list "$HA_URL" "$HA_TOKEN"

Documentation

Examples

Network Monitoring Dashboard

views:
  - type: sections
    title: Network
    path: network
    sections:
      - type: grid
        cards:
          - type: heading
            heading: Router Status
          - type: horizontal-stack
            cards:
              - type: gauge
                entity: sensor.router_cpu
                name: CPU
                min: 0
                max: 100
              - type: gauge
                entity: sensor.router_memory
                name: Memory
                min: 0
                max: 100
          - type: entities
            title: Interfaces
            entities:
              - entity: switch.eth1_wan
                name: WAN (Internet)
              - entity: switch.eth2_lan
                name: LAN

Home Automation Dashboard

views:
  - type: sections
    title: Home
    path: home
    sections:
      - type: grid
        cards:
          - type: heading
            heading: Climate
          - type: entity
            entity: climate.living_room
            name: Living Room
          - type: heading
            heading: Lights
          - type: entities
            entities:
              - light.living_room
              - light.bedroom
              - light.kitchen

How It Works

The skill uses Home Assistant's WebSocket API to:

  1. Authenticate with your long-lived access token
  2. Send commands to create/update/list/delete dashboards
  3. Parse YAML configurations into dashboard structures
  4. Save configurations directly to Home Assistant

The WebSocket client is implemented from scratch using Python's standard library (asyncio, ssl, socket) - no external dependencies required.

Troubleshooting

Authentication Failed

  • Verify your token is valid and not expired
  • Check the token has proper permissions
  • Ensure you're using the correct WebSocket URL

Dashboard Not Found

  • Use list command to see available dashboards
  • Check the URL path matches exactly (case-sensitive)

Config Save Fails

  • Validate YAML syntax
  • Check that all entity IDs exist in your Home Assistant
  • Ensure card types are supported by your HA version

WebSocket Connection Issues

  • Verify URL format: wss:// for HTTPS, ws:// for HTTP (local only)
  • Check network connectivity to your Home Assistant instance
  • Ensure Home Assistant is running and accessible

Contributing

Contributions are welcome! Please:

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Test thoroughly
  5. Submit a pull request

License

MIT License - See LICENSE for details

Author

Created by Enrique Ortuno for the OpenClaw ecosystem.

GitHub: https://github.com/tecnocrata

Links

Version History

1.0.0 (2026-03-08)

  • Initial release
  • WebSocket API implementation
  • Create/update/list/delete dashboards
  • Sections-based dashboard format support
  • Zero external dependencies
  • Complete documentation

// HOW IT'S BUILT

TECHNOLOGY STACK

python
websocket

This skill is built with python, websocket..

KEY FILES

SKILL.md

// REPO STATS

0 stars
0 open issues
Last commit: 7mo ago