I love my brewing water to be perfect temperature, too!
I am currently writing model-predictive controller with moving horizon estimator for my Silvia!
The idea of the controller is to model boiler water temperature based on current brew head temperature and previous heating/brewing history. Then the model-predictive part settles the boiler optimally, without any over/undershoots.
The estimator (general case of what is also called Kalman filters) monitors the operation to update model parameters. It is detecting the scale buildup over time! Kinda neat.
I like the idea of taking the brewing into account. It’s clear that the added cold water from the pump will result in cooling of the boiler water, and the amount of cooling is easy to calculate. But you probably need to add a sensor to measure the water flow.
I have a sensor for water flow (bought replacement part from Saeco machine) and also sensor that measures the tank water temperature. The sensor is on a spring touching the bottom of the tank so that nothing has to be disconnected:)
I also have a water level sensor which is a small plastic pipe mounted to the side of the tank. Inside it there is a floating magnet. On outside of the tank, there is a flat spring which pushes two reed switches to touch the side of the tank where the pipe is. This allows me to detect when water falls below acceptable level.
I am currently writing model-predictive controller with moving horizon estimator for my Silvia!
The idea of the controller is to model boiler water temperature based on current brew head temperature and previous heating/brewing history. Then the model-predictive part settles the boiler optimally, without any over/undershoots.
The estimator (general case of what is also called Kalman filters) monitors the operation to update model parameters. It is detecting the scale buildup over time! Kinda neat.