9a22cea15925831ddf96aa1406f76ba70e47e1e3
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
- Sensors —
openclaw_status,openclaw_model,openclaw_session_count,openclaw_last_activity,openclaw_connected - Conversation agent — appears in Assist & Voice PE as a native agent
- Service calls —
openclaw.send_messagefor automations - Events —
openclaw_message_receivedfor triggering automations from AI responses - Zero-config — auto-discovers the addon via Supervisor API, no tokens or URLs to enter
Installation
HACS (recommended)
- Open HACS → Integrations → + Explore & Download Repositories
- Search for OpenClaw and install
- Restart Home Assistant
- Go to Settings → Devices & Services → Add Integration → OpenClaw
Manual
- Copy
custom_components/openclaw/into your HAconfig/custom_components/directory - Copy
www/openclaw-chat-card.jsintoconfig/www/ - Restart Home Assistant
- 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:
- Go to Settings → Voice assistants
- Open the Expose tab
- 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 (
truncateorclear) - 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.
Description
Languages
Python
61.2%
JavaScript
38.8%