I am trying to determine if my furnace just started up, based on power draw. I don’t want to detect that it is running - specifically I want to know when it started.
When the furnace is not running - it draws between 0-10watts (I have no idea why). Being a high efficiency furnace, when it is running, it draws between 75 and 300 watts. While the fan is ramping up it likely draws even higher numbers - but I’m not sure.
Why am I doing this? My objective in doing this is to determine situations where the furnace exhaust pipe is frozen up (plugged) - in which case the furnace detects the high pressure in the exhaust pipe and shuts down. So I will be looking for a situation where I detect the furnace has just started up, and then within ~45 seconds it stops running. I will use this to create an alert so I can take corrective action.
I can’t just test for power draw “above: 75” watts as then it would trigger continuously when running - rather than just on start up (that approach triggers about once a minute all the time the furnace is running).
If it was possible I’d test for “from: < 10 and to: >75”. But, even if that was possible, you need to consider that the furnace will ramp up (it’s not an instantaneous power draw jump from 10 to 75)
And, an fyi - I use the Emporia CT clamp based power monitoring, so I only get a power usage updated in HA once a minute.
Any thoughts on how to figure out if my furnace just started? Id be happy with a template state change or an automation trigger - I could work with either.
I don’t see this being possible with that sample rate. Honestly, even at once a second the inrush current on startup is likely to be too fast for it to pickup (at least reliably).
Unfortunately the integration on this thermostat does not include that piece of information. These are Honeywell redlink thermostats (Think nest on steroids) which are amazing thermostats but their cloud interface and the HA integration only reflect a tiny percentage of the thermostats capabilities.
In your first graph, is the furnace running for about 5 minutes each time? I’ve not seen furnaces that run for such a short time period so I’m trying to understand if that is normal operation or if that is the faulted condition you’re trying to detect?
If it is not the faulted condition, are you able to turn your furnace on for 45 seconds and then turn it off so that I can see a graph of what the faulted condition looks like?
Also, does the Emporia provide an energy entity in addition to the power entity? The energy may be more useful because it will capture all usage and not just a sample at a moment in time. Although looking at the graphs you provided, I’m not convinced the sensor is reporting instantaneous power; it looks like it could definitely be the average power over that entire minute. You could do some testing of unclipping the current transducer from the wire it is on for various fractions of a minute and see if it still reports non-zero numbers.
After reading your response I went back and re-read the Emporia integration documentation and you are correct - it takes the average of the last minute. There is a cloud app for Emporia that does give real time power data - but that doesn’t help me here.
I also noticed that pattern you mentioned - when I created the graphs - and I will need to examine that further. I am somewhat limited in what I can do as I am away from home until mid April - but I can do things like push the setpoint higher and see what happens. But no - this isn’t the behaviour I was trying to detect - at the moment things “should” be working normally. I will experiment a bit and post more information.
Based on what you’ve said, I think you can do an automation that triggers when the power goes above a threshold (> 100W maybe?) which indicates that the furnace fan has started. Then you can wait for that power to drop below some threshold (<15W?) in less than about 2.5 minutes, which would indicate that the furnace didn’t start properly. I’m suggesting over 2 minutes because using a 1 minute update interval you could catch the 45 seconds of the fan between two samples. So for example the first data point has the fan on for only 15 seconds and the next data point has it in for 30 seconds, and the 3rd data point would be with the furnace off.
Your turn-on threshold would need to be a number smaller than the average fan power * turn-on-duration / 1 minute / 2. So if the fan power is 400W and runs for 45 seconds, you’d want the trigger to be no higher than 150W, which is what the sensor would report if the fan were on for 22.5 seconds of each 1-minute reporting window.
This looks great! I really appreciate the thought and analysis you put into this - and coming up with a simple elegant solution. I will try it out shortly. Hard to test remotely - other than looking for false positives but I can see what I can do.