Support for Dutch Smart Meter

I would appreciate help or feedback from you guys on how to integrate a Kaifa E0003 DSMR (4?) with HA. The idea is to capture my electricity and gas consumption, and also energy uploaded from the solar panels.

In my setup the P1 port of this model is already used to connect the smart meter to a device from Eneco that feed back my energy readings to Eneco through internet.
I understand that there are splitter devices available that will allow another device to “spy” on the RS-232 communication between the smart meter and the Eneco WiFi device (e.g. But in addition to that splitter I then would also need another cable to connect it to USB, and the total cost then exceeds what I’m willing to pay for the integration at this point.


  1. In my setup, is reading the data from the meter/P1 port the only option to get it into HA?
  2. Is it possible to use e.g. a ESP32 to capture the data from the P1 port? The meter is far away from my HA server, so I in any case will have to use MQTT to upload it to HA.


€ 0,99 15% Off | Blel Hot RJ11 6P4C 2 Way Outlet Telefoon Jack Line Splitter Adapter Beige

€ 7,05 9% Off | Domoticz op Raspberry FTDI USB naar 6P6C 6P4C TTL Kabel voor Kaifa MA105 Iskra Kamstrup Landis Nederlandse Slimme Meter DSMR p1 Poort Kabel

The P1 to USb is not the cheapest on Ali, I choose this one because you can select by your meter brand/type.

If thats above your budget I would search for a cheaper hobby :joy:

Thanks for the links, I will look into it.
It’s not really about what I can afford, but rather how much value I put on having this info in the system. To me it falls in the category “informative”, interesting to look at from time to time. I’m new to this home automation thing, and as such priority goes out to setting up IP cams, RFID access at the garden gate, automating the blinds… that sort of thing.

Just to confirm… will a simple telephone line splitter do the trick in this case? Should I add diodes to prevent collisions screwing up the communication between the meter and the WiFi device when I connect the RPi (i.e. a third device to what is essentially two-device protocol) ?

Hi, hope this is the appropriate topic for the following.
I have installed DSMR sensor succesfully on a Pi 4, already for couple of months. Every run fine, until I decided to build Home Assistant up from the basis (without using Homey).

Now the problem, the DSMR integration is shown in the integrations page, contains 2 devices and 30 entities. Also data is coming through. However, looking in the log there are loads of CRC validation errors (more than 10.000 today)

It is also showing a telegram parsing error. I have checked all kind of fora already, but couldn’t find anything.

Combined two error logs in 1 since I’m new on the forum…

Anyone already stumbled upon this and knows how to solve it? Or maybe know what steps to take to identify the cause?

Really don’t have a clue…

Yes, simple telephone splitter will do. Maybe you still have one from an old ADSL connection.

And Yes, most of the HomeAssistant extensions are more like hobby / playing then real live requirements. Spending days to get my PTZ camera point to the door, power-on the tv, cast live stream from camera to tv when someone ringing the doorbell just to come to the conclusion that it is really irritating :smile:

I still create useless automations just for fun, but there never enabled by default.

1 Like

I’ve got another HASS install that recently switched homes with a newer meter, which now is SMR 5.0 (not Belgian). I’ve updated the value in the config, but I get a few of these errors:

    Invalid telegram. The CRC checksum '40563' does not match the expected '23158'
    Invalid telegram. The CRC checksum '33051' does not match the expected '39617'
    Invalid telegram. The CRC checksum '51040' does not match the expected '60985'
    Invalid telegram. The CRC checksum '9335' does not match the expected '45693'
    Invalid telegram. The CRC checksum '55946' does not match the expected '7388'

Any idea what’s wrong here? I also don’t see the DSMR integration in my panel… I removed it because I thought I had to maybe do that to get it working again, but it now refuses to show up.

Hello all I have a question with regards to the data from the dsmr. I have an iungo installation which provides all the data in a separate API through the mqtt broker I can get solar data even control zwave switches. I also get al the DSMR which I can read out in the MQTT explorer So I was wondering if I could possibly get that info into HA somehow. goal to create a card as shown on the DSMR sensor page of HA.

Thanks in advance

Anyone that can help me?

Did you manage to do it already? Let me know, because that’s my main data source pouring into HA :wink:
Easy p…

Hi Marius,

Thanks for your answer and for the example. Honestly I’ve been a bit sidetracked with some other, more pressing, issues within home assistant and outside of home assistant. I’m suffering what some call a memory leak I guess :wink:
The Limitlessled I have, although working flawlessly, keep generating timeouts that flood my .db file which in turn eats away at my memory.
I’ve also been looking at creating separate yaml files for sensors/lights and other intergrations cause my config yaml was getting oversized. As well as trying to get fluxdb and grafana up and running like you suggested some weeks ago, without success I have to add. :wink:

ha, cool. take your time :wink:

if you need further assistance, don’t hesitate to ask !

Hi all, pretty new to HAss and I’m still exploring possibilities. I have solar panels and would like to be able to switch equipment on and off depending on the amount of net output. The smart meter can provide this information. The question is how to connect it!

My E350 has an 8-pin P1 port. I need to connect it (either via USB or via the home network) to the NUC PC running Home Assistant, which is situated at a distance of some 5m in a straight line or about 10m if I run a cable in a way my wife will accept. What options do I have?

1 Like

You could consider esp8266, e.g. D1 mini to do it over wifi.
I am using Tasmota to replace my wired connection over USB.
You could script, or forward all data and parse it in HA, or via Node-red. ==> using this, but some tricky things you should be aware of … for the hardware interface. Also referring the commands to forward the meter readings via serial-bridge.

Hope this helps!

Have a look and let me know if you like to go this route with the scripting. Then I can give you some extra direction if required.

or you can check here

Too bad there don’t seem to be any solutions that don’t require additional hardware, the ESP8266 can handle the inverted TTL signal in software just fine (I’m happy to share the code I’m running to read my ISKRA MT382, but it’s a DSMR2.2 meter and the code is a bit hacky :sweat_smile:).

Also this, a P1 to USB cable:

An alternative, if you don’t mind your data going to the cloud would be this:

There’s a HACS integration for this as well.

Thanks everyone for your responses. There certainly appear to be more roads leading to Rome but most would require quite a lot of time, especially as I’m still very new to HA. Elsewhere somebody tipped me on this solution. Only some €30 for a great looking dongle and active HACS support for integrating with HA. Looks like that will do the trick nicely and not cost me too much time.

1 Like

Hi David, Adjan,
Did you managed to get it working? I was struggling to do this as well. Things i have learned (as a newbie to Home Assistant)
My configuration:
RPi3 with HA iso flashed on a SD card 16GB
P1 serial cable RJ11 to USB from cedel:
Note: be aware not all this kind of cables work - so make sure to verify!. I had one from that does not work with the BE meter.
Belgian smart meter fluvius T211-D (3 phase, but this should also work for the S211 single phase)
Port enabled via the fluvius portal (

What had to do:
This is a reasonable good blog if you have some HA experience. And this one too
It says that you have to change the configuration.yaml file, but it does not say how. (And like i said, i’m brand-new to this… so i had no clue)
To do so you would need to use SSH terminal for example.

(note: below it explains how to install and use the SSH add-on, but i have learned that it is much easier to install the file editor add-on to edit the file. The downside with the SSH client as described below is that you cannot copy from that client, only paste into it and that makes it often hard to do editing & troubleshooting. To install the editor use the procedure as below but search for the file editor)

That’s not installed by default if you use the HA image. (the iso file that you burn to an SD-card and then startup your pi, in my case a pi3)
You can add a “add-on” SSH terminal by installing it from the add-on store
… however, this is not visible by default.
It will only appear if you are in “advanced HA mode”… this, you have to enable on your user profile page by enabling the switch “advanced mode”
Now to install go to supervisor -> add-on store and search for SSH, click on the add on and click install.
Once installed you will find on the left side bar the terminal. (or you could use a terminal on your computer for example to connect, i have not tried this though)
Now you can start editing the configuration.yaml file.
This requires a little knowledge of linux alike commands. note that the HA image does not have all Linux/RPI command available…
To start you have to go to the config directory: cd config
See if you can find the file: ls => this should show all files in the directory, including the configuration.yaml file.
Now you can edit the file with the command: nano configuration.yaml file

You can copy and paste the code from the blog as instructed.
But: which serial port should you use??
To find out to which serial port your cable is connected go to supervisor->system->host and click on te 3 dots at the bottom->hardware.

This will give you an overview of the connected hardware, where you will find the USB port you need.

Copy the whole /dev/serial/… (in my case /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AQ56M4B3-if00-port0) and replace in the “port:” parameter in the configuration.yaml file ( /dev/ttyUSB1) with this string so that you will end up with
port: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AQ56M4B3-if00-port0
Save the file (ctrl x and y to save to the file)


Note: for the Belgian DSRM use version 5B (or try a few, i had some troubles getting the power consumption)
Now reboot the system, then all integrations, 2 devices (one for electric, and one for gas) and a whole bunch of parameters should appear (in my case 30)

I hope this will help!! Good luck!

Im doing the same.
However i found the “slimme meter” not good enough, and trying to get the dsmr reader working

The one from “slimme meter” gives you a bunch of sensors, but doesnt tell you much.
Also i read, it fills up your database ! beware of that

You can now use the DSMR as addon, DSMR Reader Add-on for Home Assistant