Sensing thermostat heating/cooling calls

I would like to be able to sense heating calls and cooling calls from my thermostats for use in controlling other things. I have three Sensi thermostats and don't want to pay to replace them with other models. Physically, the thermostat signals a heating call by connecting a heating call lead to a 24V AC source. Is there some relatively inexpensive sensor that could sense that and send a Zwave or ZigBee signal to Hubitat without impacting the existing communication between the thermostats and the zone controller?

I tried many different methods to do this when I had a wifi thermostat. In the end, all of the methods I tried did not work. I ended up just replacing the thermostat with one that connected to my HA system at the time (pre-hubitat for me). I tried relays and current sensors and every method I could come up with. Nothing worked reliably since the current is so low in your HVAC system.

Think of it this way, let's say you try 2 methods to try and connect them. Each one costs you $30. That's $60 you could have spent on a new thermostat. It doesn't take long for the attempts to come up with a workaround to be more expensive than just going the easy route.

3 Likes

How immediate do you need? The poor way I did it at one point was to put a contact sensor in my duct and measure the temperature. It wasn't perfect, but it was cheap.

1 Like

Do you need to distinguish between a heating call and a cooling call?

I ask because I use Hubitat to raise my Sonos volume when there's a call for heating/cooling (because the furnace blower comes on for both), and lower the volume when the blower goes off.

To do this, I put the neutral for the furnace blower through a current sensor switch (from Functional Devices) and connected the output from the current sensor switch to a GoControl contact sensor. So the sensor is open when the blower is off (i.e. no heating/cooling/fan) and closes when the blower is on (i.e. heating/cooling/fan).

This has worked really well.

Cost me about $30-40 to put it all together. I bought a split core current sensor switch on eBay, which made installation very easy.

@Ryan780 is right - this approach will not work if you put the current sensor on the 24VAC wiring.

However, you can modify the approach I've taken to determine when W or Y are energized as well. For Y, you'd have to put the current sensor at the outdoor compressor. For W it depends on how your heating works - easy for me because I have electric heating strips in the furnace.

1 Like

The suggestion to look at whether the blower is running would work for some of what I would like to accomplish but not everything. We have three zones in our house. For some purposes, I would like to distinguish between a call for the basement, a call for the main floor, and a call for the upstairs. For example, I would like to override the default logic for staging the furnace and have the furnace run on low stage when only one zone is calling and run on high stage if two or more zones are calling.

Maybe put the current sensor switch on the damper motor?

But that will only read when the damper is moving, not when it is done closing/opening, right?

Depends if it is fail last, fail open, or fail closed?

1 Like

Correct. However, if you know which ones moved, you can approximate which zone is active.

@JasonJoel beat me to it. Also, it means that you can't miss any of the damper motions because they will become out of sync. And what about a motion to close followed immediately by a motion to open that is too close together for your current sensor to reach back to low? It would also be out of sync.

I don't keep track of anything in software that can't eventually be polled from somewhere or isn't automatically reset. Too unpredictable.

1 Like

Interesting idea. I will think about whether that gives me the info I need. I believe that my zone dampers are normally open. The zone controller opens all of the dampers when either all of the zones are calling or none of the zones is calling.

1 Like

You know, I just thought of something when I saw another thread talking about a device. What about the Sage doorbell sensor? It is designed to detect current flow in a 12-24VAC circuit and is battery powered. Comes with 3 wires so you can monitor 2 circuits simultaneously. Best part, it;s only $5 on ebay at the moment.

I can't see why this wouldn't work. Can anyone else?

2 Likes

I ordered a Sage doorbell sensor. I will try it and let everyone know if it works or not.

2 Likes

Holy cow, You read my mind. As I was reading down from the top, I thought the same thing and then saw your post. I'm a day late and a dollar short

1 Like

I happened to be reading the other thread about the driver for the Sage right after reading this one. So, in a way I kinda cheated. :wink:

Reid - I’ll be very interested in how these work with a long on/off signal vs the short signal from a doorbell.

You will probably have to re-write the driver....it appears from what I have been able to find, the device should send a signal every so many seconds as long as the button is pressed. This may flood your zigbee with messages if it is on for an extended period of time. Depending on how long you are looking to monitor your network and see if this causes zigbee lags.

If I need to learn how to write a driver, or at least modify one, that will add some time to my project. But, that is a skill I have been intending to add to my repertoire, so this could be what forces that to happen.

There's a ported driver on another thread for the sage here on the forum. What it will really come down to is how long is the re-fire rate. You might be only able to detect the start of a cycle reliably. The end might be a bit dodgy.

As discussed in another thread, it appears that modifying the driver is not going to remedy the issue of the device flooding the network with tons of messages (and probably going through batteries quickly). I am planning to resort to a polling approach. I plan to connect the white wire of the sensor to common via a switch, such as one of the relays of a Zooz ZEN16. To test the state, I need to turn the switch on for about a second then process any resulting events. I think I will be able to accomplish this in a Rule Machine rule. If not, I will have to learn to write an app.