Else portion of a Rule no longer working

I had a Rule that turned on a virtual switch whenever a temp sensor in my generator cabinet exceeded the outdoor ambient temp by 25 degrees. When the virtual switch turned on, a separate rule sent me a Pushover notification. When the temperature in the cabinet fell back below a 25 degree delta, the "Else" action turned off the virtual switch. A Rule then sent me a different Pushover notification.

*Before I updated to the 2.3.6.x firmware (currently on .144), this virtual switch on/off Rule worked fine. Now, the Action works fine (turns the virtual switch on) but the "else" portion doesn't work at all (Virtual switch never turns off). Any suggestions to fix this? Otherwise, I guess I need to figure out how to create a trigger that will fire only once when the temp drops back below a 25 degree delta. Thanks in advance for any help or ideas.

Trigger:
Temperature of Generator Cabinet(60.1) reports > Outdoor Ambient Sensor(56.7) +25.0

*||Actions for Generator Running Variable Set||
| --- | --- | --- | --- | --- | --- | --- | --- |
*||On: Gen Running Temp V Switch (Command only switches that are off)||
||ELSE|||||:scissors:||
*||Off: Gen Running Temp V Switch (Command only switches that are on)||

A screenshot may make it easier to diagnose Joe... Based on what you have described... I am not sure how it worked to begin with, but a screenshot may help me understand it a bit better.

What @sburke781 said, your rule description shows a trigger that would only fire when the temp is greater. Once it goes below it would no longer trigger and no ELSE would be ran.

Also, if you have an ELSE you need an IF statement, which you don't show. So a screenshot of the actual rule is needed to really evaluate what is going on.

1 Like

Based on what I see there you done need the else you just need a wait for the temperature to fall below your threshold and then turn it off.

Hi folks. Here's a screenshot, but I don't know whether it will add much info. The thing is, this worked well for quite a while without me doing anything to it, and then at some point it just stopped turning off that virtual switch when the temp dropped back to a delta of less than 25 degrees. I didn't do anything to the rule, and frankly I'm not sure when this happened. I had attributed it to the move to 2.3.6, but wouldn't swear to that being correct. Perhaps some firmware change altered the rule itself? Really no idea...

The big problem is that I can't figure out how to get the virtual switch to turn off when the temperature of the generator cabinet drops back to less than 25 degrees more than the outdoor ambient temp, which is a good indicator that the generator has turned off. If anyone can provide ideas about how to accomplish that, I'd certainly appreciate it.

This is more of a convenience rule than anything, as we had some trouble with the generator turning off once power was restored last year, but the gen technician corrected that. I just want to make sure that if it happens again while we're away I know, so I can have a friend come over and shut it off manually. Thanks in advance for any insight anyone can add.

The Else is only relevant when you have a preceding If conditional action

I would need a little more brain power to make a suggestion of what to do next .. :slightly_smiling_face:

What I can’t figure out is why it worked at one point, as I know I got notifications that the generator had turned off. Anyway, I’m stumped as well. If there was (were?) a “not this” option, I could just set it to turn off anytime the generator cabinet was not 25 degrees or more hotter than the outside temp, and limit things by having the rule turn off only a virtual switch that was currently on. That latter part already exists, but the option of triggering when something “is not” doesn’t seem to be there. Well, it’ll give me something to work on while watching tv… Thanks for taking a look, Simon.

No worries. I can only imagine the generator turning off may have been the result of some other automation.

The best I can come up with is two options:

  1. Change the rule to be triggered off the temperature in the generator cabinet changing, then move the comparison down into the actions as a conditional (IF-THEN-ELSE) setup

  2. Split the rule into two, one to turn the switch on and one to turn it off. You could get fancy and have some required expressions to handle only triggering when the switch or the temperatures are in a certain state.

I think the best you can say abut that rule is the results can not be guaranteed. Your rule is not valid, you should not have an else without an IF. How RM handles that I am not sure. You would need to turn on logging and see what it's doing. It may be it just sends both or sometimes one or the other.

I think @tivomaniac's suggestion is a good option. Replace the ELSE with a wait for temp to fall below and then it will send you the notification.

Also you will need to either use a private Boolean, or some other method to stop the rule from triggering every time the temp rises above your threshold.

1 Like