|  Help center

MiOS search

Overview

Actions are the ‘then do this’ part of a meshbot. They are the responses that you want to implement once the conditions of your trigger group become ‘True’.

Here’s a few example actions you might want to set up in a meshbot:

  • Set your lights to randomly turn on and off in various rooms when you’re on vacation to give the illusion that there’s people at home.
  • Dynamically update a Google Sheet with the engagement statistics from your latest outreach campaign at work.
  • Have the dimmer lights in your bedroom slowly illuminate in the morning as part of a wake-up scene. Ease-open the blinds and play soft-music too.
  • Send a Slack notification to the sales team if you sign up a new customer through a web-form.
  • Make a water-sensor in your basement notify you if there is a flood and have the system turn-off the water mains for good measure.

You can run your actions immediately when the trigger conditions are true, or set a delay period.

See the following items for more help with actions:

The action interface

  • Login to MiOS EZlogic
  • Click ‘Meshbot Automation’
  • Click ‘Create New Meshbot’
Once you have decided on your trigger conditions you are ready to choose the action(s) you want the trigger to initiate. The ‘Action’ panel is underneath the trigger panel and lets you choose and configure the response you want:

The entity that will implement your action is known as a ‘controllable’. This is the device, service, meshbot or type of data that you want to respond when the trigger is true:

  • Device – Commands a device to perform an action if the conditions of your triggers are met. See the controllable devices page if you want to learn more about devices in an action at this point.
  • Meshbot – Activates a different meshbot if the conditions of your trigger become ‘true’. For example, you might want your trigger to activate your ‘I’ve left the house’ meshbot. Think of running a meshbot in your actions as like running a subroutine in a program. The meshbot as an action page has more information about this type of controllable.
  • Notification – Lets you send push messages and emails to selected recipients if the conditions of your trigger are met. See the notifications page if you want to learn more about this type of controllable right now.
  • Lua Script – Runs a Lua script to implement an action if the conditions of your triggers are met. You can find some sample scripts in a community post here. Advanced users and developers can learn more about scripts in our API documentation here.
  • NuCAL – Send a command or a request for data to one of EZlogic’s integrated services. For example:
    • Create an action to update your Prospectio CRM when a customer makes a purchase from your website
    • Automatically create a Shipday delivery to a customer when your CRM registers that your business has fulfilled an order.
    • Pull today’s forecast from Accuweather and put this data in a tile on your dashboard.
    You can find a full list of integrated NuCAL services at https://mios.com/integrations/cloud/
  • Http Request – Send a HTTP command to retrieve information from a server or implement a custom action. See the Http Request page to learn more about this type of controllable.
  • House Mode – Activate or deactivate one of your house modes if the trigger becomes true. See the House Modes page if you want to learn more about these modes.

True and False actions

There are two halves to each action — the true and false actions. ‘True’ actions run when all conditions in your triggers have been met (all trigger conditions are ‘true’). ‘False’ actions run when the conditions cease to be true. EZLogic continuously evaluates the true/false state of the triggers so it can implement the corresponding action.

For example, you set up a rule to turn on your closet dimmer light at 50% whenever the closet door is opened after sunset. This is your ‘TRUE’ action, but the light would remain on unless you specify otherwise. In the ‘FALSE’ tab you can set an action that sets the light to ‘Off’ if any of your trigger conditions are not met. In this example, these are if the door is not open (you closed the door) OR it is not after sunset.

Not all actions you set up will need a ‘False’ setting. Examples include ‘one-off’ actions like sending an alert if your door is open, having Alexa speak a voice-message, or making a http request. Some actions may be stopped naturally by another meshbot you have running. For example, your kitchen lights might be switched on by a ‘wake-up’ scene but turned off when you activate your ‘House is vacant’ meshbot. Or maybe it’s an action that you want to terminate manually or by voice-command (e.g. turning the shower or toaster-oven off).

Other actions will most definitely require a false state or they will keep running forever. Experimentation is key to discovering the sequence of rules that work for your unique set of devices, apps and services.

Exceptions

An exception is an additional trigger condition that you can add to specific actions in your action group.

  • Exceptions are best used when you have more than one action that you want to run when your triggers go true. If you only have one action then you may as well add your intended exception to the main trigger group instead.
  • You apply exceptions to one action at a time. You can add multiple exceptions to the same action. You can also use logic operators to establish relationships between exceptions.
  • Actions that do not have exceptions will run as normal when the main trigger group goes true. Actions that *do* have exceptions will only run when the main trigger group goes true AND the exception trigger(s) go true.
  • You can create exceptions based on device, date/time, meshbot and house mode trigger types:

Example

You have a trigger which becomes true at 9 PM every night to launch a series of actions called your ‘9 PM schedule’. However, some of the actions have exceptions under which you don’t want them to run.

After 9 PM:

  1. Turn on the garden lights.
  2. Set the lounge lights to ‘Evening Mode’.

    • Exception – unless ‘Movie Mode’ lighting is active. You don’t want to disturb your movie by changing the existing lighting.
  3. Send a push notification to your phone that your 9 PM schedule has run.
  4. Get your voice assistant to speak a notification that your actions have run.

    • Exception – unless ‘Away’ or ‘Vacation’ modes are active. There is nobody there to hear the message.

    OR

    • Exception – unless the television is on. You don’t want the voice message to interrupt the movie or show you are watching.

Actions 1 and 3 will run in all circumstances at 9 PM. Action 2 will only run if movie mode lighting is not active. Action 4 will run unless the house is empty or the television is on.

Here’s how the example above could look in a meshbot:

Why use exceptions?

Exceptions can help save you time in tasks with multiple conditions. You can achieve the same results without them, but often you’d have to create multiple meshbots.

Here’s how the example above would look if you didn’t use exceptions:

Triggers Actions
Meshbot 1 1. After 9 PM everyday 1. Turn on garden lights 2. Send push notification
Meshbot 2
  1. 1. After 9 PM everyday and
  2. ‘Movie Mode’ lighting is not active
1. Set lounge lights to ‘Evening Mode’
Meshbot 3
  1. After 9 PM everyday and
  2. House mode is not ‘Away or ‘Vacation’ and
  3. Television is off
1. Get voice assistant to speak notification

That’s three separate meshbots you have to remember, open, and configure when you want to adjust your 9 PM schedule. It’s easier to manage and visualize the same task if everything is kept in a single meshbot:

Triggers Actions
Meshbot 1 1. After 9 PM everyday
  1. Turn on garden lights
  2. Set lounge lights to ‘Evening Mode’ unless

    – ‘Movie mode’ lighting is active

  3. Send push notification
  4. Get voice assistant to speak notification unless

    – House mode is ‘Away or ‘Vacation’

    or

    – Television is on

Notes and advice

  • ‘After 9 PM’? See this explanation if you are wondering why we used ‘After’ instead of ‘At’ in this example.
  • Voice notifications. See this tutorial if you are wondering how to get your voice assistant to speak custom notifications.
  • Lounge Light Meshbots. See meshbots as a trigger and meshbots as an action for general advice on how to set these up.

    Tip. As an alternative to meshbots, you could instead create variables to determine the light levels of your ‘Evening’ and ‘Movie’ modes. See the variables page for help with this. We used meshbots in our example just to illustrate one way of doing it.

Action Groups

Click the ‘Add Action’ button to specify multiple responses to a trigger. For example, ‘Enable motion sensors’ AND ‘Enable Alarms’ AND ‘Enable Security Cameras’ after 11 PM. You need to set a ‘False’ action to stop the activity unless the action is a ‘one-off’, terminated manually, or will be stopped later by some other rule.

The following example shows a bot designed to slowly illuminate a bedroom dimmer light, switch on the shower and run a ‘wake-up routine’ meshbot at 6.30 AM:

Unlike triggers, you can’t link actions with operators like ‘OR’, ‘XOR’ etc. They are implicitly linked with an ‘AND’ operator so all actions in a group will run according to the settings you apply to each.