esphome / issues

Issue Tracker for ESPHome
https://esphome.io/
290 stars 35 forks source link

DSMR: I only get "Missing unit" errors on a T211 DSMR5 meter running on a SlimmeLezer+ #3886

Open iruoy opened 1 year ago

iruoy commented 1 year ago

The problem

The only values I can read out of my new SlimmeLezer are the "ESPHome Version" and "SlimmeLezer IP Address" fields (and other SlimmeLezer * fields). All the others stay at NA. And I get the same error every second saying "Missing unit".

image

Which version of ESPHome has the issue?

2022.11.5

What type of installation are you using?

Home Assistant Add-on

Which version of Home Assistant has the issue?

2022.21.1

What platform are you using?

ESP8266

Board

SlimmeLezer+

Component causing the issue

DSMR

Example YAML snippet

substitutions:
  name: slimmelezer
packages:
  zuidwijk.slimmelezer: github://zuidwijk/dsmr/slimmelezer.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

Anything in the logs that might be useful for us?

17:23:13 [E] [dsmr:265] 0-1:24.2.1(632525252525W)(00000.000)
                                                           ^Missing unit

17:23:14 [E] [dsmr:265] 0-1:24.2.1(632525252525W)(00000.000)
                                                           ^Missing unit

17:23:15 [E] [dsmr:265] 0-1:24.2.1(632525252525W)(00000.000)
                                                           ^Missing unit

17:23:16 [E] [dsmr:265] 0-1:24.2.1(632525252525W)(00000.000)
                                                           ^Missing unit

17:23:17 [E] [dsmr:265] 0-1:24.2.1(632525252525W)(00000.000)
                                                           ^Missing unit

Additional information

No response

opaulzen commented 1 year ago

Dit you ever manage to solve this issue? I have exaclty the same thing.

RoadXY commented 1 year ago

I have the same issue.

[D][sensor:124]: 'SlimmeLezer Uptime': Sending state 2084.88696 s with 0 decimals of accuracy

                               ^

Missing unit

[D][sensor:124]: 'SlimmeLezer Wi-Fi Signal': Sending state -69.00000 dBm with 0 decimals of accuracy

                               ^

Missing unit

RTVRTV commented 1 year ago

I have the same issue

CK0y0TE commented 1 year ago

I got the same after the meter was replaced for a 3 phase version.

opaulzen commented 1 year ago

Apparently you have to wait a few days fot the new smart meter to be configured by your provider. It took 7 days before mine started working. The slimmemeter code does not like the values not increasing, hence the error.

CK0y0TE commented 1 year ago

thx for your lightning fast response!

What I also noted is the "wM-BUS” printed on the new meter and the note from marcel ’s webshop on my smartmeter that my version doesnt work with “m-bus”… ugh. Maybe time to upgrade to an ethernet version that also does m-bus. But, I ll wait a week to see what happens.

Cheers, Camiel

On 7 Mar 2023, at 14:54, opaulzen @.***> wrote:

Apparently you have to wait a few days fot the new smart meter to be configured by your provider. It took 7 days before mine started working. The slimmemeter code does not like the values not increasing, hence the error.

— Reply to this email directly, view it on GitHub https://github.com/esphome/issues/issues/3886#issuecomment-1458213773, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEV42JK2CKK3CUR4QP3S2SLW244ZNANCNFSM6AAAAAASZQ6IGQ. You are receiving this because you commented.

RoadXY commented 1 year ago

Apparently you have to wait a few days fot the new smart meter to be configured by your provider. It took 7 days before mine started working. The slimmemeter code does not like the values not increasing, hence the error.

Yup, same for me. After a few days it started working

CK0y0TE commented 1 year ago

Apparently you have to wait a few days fot the new smart meter to be configured by your provider. It took 7 days before mine started working. The slimmemeter code does not like the values not increasing, hence the error.

Yup, same for me. After a few days it started working

Well, despite the wBus print on the new meter mine started working too after all! Cheers!

jeffreykog commented 1 year ago

I'm having the same issue. Only difference is that i have had my new meter for a month, and the service provider does not seem to be able to get my gas meter linked. That also means that i'm not able to read my meter values using esphome, even though most of it is in the payload.

It also fails on this line:

0-1:24.2.1(632525252525S)(00000.000)
          ^
Missing unit
Elangco commented 1 year ago

What does "missing unit" really mean? Is it a hardware unit that is not in the system? Or is it a unit_of_measurement the should be in the yaml? I am getting the same error and I don't feel like letting it spew out an error message every second until it finally works. My smart meter has been installed more than 6 months ago btw.

jeffreykog commented 1 year ago

As per the DSMR spec, this value type should include a unit. It is the smart meter not complying to this, possibly due to the gas meter simply not being linked, returning an empty value without a unit as a result. The error is thrown by the DSMR parsing library esphome uses, as can be seen here: https://github.com/glmnet/arduino-dsmr/blob/master/src/dsmr/parser.h#L220

The value on which the error is returned (0-1:24.2.1) technically should always return m3 as unit. The long sequence of numbers is the ID of the gas meter itself. The string 632525252525S looks like a default identifier for an unknown gas meter. Another DSMR reader I manage at another location does read it correctly:

"0-1:24.2.1(xxxx25070000S)(14336.324*m3)\r\n"

The DSMR parser library linked above searches for the star and checks after it what the value is, but it is missing and it returns an error. Most likely, the upstream parser library needs to be changed in order to allow values without an unit. Maybe even let it detect the 632525252525S identifier as an unlinked gas meter, and handle that gracefully. It wouldn't even surprise me that this error causes a gasless home to be unable to use esphome DSMR at all.

Elangco commented 1 year ago

Thank you for this very clear and elaborate answer.

For gasless home owners: don't worry, if you leave the gas_delivered out of the yaml, you can work with the electricity data without a problem.

SamuraiCoder commented 7 months ago

Thanks to @Elangco I was able to fix it by just commenting the gas_delivered but any idea when this will be solved?

NOTE: after 2 days I got my data being able to be read from the meter 🤷‍♂️