[RELEASE] dsmr-custom: Universal ESPHome Component for DSMR-compatible Smart Meters

I’m trying to use this with an S34U18 without success.

I enabled UART debug/lambda and all data I get looks like this:

        - lambda: |-
            UARTDebug::log_string(direction, bytes, debug_prefix);
            std::string str(bytes.begin(), bytes.end());
            id(rawString).publish_state(str.c_str());

\x03\xFE\x00\x00\xF8\x00\x90\xFD\x00\x00\x00\xF8\x00\x00\xFC\x01\xFF\xE9\x00\x00\xFC\x00\x00\xA8\x00\xFC\x00\x00\x00\xFC\x00\xC0\xFA\x00\xFF\x00\x00\xFF\x00@\xF3\xFF\x00\xFF\xBD\b\x00\xFE\x01\x80\xF3\x00\xFF\b\x00\x00\xFC\x00\x04\xE0\x00\xFEi\x00\xFE\x01\x10\xB4\x00\xFFS\x00\x00\xDF\x00\x80\xFA\x00\xFE\x03\x01\x00\xFE\x00\x00\xC2\x00\xFF\x02\x00\xFC\x00\x00\xEA\x00\xF8\x05\x00\xD0\x00\x00\xD0\x00\xFE\xF7\x05\x02\xFF\x01\x00\x00\xF8\x00\xFE\e\x00\x00\xFC\x00@x\x00\x

Is this correct? Or should the data be received as clear text?

This is the log from the application:

[19:16:46][V][dsmr_custom:299]: Starting P1 port read attempt (no request pin).
[19:16:47][V][dsmr_custom:337]: Header of plain telegram found ('/').
[19:16:56][V][dsmr_custom:373]: Footer of plain telegram found ('!'). Expecting CRC and newline.
[19:16:57][V][dsmr_custom:373]: Footer of plain telegram found ('!'). Expecting CRC and newline.
[19:16:58][V][dsmr_custom:378]: End of plain telegram detected (newline after CRC). Length: 4925
[19:16:58][V][dsmr_custom:693]: Attempting to parse P1 telegram of 4925 bytes using vendored parser.
[19:16:58][W][dsmr_custom:717]: DSMR P1 vendored parser error: 
[19:16:58][V][dsmr_custom:726]: Processing telegram for custom OBIS sensors line by line.
[19:16:58][V][text_sensor:035]: 'debug telegram': Received new state /
[19:16:58][D][text_sensor:120]: 'debug telegram' >> '/'
[19:16:58][I][telegram_dump:429]: --- FULL TELEGRAM RECEIVED ---
/
-----------------------------

One thing is important: your electric/gas company needs to enable HAN-port in the meter before you can read data. Have you contacted your energy company? If not, the port might be dormant or encrypted?

Update for anyone having the same problem: The problem was that I faulty connected the GND pin to the ESP32 when powering it externally (not via the meter).
Removing GND pin and only keep connecting the DATA-GND pin made the noise on the data-line go away.

Also the Electic Company had failed to activate the port, so that was why I never saw any clear text data, only the noise.

1 Like