I am using a solution that @ sidjohn1 posted here: Shower idea.
I am using it in all my bathrooms and it seems to work well. The sensor is sensitive enough to detect water flow and start the exhaust and shower light right away. To reduce false alarms I placed a restriction so that it would only activate if the vanity lights are on. However I do get a few false for example if my son is in his bathroom but not using the shower and Roomba comes along and hits the wall of the shower head it will activate the fan. I really need to change my rule so that is if acceleration is detected for 15 seconds or more than turn on the exhaust, but I still need to figure out how to do that in RM. Rule in Simple Automation right now. Anyway hope it helps. -Pat