I did a search and could not find an answer to this. What is preventing this routine from local execution. Here is a simple Routine I am trying to build.
In this case, all the devices are local, so the execution is local. The “Downstairs Automation” Virtual device is using an edge driver, so it is local.
The Xiomi Sensor is running an Edge Driver, so it should be running local. However this one addition prevents the routine from local execution. It doesn’t matter if the condition is added as shown here or as a pre-condition.
The same is true if I add Luminance, or any other parameters from any these other sensor that are running DTHs that are local.
Thanks for tagging me @JDRoberts.
I’m checking with the engineering team what could be causing this behavior, @damohabir, as soon as I get their feedback, I’ll share it with you.
I guess I really don’t understand how local execution works. This is as simple as it gets. Both devices are running Edge drivers, so I would expect this routine to run locally, but it doesn’t.
Edge automations don’t run locally when you add a time delay to a motion detector. I don’t know why but they don’t.
It will probably run locally if you move the time delay to the virtual dryer.
Here’s what is supported by Rules API, which routines use, to run local as of several months ago. This may not mean, however, that the hub firmware or app UI are ready quite yet to run them local.
Actions:
command
every
group
if
sleep
toggle
Conditions:
and
between
equals
greaterThan
greaterThanOrEquals
lessThan
lessThanOrEquals
not
or
Consider the Smart Lighting app. Some automations created in that app can run locally. It isn’t the Groovy SmartApp running locally, it is a native implementation of some of the same ‘rules’ in the hub firmware. Only if the devices and all the required rules are in the firmware will the automations run locally.
Similarly consider a Groovy DTH. Some can run locally. It isn’t the Groovy DTH running locally, it is a native implementation of some of the command methods in the hub firmware.
The same thing applies to app Routines/Automation. They use the Rules API. They can only run locally if the devices and all the Rules that are required have been implemented in the firmware. Some Rules have, some haven’t.
Indeed, the issue is the selected option of “remains” as it is not supported for local execution yet.
About the supported capabilities, the comment from @Automated_House is focused on the previous integrations like DTHs where there was a limitation for certain attributes or commands.
There are no limitations regarding the capabilities we can use in automation for Edge drivers, only some functions are not included yet for this type of execution.
@nayelyz, I have been doing some additional testing on local execution. Here is a simple example. I am just trying to turn on the lights in a room when motion is detected and the luminance reading is low. This example executes locally if the luminance is a fixed value.