Here are some steps to get more understanding of why a trigg might not be doing what you expect it to do. When asking for help, please mention everything you’ve discovered while going through these steps.
First of all, it’s important to know some things about how a trigg works. Please consider these and hopefully it will already help you understand why it does not do what you expect it to do.
- For a trigg to run, all of it’s whens (conditions) need to be true
- The trigg is run once when the combination of all conditions becomes true. It does not keep running as long as all conditions are true, and it does not run again when the value for one of the conditions changes while still being true. At least one condition will have to become un-true before it will run again.
- Most conditions are ‘states’ - ie something is true or not true for some time. Some conditions (such as ‘Sun sets’, ‘Now button activated’, ‘It is 8:00’, ‘Timer expires’ are ‘events’ - they are active for only one moment in time. This means that events are never true at exactly the same time. A trigg can have any number of state-based conditions but at most 1 event based condition. If you put more than 1 event based condition in a trigg, that trigg will never work since the events can not happen at the same time.
- All the triggs thens (actions) are executed at the same time, not one-by-one. That means that if there are conflicting actions in a trigg (ie dim the light to 40% and turn the same light off), usually one of them will ‘win’ and it’s not necessarily always the same one.
If it is still unclear why the trigg is not working as you expect, take the following steps to get more understanding of what’s happening.
When or Then
It is important to know whether the problem is with the When or with the Then of your trigg. And which one exactly. This will help you understand how to fix it, where to ask for help and will also make it much easier for others to help you.
To debug where the problem lies exactly the Olisto Now channel and the Notifications channel are very useful. First let’s make sure that they work correctly by testing with a simple trigg: Shared Trigg. Install this trigg and activate the Now button that you choose. Get the notification? Good, then at least this works. If not, mention this in your post.
If the test trigg above is working correctly:
- Add a Notification action to your trigg to send yourself message when the trigg runs. Get the notification message when you should? It seems your conditions are fine. If not, proceed to Debugging Conditions.
- Make a new trigg with all the actions from your trigg, and a Now button as condition. Does pressing the Now button activate all your actions? Then the problem is likely with your conditions. Proceed to Debugging Conditions.
- Have a look at the ‘Last Activity’ part at the bottom of the trigg overview screen. If there is something there at the times you expected the triggs to run (even if it’s errors, or not errors), your conditions are probably fine and the problem is with the actions. Proceed to Debugging Actions.
Debugging Whens
If your trigg has multiple conditions it can be complicated to understand what is happening or what is going wrong. It will be easier to understand what happens by looking at each condition individually. To do that, make a new trigg for each condition you’re. Use the Notification action in those triggs to find out if each of the conditions work as you expect individually. Be sure to use distinctive texts in your notification actions, so you know which Notification comes from which condition.
Found the condition that is not working? It may help to disconnect and reconnect the channel for that condition. After doing this you may have to edit your trigg to select the correct devices again.
Debugging Thens
Actions don’t influence each other (other than ‘conflicting’ actions as mentioned earlier) so it’s not needed to test each of them individually. You probably already know which one is not working. If the product the actions is from comes with it’s own app or website it’s always helpful to check whether the same action is working correctly when you use the products own app. If this is not the case then probably either your device is not connected to the Internet properly, can not (reliably) be reached by it’s bridge (if any) or the supplier of your product may be facing a problem with their systems. In such cases it’s best to seek support from the product brand/supplier.
If the product can be controlled correctly from the suppliers app or website it may help to disconnect and reconnect the channel for that condition. After doing this you may have to edit your trigg to select the correct devices again.
If you did not solve your problem, always first use the search function to find out if someone else already started a topic about a similar issue. If not, start your own topic and report as many of your findings as possible to help others help you.
Location
Location triggs can be particularly tricky to get working right, for several reasons. One is that devices (both iOS and Android) do not always report their location accurately, another is that location triggs are often complicated because they combine the location of different devices and sometimes different conditions as well.
Before deep-diving into debugging, one thing to always check is if there are any old phone left registered in your account. If this is the case, those phones may be ‘stuck’ in the last location we’ve registered their presence, which means that the ‘Nobody is at location’ condition will never be true for that location. To check this, go to the Connected Phones screen (More → Connected Phones) and check that there are no old or duplicate phones there. The ‘last active’ indication should be a good clue as to which phones are no longer active in your account; remove those.
If that doesn’t help, let’s dig a bit deeper. As with troubleshooting any trigg, the first step is to find out what exactly is not working. The best way to do that is by looking at things in isolation.
For that, you can make a simple trigg: ‘When someone entered of left location X send a notification’. This trigg will send you a push message whenever we observe some phone registered in your account entering or leaving the location. You can use variables in the push message to tell you which phone it was that entered or left, and whether it just entered or just left. To do that, when writing the message use the variables button ({...}
underneath the text input), then choose ‘Location’, then ‘Name of phone’ for the location you are ‘debugging’. Repeat the steps to add ‘Entered or left’ for the same location. If you want the message to look good, make sure to enter some words or spaces between the variables
If this is not working then it is very likely that the phone is not sending us location updates. Double-check all the permission and power-saving settings. You can also try completely resetting the Olisto app (on Android by going to the app settings, force-closing the app and clearing the app-data, on iOS by uninstalling and re-installing the Olisto app). When you start the Olisto app after this, it will ask you to log in again, ask for permissions for location-access and power-saving exceptions (just to be clear: both of these are absolutely required for location conditions to work) and to indicate if you’ve used your phone before: Answer yes and select the name of your phone from the list.
If you get this to work then the next step is to check whether the ‘Someone is at location’ and ‘Nobody is at location’ conditions work. Again start with a single phone and make two triggs (one for ‘Someone is at location’ and one for ‘Nobody is at location’) that send you notifications and see if this works. If this does not work, you can try deleting the location (on More → Channels → Locations) and re-creating it. After this you will need to edit all the triggs that were using this location (they should have a red exclamation mark now) and re-select the location.
Once this is working fine you can start using conditions with multiple phones in the same location et cetera.
TL;DR: Things you can try are
- Re-setting the Olisto app (on Android by force-closing and clearing app data; on iOS by uninstalling an re-installing the app)
- Try to delete and re-create the location in More → Channels → Location. Make sure to update triggs afterwards.
- Make sure there are no unused phones registered in your account on more → Connected Phones; possibly try re-registering the phone you are using by answering ‘No’ to ‘Have you used this phone before’ after resetting the app. Make sure to update triggs afterwards.
If none of this helps, your phone is likely not sending location updates when it should. You can try searching our forum, or the Internet in general, for any geofencing- or battery-optimization related tips for your specific phone.