Home Assistant Integration
Connect Home Assistant to Antbase for intelligent AI-powered voice control, automation generation, and smart home management. ANT routes every conversation to the optimal model — fast models for simple commands, frontier models for complex automation logic.
What this enables
- AI-powered voice assistant with Assist pipeline using intelligent model routing
- Natural language control of lights, climate, locks, covers, and any exposed entity
- Automatic model selection — simple commands use fast/free models, complex queries escalate
- Failover across 30+ providers — your smart home AI never goes offline
- Use
ant:freefor zero-cost home control - Works with Home Assistant Cloud (Nabu Casa) and self-hosted instances
How It Works
Home Assistant's built-in OpenAI Conversation integration does not support custom base URLs. To use Antbase, you install the popular Extended OpenAI Conversation integration via HACS (1,300+ stars), which adds a Base URL field. Point it at Antbase and every voice command flows through ANT's classification pipeline.
A simple "turn off the kitchen lights" goes to a fast model like Llama 3.3 70B (free). A complex request like "create an automation that turns on the porch light at sunset but only if I'm home" gets escalated to GPT-4o or Claude for reliable YAML generation.
Prerequisites
- Home Assistant 2024.1 or newer
- HACS (Home Assistant Community Store) installed
- An Antbase API key — get one free
Setup
1. Install Extended OpenAI Conversation via HACS
In HACS, go to Integrations → Explore & Download Repositories and search for "Extended OpenAI Conversation". Install it, then restart Home Assistant.
Why not the built-in OpenAI integration? The official OpenAI Conversation integration hardcodes the OpenAI API endpoint and does not support custom base URLs. The Extended version by jekalmin adds a Base URL field plus extra features like function calling for HA service execution.
2. Add the integration
Go to Settings → Devices & services → Add Integration and search for "Extended OpenAI Conversation". Enter your Antbase API key and set the Base URL:
| Setting | Value |
|---|---|
| API Key | ant_xxxx (your Antbase key) |
| Base URL | https://antbase.ai/v1 |
| Model | ant:auto |
| Control Home Assistant | Enabled (recommended) |
3. Set as default conversation agent
Go to Settings → Voice assistants and select the Extended OpenAI Conversation agent as the default. This routes all voice commands and Assist queries through ANT.
Exposing Entities
The AI can only control entities you explicitly expose. Go to Settings → Voice assistants → Expose tab and select which entities the AI should have access to.
Virtual Models for Home Assistant
Choose a virtual model based on your use case. You can run multiple conversation agents with different models for different purposes.
| Model | Best for | Notes |
|---|---|---|
ant:auto | General use | Best default — routes simple commands to fast models, complex requests to frontier models |
ant:fast | Quick commands | Lowest latency — ideal for light switches, temperature queries |
ant:free | Zero cost control | Free models only — great for high-volume home commands at no cost |
ant:best | Automation generation | Uses frontier models — best for writing complex automations and scripts |
ant:reasoning | Complex logic | Extended thinking for multi-step automation logic and troubleshooting |
ant:search | Questions about the world | Web-grounded answers — "What's the weather forecast?" with live data |
Use Cases
Voice control via Assist
With ANT as your conversation agent, natural language commands just work:
"Turn off all the lights downstairs"
→ ant:auto routes to Llama 3.3 70B (fast, free)
→ Calls light.turn_off for all downstairs entities
"Set the thermostat to 72 and turn on the ceiling fan"
→ ant:auto routes to Llama 3.3 70B (multi-action, still simple)
→ Calls climate.set_temperature + fan.turn_on
"What's the total energy usage today?"
→ ant:auto routes to GPT-4o-mini (needs entity aggregation)
→ Reads sensor.energy_total and formats the responseAutomation generation
Ask the AI to write automations for you in natural language. Use ant:best for reliable YAML output:
You: "Create an automation that turns on the porch light
at sunset, but only if someone is home, and turns it off
at midnight."
ANT routes to Claude Sonnet → generates:
automation:
- alias: "Porch light at sunset"
trigger:
- platform: sun
event: sunset
condition:
- condition: state
entity_id: group.family
state: "home"
action:
- service: light.turn_on
target:
entity_id: light.porch
- delay: "{{ (as_timestamp(now().replace(hour=0, minute=0)) + 86400 - as_timestamp(now())) | int }}"
- service: light.turn_off
target:
entity_id: light.porchMulti-agent setup
You can add multiple OpenAI Conversation integrations with different models for different zones or use cases:
# Agent 1: Quick commands (bedroom voice satellite)
Model: ant:free
→ Zero cost, fast responses for lights and basic control
# Agent 2: Kitchen assistant
Model: ant:auto
→ Handles cooking timers, recipe questions, device control
# Agent 3: Automation helper (dashboard only)
Model: ant:best
→ Frontier models for writing and debugging automationsCustom instructions
Set custom instructions in the integration config to tailor the AI's behavior to your home:
You are the AI assistant for a smart home. The house has:
- 3 bedrooms, 2 bathrooms, kitchen, living room, garage
- Hue lights in all rooms, named by room
- Ecobee thermostat (climate.main_floor)
- August smart lock on front door
- Ring doorbell camera
Rules:
- Never unlock the front door unless explicitly asked
- Default light brightness is 80%
- "Goodnight" means: all lights off, thermostat to 68°F, lock front door
- "Movie mode" means: living room lights to 20%, TV onVoice Satellites (ESPHome)
If you use ESPHome voice satellites (ESP32-S3 with microphone), they pipe voice through Home Assistant's Assist pipeline. With ANT as the conversation agent, your voice satellites get intelligent routing automatically — no changes needed on the satellite side.
ant:free for voice satellites. Most voice commands are simple ("turn off the light", "what's the temperature") and free models handle them perfectly. You get unlimited voice control at zero cost.Troubleshooting
Model not responding
Check your API key is correct and has credits. Verify the base URL is exactly https://antbase.ai/v1 (no trailing slash).
AI can't find entities
Make sure entities are exposed via Settings → Voice assistants → Expose. The AI can only see and control explicitly exposed entities.
Slow responses
Try ant:fast instead of ant:auto for quicker responses on simple commands. Or use ant:free which routes to low-latency providers like Groq and Cerebras.
Integration not showing up
Make sure you installed Extended OpenAI Conversation via HACS (not the built-in OpenAI Conversation). The built-in integration does not support custom base URLs. After installing via HACS, restart Home Assistant for it to appear.