Aeotec DSB09104 Home Energy Meter (HEM) gen1 parameters

I am gradually switching devices over from ST to HA, which I have running all by itself on a NUC. I have a HUSBZB-1 for Z-wave.

Z-wave JS–latest
Driver version: 13.10.3
Server version: 1.39.0

With impressively responsive help from Aeotec, I managed to switch drivers back and forth to make it work on ST, so I know the device itself is fine. However, my goal has been to eliminate the ST hub and HA integration.

All I want is a report of total power at 1-min intervals on my dashboard, no usage stats. I have been through this old topic and am unable to determine how to get this from HA:

I can set the numerical parameters as described there. I understand that I need to hit the button on the HEM after each change. However, hitting the button does not help to make any of the config “switches” for intervals stick.

How about providing the numerical values you were setting in ST, and then the values you are trying to set in HA?

How about providing some driver logs of when you are changing the settings? I think you’re now familiar with how to get these.

Your link is to a topic from 2017, which at the time was a completely different Z-Wave stack. The actual comment you linked to doesn’t provide any parameter settings, and it’s quite difficult to go through all 96 comments and then make an assumption about what you’re actually trying to change.

1 Like

In ST, I changed these parameters using the ZWave Device Config MC driver:

Parameter 101 [4 byte] = 12
Parameter 111 [4 byte] = 60

This has kWh and watts reporting once every minute.

Then I changed to the Z-Wave Electric Meter driver and it does precisely that.

To test this again, I took the meter off of ST and put it on HA today, and the problem has changed. While before, I could not make the switch for Parameter 111 stick, today it did. However, the entity did not update at all.

For a more controlled trial, I have switched the device back to ST, repeated the parameter changes, and confirmed that it is working. Tomorrow, I will go back to HA.

I’m happy to provide them, but I am unfamiliar with driver logs in HA. Do you mean the Z-Wave JS log, or from ST, or something else?

Noted, but the problem described there was the same I observed and the advice to press the button after each parameter changes worked for numerical ones. It was the most relevant thread I found here.

Sorry if I’ve been unclear, but the issue has been not which ones to change (confirmed to work on ST), but making the switch change stick in HA. Today, when I went back to to the configure button, even after a total HA restart, the switch change stuck, but didn’t change reporting, which was stuck on a single value.

The same log you posted here:

Yeah, I may be confused now. Is your issue setting the configuration parameters, or is it that once the parameters are changed, HA does not see any device updates? Because once the config parameters are changed, switching software does not affect them.

All in HA:

  1. I was able to change numerical parameters as described in the 2017 thread.
  2. I was unable to change switch parameters. I would not get the almost-immediate feedback on the config page, either.

In ST:
I was able to set:
Parameter 101 [4 byte] = 12
Parameter 111 [4 byte] = 60
And it worked as desired.

Back in HA:

  1. I was able to set switch parameters, unlike before.
  2. kWh and watts did not update for hours.

I put the device back on ST and changed parameters as described yesterday. It is working.

Now, I will put it on HA after turning on Z-Wave JS logging. I have a question before I do that, though.

Please clarify, because I’m not sure how you are using “software” in this context. I know that the parameters must be stored either in the device itself or in ST on the ST side, because I have to change drivers after changing parameters.

Which of the following is/are (should be) true?

  1. parameters are stored on the device itself by ST (this did not appear to be the case when I changed over to HA yesterday)
  2. parameters are stored elsewhere in ST
  3. parameters are stored on the device itself by HA
  4. parameters are stored in Z-Wave JS by HA
  5. parameters are stored elsewhere by HA

Thanks for your help.

Smart things uses it’s own zstack. Home assistant uses it’s own zstack. Both are seprate softwares. The configuration for devices reside on devices, not on the zstack. When you move a device between the 2 softwares, the config parameters aren’t changing (because the device holds the config).

These

are stored on the device. Therefore:

  1. Yes
  2. There may be additional parameters specific to smart things that smart things stores for itself outside the device. I.e. these won’t have any impact in HA and HA will not even know about them.
  3. No
  4. No
  5. No
1 Like

In HA, this is equivalent to:

  • Automatic Report: Group 1 - Power (Whole HEM) → enable
  • Automatic Report: Group 1 - kWh (Whole HEM) → enable
  • all others disabled (including Battery report)

In HA, this is equivalent to:

  • Report Interval (Group 1): 60

Does that sound about right?

Sorry, a bit terse. “Software” in this case was going from ST to Home Assistant + Z-Wave JS. The latter does not set any configuration parameters, so whatever you set in ST will persist, unless you re-include the device (this usually factory resets settings). As Petro has already said, the config parameters are set on the device.

However, many device handlers/drivers in ST will auto-set configuration parameters either on device setup or restart (I don’t know the details). So switching back to ST could re-configure things. The handler being used will also influence this, as there are often multiple custom ones in addition to the built-in ones.

I would also suggest posting a Device diagnostic of this device so we can confirm the configuration is as expected. It’s much easier to parse then written words or screenshots.

Thanks to both of you. Yes, I agree that those must be the HA equivalents to the ST settings.

This is puzzling to me. Is there some way to switch it between ST and HA without exclusion/inclusion?

I had turned on debug logging on the config/integrations/integration/zwave_js page. Where do I find that log?

Here is the device log:

Device log:

Hah, you’re right. Brain fart. Excluding the device and re-including it is therefore resetting the parameters.

This is the device diagnostic. You posted a Z-Wave JS log at Difference in tilt sensor performance between ST and HA - #3 by Jz777.

Based on the diagnostic:

  • Automatic Report: Group 1 - kWh (Whole HEM) is currently disabled, but you enabled this in smart things
  • Automatic Report: Group 1 - Power (Clamp 1) is enabled, but disabled in ST
  • Automatic Report: Group 1 - Power (Clamp 2) is enabled, but disabled in ST
  • Report Interval (Group 1) is still set to the default 720

Did you set these yet before uploading the diagnostic? If so, either you had a fat finger or the value wasn’t set correctly by HA or ZJS. Would need a log to confirm that.

BTW, the Aeotec engineering doc says that when the device is on battery power (which yours is) it will only send timed intervals in multiples of 4 minutes, so the 60 second setting is supposed to result in 4 min reports. This is also in the ZJS DB parameter descriptions (“Rounded up to the nearest 4 minutes when battery powered”).

EDIT: Hmm, looking through diagnostic some more, your device is on USB power, is that right? Then none of the battery wake up stuff matters.

Correct, it’s shows as USB but it’s actually powered by a 5v wall wart. No batteries installed.

Right, but I’m not sure how to get that again. I had turned debugging logging on at the start of today’s trial. From where do I download it?

This may all be clearer from the log, but in case it isn’t I had already written it. Maybe it will be useful for someone else.

When I added the meter to HA, and went into its configuration, the switch was off:

Sensors had readings, but did not change through this entire saga:

I went into “entities not shown,” and found:

Which appears to correspond to the parameter I show in the config page above. I enabled it, as well as the other three Automatic Report entities for power: Group 1, Group 2, Group 3, and Whole HEM). I think that 1 and 2 refer to the two sensors I have. If I have whole or 1+2, that would be good.

Each responded with, “The enabled entities will be added to Home Assistant in 30 seconds,” but all still showed as disabled after several minutes. Reloading the page did not change them:

The sensor values remained unchanged from the initial inclusion.

Next, I tried to enable all 4 using the popup menus. Group 3 could not be enabled, which makes perfect sense as I only have 2 sensors. I waited a couple of minutes and reloaded the page. No change.

I went into Configure under Device info, and the switches were on, corresponding with the changes I made:

Finally, I went to my dashboard. Choosing any of the three entities only put “Enable” in place of the power reading.

How does this 5v wall wart work? The device thinks it’s on battery.

No, it’s not the same. The one you changed in ST is Whole HEM. This one is Clamp 1.

Each responded with, “The enabled entities will be added to Home Assistant in 30 seconds,” but all still showed as disabled after several minutes. Reloading the page did not change them:

That is referring to enabling the entities, it doesn’t have anything to do with what their values are. You don’t need the entities unless you are automating them. After you enable the entities you would still need to change the value.

Got me! It just connects to the third of the three ports. The bigger mystery is how I would connect it to a PC to update, but according to Aeotec, there’s no reason for it in my application.

You plug the HEM’s USB port into a USB port on a Windows PC and run their update program. But their firmware page doesn’t even have a changelog, so who knows what’s changed?

If you want the device to behave like a powered device, I think you need to include it on USB power. Right now it’s acting like a battery device and doesn’t listen for config changes until woken up. Or I could be mistaken and it’s always a non-listening device but wakes up every 1 second, which would be weird and would certainly bring a Z-Wave network to its knees (would need log to see it).

My post directly above that has instructions.