acon96/home-llm

A Home Assistant integration & Model to control your smart home using a Local LLM

Home LLM – Local AI for Home Assistant

What it is

  • A Home Assistant custom integration that lets you talk to a locally‑run Large Language Model (LLM) to control lights, locks, climate, media, etc.
  • Comes with a set of tiny, fine‑tuned models (3 B params max) that translate natural‑language requests into Home Assistant service calls.

How it works

  1. LLM backend – The integration can run a model directly via llama.cpp, or connect to an external server such as Ollama, a generic OpenAI‑compatible API, a llama.cpp server, Anthropic, etc.
  2. Conversation agent – You can chat through the Home Assistant UI or pipe the text through Speech‑to‑Text / Text‑to‑Speech pipelines for voice control.
  3. AI tasks – Automations can call the LLM to generate structured data, extract information, or create dynamic content.

Key features

  • Fully local – No cloud required; data stays on your hardware unless you deliberately use an external API.
  • Runs on low‑power devices – Models are small enough to run on a Raspberry Pi (CPU‑only) or any modest Home Assistant host.
  • Multi‑language – English, German, French, Spanish and Polish are supported out of the box.
  • Flexible backends – Choose the simplest (llama.cpp) or a GPU‑accelerated server (Ollama, OpenAI‑compatible, Anthropic, etc.).
  • Tool‑calling / AI tasks – The integration can parse tool‑call JSON, auto‑repair malformed output, and feed results back into Home Assistant automations.

Getting started

  1. Install via the Home Assistant Community Store (HACS) – the badge in the README links directly to the HACS entry.
  2. Follow the Setup Guide (docs/Setup.md) to configure a backend and select a model.
  3. Optionally download one of the pre‑fine‑tuned Home models from Hugging Face (e.g., Home‑Llama‑3.2‑3B or Home‑FunctionGemma‑270m).
  4. Use the Conversation UI or connect a voice pipeline; create automations that call the AI Task service for more advanced use‑cases.

Model catalogue

Model Params HuggingFace link
Home‑Llama‑3.2 3 B https://huggingface.co/acon96/Home-Llama-3.2-3B
Home‑FunctionGemma 270 M https://huggingface.co/acon96/Home-FunctionGemma-270m
(Older) Home‑3B‑v3, Home‑1B‑v3, etc. 1‑3 B various links in README

Extending / training

  • The repo ships a dataset (Home-Assistant-Requests-V2) and training scripts (train/README.md) if you want to fine‑tune your own model.
  • Any instruction‑tuned model can be used via in‑context learning; the integration provides example prompts for generic models like Qwen3, Llama 3, Mistral.

Version highlights

  • v0.5.0 (latest) – Switches to Home Assistant’s chat API, automatic conversation trimming, built‑in grammar, removal of the text‑generation‑webui backend.
  • Recent releases improve backend stability, add Anthropic support, and refine tool‑call parsing.

Who it’s for

  • Home Assistant users who want AI‑driven voice/chat control without sending data to the cloud.
  • Hobbyists running Home Assistant on a Raspberry Pi or similar low‑power hardware.
  • Developers who need a plug‑and‑play LLM integration and the ability to experiment with custom models.

All information above is taken directly from the repository’s README.

Related

  • Project
  • Project
  • Project
  • Project
  • Project