Your Smart Home Doesn't Need the Cloud — Mine Almost Doesn't (OpenClaw + Home Assistant + Raspberry Pi 5

๐Ÿ“– Part 2 of 2
๐Ÿฆž Field-tested · March 2026

Your Smart Home Doesn't Need the Cloud —
Mine Almost Doesn't

OpenClaw + Home Assistant on a Raspberry Pi 5. The brain is local. The AI API isn't — and that's okay. Here's what it can actually do.

๐Ÿ  Home Assistant OS ๐Ÿฆž OpenClaw 2026.3 ๐Ÿค– Claude Sonnet 4.6 ✈️ Telegram
Audience: ๐ŸŸข Beginner Anyone can follow ๐ŸŸก Intermediate Basic Linux helpful ⚠️ Security Pay close attention

Setting Up the Home Assistant Skill

๐Ÿ”ง
This picks up where Part 1 left off. You have OpenClaw running and Telegram working. Now we connect it to Home Assistant so Claw can actually do things. ๐ŸŸข Beginner
โ„น️
Haven't done Part 1 yet?

This guide assumes OpenClaw is already installed as a HAOS add-on with Telegram working. Start with Part 1 first — it covers installation, security, and the initial setup.

Step 1 — Find the Skill
1
Search the skill registry ๐ŸŸข Beginner

Open the SSH terminal (via the Advanced SSH add-on or the OpenClaw web terminal) and run:

terminal
root@openclaw:/# npx clawhub search home assistant
home-assistant              Home Assistant  (3.721)
home-assistant-clawbradge   Home Assistant Clawbridge  (3.524)
home-assistant-agent-secure Home Assistant Agent (Secure)  (3.446)

Three main options appear. Here's why we pick home-assistant:

SkillApproachVerdict
home-assistantDirect REST API — full control, bidirectional webhooks✅ Best choice
home-assistant-clawbradgeClawBridge API middleman — adds an extra dependency⚠️ Avoid
home-assistant-agent-secureRoutes through HA's own NLU — limits what Claude can understand❌ Too restrictive
2
Install the skill
terminal
root@openclaw:/# npx clawhub --workdir /config/clawd install home-assistant

If it says Already installed — it may have been pulled in automatically. That's fine, move to Step 3.

Step 2 — Create a Long-Lived Access Token
3
Generate the token in Home Assistant ⚠️ Security
  • Click your profile avatar — bottom left of the HA sidebar
  • Scroll to the bottom → Long-Lived Access Tokens
  • Click Create Token → name it openclaw
  • Copy the token immediately — it's shown only once
๐Ÿ”ด
This token gives full HA API access

Anyone with this token can control every device in your home. Store it securely — never paste it in forums or commit it to git. If accidentally exposed, delete it immediately in HA and create a new one.

Step 3 — Configure the Skill
4
Create the config file
terminal
root@openclaw:/# mkdir -p ~/.config/home-assistant
root@openclaw:/# cat > ~/.config/home-assistant/config.json << 'EOF'
{
  "url": "http://192.168.x.x:8123",
  "token": "YOUR_TOKEN_HERE"
}
EOF

Replace 192.168.x.x with your Pi's local IP address.

⚠️
Don't use localhost or supervisor/core

localhost refers to the Docker container, not the Pi. http://supervisor/core rejects long-lived user tokens with a 401. Use your Pi's actual local IP address — e.g. http://192.168.1.x:8123. Set a static DHCP lease in your router so this IP never changes.

5
Make the skill scripts executable and test
terminal
root@openclaw:/# chmod +x /config/clawd/skills/home-assistant/scripts/ha.sh
root@openclaw:/# export PATH="$PATH:/config/clawd/skills/home-assistant/scripts"
root@openclaw:/# echo 'export PATH="$PATH:/config/clawd/skills/home-assistant/scripts"' >> /etc/environment
root@openclaw:/# ha.sh info
{"message":"API running."}

API running means you're connected. If you get a 401, the token is wrong — generate a new one in HA.

6
Enable full tool profile and restart

By default OpenClaw's tool profile is set to messaging — which intentionally limits the agent to chat-only. For a home assistant that actually does things, switch it to full:

terminal
root@openclaw:/# openclaw config set tools.profile full

Then restart the add-on from Home Assistant → Apps → OpenClaw Assistant → Restart. This loads the home-assistant skill and full tool access into the agent's context.

๐Ÿ’ก
Always restart after installing a new skill

Skills are loaded into the agent's context at startup. Installing mid-session doesn't make them available until the next restart — this is the single most common "why isn't my skill working" question.

Claw In Action — Real Conversations

๐Ÿ’ฌ
These are real Telegram conversations from our setup session, with location and device details anonymized. This is what it actually looks like. ๐Ÿ”ต All Levels
Demo 1 — Reading Sensors
๐Ÿฆž
Claw
@YourClawBot · online
What's the temperature and humidity right now?
11:58 PM
๐ŸŒก️ Temperature: 23.8 °C
๐Ÿ’ง Humidity: 25.0%

Pretty comfortable temp, though 25% humidity is on the dry side. ๐Ÿœ️
11:58 PM
๐Ÿ’ก
Notice what Claw added

A standard HA dashboard returns 23.8. Claw returns 23.8°C — dry side for your region ๐Ÿœ️. The AI layer adds context and judgment, not just raw data.

Demo 2 — Controlling Devices
๐Ÿฆž
Claw
@YourClawBot · online
Start the robot vacuum
11:59 PM
Done! ๐Ÿค–๐Ÿงน cleaning_bot is off the dock and vacuuming. It was docked and ready to go.
11:59 PM

No confirmation prompt for routine home control — Claw executed immediately. The safe-exec approval workflow is smart enough to classify HA service calls as low-risk. Asking "are you sure you want to turn on the lights?" every time would be exhausting.

Demo 3 — Reasoning Over Your Setup
๐Ÿฆž
Claw
@YourClawBot · online
What automations do I have and which ones are currently enabled?
12:02 AM
You have 37 automations — all enabled except one:

Enabled (36)
  • Morning Routines, Before Sleep, Lets Sleep
  • AC Auto (above/below threshold)
  • Robot Vacuum (start, stop, recharge, low battery)
  • Presence Detection (on/off, proximity)
  • PC Control (turn on/off, monitors ready)
  • Weather Announce, Rain Sound, Play Melody
  • Weekly Cleaning Schedule
  • + 25 more...

Disabled (1)
  • Vacuum Charging Off
Want me to enable that one or dig into any of them?
12:02 AM
Demo 4 — The Power Consumption Story
๐Ÿฆž
Claw
@YourClawBot · online
What's consuming the most power right now?
12:03 AM
Here's your current power consumption, ranked:

๐Ÿฅ‡ Wall Socket 2153.6 W
๐Ÿฅˆ PC Socket74.2 W
๐Ÿฅ‰ Mini Fridge49.5 W
4  Main Monitor38.5 W
5  Second Monitor12.9 W
6  Vacuum Socket7.8 W

Total tracked: ~337 W

Wall Socket 2 is the biggest draw at 153.6W — do you know what's plugged into it? Might be worth investigating if that's unexpectedly high.
12:03 AM
๐Ÿ”
This is the moment that makes it worth it

Claw didn't just list the numbers. It noticed an anomaly — one socket drawing significantly more than expected — flagged it, and asked a follow-up question. That's genuine reasoning over your home's data, not a dashboard query.

Honest Limitations

๐Ÿ”
This setup is genuinely impressive — but it's important to know what it can't do yet. Honesty here saves you frustration later. ๐Ÿ”ต All Levels
Limitation 01 — It's not fully local

The AI reasoning (Claude Sonnet 4.6) runs on Anthropic's cloud API. Your home data, automation names, and sensor readings are sent to Anthropic's servers for each query. The execution is local — the thinking is cloud. If privacy is a hard requirement, look at local models via Ollama instead of the Anthropic API.

Limitation 02 — No real-time event awareness

Claw is reactive, not proactive by default. It responds when you message it. It doesn't automatically know when motion is detected or a door opens — unless you set up HA webhooks to push events to OpenClaw. That's a more advanced setup not covered here.

Limitation 03 — No memory of previous sessions by default

Each conversation starts fresh. Claw doesn't remember that you asked about the vacuum last Tuesday. The memory skill helps but requires the agent to explicitly save things — it doesn't happen automatically.

Limitation 04 — Entity naming matters

Claw finds entities by name. If your entities have cryptic auto-generated names like switch.j65152198_97f0_socket_1 it will struggle to map natural language to the right device. Rename your entities in HA to human-readable names — it makes a huge difference.

Limitation 05 — API costs scale with usage

Every Telegram message is an API call to Anthropic. Light use (a few queries a day) costs pennies. Heavy use — asking for status updates every few minutes — adds up. Set a monthly spend limit in the Anthropic console.

Limitation 06 — tools.profile: full is powerful but broad

Switching to full tool profile gives Claw shell access, file read/write, web fetch, and more — not just HA control. The safe-exec skill adds an approval layer for dangerous commands, but be aware of the expanded surface area. Don't share your Telegram bot with others once this is enabled.

๐Ÿ’ก
The right mental model

Think of Claw as a very capable assistant who can see and control your smart home — but needs to be asked. It's not an autonomous agent watching everything in real time. It's a brilliant responder that has full access when you engage it.

Commands to Try on Telegram

๐ŸŽฏ
Copy these into Telegram and send them to your bot. They cover the most useful things Claw can do with Home Assistant. ๐ŸŸข Beginner
Sensors & Status
Temperature
"What's the temperature and humidity right now?"
Reads your climate sensors and gives context
Power
"What's consuming the most power right now?"
Ranks all smart plug readings, flags anomalies
Presence
"Is anyone home?"
Checks device trackers and presence sensors
Overview
"Give me a home status summary"
Lights, devices, climate — all at once
Printer
"How are my printer ink levels?"
Reads cartridge percentages from HA
Vacuum
"What's the robot vacuum battery at?"
Checks cleaning_bot battery and status
Control Commands
Vacuum
"Start the robot vacuum"
Sends it off the dock immediately
AC
"Turn on the AC to cool mode"
Triggers your AC scenes
PC
"Turn off the PC"
Triggers the turn_off_pc automation
Scene
"Activate movie night scene"
Runs any HA scene by natural name
Lights
"Turn off all the lights"
Controls all light entities at once
Plug
"Turn off the speaker socket"
Controls individual smart plugs by name
Intelligence Queries
Automations
"What automations do I have and are they all on?"
Lists all automations, flags any disabled ones
Energy
"Which device used the most energy today?"
Queries total_energy sensors and ranks them
Maintenance
"Does the vacuum need any maintenance?"
Checks brush/filter lifespan sensors
Updates
"Are there any Home Assistant updates available?"
Reads update entities from HA
Weather
"What's the weather like outside today?"
Reads your local weather sensors from HA
Calendar
"What's on my calendar today?"
Reads your HA calendar integrations
๐Ÿ’ก
Use natural language — don't worry about entity names

You don't need to know that the vacuum is vacuum.cleaning_bot. Just say "start the robot vacuum" and Claw figures out the right entity. The more human-readable your HA entity names are, the better this works.

Lessons Learned

๐Ÿ““
Everything we hit during this specific integration — captured so you don't have to. ๐Ÿ”ต All Levels
Lesson 01

localhost doesn't work — use your Pi's IP. Inside the Docker container, localhost refers to the container itself. http://supervisor/core rejects long-lived user tokens with a 401. The correct URL is your Pi's local IP: http://192.168.x.x:8123. Set a static DHCP lease in your router so it never changes.

Lesson 02

tools.profile must be set to "full" for the HA skill to work. The default messaging profile intentionally limits the agent to chat-only — no exec, no file access, no HTTP calls. This is a deliberate safety default, not a bug. Switch to full after you've secured the bot (Telegram allowFrom, dmPolicy pairing).

Lesson 03

ha.sh isn't in PATH by default. The skill installs to /config/clawd/skills/home-assistant/scripts/ha.sh but doesn't add itself to PATH. You need to chmod +x it and add the scripts directory to /etc/environment manually.

Lesson 04

The agent may claim it can't make HTTP requests even after the skill is installed. This is a tool profile issue — the agent was running under messaging profile mid-session. After switching to full and restarting the add-on, the confusion resolves. Always restart after changing the tool profile.

Lesson 05

No confirmation prompt for home control — this is correct. Safe-exec's risk model classifies HA service calls (turn on lights, start vacuum) as LOW risk and executes immediately. Only dangerous shell commands (rm -rf, disk operations) trigger an approval request. This is the right behaviour for a home assistant.

Lesson 06

Entity naming in HA directly affects how well Claw understands commands. Auto-generated entity IDs like switch.j65152198_97f0 confuse the agent. Rename your entities and devices in HA to human-readable names — switch.pc_power, switch.kitchen_speaker etc. It takes 10 minutes and makes a huge difference.

Lesson 07

Claude adds context, not just data. Asking "what's the humidity?" returns a number from any dashboard. Asking Claw returns the number plus a comment about whether it's comfortable, dry, or unusual for your climate. This contextual reasoning is the actual value-add of the AI layer over standard HA dashboards.

Lesson 08

Power anomaly detection emerged naturally. We didn't ask Claw to flag anomalies — we asked for a power ranking. It noticed one socket drawing significantly more than others and flagged it unprompted. This kind of emergent reasoning is what makes the setup genuinely useful rather than just a voice-controlled dashboard.

What's Next
๐Ÿ””
Inbound Webhooks

Push HA events to Claw — motion detected, door opened, automation triggered. Makes Claw proactive, not just reactive.

Cron Skill

Schedule a morning briefing — weather, calendar, power overnight, vacuum status — delivered to Telegram automatically.

๐Ÿง 
Memory Skill

Have Claw remember your preferences — "I like the AC at 22°C when I'm working" — and apply them proactively.

๐Ÿ“ท
Camsnap Skill

If you have IP cameras, pull a snapshot to Telegram on demand — or automatically when motion is detected.

Comments