TriSensor 8 routine not working

I am trying to use an Aeotec TriSensor 8 to close my roller shades when it’s cold and there’s low light. I made a routine with three conditions: 60 minutes after sunrise to 60 minutes before sunset; weather temperature below 40 degrees; lux below 1000. The TriSensor is on my window sill. I check the history and all three conditions are being met, but my shades don’t close. Over a period of three weeks, it only worked once. It doesn’t make a difference if I set one of the conditions as a precondition. Does anyone have a suggestion?

Use new option “range” instead of bellow and above for both temperature and light.


The typical issue you get with comparisons in Routines is that they only act as triggering conditions when they first become true. This used to be particularly problematic when used with time periods if they were already true at the start time. However time periods now have a ‘Run at start time’ option which deals with that.

3 Likes

Thank you all for the help. Run at start time fixed it.

1 Like

That is why I recommend “range” as is true for entire range at any value within trigger (in this case time) happens.
Best way is to create virtual thermostat/humidifier, virtual light and virtual switch for sunset/sunrise and test this. Also you can create virtual shade or use real one for action. That is what I usually do and it works every time




Now create routine and test by changing values in virtual triggers

In Routines, ranges are implemented as a between with the changesOnly property set to true. So that is the same issue as with the greater than and less than comparisons - a trigger only occurs when the condition changes to true.

@Dissonance and @orangebucket
Create exact two routines like mine and test by changing any triggers (temperature, illumination and sunset/sunrise) and monitor roller shade. I was assuming that if any of those triggers are not true, shades will open. It works without any issues. @Dissonance if you are happy with solution change virtual triggers for real one



You can make change that if any of those triggers are true to close shades and if all are not to open shades.
There are some other more complicated options too
@orangebucket range works slightly different then above/below. Above/below works one time only, and range monitors full time. Try routines both ways, and you will see the difference. It must be something else in ST background processing. Change values of temperature, for example, couple times within range and also out of range, and you will see that works differently

I am happy with my description.

I also have a test Routine running at the moment with a wide temperature range. It executed its action when it first received a temperature update after creation as only then could it determine the condition was true. On subsequent temperature updates the condition has remained true but the Routine did not execute it’s action.

To be clear I am talking specifically about triggering the Routine, by which I mean causing it to check whether it needs to run any actions.

Conditions are always updated when relevant device events occur so they are always valid as comparisons when the Routine is triggered. Condition updates don’t always trigger the Routine though.

1 Like