I can code in Python, but the
If Python script returns True feature isn't useful as a replacement for the
Super Conditions plugin.
If Python script returns True functions at the entire Trigger or Schedule level, under the
Conditions tab. The power of
Super Conditions is that it functions within the
Actions tab (or within an
Action Group), enabling you to apply a condition to an individual Action.
The only thing that I see that operates on the Actions level that would apply is the Server Action "Execute Script", which allows me to run embedded Python code. Using that, I can granularly test my individual Condition and then perform the Action (in Python code) if true. I'm presuming that's what you meant.
One downside, as you mentioned, is having to know how to code in Python and learn the IOM; that's ok for me (albeit taking longer), but it's much less approachable for non-coders. The other downside is obfuscating the individual conditional Action, rendering the list of Actions less readable and not visually self-documenting in the Actions list, although the "execute embedded Python script" Action does show the first part of the code, so with a leading Python comment you can make things somewhat self-documenting. That's actually better than
Super Conditions, which rendered everything as just "conditional" in the Actions list.
The non-script way to accomplish what
Super Conditions does is to split a single Trigger/Schedule into multiple Triggers/Schedules (one for each Action that needs to be Conditional), using the
Conditions tab as appropriate. That very quickly gets messy and defeats some of the elegance and readability of a configuration, but it's doable.
But core functionality that provides the ability to do If/Then processing for individual Actions in Trigger/Schedule
Actions tabs, or in
Action Groups, would not only make this functionality much more approachable for non-coders, but it would also make it visually self-documenting along with all the other potential Actions in the list. I could see it rendering as an atomic indented If/Then statement right there in the Actions list. I'm glad it's on the development radar somewhere, although at a low priority.
Ultimately, the "Execute Script" Server Action looks like it's my solution for now: thanks for bringing that my attention! I replaced all my
Super Conditions with "Execute Script" embedded Python code, so I'm good to go for the next Indigo version.