Before you start
A chat assistant and a text file of fictional device states. No home hardware changes are required for this exercise.
Why this lesson exists
The local-home-assistant experiment separates language interpretation from device authority. Start by simulating a lamp command instead of giving a model unrestricted control.
Do the exercise
Choose one allowed action
Use a fictional desk lamp. Define set_light with a room chosen from a fixed list and a state of on or off. Exclude locks, alarms and purchases.
Translate language into a proposal
Give the assistant five phrases and ask for a structured action or a clarification question. It should not execute anything. Ambiguous rooms must remain ambiguous.
Validate before acting
Reject unknown device names and invalid values. Require the approved action to pass a deterministic check outside the model. Log the requested and confirmed state separately.
Test loss of service
Simulate an unavailable model and an unresponsive lamp. Show an honest error and preserve a normal manual switch. Expand only after these cases behave predictably.
A prompt to adapt
Replace the bracketed parts with your own practice details.
Design a simulated lamp assistant. Allowed action: set_light(room, state), rooms: desk or kitchen, state: on or off. For each request return a proposed action or a clarification question. Never claim execution. Give tests for ambiguous rooms, invalid values, offline devices and a manual override.
What this looks like
“Make it comfortable” is not permission to change every appliance. “Turn the desk lamp off” can become a validated proposal; success still needs device confirmation.
Check your result
Use evidence from your output. A confident explanation from the AI is not enough.
- Unknown actions are rejected.
- An offline device never produces a false success.
- The manual fallback is explicit.
If it isn’t working
A local model does not make cloud-connected devices local. Inventory the full data path before claiming privacy or connecting real equipment.
Optional. Progress stays in this browser.
Where this came from
Adapted from the archived LinkedIn theme “I Gave My House a Brain and Refused to Give It the Internet.” See the post coverage and editorial method.
Prepared September 2026. Tools and interfaces change; use current official setup instructions. Session lengths are estimates.