Writing the conclusion at the beginning: It really seems like this isn't the way this was supposed to work, so I'm actually thinking that I'm doing something wrong, and I crave your feedback if so.
I noticed that even though the hover text says that the "Cycle Fans" Action should be Low-Medium-High-Off, I noticed 2 things, at least with my Bond-Connected Fan (Built-in integration):
1 - After high, it does not go to off, it goes to Low again.
2 - Cycle Fan doesn't actually turn ON the fan if it is off, which results in an error being thrown in the logs.
So I guess I have a feature request: Please make the Cycle Fan action be On(Low)-Medium-High-Off.
Additionally, most fans actually work in a reverse cycle, so it might be nice to have a "Cycle Fan High" feature that would be On(High)-Medium-Low-Off.
So rather than a simple rule with a trigger of a button press and an action of "Cycle Fan," I had to build this monster:
In case anyone is wondering about the Boolean reset, it's because there's no way to capture if my guest used the wireless RF remote to turn off or adjust the fan, so I need to basically enable the keypad button again after a time (if it's still running, oh well).