Complete documentation refactoring with 57 service docs
- Refactored README.md, getting-started.md, quick-reference.md - Enhanced setup-homelab.sh with 9-step automated process - Created services-overview.md with all stacks - Added comprehensive documentation for 57 services in docs/service-docs/ - All services include: overview, configuration, resources, educational content - Coverage: Core, Infrastructure, Dashboards, Media, Media-Extended, Home Assistant, Productivity, Utilities, Monitoring, Development stacks - Educational focus with links to tutorials, videos, and guides
This commit is contained in:
132
docs/service-docs/esphome.md
Normal file
132
docs/service-docs/esphome.md
Normal 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!
|
||||
Reference in New Issue
Block a user