I'm following this train of discussion with great interest. I have been thinking about this in general for some time now and been wondering how best to address it. Here in South Africa, we have regular power cuts due to power generation shortfalls. Sometimes up to 3 x sessions of 2 hours a day for up to a week. I've had pi's lose their IP address a few times. I've only recently started using the Dosing feature, but feel the risk of something going wrong while a Doser is dispensing is relatively low in my case. I dose small quantities often throughout the day. I also time the dosing so the chance of being caught in the middle of a dose is less (Our schedules run on the hour) so all my doses happen at minute 25, second 45). None of this will help during an unplanned outage of course, but I feel it's a start.
None of my timers run anything that could dose / add any thing that could cause a problem. My kalk is added through my ATO, so as long as my level is stable, that is fine. Timers control feeding / pump scheduling / certain lights.
However, I have been thinking that a UPS on just the Reef-Pi is a very good idea. Just to keep the Pi alive and stable and to not lose track of things like timers / dosers etc. I also had the idea like mentioned above to monitor the state of a relay to tell if power was on or off and take action. Currently this would have to set up as an ATO with the relay acting as a float switch and then Reef-Pi would have to run a Macro which we know it wont do at the moment. With the Alert feature in Macros you would also be able to get notification of power having gone down as well (Provided your router is still online) - Maybe a small GSM module for this?? I recently came across this sim card deal which might be ideal for this kind of thing.
GSM Global Sim - Data for Life - Once-Off Fee (robotics.org.za) I'm sure there are other services like that.
Anyway, I'll be interested to see what ideas come out of this discussion and what the best solutions are, but I think the best two options are 1) keeping the Pi alive for as long as feasible and 2) Making sure Reef-Pi has the failsafes built in or configurable.
And, yes. I know making the suggestions is the easy part. I really do appreciate the people that have to take these suggestions and apply the dark art of writing the code to make it work.