Condition greater or equal than not always triggering

Hi, I have noticed that my conditions comparing ‘greaterorequalthan’ between two numeric variables do not always trigger the intended logic block even though the “trigger on update” is set.

P.S.
Also just to note, I had originally not realised that only the first variable in the pair can trigger a change, even if the second one changes and makes the statement true. Thus you need to setup your conditions both ways (i.e. condition1: A >= B and condition2: B <= A) if you want the condition to be evaluated when either variable changes - is this intentional?

P.P.S
to provide a specific example, if you are able to look at my logs. The condition ‘house_heating_down’ should have triggered at 15:11:06 today (3rd Dec), as indoor_temperature was updated to be greater than desired_temperature at that time.

1 Like

Hi @fayrlightit,
what you observed is to be expected according to how this is currently implemented - which doesn’t mean it’s what it “should” do.
We had limited the trigger to watch only changes in the first variable to reduce complexity and we were not quite sure whether there was actually a use case for it. So now we have a use case and we “just” need to handle the complexity.
We will probably address this soon.

2 Likes

Thanks Philip, all understood. To clarify though, even with this understanding, it seems that the condition does not always fire the logic block. This was the example I gave in the P.P.S. statement. Much appreciated, Mark.

1 Like

Hi Mark,
I had a look at your configuration and the situation at the mentioned time.
The condition you mention reads “indoor_temperature is greater or equal than desired_temperature”, correct?
So to my understanding, the condition was already true before 15:11, because indoor temp (20.5) equals desired temp (20.5). Then at 15:11, it was updated to a higher value, so it is now “create than” desired temperature.
Because the condition was true before and after the update, I would not expect it to fire, because the result did not change (was and stayed “true”).
Do you agree with that? What would you have expected to run the logicblock anyway, although there was no change in the condition result (this was how it worked with the old, less sophisticated algorithm)

2 Likes

Hi Philip, thank you for taking a look. Unfortunately I can no longer look back that far in the logs, and from memory I had thought that indoor_temperature was lower before the 15:11 change, however I may have been mistaken from what you say. I understand your explanation, and you are quite correct that I would expect it to skip the second positive outcome under those circumstances. Apologies if I sent you on a goose (or turkey?) chase, ill monitor things and let you know if I think this happens in future. Thanks for all your excellent support as always. Mark

1 Like

Thanks for watching it and happy to review any case that you suspect to not work properly.
I prefer checking and coming to the conclusion it was working than finding a bug :smile:

1 Like