I've made a program that takes in a filter channel name and start/stop times, reads over the raw data, and creates a visual interpretation of which filters are being turned ON and OFF and at what times, down within the second. It can be found at /ligo/gitcommon/filterBankChanges/filter_bank_changes.py. The attachment gives an example of what the current output looks like and what everything means.
Unfortunately, since my program reads raw data, it can take a long time to run, depending on the length of time and the amount of filter modules that change during that time period. I would recommend not running it for time spans of more than a day if you don't want to wait for more than ~1.5 minutes.
If you're needing to look at filter changes over a much longer period of time, Dave created a program fmscan with minute trends that can handle that (77899)! A quick overview of the differences between our two scripts is that fmscan can look over long stretches of filter module data, but is only precise to the minute, while filter_bank_changes is precise within the second but would be impractical to run over the large timespans that fmscan can.
Similar to his program, we'll be adding in an option to run filter_bank_changes.py with a right click and Execute on filter medm screens. I'm also working on having the script grab the filter modules' names to put into the right spots in the pop-up image.