Line 64: Line 64:
  
 
[[Constraint: Headphone Connection|Headphone Connection]]
 
[[Constraint: Headphone Connection|Headphone Connection]]
 
[[Constraint: Invocation Method|Invocation Method]]
 
  
 
[[Constraint: Is Roaming|Is Roaming]]
 
[[Constraint: Is Roaming|Is Roaming]]
Line 76: Line 74:
  
 
[[Constraint: Macro(s) Invoked/Not invoked Recently|Macro(s) Invoked/Not invoked Recently]]
 
[[Constraint: Macro(s) Invoked/Not invoked Recently|Macro(s) Invoked/Not invoked Recently]]
 +
 +
[[Constraint: MacroDroid Invocation Method|MacroDroid Invocation Method]]
  
 
[[Constraint: MacroDroid Mode|MacroDroid Mode]]
 
[[Constraint: MacroDroid Mode|MacroDroid Mode]]

Revision as of 14:09, 31 March 2022

Constraints are optional and can be used to allow or prevent a macro/action from running based on certain conditions.

Constraints can be placed on macros to allow or prevent the entire macro firing based on the set condition(s). You can also add constraints directly to individual triggers and actions from the 'Edit Macro' screen, by clicking on the trigger/action and selecting "Add constraint"

A constraint is evaluated at the point a trigger fires or action runs and a macro/action will only run if the constraint condition is true.

By default if adding more than one constraint to a macro they will be combined with an AND condition (e.g. all added constraints must be true). This can be changed in the dropdown in the constraints title to an OR condition. In this case only one of the added constraints needs to be true for the macro to run.

Nesting constraints

If you need more sophisticated logic applied to constraint there is a special AND/OR/XOR/NOT constraint that can be used. Any constraints nested under the logic constraint will have that logic operator applied. It's also possible to nest multiple logic constraints to create complex logic. For example:

AND
 | - Constraint 1
 | - OR
     | - Constraint 2
     | - Constraint 3

In the above example, Constraint 1 must always be true AND at least one of (Constraint 2 OR Constraint 3) must be true.

List of Constraints

Airplane Mode

AND / OR / XOR / NOT

Application Running

Auto Rotate

Auto Sync

Battery Level

Battery Saver State

Battery Temperature

Bluetooth State

Brightness

Calendar Entry

Call State

Cell Towers

Dark Mode

Day of the Month

Day of the Week

Device Facing

Device Locked/Unlocked

Device Orientation

Geofence (Location)

GPS State

Headphone Connection

Is Roaming

Light Sensor

Location Mode

Macro(s) Enabled/Disabled

Macro(s) Invoked/Not invoked Recently

MacroDroid Invocation Method

MacroDroid Mode

MacroDroid Variable

Mobile Data On/Off

Mobile Service Status

Month of the Year

Music Active

NFC State

Notification Present

Notification Volume

Phone Ringing

Power Connected

Priority Mode / Do Not Disturb

Proximity Sensor

Ringer Volume

Roaming Enabled

Rooted Device

Screen On/Off

Speakerphone On/Off

Stopwatch

Sunrise/Sunset

Time of Day

Time Since Boot

Torch On/Off

Trigger Fired

Volume Level

VPN State

Wifi HotSpot State

Wifi State