Multi-Device Actions

Following our Multi Device Triggers / Conditions release, we’re excited to announce Multi Device Actions are now available!


When selecting a device for a Device Action in a rule, you now have the ability to select multiple devices at the same time. Once you select a device from the picker, it will automatically filter down to other devices which share similar commands and gray out the others.

Note that mutli-device actions send all of the commands in parallel. For Hubitat users, this may put additional load on your hub compared to the sequential actions that are made when individual Device Action blocks are added used in a rule’s flow.


Thank you for this (and the multi device triggers). I am going through updating my rules where appropriate. This really helps simplify in so many situations (not to mention slicker rule execution).


This is awesome, thank you!

I get how this works for lights etc. to set things the same, but does it also apply to devices like presence sensors?

Currently I have an automation with two triggers, if X is away OR Y is away THEN Z. Am I able to combine X and Y into one trigger (IF X,Y is away) for the same result? Or will that result in X AND Y instead of X OR Y? I assume so, but not 100% sure.

Hi Adam - thanks for the kind words. This particular thread is about multi-device actions, so most presence sensors don’t have commands (actions), but if you were using a Virtual Presence sensor for example, yes, this could be used with those as well.

As to the question on Triggers, be sure to check out the sister thread for Multi-Device Triggers and Conditions - the short version is that Triggers are always OR’ed together and with Conditions you can adjust the containing condition between AND/OR and the inner Multi-Device Condition will match that.

To accomplish something that only executes when both devices are in a certain condition, you would add the devices to both the Triggers and Conditions and make sure the condition is set to ‘all’ (AND).


  • If any of Presence1, Presence2 changes to ‘present’


  • If all of Presence1, Presence2 is ‘present’
    • Then Do X
    • Else Do Y

Awesome, thanks for clarifying! I think it makes sense now, totally missed the other thread on triggers and conditions! Keep up the great work, always appreciated.

Should I be able to set Macro Commands (fadeLevel) on multiple devices?

I went to select multiple lamps at the same time and action a fadeLevel at the same time, however the macro command isn’t available when multiple devices are selected. Just wondering if this is the expected outcome?

1 Like

Yes, it is the expected outcome as macro commands are filtered out leaving only native commands when multiple devices are selected in a single Device Command block.

1 Like

I just came looking for this same answer. It seems that the LIFX app doesn’t have the option to fadeLevel multiple, specifically selected, lights either. To my surprise SharpTools rules engine isn’t able to do it, neither. What a pain having to set individual schedules for each light.

There are ways to fade multiple devices over time. It’s just that the Device Macros are designed for individual devices.

For example, you could create a rule that changes a variable over a period of time and uses that variable value to set the dim level of multiple lights (in a single Multi-Device Action). It’s probably more of an intermediate-advanced approach, but it certainly would accomplish your goal.

For example, here’s a rule that reduces the level by 10% every 30 seconds:

So if I set the $FadeLevel variable to 90 it would do the first dim to 90%, wait 30 seconds, then calculate the next $FadeLevel value as 80 and continue the cycle until it gets below 0.

Of course, you could refine this and adapt it to your needs as you see fit… maybe add in another variable to stop the fade if you wanted to be able to fade over a longer time. Or maybe use expressions to make the delay and/or fade values more dynamic (eg. rather than linear).

I should have included more information of the rule that I was trying to create – the time trigger variable. But now I see what you mean as having more possibilities, thanks for pointing it out.

1 Like