'P1 Monitor' or 'DSMR Slimme Meter' integration

Hi,
I live in Belgium and soon Fluvius, the company responsible for electricity infrastucture, will install a digital meter with P1 port. Maak je digitale meter slim | Fluvius

I use ESPHome so I did already some research and will make a P1 reader based on GitHub - psvanstrom/esphome-p1reader

My question: When the hardware is connected and I get the information from the P1 port into HA, which integration do I have to install?

DSMR Slimme Meter DSMR Slimme Meter - Home Assistant or
P1 monitor P1 Monitor - Home Assistant

I’m a bit confused because both integrations seems to do the same…

Hi Johan,

I live in Belgium too and I was wondering if you meanwhile make it work ?

Since yesterday I can buy one (in stock again), so…

Greetings,
Christian

Hi Tsar,

Yes, I was able to manage. I use ESPHome, so ESPHome has a P1 integration. You only have to use an ESP module and connect the output (transmit line) of the Smart Meter to an input of the ESP. The ESP is even powered by the Digital Meter.

The ESP with ESPHome delivers all entities. No need to install a HA integration like P1 Monitor or DSMR Slimme Meter.

These are the most important entries in my ESPHome configuration:

uart:
  id: uart_bus
  rx_pin: 3
  baud_rate: 115200

The rx_pin off course depends of your hardware setup

sensor:
# Sensoren van P1 Smart meter

  - platform: dsmr
    energy_delivered_tariff1:
      name: energy_delivered_tariff1
      filters:
        - throttle: 15s
    energy_delivered_tariff2:
      name: energy_delivered_tariff2
      filters:
        - throttle: 15s
    energy_returned_tariff1:
      name: energy_returned_tariff1
      filters:
        - throttle: 15s
    energy_returned_tariff2:
      name: energy_returned_tariff2
      filters:
        - throttle: 15s
    power_delivered:
      name: power_delivered
      filters:
        - throttle: 15s
    power_returned:
      name: power_returned
      filters:
        - throttle: 15s
    electricity_failures:
      name: electricity_failures
      filters:
        - throttle: 360s
    electricity_long_failures:
      name: electricity_long_failures
      filters:
        - throttle: 360s
    voltage_l1:
      name: voltage_l1
      filters:
        - throttle: 120s
    current_l1:
      name: current_l1
      filters:
        - throttle: 120s
    gas_delivered_be:
      name: gas_delivered_be
      filters:
        - throttle: 60s

The Smart Meter sends every second or 2 seconds information. In my opinion overkill so I added the filters: throttle option to limit the data.

Works as a charm…

Details about the wiring:

The final result:

Hi Johan,

Thanks for the info !

Which hardware do you use ?

I presume that I could also just buy this one : https://www.zuidwijk.com/product/slimmelezer-plus/
and directly connect it to my Digital Meter ?

You can order indeed the part from the link.

I use Sonoff Relais Module RE5V1C Schakelaar Wifi Smart Switch 5V Dc Draadloze Schakelaars Tippen/Selflock Werkingsmodi App/voice/Lan Controle|Smart Remote Control| - AliExpress

Cost was less than 5 euro!

Hi Johan,

Do you perhaps have solar panels ?

If so, how did you create your sensors to retrieve the energy they produce ?

Thanks!

hello johan

i am also very interested in the possibility of obtaining real-time energy information via the P1
of Fluvius. (i am living in Brussels and energy cost is VERY HIGH))
can you explain me how to plug the sonoff relay on Aliexpress to p1 ? (which cable)
How to integrate into HA '(esphome , dsmr ?? can you explain me please)
there is also a solution more expensive : https://www.connectix.nl/belgische-slimme-meter-uitlezen-met-home-assistant/
but i prefer your solution (cheaper)

Many Thanks for your answer …

Hi,

I live in The Netherlands and use over 2 years the more expensive connectix solution.
The integration in to HA is easy, and it works like a charm… without any problems.
Let say: this device is (almost) plug and play, only a few settings… and that’s it.

My post from 1 feb. explains how to connect.
The module I bought is a generic ESP module. The module is powered from the digital meter.
You only need the module, a 6-wire flat cable and the RJ12 connector to plug into the digital meter.
Sounds very easy but to be honest you must be familiar with electronics and/or be handy to ‘create’ this module. If it’s not your cup of thea, better spend some money and buy something familiar as mentioned in this thread.
If you already use ESPHome you should be familiar how to ‘program’ the ESP module.

My ESPHome configuration for this module is:

esphome:
  name: digital-meter
  platform: ESP8266
  board: esp01_1m

# Enable logging
logger:
  baud_rate: 0 # disable logging over uart

# Enable Home Assistant API
api:
  reboot_timeout: 0s

ota:
  password: "baec567c8fec5b3ff504fdcb0a80dceb"

wifi:
  ssid: "MySSIDname"
  password: !secret wifi_password
  reboot_timeout: 0s
 
  manual_ip:
    static_ip: 192.168.xxx.xxx
    gateway: 192.168.xxx.xxx
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Digitale-Meter Fallback Hotspot"
    password: "SFbh2GtmbOT6"

captive_portal:

# Enable Web server.
web_server:
  port: 80
  
uart:
  id: uart_bus
  rx_pin: 3
  baud_rate: 115200
  
# Sync time with Home Assistant.
time:
  - platform: homeassistant
    id: homeassistant_time
    
# Text sensors with general information.
text_sensor:
  # Expose Uptime human readable
  - platform: template
    name: Digitale Meter Uptime
    id: digitale_meter_uptime_human
    icon: mdi:clock-start
  # Expose ESPHome version as sensor.
  - platform: version
    name: Digitale Meter ESPHome Version
    
sensor:

# WiFi Signal sensor.
  - platform: wifi_signal
    name: Digitale Meter WiFi Signal
    update_interval: 360s
# Uptime sensor.
  - platform: uptime
    id: digitale_meter_uptime_sensor
    update_interval: 60s
    on_raw_value:
      then:
        - text_sensor.template.publish:
            id: digitale_meter_uptime_human
            state: !lambda |-
              int seconds = round(id(digitale_meter_uptime_sensor).raw_state);
              int days = seconds / (24 * 3600);
              seconds = seconds % (24 * 3600);
              int hours = seconds / 3600;
              seconds = seconds % 3600;
              int minutes = seconds /  60;
              seconds = seconds % 60;
              return (
                (days ? String(days) + "d " : "") +
                (hours ? String(hours) + "h " : "") +
                (minutes ? String(minutes) + "m " : "") +
                (String(seconds) + "s")
              ).c_str();
    
# Sensoren van P1 Smart meter

  - platform: dsmr
    energy_delivered_tariff1:
      name: energy_delivered_tariff1
      filters:
        - throttle: 5s
    energy_delivered_tariff2:
      name: energy_delivered_tariff2
      filters:
        - throttle: 5s
    energy_returned_tariff1:
      name: energy_returned_tariff1
      filters:
        - throttle: 5s
    energy_returned_tariff2:
      name: energy_returned_tariff2
      filters:
        - throttle: 5s
    power_delivered:
      name: power_delivered
      filters:
        - throttle: 5s
    power_returned:
      name: power_returned
      filters:
        - throttle: 5s
    electricity_failures:
      name: electricity_failures
      filters:
        - throttle: 360s
    electricity_long_failures:
      name: electricity_long_failures
      filters:
        - throttle: 360s
    voltage_l1:
      name: voltage_l1
      filters:
        - throttle: 120s
    current_l1:
      name: current_l1
      filters:
        - throttle: 120s
    gas_delivered_be:
      name: gas_delivered_be
      filters:
        - throttle: 10s

Once you power the module, HA should create the new sensors.
No need to install any specific integration (P1 or DSMR)

Hope this helps to setup your system

thanks and very glad to meet a Belgian HA user…

hello

Do you already have curves (via apexcharts or other graphical cards) based on the entities produced by the interface that I could install in my home assistant, such as the ‘total daily/monthly’ cost of electricity’, etc.)

THANKS