This repository holds my Home Assistant configuration and, centrally, a single collection of ESPHome device configurations so others can find, reuse, and adapt these projects without hunting through separate repositories.
- Home Assistant configuration (automations, scripts, sensors, packages) under
includes/,packages/, and top-level YAML files. - A consolidated
esphome/directory with many ESPHome YAML device definitions and shared templates inesphome/common/. - Images and fonts used by displays and dashboards in
esphome/images/andesphome/fonts/. - Several homemade hardware projects with links to supporting repositories.
- ESPHome directory:
esphome/ - ESPHome common templates:
esphome/common/(shared components, device base files) - ESPHome images:
esphome/images/ - Home Assistant includes:
includes/(automations, sensors, etc.)
This section is a short catalog of the most reusable and interesting ESPHome projects in this repo. Each entry includes a brief description and the YAML filename (in the esphome/ folder) so you can copy and adapt it quickly.
-
Busylight (office presence indicator)
- What: A multi-device setup β a controller and one or more lights β that shows presence/status (busy/available) with Neopixels and a small controller UI.
- Files:
esphome/busylight-mk2-01.yaml,esphome/busylight-mk2-02.yaml - Why reuse: Good example of multi-device coordination, MQTT/Home Assistant integration, and LED effects.
-
Doorbell with Neopixel buttons and external sounder
- What: Doorbell controller with Neopixel buttons, button automation and optional external sounder.
- File:
esphome/doorbell-controller.yaml - Why reuse: Demonstrates handling buttons, LEDs, and integrating with Home Assistant events.
-
Non-invasive power / current sensors
- What: Current clamp based sensors and SDM120 emulator examples for monitoring mains energy.
- Files:
esphome/CU-current-clamps.yaml,esphome/sdm120_emulator.yaml - Why reuse: Useful starting point for wiring CT clamps, MQTT/Modbus bridging and energy monitoring.
-
Air quality & multi-sensor nodes
- What: PM / VOC / temperature/humidity sensor setups for rooms, lofts and sheds.
- Files:
esphome/air-quality-sensor-1.yaml,esphome/loft-sensors.yaml,esphome/shed-sensors.yaml,esphome/bedroom-sensors.yaml - Why reuse: Shows robust sensor wiring, filtering, and Home Assistant sensor integration.
-
Chest freezer / fridge monitors
- What: Temperature monitors and alerting patterns for freezers and fridges.
- Files:
esphome/chest-freezer-monitor.yaml(and archived examples inesphome/Archive/)
-
Office blind & air purifier controllers
- What: Motor / relay control and sensor-driven automation for blinds and air purifiers.
- Files:
esphome/office-blind-controller.yaml,esphome/office-IKEA-Fornuftig-air-purifier.yaml,esphome/living-rm-IKEA-Fornuftig-air-purifier.yaml
There are many other devices and archived experiments in esphome/Archive/ for inspiration.
- Install ESPHome or use the Home Assistant ESPHome add-on.
- Copy the YAML file you want from this repo into your ESPHome projects folder (or use the dashboard's "Import" feature).
- Update
name:andfriendly_name:to something unique. - Update WiFi/OTA/
secrets:references. This repo uses shared base includes inesphome/common/β either reuse them or replace them with your own wifi/credentials block.- Common templates:
esphome/common/device_base.yaml,esphome/common/device_base_wifi.yamland other component snippets inesphome/common/.
- Common templates:
- Wire sensors/actuators the same way or adapt GPIO pins in the YAML to match your hardware.
- Compile and flash with the ESPHome dashboard (USB or OTA). Start with a wired USB flash if you are uncertain.
- Test sensors and automations in Home Assistant, then iterate.
Tips and gotchas
- Secrets: don't commit your WiFi passwords or API keys β use the
secrets:mechanism. This repo keeps secrets out of the main YAMLs and expects them to be provided locally. - Device templates: use
esphome/common/templates to keep YAMLs DRY. If you copy a YAML into another repo, copy or adapt thecommon/includes it depends on. - Fonts & images: display projects use fonts in
esphome/fonts/and images inesphome/images/β copy these if your device needs them.
Shared building blocks live in esphome/common/:
device_base.yamlanddevice_base_wifi.yamlβ base includes for all devices (name, logger, ota, api, wifi)- Sensor templates like
bme280.yamlandpms5003t.yamlβ plug-and-play sensor configs status_led.yamlβ a standard status LED configuration used by many devices
If you're publishing or forking specific devices, keep the common/ folder or update includes to point to your own shared templates.
- RFLink gateway controller and a number of RF-controlled devices (Energenie, Maclean, Status plug sockets, hacked Ikea remotes). See
includes/andpackages/for automations and integrations. - Homemade hardware projects and supporting repos:
ESP8266-433Mhz-Controller-Gatewayβ 433MHz MQTT transmitter gatewayBunny-Shed-Climate-Controlβ 433MHz-based bunny shed heater controllerHome-Assistant-RFLink-Gateway-ESP8266β RFLink gateway firmwareControllino-IrrigationandIrrigation-Controller
- If you found a device useful, please copy the YAML into your own project and adapt it β keep secrets out.
- If you want me to pull a specific device into its own repo or add better docs for a device, open an issue or send a PR with the improvements you suggest.
This repo follows the licensing indicated in LICENSE.txt β please check that file before reusing code in a product.
If you'd like, I can also:
- Generate short READMEs per device inside
esphome/(e.g.,esphome/README.mdoresphome/busylight-README.md) so each device has usage/ wiring/flash notes. - Add a simple index file
esphome/INDEX.mdthat lists every YAML with one-line descriptions (useful for web search and reuse).
Let me know which of those you'd like me to add next and I can create them.
- Original OS: Windows 10 32-bit virtualization on Windows Server 2016 Hyper-V
- Original Home Assistant: Python folder, home assistant run command run at start-up from shortcut in Windows start-up folder.
- 2nd OS: Ubuntu Server 16.04.1 LTS virtualization on Windows Server 2016 Hyper-V.
- 2nd Home Assistant: Python virtual environment with homeassistant user. As per Manual installation on a Raspberry Pi. HASSCTL Used for management.
- 3rd OS: Ubuntu Server 18.04.1 LTS virtualization on Windows Server 2016 Hyper-V
- 3rd Home Assistant: Hass.IO in Docker on Ubuntu Server 18.04, as per these instructions
- Current OS: HASS.IO on Raspberry Pi 4 Model B
- Current Home Assistant: Hass.IO for Raspberry Pi 4 Model B 32bit
- MQTT: Mosquitto broker MQTT broker add.
- HTTPS Certificate: Nginx Proxy Manager
- OLD HTTPS Certificate originally generated via by home assistant via Let's Encript Instructions, with scripts to auto-update and automations to alert via HTML5 push notification if renew date threshold is close. (Search my repository for
ssl_cert.yaml) - Dasshio Hass.io add-on to easily use Amazon Dash Buttons with Home Assistant
- ESPHome ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems. Also required MariaDB to be installed.
- Samba share
- APC UPS Daemon (No USB) View information from APC Network UPSs.
- AdGuard Home Network-wide ads & trackers blocking DNS server.
- Busylight, I built so my family can know when I'm busy and working in my Home Office. See
esphome/busylight-mk2-01.yamlandesphome/busylight-mk2-02.yaml.
| BusyLight Controller | BusyLight Light |
|---|---|
![]() |
![]() |
-
Doorbell with Neopixel LED buttons and external sounder bell. See
esphome/doorbell-controller.yaml. -
Non-Invasive Power Meter for House Electricity with visible light phototransistor on LED of electricity meter.
| Doorbell with Neopixel | Non-Invasive Power Meter |
|---|---|
![]() |
![]() |
- APC UPS - APC UPS Daemon
- Google Chromecast Audio
- Google Chromecast
- Nest Thermostat
- Plex Media Server
- Amazon Dash Button
- Axis IP CCTV Cameras
- Raspberry Pi 3 IP CCTV (motion)
- IKEA TrΓ₯dfri (Tradfri)
- Energenie Wall Light Switch MIHO026
- Room lamps plugged into Maclean MCE07GB and Status RCS-K09 remote sockets
- Hacked Ikea E1201C Remote 'relay' for kitchen extractor fan
- Ikea Ansluta Lights with CC2500 Transceiver
ESP8266-433Mhz-Controller-Gatewayβ Homemade 433Mhz MQTT transmitter gatewayBunny-Shed-Climate-Controlβ Homemade 433Mhz bunny shed heating controllerHome-Assistant-RFLink-Gateway-ESP8266β Home Assistant to RFLink Gateway ControllerControllino-Irrigationβ Controllino based irrigation projectIrrigation-Controllerβ Irrigation controller



