home-llm  by acon96

Home Assistant integration for local LLM smart home control

created 1 year ago
1,027 stars

Top 36.4% on SourcePulse

GitHubView on GitHub
Project Summary

This project provides a local Large Language Model (LLM) integration for Home Assistant, enabling users to control their smart home devices via natural language. It targets Home Assistant users seeking a private, offline conversational assistant for home automation. The primary benefit is enabling voice control and complex automation sequences without relying on cloud services.

How It Works

The solution consists of a custom Home Assistant conversation agent and fine-tuned LLMs. The agent exposes local LLMs (via llama-cpp-python, Ollama, or text-generation-webui) as a conversation backend within Home Assistant. The "Home" LLMs are fine-tuned on a synthetic dataset designed for function calling, allowing them to interpret natural language commands and map them to Home Assistant services (e.g., light.turn_on). The models are quantized for low-resource environments like Raspberry Pis.

Quick Start & Requirements

  • Installation: Requires Home Assistant 2025.4.1 or newer. Install the custom component via Home Assistant's UI.
  • Model Integration: Supports running models directly via llama-cpp-python within Home Assistant or remotely via Ollama, LocalAI, or text-generation-webui.
  • Hardware: Quantized models are designed for low-resource environments (e.g., Raspberry Pi), but performance will vary.
  • Documentation: Setup Guide

Highlighted Details

  • Fine-tuned models available in 1B and 3B parameter sizes (e.g., acon96/Home-3B-v3-GGUF, acon96/Home-1B-v3-GGUF).
  • Supports multiple prompt formats (Zephyr, ChatML) and experimental multilingual models.
  • Includes an experimental Home Assistant Add-on for running text-generation-webui.
  • Models are quantized using Llama.cpp for efficient execution.

Maintenance & Community

  • Active development with frequent updates (see Version History).
  • Supports a range of Home Assistant entity types (light, fan, cover, lock, media_player, climate, switch).
  • Dataset available on HuggingFace: acon96/Home-Assistant-Requests

Licensing & Compatibility

  • The project itself appears to be under a permissive license (likely MIT, based on common practice for such integrations, though not explicitly stated in the README).
  • Models are hosted on HuggingFace, and their specific licenses should be checked individually.
  • Compatible with Home Assistant's ecosystem.

Limitations & Caveats

The project is primarily focused on English, with experimental support for other languages. The "Home" models are fine-tuned for specific tasks and may have limitations in general QA or complex reasoning outside of smart home control. The minimum Home Assistant version requirement is quite recent (2025.4.1).

Health Check
Last commit

4 days ago

Responsiveness

1 day

Pull Requests (30d)
1
Issues (30d)
4
Star History
44 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Didier Lopes Didier Lopes(Founder of OpenBB), and
1 more.

leon by leon-ai

0.2%
17k
Open-source personal assistant to self-host
created 6 years ago
updated 1 week ago
Feedback? Help us improve.