I am new to this forum and new SmartThings. I have an older Lutron Grafik Eye that essentially has five states, Scene 1 to Scene 4 and AllOff. I have this IR controlled device integrated through a Harmony Hub and in addition to the 5 states. I have exposed these 5 states and additionally the Dim and Bright functions as activities from the Harmony Hub. When imported into SmartThings, each of these activities exposes themselves as a switch. The 5 states are however mutually exclusive and Dim and Bright need to be turned off before they can be activated again.
I wrote a pretty simply Piston to model the state of the actual device. The Piston simply ensures that only one state is active by toggling off the other states when one becomes active. For Dim and Bright, the piston simply turns them off after they have been turned on, so they are able to be activated again. With this piston in place, I can simple turn on the states I want in routines, and the piston gets the state machine in order.