Antbase/Documentation

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:free for 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:

SettingValue
API Keyant_xxxx (your Antbase key)
Base URLhttps://antbase.ai/v1
Modelant:auto
Control Home AssistantEnabled (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.

Security tip: Only expose entities you want the AI to control. Start with lights and switches, then expand gradually. Avoid exposing sensitive entities like locks and alarm systems until you're comfortable with the setup.

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.

ModelBest forNotes
ant:autoGeneral useBest default — routes simple commands to fast models, complex requests to frontier models
ant:fastQuick commandsLowest latency — ideal for light switches, temperature queries
ant:freeZero cost controlFree models only — great for high-volume home commands at no cost
ant:bestAutomation generationUses frontier models — best for writing complex automations and scripts
ant:reasoningComplex logicExtended thinking for multi-step automation logic and troubleshooting
ant:searchQuestions about the worldWeb-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 response

Automation 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.porch

Multi-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 automations

Custom 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 on

Voice 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.

Cost tip: Use 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.