Documentation

August 29, 2026 ยท View on GitHub

These pages cover installation, protocols, routing, media and diagnostics beyond the project overview in the top-level README.

Pick your path

NeedDocument
Learn the complete everyday workflowUser guide
Use redirects and advanced automationsAutomation cookbook
Review the current releaseWhat is new in 2026.9.0
Choose a board and maintained YAMLDeployment guide
Complete the shortest supported setupQuick start
Upgrade without breaking automationsBreaking changes
Configure ESP and HA optionsConfiguration reference
Diagnose calls and mediaTesting and debug
Resolve a specific failureTroubleshooting

Published release notes live with their immutable artifacts on GitHub: 2026.9.0, 2026.8.2-dev, 2026.8.1-dev, 2026.8.0, 2026.7.1 and 2026.7.0. The repository keeps only the current upgrade contract.

Architecture and protocols

TopicDocument
Component and lifecycle ownershipArchitecture
Canonical end-to-end pathsCall flows
SIP, SDP and RTP endpoint contractESP VoIP profile
Retired proprietary protocol boundaryIntercom protocol
Phonebook rows and media capabilitiesPhonebook protocol
Name, extension, group and trunk resolutionDial-plan resolver
ESP entities published to HAESP entity surface

Features

TopicDocument
Home Assistant actions and side effectsServices
Contextual routing recipesAutomation cookbook
Ring and conference groupsGroups
Provider registration and external routingSIP trunk
Browser and P4 video codec pathsSIP video

Qualification

The test matrix separates deterministic protocol checks from real ESP timing, browser media and hardware-in-the-loop evidence. Espressif components records component versions, local modifications and licensing boundaries.

Per-component docs

Each ESPHome component ships its own README with the full option list, YAML snippets and component-specific notes:

  • voip_stack, the ESP SIP phone component.
  • esp_video_camera, the ESP32-P4 Espressif V4L2 camera surface used by the native camera entity and SIP video sources.
  • esp_jpeg_video_source, esp_h264_video_source and p4_video_renderer, the compile-gated P4 SIP video TX and RX paths.
  • esp_audio_stack, the coordinated full-duplex audio backend for shared codec buses, dual I2S MEMS/amp boards that need software reference handling, Espressif rate/layout conversion, AEC reference capture, PSRAM placement and post-processor mic output. On AEC/AFE profiles, its standard ESPHome microphone facade is the cleaned stream consumed by MWW, Voice Assistant and VoIP while media/TTS keeps playing through the speaker.
  • Full-experience media now uses ESPHome's source-based speaker_source path: HA media, announcements, local files and optional Sendspin streams feed one media player before the mixer arbitrates with VoIP and Voice Assistant. The local speaker fork remains documented for custom YAMLs that still use platform: speaker.
  • runtime_controller, a generic YAML-programmed reducer used by maintained full-experience profiles to derive LED, LVGL/display, audio ducking, ringtone and timer policies from one state snapshot. It is control-plane only and does not process audio samples.
  • esp_aec, standalone ESP-SR echo cancellation.
  • esp_afe, the full Espressif AFE pipeline (AEC + NS + VAD + AGC, optional dual-mic Speech Enhancement).
  • internal shared audio primitives used privately by the local media/voice component forks and by the split audio-stack repository.
  • voip_simulator, an internal test/simulation component used by the virtual device harness. It is not a production YAML component.