Another thing to the wishlist (again I'm sorry if this has already been discussed):
In the ULM thread I came across this post about redundancy and backup systems surrounding heaters and I found it very interesting. And it would be very cool if Reef-Pi could have ways to set up different ways of redundancy and backup systems surrounding this very vulnerable part of our system. In the post below sbidny talks about two different ways of dealing with it, either in a load balancing way or an alternative way. Some may prefer one before the other. If Reef-Pi were able to control multiple heaters it would be cool with an option to choose between load balancing or alternating solution. A way to detect faulty heaters would of course be super valuable also.
https://www.reef2reef.com/threads/t...rstv-investigates.341149/page-20#post-4333504
"Ideally, a backup should be running just as often as your primary, either in a load balancing (both heaters running) or an alternating solution. This way, you know both heaters in a functional state.
Then you just need a way to alert when one of the heaters is no longer working.
There is very little chance both heaters are going to fail at the exact same time (maybe around the same time but not at the exact same time). There is a much greater chance the backup won't work when you need it (having been submerged in saltwater for multiple months/years or improperly configured at some point).
To detect a non-functional heater, you could employ one of a few methods using a controller.
1. Detect a change in the current via the outlet
2. Detect a change in how long it takes to heat the tank
3. If alternating the heaters, detect a fall past a low temperature point while trying to heat with each of the heaters
As for load balancing versus alternating, this comes down to whether heaters fail more often from increased cycling or increased usage. Load balancing decreases the overall usage but not the cycling. Alternating cuts the cycling on each heater by half and also reduces their usage.
I personally choose alternating, but this does usually require more advanced controller programming knowledge."
I love reading through this type of posts

. Thank you for sharing your thoughts.
Heater crash are probably the most common reason for tank crash, and reef-pi should definitely let users mitigate this. My thoughts:
- We need to support multiple sensors, multiple heaters . This is a predicate based on which whole redundancy based approaches to reliability works.
- Changes in current draw is not necessarily means heater gone bad. A generic anomaly detection is more important. For example, I have found fascinating things about the heaters in three of my tanks, after monitoring them for almost 3 months. Heaters are really really good at keeping temperature within 78.3 to 78.1. In fact from the temperature graph I can actually spot the time when heater is kicking off, and when its shutting down. I can also approximate the shut off time. This is very stable data, but it does change, depending upon the heater age/power, tank size and ambient temperature. Given tank size & power (wattage)is fixed we can actually machine learn the trend and detect when heater is acting up. I have a feeling, thats gonna give us early warning.
- The UI for a more sophisticated temperature controller will be some work. I think we can instead build and expose a programming capability, which reefers can use to combine multiple sensor data, and make corrective actions (multiple equipment control). Once we have found a pattern that works for us, we can standardize it using the UI.
- For multiple heater system, I'll always vote for all active all the time. i.e. run both heater all the time. Probably get the second heater after 3 months of the first heater.
I am really fascinated by the trends reef-pi is showing for temperature water. I have some similar thoughts about ATO also. I think we can get a lot more stable (less variance for longer period) and reliable (detects anomaly and takes corrective action) by just analyzing past data, and then employing a timer or PID controller based feedback system.