1. Learn
  2. Make it useful

Local AI for Home Assistant: a private voice assistant with Ollama

Connect Home Assistant to a model running on your own hardware with the Ollama integration. What hardware you need, which model to pick, and how to set it up.

Updated Oct 26, 2026 · RunItLocal.io

Home Assistant has an Ollama integration, so you can use a model on your own hardware as its conversation agent. Ask "is the garage door open?" or "turn off everything downstairs" in plain words, by text or voice, and nothing goes to the cloud. You need a machine with a graphics card running Ollama, and Home Assistant needs to reach it over your network.

The layout

Most people run two boxes:

  • Home Assistant on whatever it already runs on: a Raspberry Pi, a mini PC, or a virtual machine.
  • Ollama on a PC with a GPU. A Pi can't run a useful model at a usable speed.

They talk over your home network. Home Assistant sends the request and a description of your devices, and the model replies with an answer or a request to control something.

Step 1: Let Ollama listen on the network

By default Ollama only accepts requests from the same machine. On the GPU machine, make it listen on your network:

OLLAMA_HOST=0.0.0.0 ollama serve

That's for a Linux machine started by hand. If Ollama runs as a service, or on Windows or Mac, set OLLAMA_HOST as an environment variable the way that system expects and restart Ollama. Full details are in Ollama on your network. Don't forward port 11434 to the internet; Ollama has no login.

Then pull a model:

ollama pull qwen3:8b

Step 2: Add the integration

In Home Assistant, add the Ollama integration from the integrations page. It asks for the address of your Ollama machine, like http://192.168.1.50:11434, and then which model to use.

The integration's options let you set the instructions the model gets and whether it may control your devices or only answer questions. Then set it as the conversation agent in your voice assistant settings. Menu names change between Home Assistant releases, so if something has moved, the integration's documentation page is the reliable reference.

Step 3: Choose what it can see

Home Assistant only gives the model the devices you expose to its assistant. This matters more than it sounds:

  • Fewer devices means better answers. Every exposed device goes into the prompt. A small model with 200 entities in front of it gets confused; with 30 well-named ones it does fine.
  • Name things clearly. "Kitchen ceiling light" works far better than "light.shelly_1pm_a3f2".
  • Leave out anything risky, like locks or the alarm, until you trust it.

Which model to use

Home control needs a model that's good at tool calling and quick to answer. Bigger isn't automatically better here, because you're waiting for every reply.

CardPickNotes
8 GBQwen3 8BThe usual choice. Reliable with a modest device list
6 GB or lessQwen3 4BWorks for simple commands; keep the device list short
12 GBQwen3 14BBetter with vague requests and bigger homes

Turn off Qwen3's thinking for this. Add /no_think to the instructions, so it answers immediately instead of reasoning first.

Hardware: cheap and always on

This machine runs all day, so power and noise matter more than peak speed. Our Starter build, a used desktop with an RTX 3060 12 GB, comes to about $300 to $400 and draws about 200 W under load, much less at idle. Full parts list on the builds page.

Here's that card from our calculator:

RTX 3060, 12 GB · estimated with our calculator · full page

  • Qwen3 4BQuick everyday chat and summaries
    ~79 tok/s
    Runs greatqwen3:4b
  • Qwen3 8BA solid all-rounder for chat and writing
    ~38 tok/s
    Runs greatqwen3:8b
  • Gemma 3 12BReads images as well as text
    ~24 tok/s
    Usablegemma3:12b
  • Qwen3 14BNoticeably smarter at reasoning and code
    ~21 tok/s
    Usableqwen3:14b
  • gpt-oss 20BOpenAI's open model. Fast, strong reasoning
    needs 16 GB
    Too biggpt-oss:20b
  • Gemma 3 27BGoogle's best open model for its size
    needs 19 GB
    Too biggemma3:27b
  • Qwen3 30B-A3B30B smarts at small-model speed
    needs 21 GB
    Too bigqwen3:30b
  • Qwen3 32BStrong coding and long answers
    needs 22 GB
    Too bigqwen3:32b
  • Llama 3.3 70BClose to the big cloud models
    needs 45 GB
    Too bigllama3.3:70b
  • gpt-oss 120BOpenAI's largest open model
    needs 67 GB
    Too biggpt-oss:120b
  • Qwen3 235B-A22BAlibaba's flagship open model, for multi-GPU rigs
    needs 144 GB
    Too bigqwen3:235b
  • DeepSeek R1 671BThe full DeepSeek R1, for the biggest rigs
    needs 406 GB
    Too bigdeepseek-r1:671b

About 38 tok/s for Qwen3 8B is plenty, since home replies are a sentence or two. For a quiet, always-on box, see the home AI server build.

Add voice

Home Assistant's voice pipeline can also run speech locally, with Whisper for speech-to-text and Piper for text-to-speech, so the whole loop stays in your house. Whisper on the GPU machine is much faster than on a Pi. For the general picture, see build a local voice assistant.

When it goes wrong

  • It says it did something but nothing happened. Usually the model wasn't allowed to control devices, or the device isn't exposed. Check both.
  • Slow first reply. Ollama unloads idle models after a few minutes. Raise its keep-alive so the model stays in memory.
  • It controls the wrong thing. Rename devices and areas clearly, and expose fewer of them.

Want to know what else your card can run? Check every GPU.