I’m a happy owner of a Slimmelezer classic DSMR transmitter but can’t configure it in a way that it forwards the correct data. It could also be a very basic mistake in the configuration, or maybe a problem on data provider side? I copied here lots of logs and all maybe the solution is obvious for the most of you:
Here is what is transmitted:
INFO Reading configuration /config/esphome/slimmelezer.yaml...
INFO Updating https://github.com/esphome/esphome@dev
INFO Starting log output from slimmelezer.local using esphome API
INFO Successfully connected to slimmelezer.local
[09:23:05][I][app:102]: ESPHome version 2021.12.1 compiled on Dec 28 2021, 08:36:08
[09:23:05][C][wifi:488]: WiFi:
[09:23:05][C][wifi:350]: Local MAC: xx:xx:xx:xx:xx:xx
[09:23:05][C][wifi:351]: SSID: [redacted]
[09:23:05][C][wifi:352]: IP Address: 192.168.x.x
[09:23:05][C][wifi:354]: BSSID: [redacted]
[09:23:05][C][wifi:355]: Hostname: 'slimmelezer'
[09:23:05][C][wifi:357]: Signal strength: -62 dB ▂▄▆█
[09:23:05][V][wifi:359]: Priority: -11.0
[09:23:05][C][wifi:361]: Channel: 11
[09:23:05][C][wifi:362]: Subnet: 255.255.255.0
[09:23:05][C][wifi:363]: Gateway: 192.168.x.x
[09:23:05][C][wifi:364]: DNS1: 192.168.x.x
[09:23:05][C][wifi:365]: DNS2: 0.0.0.0
[09:23:05][C][logger:233]: Logger:
[09:23:05][C][logger:234]: Level: VERY_VERBOSE
[09:23:05][C][logger:235]: Log Baud Rate: 115200
[09:23:05][C][logger:236]: Hardware UART: UART0
[09:23:05][C][uart.arduino_esp8266:100]: UART Bus:
[09:23:05][C][uart.arduino_esp8266:102]: RX Pin: GPIO13
[09:23:05][C][uart.arduino_esp8266:104]: RX Buffer Size: 256
[09:23:05][C][uart.arduino_esp8266:106]: Baud Rate: 115200 baud
[09:23:05][C][uart.arduino_esp8266:107]: Data Bits: 8
[09:23:05][C][uart.arduino_esp8266:108]: Parity: NONE
[09:23:05][C][uart.arduino_esp8266:109]: Stop bits: 1
[09:23:05][C][uart.arduino_esp8266:113]: Using software serial
[09:23:05][C][dsmr:275]: DSMR:
[09:23:05][C][dsmr:276]: Max telegram length: 6000
[09:23:05][C][dsmr:277]: Receive timeout: 0.2s
[09:23:05][C][captive_portal:144]: Captive Portal:
[09:23:05][C][ota:082]: Over-The-Air Updates:
[09:23:05][C][ota:083]: Address: slimmelezer.local:8266
[09:23:05][C][ota:086]: Using Password.
[09:23:05][C][api:134]: API Server:
[09:23:05][C][api:135]: Address: slimmelezer.local:6053
[09:23:05][C][api:139]: Using noise encryption: NO
[09:23:05][C][mdns:084]: mDNS:
[09:23:05][C][mdns:085]: Hostname: slimmelezer
[09:23:05][V][mdns:086]: Services:
[09:23:05][V][mdns:088]: - _esphomelib, _tcp, 6053
[09:23:05][V][mdns:090]: TXT: version = 2021.12.1
[09:23:05][V][mdns:090]: TXT: mac = xxxxxxxxxxxx
[09:23:05][V][mdns:090]: TXT: platform = ESP8266
[09:23:05][V][mdns:090]: TXT: board = esp01_1m
[09:23:12][V][dsmr:142]: Header of telegram found
[09:23:12][D][uart_debug:158]: <<< "/AUX59902734768\r\n"
[09:23:12][D][uart_debug:158]: <<< "8.4(000000.000*kWh)\r\n"
[09:23:12][D][uart_debug:158]: <<< "1-0\xE7\xE6y\x9E9\x0E9\x0E\x0E\x0E\x0E\x0E\xCE9\x0E\x0EN\xB9\xEDWh)\r\n"
[09:23:12][D][uart_debug:158]: <<< ":8.8.0(000464\x97195*kvarh)\r\n"
[09:23:12][D][uart_debug:158]: <<< "1-0:15.8.0(004773.309*kWh)\r\n"
[09:23:12][D][uart_debug:158]: <<< "*kW)\r\n"
[09:23:12][D][uart_debug:158]: <<< "1-0:5.7.0(00.000*kvar)\r\n"
[09:23:12][D][uart_debug:158]: <<< "1-0:6.7.0(00.000*kvar)\r\n"
[09:23:12][D][uart_debug:158]: <<< "1-0:7.7.0(00.000*kvar)\r\n"
[09:23:12][D][uart_debug:158]: <<< "1-0\x9D8.7.0(00.070*kvar)\r\n"
[09:23:12][D][uart_debug:158]: <<< "0-0:98.1.0(211201000000W)(003563.017*\xB5\xABh)(001829.180*kWh)(001733.837*kWh)(000000.000*kWh)(000000.000*kWh)(000000.000*kWh)(000061.167*kvarh)(000404.339"
[09:23:12][D][uart_debug:158]: <<< "*kvarh)(000061.167*kvarh)(000000.000*kvar\xB4)(000000.000*kvarh)(000404.339*kvarh)(003563.020*kWh)(05.804*kW)(05.804*kW)(05.352*kW)(00.000*kW)(00.000*kW)"
[09:23:12][D][uart_debug:158]: <<< "(00.000*kW)\r\n"
[09:23:12][D][uart_debug:158]: <<< "0-0:96.13.0(\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[09:23:12][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[09:23:12][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[09:23:12][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF)\r\n"
[09:23:12][V][dsmr:176]: Footer of telegram found
[09:23:12][D][uart_debug:158]: <<< "!3B9D\r\n"
[09:23:12][V][dsmr:257]: Trying to parse telegram
[09:23:12][V][dsmr:118]: Stop reading data from P1 port
[09:23:12][E][dsmr:265]: :8.8.0(000464\x97195*kvarh)
^
OBIS id Empty
[09:23:12][V][component:199]: Component dsmr took a long time for an operation (0.64 s).
[09:23:12][V][component:200]: Components should block for at most 20-30ms.
[09:23:12][V][dsmr:105]: Start reading data from P1 port
[09:23:14][VV][api.service:337]: on_ping_request: PingRequest {}
[09:23:14][VV][api.service:043]: send_ping_response: PingResponse {}
[09:23:20][VV][api.service:337]: on_ping_request: PingRequest {}
[09:23:20][VV][api.service:043]: send_ping_response: PingResponse {}
[09:23:22][V][dsmr:142]: Header of telegram found
[09:23:22][D][uart_debug:158]: <<< "/AUX59902734768\r\n"
[09:23:22][D][uart_debug:158]: <<< "8.4(0\x980000.000*kWh)\r\n"
[09:23:22][D][uart_debug:158]: <<< "1-0:2.8.0(000000.000*kWh)\r\n"
[09:23:22][D][uart_debug:158]: <<< ":8.8.0(00\x98464.195\x95kvarh)\r\n"
[09:23:22][D][uart_debug:158]: <<< "1-0:15.8.0(004773.316*kWh)\r\n"
[09:23:22][V][dsmr:176]: Footer of telegram found
[09:23:22][D][uart_debug:158]: <<< "*!\xAB)\r\n"
[09:23:22][V][dsmr:257]: Trying to parse telegram
[09:23:22][V][dsmr:118]: Stop reading data from P1 port
[09:23:22][D][uart_debug:158]: <<< "1-0:5.7.0(00.\x9800*kvar)\r\n"
[09:23:22][D][uart_debug:158]: <<< "1-0:6.7.0(00.000*kvar)\r\n"
[09:23:22][D][uart_debug:158]: <<< "1-0:7.7.0(00.000*kvar)\r\n"
[09:23:22][D][uart_debug:158]: <<< "1-0:8.7.0(00.070*kvar)\r\n"
[09:23:22][E][dsmr:265]: :8.8.0(00\x98464.195\x95kvarh)
^
OBIS id Empty
[09:23:22][V][component:199]: Component dsmr took a long time for an operation (0.17 s).
[09:23:22][V][component:200]: Components should block for at most 20-30ms.
[09:23:22][V][dsmr:105]: Start reading data from P1 port
[09:23:22][D][uart_debug:158]: <<< "0-0:98.1.0(211201000000W)(003563.017*kW\xB4)(0\x981829.180*\xB5Wh)(001733.837*kWh)\x94000000.000*kWh)(000000.000*kWh)(000000.000*kWh)(000061.167*kvarh)(000404.339"
[09:23:22][D][uart_debug:158]: <<< "*kvarh)(00\x98061.167*kvarh)(000000.000*kvarh)(000000.000*kvarh)(00\x98404.339*kvarh)(003563.020*kWh)(05.804*kW)(05.804\x95kW)(05.352*kW)(00.000*kW)(00.\x9800*kW)"
[09:23:22][D][uart_debug:158]: <<< "(00.000*kW)\r\n"
[09:23:22][V][component:199]: Component dsmr took a long time for an operation (0.06 s).
[09:23:22][V][component:200]: Components should block for at most 20-30ms.
[09:23:22][D][uart_debug:158]: <<< "0-0:96.13.0(\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[09:23:22][V][component:199]: Component dsmr took a long time for an operation (0.08 s).
[09:23:22][V][component:200]: Components should block for at most 20-30ms.
[09:23:22][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF)\r\n"
[09:23:22][D][uart_debug:158]: <<< "!4A9F\r\n"
[09:23:22][V][component:199]: Component dsmr took a long time for an operation (0.06 s).
[09:23:22][V][component:200]: Components should block for at most 20-30ms.
[09:23:29][VV][api.service:337]: on_ping_request: PingRequest {}
[09:23:29][VV][api.service:043]: send_ping_response: PingResponse {}
[09:23:32][V][dsmr:142]: Header of telegram found
[09:23:32][D][uart_debug:158]: <<< "/AUX59902734768\r\n"
[09:23:32][D][uart_debug:158]: <<< "8.4(000000.000*kWh)\r\n"
[09:23:32][D][uart_debug:158]: <<< ".8.0(000000.000*kvarh)\r\n"
[09:23:32][D][uart_debug:158]: <<< "1-0:8.8.0(000464.195*kvarh)\r\n"
[09:23:32][D][uart_debug:158]: <<< "03.597*kW)\r\n"
[09:23:32][D][uart_debug:158]: <<< "1-0:2.7.0(00.000*kW)\r\n"
[09:23:32][D][uart_debug:158]: <<< "1-0:5.7.0(00.000*kvar)\r\n"
[09:23:32][D][uart_debug:158]: <<< "1-0:6.7.0(00.000*kvar)\r\n"
[09:23:32][D][uart_debug:158]: <<< "1-0:7.7.0(00.000\x95kvar)\r\n"
[09:23:32][D][uart_debug:158]: <<< "1-0:8.7.0(00.071*kvar)\r\n"
[09:23:32][D][uart_debug:158]: <<< "0-0:98.1.0(211201000000W)(0035\x9B3.017*kWh)(001829.180*kWh)(0017\xE6\xE6.837*kWh)(000000.000*kWh)(000000.000*kWh)(000000.000*kWh)(000061.167*kvarh)(000404.339"
[09:23:32][D][uart_debug:158]: <<< "*kvarh)(000061.167*kvarh)(000000.000*kv\xB0rh)(000000.000\x95kvarh)(000404.339*kvarh)(003563.020*kWh)(05.804*kW)(05.804*kW)(05.352*kW)(00.000*kW)(00.000*kW)"
[09:23:32][D][uart_debug:158]: <<< "(00.000*kW)\r\n"
[09:23:32][D][uart_debug:158]: <<< "0-0:96.13.0(\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[09:23:32][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[09:23:32][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[09:23:32][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF)\r\n"
[09:23:32][V][dsmr:176]: Footer of telegram found
[09:23:32][D][uart_debug:158]: <<< "!A46\x9A\r\n"
[09:23:32][V][dsmr:257]: Trying to parse telegram
[09:23:32][V][dsmr:118]: Stop reading data from P1 port
[09:23:32][E][dsmr:265]: .8.0(000000.000*kvarh)
^
OBIS id Empty
Hi,
I also flashed the device with esp-link, download successful but it could not connect to my LAN with the correct wi-fi SSID and password.
Br, György
As far as I know, the DSMR component only supports the smart meters which comply to DSMR (Dutch Smart Meter Requirements). These requirements are not only for the settings of the P1-port but also for the “layout/content” of the telegram message itself. It looks like your meter is sending telegram messages which do no comply to the standard implemented in the DSMR component. For details about the required telegram layout for the DSMR component see: https://www.netbeheernederland.nl/_upload/Files/Slimme_meter_15_a727fce1f1.pdf
I think you need a new ESPHome custom component supporting the Hungarian Smart Meter Requirements. (HSMR).
Hi Jos,
this response is very helpful, thanks a lot. I’ve checked the energy provider’s description once again and found that they guarantee only the physical layer according to the DSMR standard. Data content is listed in a table as on the picture below (in Hungarian unfortunately).
So at least this is very probably not a hardware- or configuration problem. I guess I need to launch a feature request for this custom component on ESPhome git page - am I right?
Ok, so the UART debug log seems incomplete to me. Some parts are clearly recognizable and fit to the description - from OBIS 1-0.2.7.0 on -, but before most of the message characters are missing. So indeed, data is different but still invalid. I hope this is not the very data coming out from the transmitter but just a debug problem. Do you have a hint how to improve the output?
Yes, the UART debug looks strange, however I think there is some interference between UART and serial logger. It is advised to disable the serial logger by setting the baud_rate to zero
Some news. Adjusting debug output, I’ve succeeded to catch one series of bytes at initialisation with the less possible error. All messages after are even more corrupt, bytes are missing, bytes inside OBIS codes are mismatched, line breaks are inserted randomly, parsing not possible. Left is the first series, right is one of all following series:
Looking at the YAML you posted I haven some questions:
Which version of ESPHome are you using. If you are using the current 2021.12 branch there is no need to use the external component part anymore, so it’s better to remove this.
What happens if you remove the 3 lines in the DSMR part. (just keep DSMR: )
Based on the specification you posted, I don’t think the telegram_length is more than 1500 bytes (the default).
crc_check: false should only be done for older smart meters not providing a CRC. If there is a CRC and you use this setting, things are going wrong, the CRC bytes will be evaluated as regular part of the telegram-data.
receive_timeout: 200ms is also the default value, so not necessary, however should also not be the cause of your problem.
Also be sure the baud_rate: in the logger part is set to zero.
Hi Jos,
yes, version is 2021.12.1. Suggested parts removed.
Telegram length needed to be increased because of this issue: issue #2393
[E][dsmr:152]: Error: telegram larger than buffer (1500 bytes)
CRC check is re-enabled. Strange that it passes despite of the corrupt communication. I can think of three possibilities: 1) bytes are the same bad when sender calculates CRC 2) UART debug output is false and CRC is the same correct on sender and receiver side. 3) long telegram error doesn’t let CRC fault to pop up.
Are you on the ESPHome discord, there is another person from Hungary posting about problems with a Sanxing SX631 smart meter. This person is using a telegram size of 3000. See Discord
Yes, this is a region specific problem with the long text message. Setting back telegram length to 3000 CRC fault appears as suspected in scenario 3) above:
This looks good and complicated. I think I give esp-link firmware a second chance. Or find a cheap P1 reader over ehternet or USB to validate SlimmeLezer output.
I found a feature request from Hungary for supporting my meter however I don’t think it will solve the corrupt data problem: issue #1491
So moral is that plug & play means plug and play until it starts working
Maybe there are some ‘bad’ connections/soldering on your device. Otherwise you could contact the builder of your device. If you have CRC-errors, the data is corrupt at the moment the data is parsed by the DSMR parser. The UART debugger is just dumping the data from the UART bus.
Maybe yes, I tried again to connect to my LAN with esp-link without success. Checked with external supply, firewall off, fix IP, DHCP.
Thanks for your enthusiastic help on this first Sunday 2022. I subscribed for an ethernet version of the device here: p1-reader-ethernet. Also start to order parts for the WEMOS project you showed me (link to Gerber file seems to be broken). One of these must work.
And just to be sure: can you check the config dump that you get when connecting the log viewer to the device? In the UART section you can see if the device is really using hardware UART. I don’t think I’ve ever seen bytes being dropped when using actual hardware UART. That is a symptom that pops up a lot when using software UART.
defining rx buffer size at 3000 solved the missing bytes problem, communication now runs steadily with CRC check on. Hardware UART is used. Device recognized in HomeAssistant, but still no data. Is this because of the parsing problem listed at the end of the log below?
INFO Reading configuration /config/esphome/slimmelezer.yaml...
INFO Starting log output from slimmelezer.local using esphome API
INFO Successfully connected to slimmelezer.local
[21:49:55][I][app:102]: ESPHome version 2021.12.1 compiled on Jan 2 2022, 21:43:02
[21:49:55][C][wifi:488]: WiFi:
[21:49:55][C][wifi:350]: Local MAC: C4:5B:BE:62:B0:C5
[21:49:55][C][wifi:351]: SSID: [redacted]
[21:49:55][C][wifi:352]: IP Address: 192.168.1.102
[21:49:55][C][wifi:354]: BSSID: [redacted]
[21:49:55][C][wifi:355]: Hostname: 'slimmelezer'
[21:49:55][C][wifi:357]: Signal strength: -69 dB ▂▄▆█
[21:49:55][V][wifi:359]: Priority: -4.0
[21:49:55][C][wifi:361]: Channel: 4
[21:49:55][C][wifi:362]: Subnet: 255.255.255.0
[21:49:55][C][wifi:363]: Gateway: 192.168.1.1
[21:49:55][C][wifi:364]: DNS1: 192.168.1.1
[21:49:55][C][wifi:365]: DNS2: 0.0.0.0
[21:49:55][C][logger:233]: Logger:
[21:49:55][C][logger:234]: Level: VERY_VERBOSE
[21:49:55][C][logger:235]: Log Baud Rate: 0
[21:49:55][C][logger:236]: Hardware UART: UART0
[21:49:55][C][uart.arduino_esp8266:100]: UART Bus:
[21:49:55][C][uart.arduino_esp8266:102]: RX Pin: GPIO13
[21:49:55][C][uart.arduino_esp8266:104]: RX Buffer Size: 3000
[21:49:55][C][uart.arduino_esp8266:106]: Baud Rate: 115200 baud
[21:49:55][C][uart.arduino_esp8266:107]: Data Bits: 8
[21:49:55][C][uart.arduino_esp8266:108]: Parity: NONE
[21:49:55][C][uart.arduino_esp8266:109]: Stop bits: 1
[21:49:55][C][uart.arduino_esp8266:111]: Using hardware serial interface.
[21:49:55][C][dsmr:275]: DSMR:
[21:49:55][C][dsmr:276]: Max telegram length: 3000
[21:49:55][C][dsmr:277]: Receive timeout: 0.2s
[21:49:55][C][captive_portal:144]: Captive Portal:
[21:49:55][C][ota:082]: Over-The-Air Updates:
[21:49:55][C][ota:083]: Address: slimmelezer.local:8266
[21:49:55][C][ota:086]: Using Password.
[21:49:55][C][api:134]: API Server:
[21:49:55][C][api:135]: Address: slimmelezer.local:6053
[21:49:55][C][api:139]: Using noise encryption: NO
[21:49:55][C][mdns:084]: mDNS:
[21:49:55][C][mdns:085]: Hostname: slimmelezer
[21:49:55][V][mdns:086]: Services:
[21:49:55][V][mdns:088]: - _esphomelib, _tcp, 6053
[21:49:55][V][mdns:090]: TXT: version = 2021.12.1
[21:49:55][V][mdns:090]: TXT: mac = c45bbe62b0c5
[21:49:55][V][mdns:090]: TXT: platform = ESP8266
[21:49:55][V][mdns:090]: TXT: board = esp01_1m
[21:50:00][VV][api.service:337]: on_ping_request: PingRequest {}
[21:50:00][VV][api.service:043]: send_ping_response: PingResponse {}
[21:50:01][V][dsmr:142]: Header of telegram found
[21:50:01][D][uart_debug:158]: <<< "/AUX59902734768\r\n"
[21:50:01][D][uart_debug:158]: <<< "\r\n"
[21:50:01][D][uart_debug:158]: <<< "0-0:1.0.0(220102215000W)\r\n"
[21:50:01][D][uart_debug:158]: <<< "0-0:42.0.0(AUX1030302734768)\r\n"
[21:50:01][D][uart_debug:158]: <<< "0-0:96.1.0(9902734768)\r\n"
[21:50:02][D][uart_debug:158]: <<< "0-0:96.14.0(0002)\r\n"
[21:50:02][D][uart_debug:158]: <<< "0-0:96.50.68(ON)\r\n"
[21:50:02][D][uart_debug:158]: <<< "0-0:17.0.0(90.000*kW)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:1.8.0(005057.626*kWh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:1.8.1(002539.569*kWh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:1.8.2(002518.057*kWh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:1.8.3(000000.000*kWh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:1.8.4(000000.000*kWh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:2.8.0(000000.000*kWh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:2.8.1(000000.000*kWh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:2.8.2(000000.000*kWh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:2.8.3(000000.000*kWh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:2.8.4(000000.000*kWh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:3.8.0(000081.590*kvarh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:4.8.0(000478.508*kvarh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:5.8.0(000081.590*kvarh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:6.8.0(000000.000*kvarh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:7.8.0(000000.000*kvarh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:8.8.0(000478.508*kvarh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:15.8.0(005057.627*kWh)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:32.7.0(234.3*V)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:52.7.0(237.2*V)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:72.7.0(235.0*V)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:31.7.0(007*A)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:51.7.0(000*A)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:71.7.0(001*A)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:13.7.0(0.998)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:33.7.0(0.999)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:53.7.0(0.913)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:73.7.0(0.947)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:14.7.0(50.01*Hz)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:1.7.0(01.939*kW)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:2.7.0(00.000*kW)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:5.7.0(00.000*kvar)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:6.7.0(00.000*kvar)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:7.7.0(00.000*kvar)\r\n"
[21:50:02][D][uart_debug:158]: <<< "1-0:8.7.0(00.121*kvar)\r\n"
[21:50:02][D][uart_debug:158]: <<< "0-0:98.1.0(220101000000W)(004984.093*kWh)(002539.569*kWh)(002444.524*kWh)(000000.000*kWh)(000000.000*kWh)(000000.000*kWh)(000080.797*kvarh)(000473.402"
[21:50:02][D][uart_debug:158]: <<< "*kvarh)(000080.797*kvarh)(000000.000*kvarh)(000000.000*kvarh)(000473.402*kvarh)(004984.096*kWh)(07.692*kW)(07.692*kW)(06.024*kW)(00.000*kW)(00.000*kW)"
[21:50:02][D][uart_debug:158]: <<< "(00.000*kW)\r\n"
[21:50:02][D][uart_debug:158]: <<< "0-0:96.13.0(\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[21:50:02][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[21:50:02][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[21:50:02][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[21:50:02][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[21:50:02][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[21:50:02][D][uart_debug:158]: <<< "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xF
[21:50:02][V][dsmr:176]: Footer of telegram found
[21:50:02][D][uart_debug:158]: <<< "!82C7\r\n"
[21:50:02][V][dsmr:257]: Trying to parse telegram
[21:50:02][V][dsmr:118]: Stop reading data from P1 port
[21:50:02][V][component:199]: Component dsmr took a long time for an operation (0.72 s).
[21:50:02][V][component:200]: Components should block for at most 20-30ms.
[21:50:02][V][dsmr:105]: Start reading data from P1 port