The IFO node checks that all nodes in a list are in their nominal state, and if they are, then an operator can successfully click the intent bit to Observing. With Jamie's new addition to the python guardctrl client, we can grab a list of all nodes, and then subtract another list of "excluded" nodes that we do not need to watch in observing. The idea behind this exclude list is that a handful of nodes is easier to manage than 100 changing nodes.
Code is attached as a txt