Aeotec DSB09104 Home Energy Meter not updating in HASS

Im using 3.67. seems to work…

1 Like

Is there any way to upgrade without a PC? Mac only household…

I’m getting pretty sporadic behavior. I’ve tried setting refresh to group 1 and 2 refresh to 10 and 30 seconds, and then monitor the zwave bits via the GUI. It seems to randomly be setting the interval of 1 and 2 between 10 to ~380 seconds. Not consistent, not the same on both, and random with every restart. I’ve set these via the zwcfg file.

While standing in front of my utility meter, I saw the Aeotec refresh and show 359w while the utility meter was showing 280w. Anyone else compare their accuracy to the utility meter?

I gave up on mine. It was never anywhere near accurate, even when I could get it to report. I left mine hooked up so its basically just a repeater now.

I bought a Sense some time ago and it reads very accurately. At the end of the month, the total usage was very very close to my bill. Liking it so far. Definitely not a cheap option though. There is also a Hass component for it now.

Yea, I feel like there’s a reason I only paid 30 bucks for mine…you get what you pay for.

I’ve been following this thread to configure my DSB09104 clamps. I have tried the xml from @Scott_Johnston with no luck. My desire is to read current/ongoing readings from clamps 1, clamps 2, and the total of both. Initially it displayed a low value and has been climbing through the weekend. I’m using Hass.io 0.66 (was 0.65 until it updated this weekend).

config looks like:
zwave:
usb_path: /dev/ttyACM0
polling_interval: 30000

Any assistance is appreciated.

Good afternoon. So you don’t need the polling_interval in your config. Earlier in this post I mentioned changing 101 to 782 and 111 to 30 (30 seconds). I recently wiped my z-stick so had to set up my HEM again. I ran into the issue of the device not taking/saving input from the zwave config panel. It’s because the HEM needs to be “listening” within 1-3 seconds after you hit the “set config parameter” button. I’d start with the “USB powered option” first…The HEM doesn’t normally report but once every 4 minutes if it “thinks” it’s powered by batteries.

  1. drop down to usb option, put 1 in box. Immediately after hitting “set config parameter” press the button on the HEM (under the battery cover). It should take the value.

  2. do the same for option 101, entering 782 in the box. After pressing the “set config parameter” make sure you press the button on the HEM

  3. Finally, do the same for option 111, entering 30 (30 seconds) or another option if you wish to receive more/less frequent updates.

I would run the following command in a terminal and watch to see that the device does indeed wake and the updates start occuring after the values are accepted.

tail -f /home/homeassistant/.homeassistant/OZW_log.txt

Where does the sensor.energybaseline come from. In the platform energy baseline there is no sensor.

How do I create that, all the rest of it works the automation and script works.

Below reads the file “energybaseline.txt” and extracts the value

This shell command creates the file…(make sure you put your password where the “XXX” are)

(Check paths used in scripts since most will not use a user called “ha” like my home dir paths above)
And if you save the file in your homeassistant folder you’ll have to ensure it’s whitelisted under the homeassistant: part of your config
whitelist_external_dirs:
- /home/homeassistant/.homeassistant/

I am running hassio as a docker on ubuntu 18.04.

when I run the command in terminal it works.

for example…

linuxbox@linuxbox:~$ curl -X GET -H ‘Content-Type: application/json’ ‘http://10.0.10.27:8123/api/states/sensor.aeotec_zw095_home_energy_meter_gen5_energy?api_password=mysupersecretpassword’ -o /usr/share/hassio/homeassistant/energybaseline.txt

and output looks like this.

{“attributes”: {“friendly_name”: “Energy Meter kWh Total”, “node_id”: 4, “power_consumption”: 493.345, “unit_of_measurement”: “kWh”, “value_id”: “144115188147978242”, “value_index”: 0, “value_instance”: 2}, “entity_id”: “sensor.aeotec_zw095_home_energy_meter_gen5_energy”, “last_changed”: “2018-06-10T01:39:23.344852+00:00”, “last_updated”: “2018-06-10T01:39:23.344852+00:00”, “state”: “5.82”}

if I go to the information tab in hassio it shows the config path as:

Home Assistant
0.71.0

Path to configuration.yaml: /config

if I use that path I get nothing.

for instance this command:

energybaselineshell: “curl -X GET -H ‘Content-Type: application/json’ ‘http://10.0.10.27:8123/api/states/sensor.aeotec_zw095_home_energy_meter_gen5_energy?api_password=anothersupersecretpassword’ -o /config/energybaseline.txt”

Correction, if I run that script in hassio I get nothing using both paths.

I am actually having the same problem with my python scripts and other shell scripts. Because there are so many different installation possibilities with and without environments, on a pi or not on a pi, different flavors of linux or inside a docker container. I am confused about the path that hassio needs/sees (requires) inside of the docker container.

see my other post regarding paths.

Well I’m not a Hass.io user so, unfortunately, I can’t help you with the path issue. I can say that when I run the command in raspbian as pi it doesn’t save… Need to be homeassistant user or root. Also, you have whitelisted directories in your config? Safest bet would be to whitelist folder where your config and stuff sit and send the output of the curl command to a file in that folder.

I think you are on to something…I got this in the logs…

Press the button to load the full Home Assistant log.
2018-06-09 17:37:09 ERROR (MainThread) [homeassistant.components.sensor.file] ‘/config/energybaseline.txt’ is not a whitelisted directory

Yeah? Did mention it above. :slightly_smiling_face:

what does 782 for group #101 (Group 1 Reports), report on. Out of the box mine is set to 2. I am getting data for everything right now but kWh.

I believe my “782” is overkill as it reports back WAY TOO MUCH info. I do, however, receive all the relevant info (kWh, W, etc.) in the midst of all the values received. Per the verbiage in the config panel for the Group 1 Reports, in order to receive ALL the relevant info from the HEM you’d probably want to place 15 in 101. 15 = 1111 in binary and would end up “checking the box” for the 4th BYTE, bits 0, 1, 2 and 3.zwave

Thanks to everyone’s input here I finally have my device updating to HASS on regular intervals. However, with the latest firmware my numbers are all out of whack.

Right now it says my house is using 249897.56 W.

2498 W is probably more accurate. Does anyone have a way to move the decimal over two digits?

I’m curious, is there a definitive process on how to best get this to work? I believe I’ve tried each of the possibilities listed on this thread but still have failed to get it to update at regular intervals.

have you managed to change update intervals in the z-wave config panel and see those numbers reflected? I’ve set this up a few times and seem to have to keep remembering to wake the meter (press button on back) within 1-3 seconds of inputting and submitting changes via control panel. If not, updated refresh numbers never actually “take” in meter.

Just found this thread as I too am having some issues with this device which I have owned for well over two years.

Until this summer it was working just fine on my Smartthings hub. Then it started acting up and every week or so I had to exclude/include it to get it to report again. Eventually I just removed it completed and added to my Aeon z-Wave stick connected to my Raspberry Pi running Hassio. The z-wave stick is a secondary hub on my ST hub and I get device updates both within HASS and ST. Better yet, I can update all this device’s parameters via the ST smartapp.

Since adding this z-wave device to HASS it has worked flawlessly within ST but not so with HASS. Every so often HASS stops getting updates even though ST continues to work. Unlike past problems when I had to exclude/include this device, to get it to start updating again within HASS, I must power down/up the Raspberry. A simple restart of HASS does not resolve the problem.

I know this is an old post, but yes, you can reset this via the “Services” section of HA.

Service: zwave.reset_node_meters
Data: {“node_id”: 23}

You can add these to an automation:

---
id: "00019"
alias: Reset Power Settings
hide_entity: true
trigger:
  platform: time
  at: "00:00:00"
action:
  - service: zwave.reset_node_meters
    data:
      node_id: 23

(Note: I use a split configuration but this should get yo ustarted.)