Hi
I used to have a piston in webcore that would store the switch status and level of several (7) zigbee switches.
If no motion was detected for X minutes, all switches turn off.
If motion is detected each switch would return to the stored switch status and level.
I could do this in Sharptools but I think I have to create 14 variables to do this.
webCoRE is not supported by SharpTools, but with some rework the majority of webCoRE pistons can be recreated used the SharpTools rule engine. However, as the OP notes, this can sometimes be a cumbersome process due to certain features that webCoRE had that SharpTools as yet lacks.
Webcore still lives on on the Hubitat platform, where it is very popular. However, Most people don’t want to go to a whole different brand of hub just to get Webcore level functionality.
As @bthrock mentioned, SharpTools has more advanced logic than the basic routines in the smartthings app, but it’s still not a parity match for Webcore and you would still have to re-create all your pistons as rules under sharptools. But you don’t need new hardware, and many people find that it does give them the logic they are looking for.