Wiki major update

updated with recent documentation
This commit is contained in:
kelinfoxy
2026-01-21 19:18:39 -05:00
parent 30e0481685
commit ef55974b50
98 changed files with 32244 additions and 10 deletions

View File

@@ -0,0 +1,132 @@
# ESPHome - ESP Device Firmware
## Table of Contents
- [Overview](#overview)
- [What is ESPHome?](#what-is-esphome)
- [Why Use ESPHome?](#why-use-esphome)
- [Configuration in AI-Homelab](#configuration-in-ai-homelab)
- [Official Resources](#official-resources)
- [Docker Configuration](#docker-configuration)
- [Device Examples](#device-examples)
## Overview
**Category:** IoT Device Firmware
**Docker Image:** [esphome/esphome](https://hub.docker.com/r/esphome/esphome)
**Default Stack:** `homeassistant.yml`
**Web UI:** `http://SERVER_IP:6052`
**Ports:** 6052
## What is ESPHome?
ESPHome is a system for controlling ESP8266/ESP32 microcontrollers through simple YAML configuration files. It generates custom firmware for your ESP devices that integrates natively with Home Assistant. Create custom sensors, switches, lights, and more without writing code.
### Key Features
- **YAML Configuration:** No programming needed
- **Native HA Integration:** Auto-discovered
- **OTA Updates:** Update wirelessly
- **200+ Components:** Sensors, switches, displays
- **Local Control:** No cloud required
- **Fast:** Compiled C++ firmware
- **Cheap:** ESP8266 ~$2, ESP32 ~$5
## Why Use ESPHome?
1. **Cheap Custom Devices:** $2-5 per device
2. **No Programming:** YAML configuration
3. **Home Assistant Native:** Seamless integration
4. **Local Control:** Fully offline
5. **OTA Updates:** Update over WiFi
6. **Reliable:** Compiled firmware, very stable
7. **Versatile:** Sensors, relays, LEDs, displays
## Configuration in AI-Homelab
```
/opt/stacks/homeassistant/esphome/config/
device1.yaml
device2.yaml
```
## Official Resources
- **Website:** https://esphome.io
- **Documentation:** https://esphome.io/index.html
- **Devices:** https://esphome.io/devices/index.html
## Docker Configuration
```yaml
esphome:
image: esphome/esphome:latest
container_name: esphome
restart: unless-stopped
network_mode: host
environment:
- TZ=America/New_York
volumes:
- /opt/stacks/homeassistant/esphome/config:/config
```
## Device Examples
**Temperature Sensor (DHT22):**
```yaml
esphome:
name: bedroom-temp
platform: ESP8266
board: d1_mini
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret api_key
ota:
password: !secret ota_password
sensor:
- platform: dht
pin: D2
temperature:
name: "Bedroom Temperature"
humidity:
name: "Bedroom Humidity"
update_interval: 60s
```
**Smart Plug (Sonoff):**
```yaml
esphome:
name: living-room-plug
platform: ESP8266
board: esp01_1m
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
ota:
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
name: "Living Room Plug Button"
on_press:
- switch.toggle: relay
switch:
- platform: gpio
name: "Living Room Plug"
pin: GPIO12
id: relay
```
ESPHome turns cheap ESP modules into powerful smart home devices!