Smart heating system on a budget

The problem

we recently moved into a new apartment, and amongst many other problems one of them is the home heating system. the most frustrating thing about it is is that if we want to take a shower or wash the dishes, We have to preheat the water an hour before because the water has to run through the system and collect in a hot water collector.

previously I've automated my home heating with a relay, but the system is a little bit more complicated. but it's not just this heating system all of the wiring in this apartment is questionable, the main problem being that everything in this whole apartment is on a single breaker. but let's get back to the heating, the heating and hot water is done by the same boiler but the water flow is directed by a valve.

the valve receives a signal from the programmer which tells it which way to go, and here's where we get to the fun part of the project the programme our is also partially broken.

the input buttons on the programmer work sometimes in order to turn it on you have to press the button up to 30 times, technically you are able to program the programmer to prepare water for you you between certain hours but when I tried to program it the option keeps timing out because it wasn't receiving any inputs so I gave up and we settled for pressing the button to turn it on whenever we wanted hot water.

but that's not the end of the problem the programmer is hidden in a cupboard, the cupboard is blocked by our bins. so every time we want to heat up the water we have to move the bins open the cupboard spam the button as many times as it takes and then put the bins back,

all of those things made this problem Skyrocket to the top of my must automate list.

The solution

To start things off I took a a D1 Mini and a temperature sensor, connected the temperature sensor to the hot water collector and with some code from ESPhome I got the data into home assistant, and then just let the water get up to the maximum temperature.

it topped off at 53C and started dropping from there, and with that I set up another D1 mini in the bathroom with RGB LEDs to tell us when the water is ready to use. when it's off it's below 35 degrees when it's red it's above of and when it crosses 50 degrees the light turns green and we can shower, it's programmed with node-red in home assistant.

With this in place we can move onto the next stage, i'm going to use a Micro Servo Motor to push the buttons on the the programmer with a little 3D printed riser and a zip tie to keep it in place, and it worked better than I expected.