I currently run one of my Ecobee thermostats in auto mode and I would like to know when the AC and furnace are running to trigger some rules. The “settings.hvacMode” item only shows “auto” (which is fine). But is there a way to tell if the AC or furnace is running? Short of that, it would help to even know if the system is running either one, from which I could determine whether it is AC or furnace by comparing the current temperature to the set points.
I think you are looking for equipmentStatus
:
String equipmentStatus "equipmentStatus [%s]" { ecobee="<[123456789012#equipmentStatus]" }
Take a look at the API page for specific values that can be present in the item state. You could write a rule like this:
rule Equipment
when
Item equipmentStatus changed
then
ACisRunning.postUpdate(if (equipmentStatus.state.toString.contains("compCool1")) ON else OFF)
FurnaceIsRunning.postUpdate(if (equipmentStatus.state.toString.contains("auxHeat1")) ON else OFF)
end
Awesome, thank you. I have two Ecobees on the same floor and for certain reasons, I keep the set points too close on one of the thermostats to use Auto mode. So I am going to have it transition between modes based on when the other Ecobee in Auto mode fires up the furnace or AC.
For those of you interested, the rule is below (the dining room Ecobee runs in auto and the kitchen Ecobee is changed based on the dining room equipment status):
rule "Downstairs HVAC Sync"
when
Item tDiningRoomEquipment changed
then
if (tDiningRoomEquipment.state.toString.contains(“compCool1”) && tKitchenhvacMode.state == “heat”) {
sendCommand(tKitchenhvacMode,“cool”)
pushover(“Kitchen HVAC has transitioned from heating mode to cooling.”)
}
else if (tDiningRoomEquipment.state.toString.contains(“auxHeat1”) && tKitchenhvacMode.state == “cool”) {
sendCommand(tKitchenhvacMode,“heat”)
pushover(“Kitchen HVAC has transitioned from cooling mode to heating.”)
}
end