Temperature range triggers seem a little awkward to work with?

The screenshot basically says it all. I'm trying to run this rule based off a temperature range. Background is I've got a 1970 oil burner zoned hot water heater that I'm attempting to use as the auxiliary backup heat to a brand forced air new heat pump. For those unfamiliar with heat pumps, they're only efficient down to just below freezing temperatures, but here in the mid-atlantic US region we're only below freezing normally at night in the winter. Modern heating systems have thermostats that just do this kind of thing, but they cost tons of money, are closed off, and have expensive replacement costs if you have hardware failures, and frankly i have no idea if they'd work with my ancient water valve zoning systems.

This rule works as written and does what I expect it to (turns off the oil burner thermostats and turns on the heat pump thermostat) but I feel like there's a better way? Maybe? For reference the "Weather" device you see referenced there is the basic built in OpenWeatherMap virtual device.

I've come up with at least 2 other potential ways I could write this rule (using a periodic schedule or using conditional actions) but I have no idea if those are any better than this?

Thanks in advance for any thoughts!

This doesn't look bad to me, though I think you might as well use "Temperature changes" as your trigger instead of "Temperature < 55," since your predicate rule will already take care of anything outside that range, eliminating the need to do any further "filtering" with your trigger (and it's always a bit questionable to have the same event as both a trigger and something that would make a predicate rule become true or false--though you'd still have that implicitly, just not explicitly, so I'm not saying there would be a difference in outcome).

The other thing to note is that this looks like it only turns things on/off but never does the opposite when the temperatures again fall outside those values, so I assume you're either doing that manually or have some other automation to take care of that.

i have done similar things 3 different ways.. here are my examples.. none seem too much of a draw on the hub.,

  1. office gets too warm with all my computer equp.. 5 ups, a 32 corre mail/dns server.. with raid.
    a couple of nas's and a high power plex workstation..

The first automation opens my keen vent by sensing the temp inside the vent to determine when ac is on, and closes it when the heat it on as the room is already too warm.

2nd controls running the additional office ac and fan when the office still gets too hot.. not sure why i wrote this in 2 rules but it seems to be working well.. i had some flakyness when this was on smartthings with the switch not correctly sensing whether on or off .. thus i added the additional power level check.


The last example is for heater coils i have on the roof over the kitchen bump out eating area. it is north facing and not sloped enough and i get ice dams. I have in the past forgot to turn on the coils and had a hell of a mess. So now i forgo a little electricity to make sure it doesnt happen again. I wrote an app that check temp to turn it on or off as well as a date range..