Exception processing is inherent to automation – including many (most?) of the existing SmartApps and Hello Home Actions, even if the exception most common in SmartThings is “Mode”.
- Turn on the air conditioning, unless nobody is home or if a “peak power” alert is active.
- Turn on the nightlights, unless Mode is vacation.
Your multiple-exceptions example is a strawman. The user can have as few as zero exceptions or as many exceptions as they can reasonably comprehend. The SmartThings App engine is a general purpose compute engine and should be able to handle arbitrarily complex logic. The user interface can put reasonable restrictions on this logic … at the moment, it is parameter driven and that is limited and confusing (e.g.: For many SmartApps, I can have it send a push notification OR a text message, but not BOTH – the underlying app engine can do both, but most SmartApps are not programmed to handle the and/or situation of two parameters).
Similarly, why should I have to set all light bulbs in a list of selections to the SAME dimmer level? This is a UI limitation, not an app engine limitation. Is it confusing to design the UI to have a dimmer level for each lamp? Is it less confusing to save the current settings of a list of lamps as a Scene that can be named and recalled as desired? Is save/restore an option that would be useful to some SmartApp developers?
Time for some spinoff topics? This one seems relevant:
…CP.