Skip to content
 
 

Repository files navigation

Extended OpenAI Conversation (EOC)

A maintained fork of Extended OpenAI Conversation for Home Assistant that:

Features

  • Assist‑compatible conversation entity (returns current ConversationResult)
  • Responses API for reasoning models
    • Inputs as input_text items
    • System prompt in instructions
    • reasoning: { effort } when applicable
    • No temperature/top_p on reasoning endpoints
  • Chat Completions for non‑reasoning models (sampling allowed)
  • Options gear (model, strategy, effort, max tokens, temp/top‑p, prompt) via OptionsFlowWithReload
  • Azure OpenAI support (Base URL + API version)
  • Async‑safe client using HA’s shared HTTPX to avoid blocking SSL CA loads

Requirements

  • Home Assistant 2025.4.0+ recommended
  • Python OpenAI SDK >=1.0.0,<2.0.0 (installed by HA from manifest.json)
  • HACS for installation

Install (HACS)

  1. HACS → Custom repositories → add this repo (category Integration)
  2. HACS → DownloadRestart Home Assistant when prompted
  3. Settings → Devices & Services → Add Integration → “Extended OpenAI Conversation”
  4. Enter API key (set Base URL + API version for Azure)

Configure

Open the integration card → Configure (gear):

  • Model (default gpt-5)
  • Model strategy: auto | force_chat_completions | force_responses_api
  • Use Responses API (for non‑reasoning models when strategy is auto)
  • Reasoning effort: minimal | low | medium | high
  • Max tokens, Temperature, Top‑p, System prompt

Recommended (long, smart chats)

  • Model: gpt-5
  • Strategy: auto
  • Use Responses API: on
  • Effort: medium (raise to high as needed)
  • Max tokens: 800–1200

With Responses API, system text goes into instructions and inputs use input_text.

Assist usage

  • Settings → Voice Assistants → set Conversation agent = Extended OpenAI Conversation
  • Use Assist (text/voice) or ESPHome satellites normally.
  • The agent returns continue_conversation when follow‑up is implied.

Troubleshooting

  • 400: invalid input type (older builds): ensure you’re on v1.4.1+ (we use input_text + instructions). :contentReference[oaicite:8]{index=8}
  • intent-failed with .as_dict: fixed in v1.4.1 (compat shim). :contentReference[oaicite:9]{index=9}
  • Blocking SSL warning (load_verify_locations): fixed by using HA’s shared HTTPX client in v1.4.1. :contentReference[oaicite:10]{index=10}

Enable debug:

action: logger.set_level
data:
  custom_components.extended_openai_conversation: debug
  homeassistant.components.conversation: debug

Memory scaffolding

  • Present but OFF by default (no network calls). When enabled in a future release, memory will write/query a provider and prepend retrieved context to instructions, following HA’s LLM guidance.

About

Home Assistant custom component of conversation agent. It uses OpenAI to control your devices.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages