Connect Home Assistant to OpenLLM Buddy

Connect Home Assistant to OpenLLM Buddy through an OpenAI-compatible conversation integration for a private smart-home assistant.

No-code, automation & home · Integration guide

What is Home Assistant?

Home Assistant is the open-source smart-home hub. Its Assist feature lets you control devices and ask questions by voice or chat through a conversation agent. Visit Home Assistant.

Why connect OpenLLM Buddy?

The built-in OpenAI integration does not accept a custom URL, but community integrations such as Extended OpenAI Conversation do. They let Assist run on your OpenLLM Buddy model instead of a cloud assistant.

Before you start, create an API key in the console and deploy a model. If anything fails, run the curl test in Step 4 first: no tool can fix a broken endpoint.

1

Install a compatible integration

Install HACS if you do not have it, then add the community integration Extended OpenAI Conversation from HACS and restart Home Assistant.

Any HACS conversation integration that supports a custom base URL works the same way. Check its README for exact field names.

2

Add and configure it

Go to Settings → Devices & services → Add integration, search for the integration, and enter:

  • API Key: your OpenLLM Buddy key
  • Base URL: https://openllmbuddy-proxy.botbuddytech.workers.dev/v1
  • Leave API version and organisation empty.
  • Open the integration's options and set Chat Model to gemma4:26b.
3

Make it the Assist agent

Open Settings → Voice assistants, edit your assistant, and choose the new integration as its Conversation agent. Test it from the Assist dialog.

Only expose the devices and entities you want the model to control. Start read-only until you trust the setup.

4

Test the endpoint with curl

Confirm the key, URL, and model id work before debugging Home Assistant. A short JSON reply means the endpoint is healthy.

Terminal
bash
curl -sS https://openllmbuddy-proxy.botbuddytech.workers.dev/v1/chat/completions   -H "Authorization: Bearer YOUR_API_KEY"   -H "Content-Type: application/json"   -d '{"model": "gemma4:26b", "messages": [{"role": "user", "content": "Reply with OK"}], "max_tokens": 16}'

Troubleshooting

  • Responses are slow for voice — a large model adds latency to every spoken request. Use a small, fast deployment for Assist.
  • It ignores device commands — device control needs function calling. Use a model that supports tool calls.
  • 401 or 403 — the API key is wrong, revoked, or missing the Bearer prefix. Create a fresh key in the console.
  • 404 on /chat/completions — the base URL must end in /v1, with no trailing /chat/completions and no extra path.
  • Model not found — the model id must match your deployment exactly. Run the curl test and copy the id you used.
  • Timeouts on the first request — a GPU that was idle may still be loading the model. Retry after a minute.
  • Connection refused from Docker or a remote host — use the public HTTPS base URL, never localhost.

Connection details

Use these values wherever Home Assistant asks for an OpenAI-compatible provider.

Reference
text
Base URL:  https://openllmbuddy-proxy.botbuddytech.workers.dev/v1
Chat URL:  https://openllmbuddy-proxy.botbuddytech.workers.dev/v1/chat/completions
API key:   your key from the console
Model id:  gemma4:26b