Control electric water heater with timer, temp.sensor and pushbutton. Help needed!

Hi to all,
I want to make ESP controlled water heater but not in simple way because my wife and daughter forces me to do it in more complicated way :stuck_out_tongue:
For start let me explain my situation:
I have electric water heater. It have 2kW heater connected in series with mechanical thermostat. All that is connected to 230V AC. For now I’m using timer connected in serial with water heater. Timer is programmed to turn circuit on in 22:00-23:00, 5:00-6:00 and 14:00-15:00. In that time I have a lower rates for electric bill and in afternoon we came from work. Thermostat is adjusted to approximately 60°C.
All that work nice but… :grinning: when my daughter take shower, she usually drain all hot water so nothing is left for rest of us :frowning_face: :laughing: .
So, I thinking of building controller with ESP board.It will have 20A relay connected in serial with water heater (mechanic thermostat will be keep). It also will have K type temp.probe for measuring tank temperature. There will be and push button for manual turn on heater.
All that need to work like this: there will be same timed turn on-off heater like now (can it be somehow visible and adjustable in Lovelace card?). But when tank temperature fall below programmed temperature it will turn on heater for 30 minutes. And when somebody press button it will also turn heater for 30 minutes.
There will be Nokia LCD display on controller case for showing current temp. of tank and some other status things like temperature and humidity of bathroom.

All sugestions how to code ESPHome are welcome, I’m not so good in Yaml like in Arduino programming :face_with_hand_over_mouth:

Get an electric control valve on the outlet so you can limit your daughter’s shower. Sje’ll get out when the hot water shuts off.

Seriously though there are climate components in esphome. Then use a this for scheduling

1 Like