Sense scientists are aware of the pump/fan affinity laws, right?

I’m still pretty new (2 weeks in using Sense), but I work as an energy manager and so the science fascinates me quite a bit, I admit I know very little about machine learning, AI, etc., but I get the basic concepts of dis-aggregation, signal noise, etc.

I’ve reviewed a lot of the info shared on the data science and methods the Sense Labs team use, but not once have I heard mention of the cubic relationships between power and centrifugal fan/pump motor speeds. My furnace has a variable speed blower and upon searching how Sense handles variable speed motors, a lot of results turn up for air conditioning, and the difficulty in characterizing variable speed motors. Which made me wonder, don’t the fan/pump affinity laws dictate certain bounds as to how they behave, when examining variable power draw fluctuations? E.g.: Sense can observe a motor at 100% full speed and correlate that to the motor’s full load draw, and then observe modulation in the context of typical fan speeds at a reduced power draw and conclude that the motor is operating at a lower speed, verified by detected variances in power factor? I imagine that with all the data Sense monitors are actually collecting/crunching, certainly power factor is one of them?

https://www.engineeringtoolbox.com/fan-affinity-laws-d_196.html
https://www.engineeringtoolbox.com/affinity-laws-d_408.html

Two comments:

  • Phase angle / power factor on each leg of the mains is definitely a feature input into Sense’s machine learning and device training. One of their videos shows clustering using phase as one of the features.
  • Machine learning is going to look for relationships between similar waveforms. But it’s not going to understand a priori the cubic relationship that you mention, though they might be able to sensitize machine learning to that relationship via smart feature selection.

I think that Sense is still learning a lot about HVAC and they recently added an Ecobee history integration so they can develop better training using actual system feedback. Unfortunately, many variable speed HVAC systems now use proprietary thermostats that don’t have the same kind of open API as Ecobee.

1 Like

Don’t forget about folks with a pool. I had replaced my old single speed pool pump that would consume 2.5kW for 8+ hours a day for a variable speed pump, due to Sense helping point out its huge contribution to my overall electricity usage. I have the variable speed pump set so that in consumes only 150W, and have it run for 12 hours in the summer…water quality remained great, and I got a huge power savings. Sense doesn’t detect the variable speed pump, however, no matter what speed it runs at.

Thanks for confirming use of phase angle/PF. HVAC I used as just one example, the implications go far beyond “large” appliances, e.g. I have a ~$100 evaporative console humidifier that operates a centrifugal fan at multiple fan speeds also.

Speaking of Ecobee, I am already on board and sending Sense my Ecobee data :slight_smile:
What I learned from my furnace manual was that I need to run a new T-stat wire bundle to take advantage of the two-stage control (there’s even a dehumidify mode I can use!) since the previous homeowner was smart enough to purchase a very efficient system but apparently too stupid/cheap to use more than a bargin bin, single-stage thermostat. I’ve yet to re-wire, but in the meantime I’ve already given the furnace control back over the fan (instead of ecobee control of fan) since I believe it will benefit me. Interesting thing about my furnace is that even without their full-blown super-expensive communicating stat, if I rewire for two-stage I can unlock the full range of blower speeds independent from the heat stage.
image

1 Like

Interesting that you can use variable speeds under furnace controller control. I replaced my AC units this summer with single stage but much more efficient units, for two reasons:

  • I wanted to be able to keep using my Ecobees instead of moving to a proprietary thermostat.
  • My AC and heating needs are fairly light duty in NorCal, and I really didn’t want to put in systems to that would be much more difficult for Sense to identify.

I’m thinking that the only downside of giving your furnace controller the control of your fan is that the Ecobee won’t log the running of the fan, so that feedback won’t go to Sense. I think only Exobee initiated fan operation ends up logged though I may be wrong.

1 Like

Here’s my understanding…
So “single-stage” in the table = three variable heat rates where the blower speed modulates proportionally, but locked. While the stat only recognizes one stage, the furnace will cycle through 60 then on to 80 and finally 100% if needed… so essentially it’s three stages at furnace even if stat recognizes as single stage.
“two-stage” = the two variable heat rates are now stage 1 and stage 2, and fan modulates up and down independently increasingly granular control and max fan savings if flow isn’t needed as much as heat.
“Communicating stat” would be similar to 2-stage but four different heat rates and independent fan speed.

Re: what ecobee logs… when I had ecobee set to controlling the fan the stage 1 heat and fan bars on the trend always aligned one-to-one. Now that I’ve given furnace control of the fan (something ecobee actually recommends to do for variable speed blower systems), the tracking of fan still is there, but at a fraction of what used to be logged… I am thinking that what ecobee logs as fan time now is maybe only the 100% rate, but I need to look more closely now that I have Sense to confirm.

Ecobee fan control example:

Furnace fan control example:


See how fan appears to run less now, per ecobee at least? I know the fan is running because it’s moving heat, so as I said I’m not exactly sure what ecobee is tracking for fan runtime now.

I get wanting things easy for Sense to ID, but at the same time, the whole point of variable speed fans is to save energy, so for me, if it comes to energy and cost savings vs. having detailed data, I’m still going to go with whatever is more efficient…every time. And if Ecobee recommends that it’s better for a system like mine to determine fan operation, I’m listening to them.

It’s unfortunate that out of the box Sense is not as good at detecting inherently more efficient system types, like variable speed fans vs. single speed fans.

1 Like

Thanks for the view into operation and logging of your furnace, with and without the furnace controlling. I’m guessing that Sense would need to use the heat command as a proxy for for the fan being on in your system, for doing any training… It would be interesting to see if the fan on command represents the fan being on at 100%. This shows the challenges of making sense (no pun intended) of IoT/Smarthome feedback.

1 Like

Yes, as far as forced-air furnaces go, if heat is on, the fan must also be on - failure to remove the heat generated would otherwise be disastrous. For single-speed fan blowers you’ll know that it is at 100%. I ran a little experiment to use Ecobee to force the fan on, and I could hear it ramp up, I’m guessing all the way to 100% speed - I’m not 100% certain, but you can see in this photo, I pointed an arrow for the period approximately from 4:55pm-6:00pm in which I had Ecobee force the fan = “ON”.

This was just before I went on a mini-vacation and had my system set back, I’m hoping to look at the Sense data more closely, since the rest of my house was very quiet, I can “subtract” the refrigerators and I think I can discern the various fan speeds, use the affinity laws and get a pretty good idea of what % speed the various fan speeds are based on the differences in their power draws, and see if they match reasonably with what my furnace literature says.

1 Like

On our Lenox 96% Elite two-stage non-ECM motor EL296UHE, if the fan is ran independent of the heat/ac mode, the speed is set by a DIP switch on the circuit board inside the furnace for either low or high fan speed. If Sense does pick it up, I expect it to get two fans.

Thanks for sharing. After a little more thinking, the interesting problem here is how to selectively adapt and/or block “ground truth” back into Sense reinforcement learning. The one thing that might be worse than no “ground truth” or 100% wrong “ground truth” (just ignore it), is intermittently wrong “ground truth”. In your case, without some readjustment, Sense would tend to reinforce only the 100% fan on signatures, while relegating other variable settings to the heat function. There are probably 4-5 different modes of “ground truth” intermittency.

  • Structural intermittency - your furnace example. Some new rule / proxy approach can fix.
  • Data dropout on “ground truth” source - my Ecobee and smart plugs intermittently go offline due to various networking or other issues. The fix is for Sense to NA out the ground truth for the missing time period.
  • Human induced errors - I have occasionally made mistakes with the “Device is not on” button. People also seem to want to try human-based training, but that is subject to temporal and other unpredictable mistakes.
  • Disconnect between feedback source and ground truth - suppose Sense is using the on/off data from a smart switch, but the light bulb or other device on the with is either turned off or burned out. That smart switch is going to be a bad proxy for the the light or other device. A similar phenomenon can happen when the device changes it’s operational behavior - an AC compressor near the end of its life.

Sense has to automatically figure out how to sort out a mishmash of good, questionable and downright wrong “ground truth” data. Data cleaning and organization is the biggest time sink in data science…

1 Like

I don’t want to get lost in the weeds with the HVAC example and use of Ecobee information. My question was more trying to determine if Sense Labs is using only the power time series, or if, since they are getting voltage and amps to determine wattage, if they are using the metrics to also get at other things like Power Factor. Power, through affinity laws, is cubic relationship with motor/drive speed, but power factor is also variable across the range of motor speeds, and so my question is why can’t power factor fluctuations be used to also infer information regarding the combination of devices that may be powered at any given time?

I don’t know if my question is over-simplified, but that’s why I was intending, when I find time, to show how I can use the various power draws of the furnace fan to deduce what speed it is operating at. Now, I get that this is probably only useful to Sense if they were to ask users to supply nominal fan motor sizing to get the range of wattages that are possible to operate at, and I understand that kind of ask is open to bring all kinds of problems with regular consumers, but still, I think there’s more in what I’m trying to say that could be useful, I’m just having a difficult time articulating without putting together a master’s thesis. Still no replies from Sense employees, I have no idea if what I’m trying to say would be useful to them, or if they’ve already exhausted my line of thinking.

Just yesterday my Sense discovered my humidifier as another example. Even this dinky ~$100 device has a fan that has four distinct fan speeds. I determined that sense has discovered the device, but only at the lowest of four speeds, presumably as it cycles itself from off to speed 1 and back again. Now, I can force it into speed 2 on/off, but that hasn’t been detected yet, and so I’m going to keep it in that speed until it is identified and then merge them, and continue on with speeds 3 and 4, etc. I’ve no clue how it would react to trying to detect going from speed 1 to 2 without stopping first, or from 2 to 3 without stopping first as an example, my guess is it will have trouble with that also, because the focus is on the start and stop signatures, and so if I leave my humidifier in auto-speed control (where it decides which speed is needed based on its humidistat controller), what’s more likely, that it won’t discover this at all, or that it will identify it as the lowest speed and lump everything else in with “other”? My guess would be the latter.

You might find this technical webinar from last year interesting. Somewhere around 2:20 into it you can see Ghinwa explaining a clustering chart, where the x-axis is feature17, p0, or phase (ostensibly for leg 1) and the y-axis is feature1, power. She also explains that there are 10s of features associated with each flagged transition.

1 Like