9 features I'd like to see in Apilio

  1. Allow two sets of actions after a logicblock: Positive and Negative (IF… THEN… ELSE)
  2. Allow more complex logic operators for conditions (for example, NOT operator)
  3. Update a variable from a logicblock
  4. Invoke a logicblock from a logicblock
  5. Allow Smart Life actions to switch on/off a specific switch within a device (conditions allow selecting the switch, actions do not allow selecting the switch)
  6. Allow longer names for variables, conditions, logicblocks, etc. for clarity purposes
  7. Allow adding a custom description text to an element (variable, logicblock, etc.)
  8. New type of variable (date) and conditions (comparing two variable dates, comparing NOW vs. variable date)
  9. See historical values of variables for debug purposes
2 Likes

Hello @teknofilo :smiley:

These sound great, I think some of them we already support, so we might be able to help improve your home logic already!:

:arrow_right: Allow two sets of actions after a logicblock: Positive and Negative (IF… THEN… ELSE)

We currently support this: you will see in your Logicblock that you have the positive and negative action chains. When the Logicblock is evaluated, the condition (or conditions involved) are checked and if the result is true, then the positive chain of actions is executed. If the result is false, then the negative chain of actions is executed.

:arrow_right: Allow more complex logic operators for conditions (for example, NOT operator)

This is currently not in the complex conditions as it is very easy to setup the opposite condition to the one you currently have. If you need to use the condition twice I agree is not very elegant to have to duplicate them, but definitely you can get around this with a second condition that matches the other one but is true when the variable is false for example.

:arrow_right: Update a variable from a logicblock

Yes, this is a big request :slight_smile: I’m analysing the ideas at the moment, so it would be really helpful if you could share your specific use today: can you give me an example where you are updating a variable in a Logicblock (going through IFTTT today, of course)


:arrow_right: Invoke a logicblock from a logicblock

Please if you can, add your example for this case to this thread as well:

:arrow_right: Allow Smart Life actions to switch on/off a specific switch within a device (conditions allow selecting the switch, actions do not allow selecting the switch)

Thanks for raising! Yes, this is indeed something that we’ll look into a bit further, we’ll keep you posted. Some devices also don’t allow specific actions, it depends on how the hardware vendor has done their integration with Tuya, so we have already found cases where devices could not be controlled properly simply because the vendor didn’t have the actions enabled.

:arrow_right: Allow longer names for variables, conditions, logicblocks, etc. for clarity purposes

I think this request complements the next one beautifully: I think a little description would help keep variable names smaller actually :slight_smile: Would you agree?

:arrow_right: Allow adding a custom description text to an element (variable, logicblock, etc.)

I like this idea :smiley: We just need to convince @DanT and @pebneter :innocent:

:arrow_right: New type of variable (date) and conditions (comparing two variable dates, comparing NOW vs. variable date)

Could you give me an example of how you would use this? You can create time conditions in Apilio already, and they will only be true at the specific time you have setup.

Have a look here:

And maybe here:

:arrow_right: See historical values of variables for debug purposes

Have you tried downloading your logs as a CSV? You can then filter out any data that you are not interested in to have a look at the events that have changed it.

We do have some ideas to keep improving logs, so thanks for mentioning this. Let me know if you give the CSV download a go and if it helps you with the debuggin!

Let me know if I understood all the features correctly, thanks so much! This is fantastic feedback :bulb:

2 Likes

Love this @teknofilo, it’s very clear we need to do more, faster! Thanks so much for the feedback.

1 Like

With regards to being able to update a variable from a Logicblock, I have a complex use case.

I would like to trigger an action (open the garage gate) when I am very close to my house. I am thinking about an Apilio variable that keeps the zone where you are:

  • Zone 1: <100 m from home
  • Zone 2: <1000 m from home
  • Zone 3: >1000 m from home

I would like the action “open garage gate” to be triggered only when I move from Zone 3 to Zone 2, and then from Zone 2 to Zone 1 (Z3 -> Z2 -> Z1). … other combinations (like going out for a walk, Z1 -> Z2 -> Z1) should not trigger the action.

in order to do that I would set up 2 geofences with IFTTT (100m and 1000m) and update variables in Apilio (numeric variable CurrentZone and boolean ComingHome) depending on logicblock evaluations taking into consideration how I move between zones.

1 Like