Smart plugs and device detection


My response could have been better worded. Usually when users write in about “training,” they’re talking about supervised learning done by them, i.e., going around the house and turning devices on/off to force detection. This is not possible with smart plugs at the moment. We will absolutely be using that data to build better models on our end, however. In this way, sure, we’re training the models. I just try and avoid that language given the connotations it has for many users.

And it’s not necessarily that user-driven training isn’t possible, it’s just wildly impractical and would likely be an incredibly frustrating experience to deliver us the fine-grained data necessary for detection.

1 Like

Ok makes sense. That said though, if for example I would have an HS110 on my washer (say it wasn’t detected yet, in my case it is), Sense will now attribute the power usage it gets from the HS110 to the “Washer” device that it sets up as part of the HS110 integration. I would assume it’s going to continue to “try” to still identify the power signature of my washer the “old fashioned” ML way so it could happen that at some point in the future, it now detects my washer using the ML model (whether or not at this point it uses the HS110 data or not is irrelevant). At that point since it now has “detected” my washer the ML way, I could (or at least should be able to) remove the HS110 from my washer to utilize it somewhere else without this affecting the “ML detection” of my washer… right?

Does that make sense?


That definitely makes sense, but it’s not quite how the integration works. So, we’ll actually make every attempt to not detect a smart plug device via ML after you’ve connected it to a smart plug. This is very much intentional, as we would not want wattage to get duplicated from multiple iterations of the same device or device components. That said, we still collect data for it in the typical fashion and if you remove the device from the smart plug, that data will be used to help with an ML-based detection.

1 Like

Interesting. That really makes no sense as to why you wouldn’t want to continue to try to detect the device via ML as you can feed the ML engine model for device type X very specific data about the device plugged into the smart plug (gathered from the integration) to help that process potentially go quicker.

I can see there could be some difficulty with double counting usages for the relatively short period of time between the time the device (component) is detected the ML way and the time the user confirms that “Device X” that was detected actually is (part of) the device(s) that are plugged into Smart Plug X. Once that identification is confirmed all that data can be attributed correctly to the combined “merged” device(s) (smart plug one + ML one) again though.


Keep in mind that smart plugs aren’t just about quicker detection. They’re also about control. That double counting becomes a lot more serious when a user intends to use a smart plug as a permanent control mechanism for the device. Still, I should add that this integration is new. As we actually see it put to use by users, functionality could change down the line.


I think I’d like to see us be able to configure a smart plug as either controllable or not controllable. There are some plugs that I have for control - lamp, subwoofer, etc. I have other smart plugs purely for measurement. For the latter, I’d like to see some indicator that says that Sense ML has detected the underlying signature of the device and that I can remove it from the smart plug because I don’t need the smart plug electrical usage monitoring anymore.

I’ve been thinking of buying some extra smart plugs for my washer and (gas) dryer. This would purely be for electrical usage monitoring, not for smart control. I’m not sure why my washer and dryer haven’t been detected yet.


As of the last patch, you can turn on/off the control functionality for individual smart plugs. You’ll see that options in the Device Settings screen.

As for the possibility of removing smart plugs after Sense has accurately detected the device, that is the goal here. We’re pulling in lots of ground truth data in order to implement that functionality in the future.


That makes all sorts of sense to me. Effectively the smart plug would be acting like a rapid response 24x7x365 human observer, accurately telling Sense when something turns on or off and probably more promptly than a human user could possibly do it. So it doesn’t interfere with Sense’s underlying architecture and it eliminates the need for a customer to be watching the alerts all the time.

And, since Sense would tell the user wen it’s identified each smart plugged device, the user can then decide when to remove the smart plug and let Sense do its job.


A related question. I have LED lighting all over my home including stand-alone lamps and many lamps on a single switch. Would it be reasonable to assume that using Hue or TPlink identification on the stand-alone lamps would focus a bit more learning on things that have not been identified?


As both a Hue and HS110 smartplug user, I’ll give my perspective. The beauty of Hue and smartplugs is that they result in more known devices in your house, and less power ending up in either Always On or Other categories. The HS110 also helps with learning the device it is attached to, but not device on outlet strips, since the smartplug supplies Sense with ‘ground truth’ for that specific device. ‘Ground truth’ is a key ingredient in the machine learning training process.

I don’t think having things identified via smartplug or Hue helps focus Sense on ‘other things’ within your house. It’s not like the Sense algorithms can subtract off found devices from the waveform. Training is more about Sense learning how to focus in on very selective aspects of the incoming waveforms, not ‘elimination’. But you do benefit from others who use smartplugs and supply ground truth for devices you have in your house, that you may or may not have used a smartplug on.


I just learned today that if you have a Hue device plugged into a smart plug, you can’t merge them. I had logged a ticket because I got a new plug that I am using for my home theater, which has various things, plus the LG TV that had been detected, and a Hue bulb. But I couldn’t add the Hue bulb to the smart plug so it is being double counted. Support says they are going to fix it, just wanted to pass that along.

1 Like

Is there a topic anywhere that explains why sense has such a difficult time detecting a device that we do clearly see and can identify? I’d like to understand why when I see things like my floor heater come on and recognize it immediately and it follows the same pattern that sense doesn’t see it.


I don’t think there is a good explanation per se, but I think some of the Sense technical blogs are helpful in understanding how the Sense system works. But the best way to understand why Sense isn’t perceiving some device waveforms the way you see them is to look at the waveforms from the same perspective Sense sees them - mostly via sub-second windows.

Sense made an early tradeoff to focus on near realtime detection so bubbles show up almost immediately after the device comes on, but means that they are only allowed a small window of waveform to do the identification. All of the stuff you see in the Power Meter is far outside that window (1/2 second resolution). Sense has said they are working on wider window identifications (post-detection, where the device is detected after a significant portion of the waveform has gone by, like us humans do), but typically in the context of specific devices like EV chargers. And they have plenty of EV detectors in action.

But I think the toughest part of their work is AUTOMATICALLY developing/installing detections that work consistently and automatically for every house. You might be able to spot devices in your home most of the time, but doing the same in 100 other homes with different conditions would probably be very challenging.


One of the AskSense question touched on this, so keep watching. I should be able to get that video up soon…just a tad more editing to do.



Not sure if you had a chance to watch this video, but it also gives some good insights from the Sense experts.


Oh yes, Ryan told me something was coming a couple days ago and when I saw that post this morning I went and watched.
When I was referring to George, that was him In the video.

1 Like

One of the biggest benefits of the smart plug would seem to be allowing the users to label the device that’s creating the specific electrical draw. It would seem that having a pre-classified data electrical load would make it easier to identify similar devices? Instead of having to use ML to infer what a particular device might be, you would have a pre identified load that should be able to be used as a baseline for identifying similar loads, no?

If you’ve already profiled the electrical draw of the smart plugs (since it’s not zero) you shouldn’t in theory be able to cancel out the draw from the smart plug itself, record the draw from the device with the label and then use that as the identifying mechanism. Sure, you might have to leave the smart plug in place for X timeframe ( a month maybe?) to be able to learn enough about the patterns of that particular device (gather enough data sample) to be able to identify it when the smart plug is removed.

Using this methodology, you should also be able to start getting a better handle on always on devices as they would actually be labeled by the customer.

I’d love to run around my house moving smart plugs for the next year to be able to help teach Sense to better identify devices in my environment. I’m not so enthused about having to buy a smart plug for every device that I would like to have detected properly. Especially when I’m a Apple Homekit user and the TP link option isn’t even compatible with my smart home system.

Hope this helps!



Hey Chris,
The labeling you mention is exactly what what the sanest plugs are being used for now (T P Link). Say I plug a toaster into a HS110 and enter the label in correctly. Not only do I have that association but sense is using that on the backend for identification purposes. I also had thought about the moving around idea but was told by a user with a lot more knowledge that it would have to see hundreds to thousands of cycles to be helpful. So probably a few months at each location, still worth the trouble in my opinion because it will help future users.
Sorry if I missed anything.
Edit: just noticed that was meant for @RyanAtSense and thought it was for me, sorry about that.


Not really possible to “cancel out” a smartplug’s contribution to the whole house wave waveforms with such a huge disparity between sample resolutions - 1/2 second for Smartplug, 1 microsecond for Sense samples, plus variable latency of smartplugs. Best you can do is use the smartplugs for reinforcement learning.


I would definitely suggest checking out the smart plug FAQ and our blog post on the integration.

You can already label smart plugs and the data is proving incredibly beneficial to our data science team. We don’t yet have a mechanism in place for Sense to learn, in perpetuity, the device from the smart plug, but that’s something we’re working on. That’s mentioned in a bit more detail in the links above.