2.6 KiB
2.6 KiB
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
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.