Repository Status | ESPHome Community |
---|---|
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.