+100, this is an awesome topic. I’m taking notes, whatever comes out of it, I’ll translate into software features. As of now , default equipment state on startup is something I’m thinking of.This is a great discussion. I take failsafes very seriously because of frequent power and or internet outtages. Some things that help right now in my case:
1. Adding a Real time clock...this allows the pi to keep time if it reboots when the internet is down.
2. Equipment outlets...i used a relay module so I have normally open and normally closed contacts on each relay. If I want something to fail in the ON position if reef pi is down, I wire the outlet to the normally closed contact. If I want it to fail in the OFF position, I wire the outlet to a normally open contact.
3. Redundancy. Dont rely on one system or sensor for very important systems. This also goes along with what i did for equipment outlets. A great example is heaters. Running a heater without a thermostat with reef pi as exclusive control is asking for trouble. I use heaters with thermostats set for 80. They plug into equipment outlets that are wired on normally closed relay contacts. If reef pi fails, heaters work as normal and keep tank at 80. If reef pi is up and running, it controls my heaters and tank runs at 79.
The problem is that some of the other systems that reef pi can control, need some type of failsafe, or ability to set a default state. Things that can be hardwired to achieve this are best served by doing it that way, thinga that can not need some type of setting for a default state.