I can’t see anything that indicates the ability to read the main fan relay state on an Ecobee thermostat. I have an external filter that I’d like to turn on and off whenever the system fan turns on and off. I can fake some modes, such as sensing when the system is actively cooling or heating, but I don’t see any way to see if the fan is on during minimum fan minutes per hour (fanMinOnTime).
Although I don't use an ecobee (I have a z-wave+ thermostat), I also had a need to read the air-handler blower state. In my use case, I raise/lower Sonos speaker volumes based on the fan being on or off.
Anyway, here's what I did:
I passed the neutral for the blower through a current sensor (0.5-150A), and connected the output from the current sensor to the external contact terminals of a zwave contact sensor.
When the blower turns on, the contact closes, and it opens when the blower turns off. So I use contact state to automate my Sonos. You could do the same thing with your external filter.
Here's what the event log looks like for the contact sensor. Corresponding perfectly to when the blower comes on for heating/cooling, or when the fan is turned on by itself.
I (and others) have tried using that sensor to monitor washer/dryer starting/stopping, and they are mediocre at best.
Aqara sensors are not very stable on Hubitat, unless very specific Aqara-compatible zigbee routers are used.
Of those two, the first is trickier to overcome. Some people try to increase motion/vibration by tethering a vibration sensor using a spring, but even that is hit & miss as exemplified by @codahq's example here.
That spring is pretty funny!
Is there something that would simply show power-on via Zigbee / Z-wave for under $20? I would just put it on the fan side of the fan relay. Something that senses 12V that shows the control side of the fan realy would work, too.
It’s pretty silly that with all the Ecobee / Hubitat intelligence, there’s not a direct way to read that value.
The simplest and least expensive solution might be to use one of the custom ecobee integrations and see if they support updating the fan state in Hubitat.
That might be sufficient for your needs to turn on a ventilator - a delay of a few seconds shouldn't matter.
Because it is using the web API, it can take up to your full polling interval (1 minute or more) to update its status. Faster to use a current switch.
EDIT: A duct pressure switch might also be an option. They are commonly used for whole home humidifiers and forced-draft water heaters to sense the air pressure created by a furnace fan or exhaust blower. Some are available for under $20. Most seem to be closer to $50. Since this isn't actually going to be used to control the combustion side of the process, you should be OK using the cheap one.
You may also see that your furnace has a built in auxiliary equipment relay. Mine does, but it's 120 volts. You would need to pair it with a basic relay if you wanted to use that as a fan indicator into a contact switch of some sort.
As a workaround, I tried a motion detector inside the main unit and had a metal plate literally flapping around and the motion detector didn’t work. Perhaps it has to be much further away?
The successful workaround was a door switch with the magnet attached to an index card and suspended with a few layers of box tape. It probably won’t last more than a month or so, but I can switch to something more durable, if needed.
Motion detectors are typically passive infrared detectors/sensors (PIR). As such, they are unlikely to pick up a metal plate. Unless, I guess you warm it.