2026-02-20 13:07:28 +02:00

OpenClaw Integration for Home Assistant

A native Home Assistant integration for communicating with the OpenClaw Assistant addon.

Features

  • Chat card — Lovelace card with streaming AI responses, file attachments, and voice mode
  • Sensorsopenclaw_status, openclaw_model, openclaw_session_count, openclaw_last_activity, openclaw_connected
  • Conversation agent — appears in Assist & Voice PE as a native agent
  • Service callsopenclaw.send_message for automations
  • Eventsopenclaw_message_received for triggering automations from AI responses
  • Zero-config — auto-discovers the addon via Supervisor API, no tokens or URLs to enter

Installation

  1. Open HACS → Integrations → + Explore & Download Repositories
  2. Search for OpenClaw and install
  3. Restart Home Assistant
  4. Go to Settings → Devices & Services → Add Integration → OpenClaw

Manual

  1. Copy custom_components/openclaw/ into your HA config/custom_components/ directory
  2. Copy www/openclaw-chat-card.js into config/www/
  3. Restart Home Assistant
  4. Add the integration via Settings → Devices & Services

Prerequisites

The OpenClaw Assistant addon must be installed and running.
The integration will auto-detect it — no manual configuration needed.

Exposed entities (important)

OpenClaw uses Home Assistant's native Assist entity exposure controls. Only entities exposed to Assist are included in the context sent to OpenClaw.

Configure this in Home Assistant:

  1. Go to Settings → Voice assistants
  2. Open the Expose tab
  3. Select which entities are exposed to Assist

Advanced options

Open Settings → Devices & Services → OpenClaw → Configure to tune:

  • Include exposed entities context
  • Max context characters
  • Context overflow strategy (truncate or clear)
  • Enable tool calls (execute HA services from model tool-call responses)
  • Require wake word
  • Wake word text (for example: hey openclaw)
  • Always-on voice mode (continuous listening while the card is open)

Chat Card

The chat card is registered automatically when the integration loads — no manual resource configuration needed. Just add it to any dashboard:

type: custom:openclaw-chat-card

Services

openclaw.send_message

Send a message to OpenClaw from an automation or script.

service: openclaw.send_message
data:
  message: "What's the weather like today?"
  session_id: "optional-session-id"

openclaw.clear_history

service: openclaw.clear_history
data:
  session_id: "optional-session-id"

Events

openclaw_message_received

Fired whenever OpenClaw sends a response. Use in automations:

trigger:
  - platform: event
    event_type: openclaw_message_received
action:
  - service: notify.mobile_app
    data:
      message: "{{ trigger.event.data.message }}"

License

See LICENSE.

S
Description
No description provided
Readme 449 KiB
Languages
Python 61.2%
JavaScript 38.8%