Repolode
jekalmin

jekalmin/extended_openai_conversation

A Home Assistant custom component that lets an OpenAI-compatible LLM control your devices, call services, and create automations.

Stars
1,459
Forks
276
Open issues
129
Last commit
27 days ago

What is it?

Extended OpenAI Conversation is a custom integration for Home Assistant that replaces the built-in conversation agent with one backed by OpenAI's function calling. It is derived from Home Assistant's own OpenAI Conversation integration and adds tools that let the model act on your smart home rather than only answer questions.

The model is told which entities you have exposed in Home Assistant and can call services on them. Beyond device control, it can create automations from natural-language requests, query state history for entities, fetch data from REST endpoints or scraped web pages, and run SQLite queries against the Home Assistant database in read-only mode. Custom functions are defined in YAML as a spec plus a function type such as template, script, rest, scrape, or composite.

The Base URL setting allows OpenAI-compatible servers such as Azure OpenAI or LocalAI. It can be installed through HACS or by copying the folder into the custom_components directory.

Key features

  • 01Calls Home Assistant services on exposed entities through function calling.
  • 02Creates automations from natural-language instructions.
  • 03Queries entity state history.
  • 04Fetches data from REST APIs or scraped web pages for the model to use.
  • 05Supports custom functions defined in YAML, including script and template types.
  • 06Works with OpenAI-compatible endpoints via a configurable Base URL.

Use cases

  • Controlling lights, switches, and media players by voice or chat in Home Assistant.
  • Asking when a sensor or device last changed state.
  • Letting the assistant create routines from a plain-language description.
  • Connecting Home Assistant to a self-hosted OpenAI-compatible model such as LocalAI.

Quick start

  1. 1

    Install via HACS as a custom repository, or copy the extended_openai_conversation folder into custom_components

  2. 2

    Restart Home Assistant

  3. 3

    In Settings > Devices & Services, add the integration and enter an API key

  4. 4

    In Settings > Voice Assistants, select Extended OpenAI Conversation as the conversation agent

Things to know

  • Requires a running Home Assistant instance, since it is a custom component.
  • Requires an API key for OpenAI or an OpenAI-compatible server.

Topics

#home-assistant#smart-home#llm#openai#function-calling#automation#conversation#custom-component#homeassistant

FAQ

What is extended_openai_conversation?
A Home Assistant custom component that lets an OpenAI-compatible LLM control your devices, call services, and create automations. Extended OpenAI Conversation is a custom integration for Home Assistant that replaces the built-in conversation agent with one backed by OpenAI's function calling. It is derived from Home Assistant's own OpenAI Conversation integration and adds tools that let the model act on your smart home rather than only answer questions.
Is extended_openai_conversation free to use? What license does it have?
extended_openai_conversation is open source under the MIT license. Check the license terms before using it in commercial products.
Is extended_openai_conversation still maintained?
Actively maintained. The last commit to extended_openai_conversation was on Oct 11, 2026.
What can I use extended_openai_conversation for?
Controlling lights, switches, and media players by voice or chat in Home Assistant. Asking when a sensor or device last changed state. Letting the assistant create routines from a plain-language description. Connecting Home Assistant to a self-hosted OpenAI-compatible model such as LocalAI.
How do I install extended_openai_conversation?
Install via HACS as a custom repository, or copy the extended_openai_conversation folder into custom_components Restart Home Assistant In Settings > Devices & Services, add the integration and enter an API key In Settings > Voice Assistants, select Extended OpenAI Conversation as the conversation agent
Where can I get extended_openai_conversation?
The source code and installation instructions are on GitHub: https://github.com/jekalmin/extended_openai_conversation

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects