Improve Device Management UI

I think part of the problem with the smartplugs is that the plug is the device if the device had not been detected previously. I’ve always thought that Sense should allow users to create devices, independent of detections and smart plugs. For example, I know I have an Amana ARB190ZCS refrigerator. So if I’m able to create that device on my own, when Sense detects a light and I notice it turns on when the fridge is open, I can say “link that to the fridge”. When it detects the compressor, I can say “link that to the fridge”. And if I ever plug my fridge into a smart plug, I can just tell Sense that. And if I remove it from the smart plug, I still have a fridge and I still have the history. I’d like to be able to have a list of all the appliances in my house (or at least the ones that I might be interested in) and be able to link them to patterns/usage that Sense detects.

Here’s another example that illustrates how that would help. I have a sump pump that had already been detected. When I plugged it into my HS110, I was able to tell Sense the Sump Pump was plugged into that outlet. That is, it combined the two. When I removed it from the HS110, I separated the two and still had the Sump Pump history. Now, I plugged an undetected dehumidifier into a different HS110. Sense knows nothing about the dehumidifier, so I needed to tell Sense that the plug is the dehumidifier. If I ever retire that HS110 or reset it in Kasa to use it with a different device, I’ll lose all the history of my dehumidifier. Why should pre-detected devices be treated differently than undetected devices when plugged into a smart plug? I’ve also seen reports from users where they have a device plugged in to a smart plug and Sense also discovers that same device, thus counting it twice. If I have the device listed already, or the ability to just create it, I can fix that by telling Sense that it’s plugged into that outlet.

Also, if Sense has a list of my appliances, that could possibly help the machine learning know what to look for in my house. I don’t want Sense to guess and automatically assign patterns, but maybe it would help narrow down the possibilities.

I think for simplicity and clarity, Sense needs to get away from the smart plug is the device and the usage pattern is the device or component so that devices can just stand on their own, which is how a human would see it. Is there any downside to this that I’m missing? (Other than Sense didn’t initially design the product like this?)


Just to add, two more advantages to this…

  1. If I have a list of devices, I can tell Sense that I’ve removed a device from service – thus keeping my history and telling Sense that it should start a new device detection if it sees that pattern again.

  2. As Sense detects the various components of, for example, my dryer, I don’t have to try to figure out if I want to merge my drum motor with my exhaust blower or vice versa. And then, do I merge the heat with the dryer or merge the dryer with the heat to keep my appliance information.

I think the Sense software was developed with this architecture for a few real reasons, though you raise some useful suggestions. A few thoughts on why it was designed the way it is:

  • detected device history is a fundamental building block in machine learning. It doesn’t make sense to roll the history into a higher level abstract device, as you suggest. It really needs to be its own atomic unit, at least until Sense combines it.
  • All human-based “links” between components need to be undoable. So again, the histories need to stick with their original detection sources.
  • it is unhelpful for long term detection for you to move around smartplugs, because that screws up device history. Machine learning wants lots of unbroken history of one device, not the history of 3 different devices that you wanted to look at.
  • smartplugs, unlike many detected “devices” which might only represent device components, do indeed represent the whole device.
  • Machine learning, as implemented, really can’t narrow down the detection possibilities based on the list of devices in the house, though that data might help the data science team at Sense improve training.

ps: your suggestions are great for harnessing human intelligence, but run counter to the underlying machine learning. But if most of your suggestions could be layered on top of the underlying machine learning organization, that would be cool.

I think each of the points that you make further reinforces the benefits of my way of organizing the data. Separating the device from the detected fingerprints would allow Sense to keep their own data completely separate from the concept of my “devices”.

To your first point, I’m just attaching a device that I am physically aware of to one of their detections. It seems that occasionally, Sense gets “smarter” and starts detecting an already known device as a new device. I could just attach both detections to my one physical device. As it is now, I’ve had to delete known devices a couple times to let the new detection take over. And also combine the old detection with the new detection into one of the devices. Invariably, I lose the appliance information because I do it the wrong way.

To your second and third points, my method would very much make human-based links undoable – even better than it is now, which is the point. That would help with smartplugs and also with devices for which the Sense algorithm changes. For example, when I move my smartplug, I detach from one device and attach to another. Sense can then separate their algorithm from the smartplug and link their new algorithm to the plug. Since they won’t let us “teach” the system, this would help them with their “ground truth” data.

Point four, my physical devices would not initially be defined as a waveform, but would be able to have multiple components added to it when there are new detections.

Point five, just as you said. It’s not “ground truth” data, but I suspect there’s still a good amount of manual “nudges” going on in the back room. If they knew that 10 households has the same fridge as mine, they could do some comparisons to shake out the good data.

I guess my main point is that they’re already doing most of this, they just aren’t making it as easy as it could be if they just separated physical devices, detections, and smartplugs into distinct, well-defined entities consistently. If they detect a device, I can add it to a smartplug and it works the way I would envision it working. I can unplug it from the smartplug and the device still exists. If the device has not been detected, it is the smartplug and won’t exist without the smartplug. My way would make these situations consistent. And if I could create a device and plug it into a smartplug, they’d have their “ground truth” data to play with.

I love Sense, but it’s one of the most frustrating things I’ve ever dealt with, considering that it’s supposed to be a consumer-ready device. I’ve always gotten great help from support, but I hope they’re still willing to make major changes that would simplify things for less sophisticated users and power users alike.

Three comments and I’m done:

  • your thoughts about creating a “human view” on devices in the household that corresponds 1:1 with actual devices in the household is a good one. Sense started with more of a “machine learning” view on the devices, and it shows. Bridging the gap between those two views would be useful, but probably more complex than we can anticipate. One example,
  • What is a device when considering Hue lights - a bulb, a controlled bank of bulbs, or the whole set of bulbs on a single controller.
  • I outdone still make a case that power histories reside with Sense detected components, rather than the end device, be they detected via ML, Hue, or smartplugs. But there does need to be a way to handle retired smartplugs, so they can be retained if a smartplug is removed or repurposed.
  • I can’t tell how much smartplug moving you are doing, but you are probably not helping yourself by moving those plugs between devices.

Thanks for your deep thinking on UI improvements. Perhaps the end of this thread should be moved to Wishlist

Sense already allows you to combine “detections”, so you could make the Hue lights whatever you want. The same thing would happen when you have multiple devices connected to a smartplug – like my computer and printer.

I’m not moving smartplugs around a lot, but the way Sense currently works is probably the worst way to handle that.

How can this be moved to the Wishlist (which I didn’t know existed). I figured replying to Ryan would start a discussion that could possibly work its way up the chain to the “deciders”.

Moved ! Now we just need others to like it !

Why move an already detected device onto a smartplug? The whole idea with this integration was to provide users a way of monitoring devices that have not been detected.

You’re forgetting that the primary use of a smartplug is to actually control the device. Turn it on/off remotely, put it on a schedule, etc. You could certainly choose to do that even if the device has been detected.

Additionally, you might want all components grouped together for a device for which only one component has been detected. For example, dehumidifier with detected compressor where you want to include the fan, too. Or a clothes washer with detected drum motor where you want to include pumps, controls. Or even if something has been detected, but you want to make sure that Sense is 100% accurate (Sense seems to miss my fridge cycles once in a while.).

I’m not forgetting anything, you’re making assumptions about why I and many others here purchased smartplugs. Looking at the smartplugs integration thread you can see that the primary reason people bought Sense integrated smartplugs was for energy monitoring. That being said I’d try deleting the identified device from your detection list and running it on a smartplug going forward. Sense isn’t supposed to identify devices that are running through smartplugs so this may work.

1 Like

I’m not assuming anything, I just answered your question about why someone might put an already detected device onto a smartplug. And Sense already offers a way to add an already detected device to a smartplug, so there’s no need to delete it.

BTW @sense11, this thread parallels @kevin1’s well-formulated responses to my recent question regarding detection & training:

Here is something I find myself pondering:

  • What’s to prevent a badly formed device list corrupting the algorithm?
  • What happens if somebody with malicious intent starts to “hack” the lists?

We definitely hear you on this. There’s a lot of benefits to re-structuring along the lines that you describe, but understand that it involves significant development effort to do so. In the short term, we do have some features planned that set us up to move in a similar direction. Keep watching on that front.

@ixu can you describe in a bit more detail what you mean by your questions?

Roughly speaking (because I don’t follow all the details of how the algorithm is tweaked according to user-defined data):

  • A “badly formed device list” … if a user makes a list of devices but gets the identification wrong and the algorithm is assuming “correctness” on the part of the human input then the more extensive the user-side data becomes, the more likely the algorithm will be misdirected. This is already the case perhaps?
  • “Malicious intent” … same as above but with a deliberately incorrect list of devices.

Example (not that it could happen easily): I make a list of Devices and call them all Dangerous. I match all the identified device waveforms to Dangerous regardless of what the waveforms look like.
If the algorithm is working autonomously wouldn’t that lead, ultimately, to other users at least getting suggestions that an identified Device “Might be Dangerous”, so to speak?

Ah, I see. This is hypothetically if we went with this model of device association. Certainly interesting questions to ponder. I don’t have an immediate answer, but worth thinking about.

I haven’t explored the Wishlist forum in the past. Is there ever any official feedback from Sense that a request has been incorporated into the product?

I’d love to know when these changes are made so I can check them out. Actually, it would be great to see what changes are planned to be able to further comment on them, too!

The best spot to see new features is in the News & Announcements category. But within Product Wishlist, there’s also the Released Features subcategory.