How I Would Implement Detection With the Sense Monitor

Note - Have moved Vance’s thoughts to a new topic instead of hijacking on the Hue Integration. Deserves its own thread.

Your expecting Sense to actually use the internet/wi-fi in your home to sense smart devices and smart appliances? Especially after they told me the consider a marker like inductive reflection on a power line useless? Oh silly boy, when will you learn. After being on the coding team that brought you TCP/IP, I have come to learn that my latter day electrical engineering and now computer science engineers, well unless someone like me points out their short comings, management is too stupid to set proper expectations… If Sense were smart, they would make the source an open source project, and then use that to make the secure private version they support. or hire capable staff… I don’t expect anything soon in my lifetime… and I’m 65… Grow a pair Sense and ask me. It’s not as if I am not working on a SCADA system and WAGO is sending someone to look at my ideas… Like using the power line to send data to be monitored on top of wifi for reliable discovery… And since I have been told my work opens up the door for a multi-billion company built on industrial/high-tech maybe the offshoot will get this done before Sense. Kevin, I have 10 smart appliances now and Sense can find a single one. It thinks the Tea Pot and Microwave are the same device with two different current requirements. So much for 20 attributes to distinguish.

Hi @vance.turner,

Appreciate your depth of knowledge, Just wish you would focus it a little on the specifics of the issues raised, instead of walking through your accomplishments and possible ideas.

Reality Check

  • The current monitor is what it is - it doesn’t include a time domain reflectometer, though it could possibly be repurposed to do that function given the sapling rate, plus DSP and FPGA inside. But the die has been cast on the present monitor and the two largest electric meter suppliers to the US have adopted the Sense approach for realtime sampling. Not likely to see major changes. There will likely be add-ons to detection capabilities in the cloud, but that won’t be the kind of real-time bubble detections shown today.

  • If you want to discuss your Teapot vs Microwave detection, post detailed Power Meter screenshots of both going on and off, preferably from the phone/tablet app, not the web app, since the phone/tablet app will include more diagnostic information (the power transition values tagged to the edges of the on and off spikes)

  • If you want to discuss the Hue integration, learn how it works first, before disparaging other users who want to learn (“Oh silly boy, when will you learn.”). The Hue integration does indeed work - not sure why you might claim otherwise.

You’re obviously a smart guy, but you don’t come across as very helpful, or frankly very knowledgeable about details of operation outside of your cloistered view of things. Would love to harness your knowledge to sort through specific issues, rather than wildly associative ideation - we have ChatGPT for that :wink:


Dude, really do I have to spell out the simplicity of some of this with just 4 current sensors? Let me explain what my panel configuration is and how simple it is to make some decisions you “CURRENTLY” don’t. I have 2 200 amp services side by side that have feeders 25 feet long to the out building that houses a 400 amp service not to mention the 200 amp panel in that building the 400 amp transfer switch and soon the generator and 6KW inverter “ABB”. All that I wire and the inspector drools over all buried. Now back to those 2 panel and the dream of 2 sense units I could integrate.
There is 50 feet of cable between the two sensors and that means directionality of the flow. The inductive flow will show the two main spikes and two reflections that should restrict the discovery to its panel. Big win over what you do now. And oh yes…Too simple for you to consider… That at least would give you a heads up on the device count right off. Like the Electric tea kettle you confuse with the Microwave. And I find that on the stove you sense the cool down of a burner on the stove as a 2 watt draw.
Now to your stupid coders…I CAN WRITE BETTER CODE… Like on the graph setting two points to identify as a suggestion the device I turn own purposely say “HEY STUPID THIS WAS THE SMART DISHWASHER YOU CANT ACCESS VIA THE WIFI TO INQUIRE” There would be a start… That gets us to open source and their “Inquiry” capabilities. What dumb bunny at Sense learned TCP/IP? Let me give you a clue. Just after you discover your IP address and know the IP network your a member of, issue an all ones broadcast and record the ARP table that responds. From their MAC address let me not go into the panacea of what you discover, Like the MFGR… Does wonders for smart appliances, and oh yes, smart outlets. The some dumb server back at Sense can determine the appropriate inquiry message. Now that I gave you a 5 year development plan maybe someone’s smart enough to reach out to me so I can show you how to code it in less than 30 days. And then we can get to the hard part, or let me work with WAGO to build what your unwilling to.

Here is some C code I helped Chat GPT concoct. Do you want the ARP table lookup???

#include <stdio.h>
#include <stdbool.h>

// Mock functions to represent ADC readings. Replace these with actual ADC read functions.
int read_adc(int channel) {
    // Replace with actual ADC read code.
    // This is just a placeholder for demonstration.
    switch(channel) {
        case 1: return 100;  // Example current reading for channel 1
        case 2: return 50;   // Example current reading for channel 2
        case 3: return 0;    // Example current reading for channel 3
        case 4: return 0;    // Example current reading for channel 4
        default: return 0;

// Threshold to determine if a significant current is detected

// Function to determine if the load is downstream of a given sensor
bool is_downstream(int current_reading, int other_readings[], int num_other_readings) {
    for (int i = 0; i < num_other_readings; ++i) {
        if (current_reading <= other_readings[i] + CURRENT_THRESHOLD) {
            return false;  // Not significantly higher than other readings
    return true;  // Significantly higher than all other readings

int main() {
    // Read current sensor values
    int current1 = read_adc(1);
    int current2 = read_adc(2);
    int current3 = read_adc(3);
    int current4 = read_adc(4);

    // Array of other readings for comparison
    int other_readings_1[] = {current2, current3, current4};
    int other_readings_2[] = {current1, current3, current4};
    int other_readings_3[] = {current1, current2, current4};
    int other_readings_4[] = {current1, current2, current3};

    // Determine if the load is downstream of each sensor
    bool is_downstream_1 = is_downstream(current1, other_readings_1, 3);
    bool is_downstream_2 = is_downstream(current2, other_readings_2, 3);
    bool is_downstream_3 = is_downstream(current3, other_readings_3, 3);
    bool is_downstream_4 = is_downstream(current4, other_readings_4, 3);

    // Print results
    printf("Is load downstream of sensor 1? %s\n", is_downstream_1 ? "Yes" : "No");
    printf("Is load downstream of sensor 2? %s\n", is_downstream_2 ? "Yes" : "No");
    printf("Is load downstream of sensor 3? %s\n", is_downstream_3 ? "Yes" : "No");
    printf("Is load downstream of sensor 4? %s\n", is_downstream_4 ? "Yes" : "No");

    return 0;

A few thoughts.

  • ARPing is easy, manufacturing code gets harder because many IoT devices use networking chips that have MACs connected to the assembler, not the end product. Finally associating device network activities with meaningful realtime power usage is hard. That’s the part you completely ignore. Most smart devices don’t give out their power usage, either on demand or at any regular interval. Given your remarks over here, it’s clear that you don’t really understand where the power information is coming from, fro the devices that do provide power.

  • Your code confuses me - you’re treating current/power as if it is some DC quantity that you can quantify with a single ADC measurement, not at time and phase varying AC value. Don’t waste so much time on code - discuss theory of operation first. Not clear you understand AC measurements.

  • Not sure where you think your “inductive reflections” would come from nor what the amplitude of reflections would be, or whether they could even be detected given all the other noise in the house wiring. It’s not like the house wiring is an ideal transmission line, having tons of different branches and devices turning operating are generating all kinds of random signals.

  • Perhaps you are talking about the effects of one supply branch in the house affecting the other branch - that’s more according to KCL. If you had two Sense units on a interconnected house wiring network at two different points, you would certainly see current / power waveforms that have some relation to one another, but you would also need to know the overall current / power flow from/to the grid and production from the solar feed(s) to completely understand how one is affecting the other. Here’s a couple of simple diagrams that illustrate those relationships:

Simplified to just one Leg and KCL applied.

This is a place where you could use instantaneous samples of current / power, through the two monitors would have to be exactly synchronized and somehow sharing a substantial (maybe 5-6MBps) of data flow and associated computations. Not insurmountable, but tricky given realtime half second updates.

The speed of a current transition through copper wire would be something on the order of 2x10^8 m/sec, so the time difference on current measurements 100m apart (much more than the 50 feet you are talking about) would be about half a microsecond, so not really perceptible from a Sense monitor that samples at the microsecond level.

Try to focus on one of these ideas first instead of trying to tackle all of them at once. Maybe start with the last bullet first and use the diagrams, or your own.

1 Like