Skip to content
ESPHome Developer Documentation
Search
Ctrl
K
Cancel
GitHub
Discord
RSS
Blog
Select theme
Dark
Light
Auto
Blog
Contributing
Setting up a development environment
Submitting your work
Contributing
Contributing to ESPHome
Contributing to `esphome.io`
Translating the ESPHome Device Builder
Architecture
Architectural Overview
Core Architecture
Components
Component Architecture
Common hardware interfaces
Interfacing via GPIO
Interfacing via I2C
Interfacing via SPI
Interfacing via Serial/UART
Implementing Automations
Socket Consumption API
Advanced Topics
Entity base classes
Alarm Control Panel
Binary Sensor
Button
Climate
Cover
Display
Event
Fan
Light
Lock
Media Player
Number
Output
Select
Sensor
Speaker
Switch
Text
Text Sensor
Time
Touchscreen
Valve
API
API
ESPHome API Protocol Details
Logging Best Practices
CI
Continuous Integration (CI)
Component/platform test configurations
GitHub
Discord
RSS
Blog
Select theme
Dark
Light
Auto
Text Sensor
Copyright © 2026 ESPHome - A project from the
Open Home Foundation