jekalmin/extended_openai_conversation
Home Assistant custom component of conversation agent. It uses OpenAI to control your devices.
What it solves
This project provides an enhanced version of the OpenAI Conversation integration for Home Assistant, allowing an AI assistant to actually perform actions within the smart home environment rather than just chatting. It bridges the gap between a Large Language Model (LLM) and the physical control of devices, automations, and external data sources.
How it works
The integration uses OpenAI's function calling capabilities to map natural language requests to specific Home Assistant services. By exposing entities to the assistant, the LLM can identify which devices are available and call the appropriate services to control them. It supports several function types:
- Native: Built-in functions for executing services, adding automations, and retrieving state history.
- Script: Executes a sequence of Home Assistant services.
- Template: Returns a value based on a template.
- REST: Fetches data from external API endpoints.
- Scrape: Extracts information from websites.
- Composite: Executes a sequence of functions.
Who it’s for
Home Assistant users who want a more powerful, agentic AI voice or text assistant that can manage their home, create automations on the fly, and interact with external web data.
Highlights
- Direct Home Control: Ability to call Home Assistant services to control devices.
- Automation Creation: Can generate and add new automations to the system via natural language.
- External Data Integration: Can retrieve information from external APIs or web pages via REST and scraping.
- State History: Ability to retrieve and analyze historical data of entities.
- User Context: Option to pass the current user's name to the AI for personalized interactions.
Related
- Project
- Project
- Project
- Project