Skip to content
My ESPHome configuration files for my ESP8266 / ESP32 plugs and boards for use with Home Assistant.
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode refactoring: finished simplifying and merging common code into includes Nov 10, 2019
common
.gitignore
.gitmodules
README.md readme: updating community badges Dec 9, 2019
bluetooth_hub.yaml
irrigation.yaml
plug01.yaml
plug02.yaml
plug03.yaml refactoring: finished simplifying and merging common code into includes Nov 10, 2019
plug04.yaml refactoring: finished simplifying and merging common code into includes Nov 10, 2019
plug05.yaml
plug06.yaml refactoring: finished simplifying and merging common code into includes Nov 10, 2019
plug07.yaml refactoring: finished simplifying and merging common code into includes Nov 10, 2019
shelly1_01.yaml added relay_always_on_internal.yaml Dec 14, 2019
shelly1_02.yaml
sonoff_basic_01.yaml refactoring: finished simplifying and merging common code into includes Nov 10, 2019
sonoff_basic_02.yaml refactoring: finished simplifying and merging common code into includes Nov 10, 2019
sonoff_pow_01.yaml
sonoff_pow_02.yaml refactoring: finished simplifying and merging common code into includes Nov 10, 2019
sonoff_s31_01.yaml
sonoff_s31_02.yaml
sonoff_s31_03.yaml
sonoff_s31_04.yaml
sonoff_s31_05.yaml refactoring: finished simplifying and merging common code into includes Nov 10, 2019
sonoff_s31_06.yaml refactoring: finished simplifying and merging common code into includes Nov 10, 2019

README.md

Repository Status ESPHome Community
last commit time GitHub Activity Discord Community Forum

My ESPHome Devices

Configuration files for my ESP8266 / ESP32 plugs and boards for use with Home Assistant. I have made heavy use of !include files to limit code duplication. This allows me to focus on the advanced code I create for projects like my Bathroom Fan Controller and my Irrigation Controller.

Common configuration files

/common/

In the common folder you will find repetitive configuration blocks representing status light, wifi, api, and logging. The Sonoff and Tuya Plugs share common code in the /common/templates/ folder. @AlexMekkering thank you for showing us how powerful this is.

Devices

bluetooth_hub.yaml

I started with the ESP32 Bluetooth Low Energy Tracker Hub example on esphome.io, and added Xiaomi temperature plant sensors.

Irrigation Controller: irrigation.yaml

Sonoff 4ch Pro R2

Our battery and cloud powered Melnor Raincloud/Aquatimer has been flaky off and on for years. Now even new batteries aren't resolving the problem. Also, there appears to be possible battery acid inside the battery compartment. I suspect the wireless radio may be dead despite being able to manually toggle the valves.

The ESPHome projects I have done around our house have been extremely reliable and useful additions to our smart home. Recently, the ESPHome Examples site featured @bruxy70's Irrigation with display project that turned a Sonoff 4 channel Pro unit into an irrigation controller, which inspired me. That project features a nifty touch screen display. But since the controller will be far out of the way on the side yard, the user interface can be handled by Home Assistant.

Standard plugs: plug01.yaml - plug03.yaml

ZooZee brand Tuya plugs

These are simple round wall plug were flashed with over the air with tasmota-convert, then ESPHome was uploaded via the Tasmota UI. The ESPHome code attempts to recreate their original functionality.

Hot Water Pump: plug05.yaml

This plug controls the whole house hot water recirculation pump. When we turn this on we don't want it to keep running forever. So I set a timeout that turns the pump off after 10 minutes. This timeout is a backup to the Home Assistant automation that automatically turns it off after 5 minutes.

Standard plugs: plug04.yaml - plug07.yaml

Luntak brand Tuya plugs

These are simple round wall plugs were flashed with over the air with tasmota-convert, then ESPHome was uploaded via the Tasmota UI. The ESPHome code attempts to recreate their original functionality.

Shelly1's

These devices are great for shoving in a box behind a light switch to add smarts.

Dining Room Wall Switch: shelly1_01.yaml

I coded this to be create a smart switch that is compatible with a chandelier with 9 hue bulbs. It's relay is disabled, unless Home Assistant is unavailable. This allows it to operate as a virtual 3-way switch with Home Assistant, as well as failing gracefully should Home Assistant be offline to act as a dumb toggle switch.

Upstairs Bathroom Fan: shelly1_02.yaml

This allows users to manually turn on or off the fan. If they turn it on while the humidity is below 65% then it will turn off after 15 minutes. If the humidity is above 65% when the manual switch is turned on, it will start a 60 minute timer which will absolutely turn the fan off at that time.

The ESPHome code gets the humidity from Home Assistant and handles all automations internally. When the humidity goes above 65% it automatically turns on, until the humidity falls below 65%.

The switch will also fail gracefully when Home Assistant is not available to act as a dumb toggle switch.

Standard plugs: sonoff_basic_01.yaml, sonoff_basic_02.yaml

These are Sonoff Basics, with plugs on either side. One is used to switch on a floor fan, and the other is being reserved possibly to control a bathroom vent fan.

Power monitoring ONLY plugs: sonoff_s31_01.yaml, sonoff_s31_02.yaml

These are Sonoff S31 plugs are set to power on a boot, their physical "power" push buttons are disabled, and the virtual button hidden from Home Assistant. They are being used to monitor the power usage of a clothes washing machine and my wife's Glowforge laser cutter. With this data, I can create automations to alert us when the wash cycle or the laser cycle is complete.

Power monitoring plugs: sonoff_pow_01.yaml, sonoff_pow_02.yaml, sonoff_s31_03.yaml - sonoff_s31_06.yaml

These are Sonoff POWs and Sonoff S31s. The code attempts to recreate their functionality.

Questions?

Ask on the ESPHome #general channel on Discord. Use #BrianHanifin to tag me.

You can’t perform that action at this time.