I've been troubleshooting an issue with a ZEN15 (not the new 800 LR one) where power monitoring wasn't working as expected. First, I found that something (or someone, like me, but I doubt it) was clearing the preferences. This happened more than once. I then realized it was at firmware level 1.3, so I upgraded to 1.6. All better. Sort of.
I've observed that if I set power reporting to occur at 250W change or interval of, say, 5 minutes, it does not report every 5 minutes if the value is zero. This may be true for voltage and energy as well. I'm using the built in Zooz Power Switch driver.
Now I know that steps should be taken to reduce the noise coming from power monitors. This is for troubleshooting, not ongoing operation. The behaviour seems peculiar to me. Knowing that zero power is being consumed is useful information, especially if it had previously reported non-zero. It could be (I haven't tested) that it will report zero once, but then not again even if the interval is set for regular reporting.
I had two of these monitoring my gas dryer and washing machine. Sometimes one would report the appliance it was connected to was not using power, which would trigger a rule to let me know to get the laundry. Sometimes the appliance would still be running even though the ZEN15 showed power was 0 for a minute.
I sold them and switched to ThirdReality. Too unreliable for me. These were the older ZEN15, not the Plus.
I use several of the Zen15s and I think it needs to have a power change in order to report. I have Zen15s connected to my Dishwasher and Washing machine. Neither reports 0, it's something small until they are ran. The dishwasher is around 1 Watt and the washing machine is around 3. In both case they report every 5 mins as I have them set.
I also have one attached to a small water heater in my shop. It only gets turned on when I open the shop and it doesn't report anything when it is off. Below is a sequence when the water heater is turned on. It reports power at 9:50 and 9:55 and then at 10:00 when it is 0.0. The water was at temp. It never reported again and was shut off at 11:17. So as you have seen while it was 0 it reported nothing. I am also using the built in Power switch driver.
Yeah, my subsequent testing agrees with what you are saying. I've just never noticed it before on any of my ZEN15 because they all are on vampire devices that are always using one watt or so.
Seems to me that preference shouldn't be called "Power Reporting Interval" if it doesn't report power at that interval. The user manual doesn't call it interval, but frequency, which still implies regular reports*.
Again, I stipulate that power reporting can be overwhelmingly chatty so these preferences must be set with care. The point in this thread is understanding exactly what the preferences do.
I am seeing the same thing, mine is set to 60 minutes.
Have we considered that maybe the driver/hub is filtering out duplicate power 0 events?
My driver sends all events to the hub, but the hub will filter out duplicates unless you set a special flag on the event (which I usually do not use).
My driver will however log to debug, so I will do a little test here.
Here is current event log showing the same thing you are seeing, every 60 mins then stops once the power hits 0.
Power reports of 0 coming in every 2 minutes as I have it set.
Mystery solved, driver/hub event filtering.
So if you have the interval set to 5 and the power stays as 0 you can be assured it is still at 0 or else it would change in the UI. The hub is just filtering out duplicated events.
Would it be useful to ALWAYS post the meter events? It could added to my custom driver pretty easily as a mod, or as a setting.
Just to be clear, your Zooz ZEN Plugs Advanced also currently suppress duplicate reports just like the built-in, right?
I'm thinking that one could live with only the ability to get power reports upon change greater than x, or upon change greater than x%, without having any option to report at a specified frequency.
BUT if the device lets you set a frequency at which you want to get power reports regardless of value, then that's the way it ought to work.
My driver only suppresses the LOG of duplicate events (sends to debug instead), as to not clutter the logs. It sends all events to the hub. The HUB itself filters duplicate events unless a special flag is set.
I have no idea if the system driver does the same or if it suppresses it on the driver itself.
This modification worked only if the value is non-zero and does not change... If the value is zero and does not change then it does not log. I am using your Advanced driver.
What FW version if yours and what do you have the 3 power settings set to?
I have a 1.06 model and will do a little testing here. It is possible the device does not send repeated reports when power is 0.
Well that was easy, I turned on debug and manually set param 171 to 10 seconds (below what my driver normally alllows) and I am getting a 0 report every 10 seconds. Since the report is coming in, I have no doubt in this case if I did the mod on my installed driver it would be posting to event history.
Please note that I unconditionally output to the log energy, power, and amperage and that is how the log started out but then the log only shows power and amperage. When I was looking at the device view at the time that energy was not logging I noticed that under Current States that energy was being reported as 0.388 but if I did a "Refresh Stats" and then a "Refresh" it showed up as zero. This seems correct because at this time the refrigerator was in the off cycle and the current indicated that (.008 instead of around 0.74). It was interesting that if I just did a Refresh the 0.388 did not change and I needed to do a Refresh Stats first.
I appreciate the help.
ADDED
Under State Variables in the device view I have "resyncAll : false". Does that have anything to do with this. How can I change that to true?
There is no Refresh Stats, it is RESET Stats.
I don't think you understand what energy is, that is cumulative kWh since the last reset, so at no time would it go back to 0 unless you reset, which is what you did.
Did you change the logging of my driver, that does not look like what my driver normally logs?
I would highly suggest making the energy and amp reports a longer window, you are causing much extra traffic on the z-wave radio for no good reason.
@hydro311 Can you set one of your ZEN15 v2 to report power every minute with debug logging on and see if it keeps reporting 0 every minute. (Would require a device that shuts down to 0 power obviously). Or manually set parameter 171 to 10 seconds if you are impatient like me.
I don't think you understand what energy is, that is cumulative kWh since the last reset, so at no time would it go back to 0 unless you reset, which is what you did.
But when I reset it back to zero it should have been reported in the log and it was not.
What is energyDuration under Current States within the device view? How can that be set if need be.
Did you change the logging of my driver, that does not look like what my driver normally logs?
The only change I made was your patch on line 803 to output even if the value did not change.
I would highly suggest making the energy and amp reports a longer window, you are causing much extra traffic on the z-wave radio for no good reason.
This is from my initial test program but in my final program I want to find when my frig is on and off so I will want to have the handler to be informed often (every 10 seconds is OK)
@hydro311 Can you set one of your ZEN15 v2 to report power every minute with debug logging on and see if it keeps reporting 0 every minute. (Would require a device that shuts down to 0 power obviously). Or manually set parameter 171 to 10 seconds if you are impatient like me.
I unplugged my frig for a couple of minutes from the Zen15 and got the following:
I know your question isn't for me, but since I started this topic I hope I can interject. Knowing if an appliance is on or off, or tracking run time, etc. is a very common use case. But having the energy monitor report in every 10 seconds is probably not the best way to do that.
Would you care to share what specifically you want to accomplish? Depending on what you are trying to do, it is probably similar to how I monitor my sump pump, or dehumidifier, or dishwasher, or washing machine, or radon fan, or well pump, etc. etc.
I appreciate your feedback. Our frig we had in the garage finally died after 40 years... We did get our money's worth! So we just bought a new one and I noticed, of course, that it was cycling on and off much more than the one in the house. We live in Texas and it has been around 100 degrees so in the garage it must be 110... so the more frequent cycling does make sense. But I was curios and bored and needed to fool with my Hubitat so I thought I would see just how cycle crazy it was. I will probably end up just looking at amperage being over 0.1 to collect this cycling info and if I need more attributes I guess I could programmatically invoke a Refresh() to get a complete picture.
I see at 07:54:48 that energyDuration is reported and is different than what I remember it was about 20 minutes ago. What is that and how did it get set. Can I override this if need be?
Yes it will be 20 mins longer than it was 20 minutes ago.
energyDuration will just keep going up, it's how long it's been monitoring the energy usage since last reset.. Energy consumption will only go up the longer the device stays on. What you want to look at is power not energy. Below is a graph of power usage for the freezer in my garage. This is with a ZEN15.
Makes sense. So it represents the integration time of power to give you energy. What you graphed is Power... that is just I want to do. Can you tell me what you used to graph that out. I am guessing that you are using the Advanced driver and you set the "Power (Watts) Reporting Frequency" in the driver to something like 1 minute? You wrote a custom app to do this right?