esphomeyaml

Hi there! This is the documentation for esphomeyaml, a project that aims to make using ESP8266/ESP32 boards with Home Assistant very easy with no programming experience required.

esphomeyaml will:

  • Read your configuration file and warn you about potential errors (like using the invalid pins.)
  • Create a custom C++ sketch file for you using esphomeyaml’s powerful C++ generation engine.
  • Compile the sketch file for you using platformio.
  • Upload the binary to your ESP via Over the Air updates.
  • Automatically start remote logs via MQTT.

Features

  • No programming experience required: just edit YAML configuration files like you’re used to with Home Assistant.
  • Flexible: Use esphomelib’s powerful core to create custom sensors/outputs.
  • Fast and efficient: Written in C++ and keeps memory consumption to a minimum.
  • Small binaries: Only the sensors/devices you actually use will appear in the binary.
  • Made for Home Assistant: Almost all Home Assistant features are supported out of the box. Including RGB lights and many more.
  • Easy reproducible configuration: No need to go through a long setup process for every single node. Just copy a configuration file and run a single command.
  • Smart Over The Air Updates: esphomeyaml has OTA updates deeply integrated into the system. It even automatically enters a recovery mode if a boot loop is detected.
  • Powerful logging engine: View colorful logs and debug issues remotely.
  • It’s Open Source 😺

Guides

Getting Started through Command Line Getting Started through HassIO Add-On Configuration Types
Getting Started through Command Line Getting Started through HassIO Add-On Configuration Types
Migrating from Sonoff-Tasmota Migrating from ESPurna Migrating from ESPEasy
Migrating from Sonoff-Tasmota Migrating from ESPurna Migrating from ESPEasy
Automations FAQ and Tips Contributing
Automations FAQ and Tips Contributing
Changelog    
Changelog    

Devices

This list contains a bunch of getting started and more advanced guides for using esphomeyaml. Technically, all ESP8266/ESP32 devices (and therefore all Sonoff devices) are supported by esphomeyaml/lib. These are only the devices for which I’ve had the time to set up dedicated guides.

Generic ESP8266 Generic ESP32 NodeMCU ESP8266
Generic ESP8266 Generic ESP32 NodeMCU ESP8266
NodeMCU ESP32 Sonoff S20 Sonoff 4CH
NodeMCU ESP32 Sonoff S20 Sonoff 4CH
Generic Sonoff Sonoff Basic  
Generic Sonoff Sonoff Basic  

Sensor Components

Sensor Core ADC ADS1115
Sensor Core ADC ADS1115
BH1750 BME280 BME680
BH1750 BME280 BME680
BMP085 Dallas DHT
BMP085 Dallas DHT
DHT12 Duty Cycle ESP32 Hall Sensor
DHT12 Duty Cycle ESP32 Hall Sensor
HDC1080 HTU21D MAX6675
HDC1080 HTU21D MAX6675
MPU6050 Pulse Counter Rotary Encoder
MPU6050 Pulse Counter Rotary Encoder
SHT3X-D Template Sensor TSL2561
SHT3X-D Template Sensor TSL2561
Ultrasonic Sensor WiFi Signal Strength Custom Sensor
Ultrasonic Sensor WiFi Signal Strength Custom Sensor

Looking for a sensor that outputs its values as an analog voltage? Have a look at the ADC Sensor together with a formula like in the TEMT6000 example.

Light Components

Light Core Binary Light Monochromatic Light
Light Core Binary Light Monochromatic Light
RGB Light RGBW Light FastLED Clockless Light
RGB Light RGBW Light FastLED Clockless Light
FastLED SPI Light    
FastLED SPI Light    

Looking for WS2811 and similar individually addressable lights? Have a look at the FastLED Clockless Light.

Fan Components

Fan Core Binary Fan Speed Fan
Fan Core Binary Fan Speed Fan

Cover Components

Cover Core Template Cover  
Cover Core Template Cover  

Misc Components

Dallas Hub Remote Transmitter Hub Remote Receiver Hub
Dallas Hub Remote Transmitter Hub Remote Receiver Hub
PCA9685 Hub ADS1115 Hub Debug Component
PCA9685 Hub ADS1115 Hub Debug Component
PCF8574 I/O Expander ESP32 BLE Tracker ESP32 BLE Beacon
PCF8574 I/O Expander ESP32 BLE Tracker ESP32 BLE Beacon
ESP32 Touch Hub Status LED  
ESP32 Touch Hub Status LED  

Cookbook

This list contains items that are technically already supported by other components.

Garage Door PIR Sensor Relay
Garage Door PIR Sensor Relay
BRUH Multisensor TEMT6000 Non-Invasive Power Meter
BRUH Multisensor TEMT6000 Non-Invasive Power Meter
Dual relay cover motor control    
Dual relay cover motor control    

Do you have other awesome automations or 2nd order components? Please feel free to add them to the documentation for others to copy. See Contributing.