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’
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.
- 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.
- Controller – Reboot or reset your smart-home hub when the conditions of your trigger become true. See the controller-as-an-action page to learn more.
- Local Variable – Update the value of an existing local variable when your trigger conditions become true. See the variables guide page for more help with this type of controllable..
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.
An exception is an additional condition, or check, that you can add to specific actions in your action group.
- Exceptions are similar to triggers in that they act as a condition that must be fulfilled before an action is run.
- The key distinction is that triggers cause the action set to run. Exceptions do not cause the action set to run. They only act as a check or condition that might allow or block an action from running after the main trigger group has become true.
- 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:
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:
- Turn on the garden lights.
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.
- Send a push notification to your phone that your 9 PM schedule has run.
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.
- 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 often achieve similar results without them, but you’d have to create multiple meshbots and might unintentionally fire your actions by modifying one of your trigger items.
Here’s how the example above would look if you didn’t use exceptions:
|Meshbot 1||1. After 9 PM everyday||
||1. Set lounge lights to ‘Evening Mode’|
||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.
- Also, toggling any of the additional triggers (movie mode lighting, house-mode or TV on/off) would cause the corresponding action to run, which may not be desired. For example, switching your TV on then off again would cause another voice notification.
It’s more effective and easier to manage if everything is kept in a single meshbot:
|Meshbot 1||1. After 9 PM everyday||
The meshbot above has a single trigger, ‘After 9 PM’ which, when true, causes the actions to run. Modifying the items in the exceptions (e.g. turning the TV on/off) does not cause a repeat action to be fired, as it would in the 3 meshbot example.
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.
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.
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: