-
Self-hosted NanoClaw agent responding on WhatsApp to control Home Assistant via ha-mcp.
- This NanoClaw agent responds to me (or anyone else I set it to) over WhatsApp. On its own, it's a chat bot. Wired into ha-mcp, it gets the entire Home Assistant surface to work with — plus Claude's very powerful reasoning between the prompt and the action. The stack:
- NanoClaw — runs persistent, containerized Claude agents addressable from chat apps (WhatsApp, Telegram, Slack, Discord, etc). Each agent has its own memory, workspace, and scheduled-task system. Built on Anthropic's Claude Agent SDK.
- ha-mcp — the unofficial Home Assistant MCP server. Exposes various tools across services, automations, scripts, dashboards, camera snapshots, history, system health, and more.
- Home Assistant — open-source, self-hosted home automation platform. Runs on the local network, integrates with thousands of smart devices (cameras, sensors, lights, locks, climate, media). Instructions I've given over WhatsApp:
- Script/automation writing
- For example "Turn off the entrance floor light if no motion is detected for 10 minutes after sunset." Writes and saves an HA automation with the right triggers, conditions, and action chain.
- Frontend Lovelace edits
- "Add a card on the main dashboard for the new motion sensor" Updates config with the right card type, entity, and position.
- Debugging (it reads logs and even automation traces. suggests and executes fixes)
- Retrieves CCTV snapshots and understands what it sees — scene comprehension, not just the usual "motion detected!"
- For example, "Close the gate when the second car is parked and the brake lights are off." Polls every few seconds, evaluates the frame, fires the gate-close only when satisfied.
- or "Is the driveway clear?"
- The condition logic isn't pre-programmed — the agent figures out from the prompt what to look for.
- Scheduling ad-hoc actions ("Open the gate and turn on the ground floor lights in 5 mins, my friends are otw over")
- Because of Claude's reasoning capability, messages like "close gate", "what's on the driveway cam", or "flash the living room lights like a police siren for 5 seconds" get executed reliably. Scheduled actions:
- Inside Home Assistant — automations and time-triggered scripts that persist and run even when the agent is asleep.
- Outside, via NanoClaw — cron-like tasks that wake the agent on a schedule. "Every morning at 7am, summarize the overnight logs and flag anything weird" runs daily; the agent reads the logs and pings only if something's off. What makes this special:
- The difference between "Alexa, turn off the light" and this setup is the reasoning capability between the prompt and the eventual action. And the ability to debug if things don't go as planned.
- NanoClaw's persistent memory means the agent remembers what was asked in the chat and improves over time, learning the cameras (i.e. even the type of cars observed in the CCTV image), the common requests.
- Because it interacts with us via WhatsApp, it can respond to me, other NanoClaw WhatsApp Agents, or group chat participants (having a laugh with my smart home).
- Makes HA reachable beyond the local network — NanoClaw server and Home Assistant server sit on the same network, making Home Assistant reachable (via WhatsApp) from anywhere! No port opening and config. No VPN required. Built with:
- NanoClaw, Home Assistant, ha-mcp.
