SlimmeLezer configuration

The default firmware comes with all fields/sensors added, so everybody should be able to use it immediately. If you want to use your own ESPHome config (which I encourage anybody to do), find below the yaml configuration I’m using.

Please do note that I used to use ‘name_add_mac_suffix: true‘ which makes every device have an unique name. Because 99,9% will be using only one, I’ve changed that to ‘name_add_mac_suffix: false‘. Now every device will be called slimmelezer (and therefore slimmelezer.local within Home Assistant).

---
substitutions:
  device_name: slimmelezer
  device_description: "DIY P1 module to read your smart meter"
    
esphome:
  name: ${device_name}
  comment: "${device_description}"
  platform: ESP8266
  esp8266_restore_from_flash: true
  board: d1_mini
  name_add_mac_suffix: false
  project:
    name: zuidwijk.slimmelezer
    version: "1.0"
  on_boot:
    then:
      - if:
          condition:
            lambda: return id(has_key);
          then:
            - lambda: |-
                std::string key(id(stored_decryption_key), 32);
                id(dsmr_instance).set_decryption_key(key);
          else:
            - logger.log:
                level: info
                format: "Not using decryption key. If you need to set a key use Home Assistant service 'ESPHome:  ${device_name}_set_dsmr_key'"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: ${device_name}
    ap_timeout: 15s

captive_portal:

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:
  services:
    service: set_dsmr_key
    variables:
      private_key: string
    then:
      - logger.log:
          format: Setting private key %s. Set to empty string to disable
          args: [private_key.c_str()]
      - globals.set:
          id: has_key
          value: !lambda "return private_key.length() == 32;"
      - lambda: |-
          if (private_key.length() == 32)
            private_key.copy(id(stored_decryption_key), 32);
          id(dsmr_instance).set_decryption_key(private_key);

ota:

web_server:
  port: 80

uart:
  baud_rate: 115200
  rx_pin: D7

globals:
  - id: has_key
    type: bool
    restore_value: yes
    initial_value: "false"
  - id: stored_decryption_key
    type: char[32]
    restore_value: yes

dsmr:
  id: dsmr_instance
  # For Luxembourg users set here your decryption key. 
  # Enable this when using decryption for Luxembourg;
  # key looks like '00112233445566778899AABBCCDDEEFF'
  #decryption_key: !secret decryption_key 

sensor:
  - platform: dsmr
    energy_delivered_lux:
      name: "Energy Consumed Luxembourg"
      state_class: total_increasing
    energy_delivered_tariff1:
      name: "Energy Consumed Tariff 1"
      state_class: total_increasing
    energy_delivered_tariff2:
      name: "Energy Consumed Tariff 2"
      state_class: total_increasing
    energy_returned_lux:
      name: "Energy Produced Luxembourg"
      state_class: total_increasing
    energy_returned_tariff1:
      name: "Energy Produced Tariff 1"
      state_class: total_increasing
    energy_returned_tariff2:
      name: "Energy Produced Tariff 2"
      state_class: total_increasing
    power_delivered:
      name: "Power Consumed"
      accuracy_decimals: 3
    power_returned:
      name: "Power Produced"
      accuracy_decimals: 3
    electricity_failures:
      name: "Electricity Failures"
      icon: mdi:alert
    electricity_long_failures:
      name: "Long Electricity Failures"
      icon: mdi:alert
    voltage_l1:
      name: "Voltage Phase 1"
    voltage_l2:
      name: "Voltage Phase 2"
    voltage_l3:
      name: "Voltage Phase 3"
    current_l1:
      name: "Current Phase 1"
    current_l2:
      name: "Current Phase 2"
    current_l3:
      name: "Current Phase 3"
    power_delivered_l1:
      name: "Power Consumed Phase 1"
      accuracy_decimals: 3
    power_delivered_l2:
      name: "Power Consumed Phase 2"
      accuracy_decimals: 3
    power_delivered_l3:
      name: "Power Consumed Phase 3"
      accuracy_decimals: 3
    power_returned_l1:
      name: "Power Produced Phase 1"
      accuracy_decimals: 3
    power_returned_l2:
      name: "Power Produced Phase 2"
      accuracy_decimals: 3
    power_returned_l3:
      name: "Power Produced Phase 3"
      accuracy_decimals: 3
    gas_delivered:
      name: "Gas Consumed"
      state_class: total_increasing
    gas_delivered_be:
      name: "Gas Consumed Belgium"
      state_class: total_increasing
  - platform: uptime
    name: "SlimmeLezer Uptime"
  - platform: wifi_signal
    name: "SlimmeLezer Wi-Fi Signal"
    update_interval: 60s

text_sensor:
  - platform: dsmr
    identification:
      name: "DSMR Identification"
    p1_version:
      name: "DSMR Version"
    p1_version_be:
      name: "DSMR Version Belgium"
  - platform: wifi_info
    ip_address:
      name: "SlimmeLezer IP Address"
    ssid:
      name: "SlimmeLezer Wi-Fi SSID"
    bssid:
      name: "SlimmeLezer Wi-Fi BSSID"
  - platform: version
    name: "ESPHome Version"
    hide_timestamp: true

270 comments

  1. Bostjan

    While waiting for a delivery of my SlimmeLezer I have three questions:
    1. You write “The default firmware comes with all fields/sensors added”. Are the ones in your config all possible sensors or are there more already available, just not listed in your config?
    2. Is there a list of all available sensors?
    3. Namely, I would need the sensor for current electricity tariff (low or high). Do I just add it to the ESPHome under “sensor” like this:

    sensor:
    – platform: dsmr
    electricity_tariff:
    name: “Current tariff”

    or are there further code adaptations needed (for example in fields.h or similar)?

    1. almodovaris

      Add this to configuration.yaml:

      utility_meter:
      daily_energy_offpeak:
      source: sensor.energy_consumed_tariff_1
      name: Daily Energy (Offpeak)
      cycle: daily
      daily_energy_peak:
      source: sensor.energy_consumed_tariff_2
      name: Daily Energy (Peak)
      cycle: daily
      daily_gas:
      source: sensor.gas_consumed
      name: Daily Gas
      cycle: daily
      monthly_energy_offpeak:
      source: sensor.energy_consumed_tariff_1
      name: Monthly Energy (Offpeak)
      cycle: monthly
      monthly_energy_peak:
      source: sensor.energy_consumed_tariff_2
      name: Monthly Energy (Peak)
      cycle: monthly
      monthly_gas:
      source: sensor.gas_consumed
      name: Monthly Gas
      cycle: monthly

      sensor:
      – platform: template
      sensors:
      daily_energy:
      friendly_name: Daily Energy
      unit_of_measurement: kWh
      value_template: “{{ states(‘sensor.daily_energy_offpeak’)|float + states(‘sensor.daily_energy_peak’)|float }}”
      monthly_energy:
      friendly_name: Monthly Energy
      unit_of_measurement: kWh
      value_template: “{{ states(‘sensor.monthly_energy_offpeak’)|float + states(‘sensor.monthly_energy_peak’)|float }}”

  2. Kasper

    Hi,

    I got the slimmelezer today. After connecting it to the wifi/homeassistant I got no readouts everything is ‘unknown’ It is connected to the P1 port to a belgian digital meter is there something I need to change first ?

    1. Marcel

      Thats due to an issue with the “invalid string length” I’m guessing: https://github.com/esphome/esphome/pull/2157
      The only workaround I know that works, is using esp-link instead of esphome. That can be downloaded on the productpage and should work. Then you need to use the dsmr integration with the ip of the device and port 23 (telnet)

        1. Michael

          Is this issue currently fixed in ESPHome v2021.9.3 or do I still need to do this workaround? Also just added my slimmelezer to my Belgian S211 P1 port and all values are also unknown.

          Thanks in advance!

          1. Michael

            Just a quick update, because I was a bit stuck with this and I found the solution via GitHub issues and your reactions to other posts, Marcel. I have adapted the config via the HA add-on ESPHome and flashed it wirelessly via the same add-on (not via the OTA function of the slimmelezer web UI). For now (with ESPHome 2021.9.3, Belgian DSMR5), I still had to add

            esphome:
            platformio_options:
            lib_deps: glmnet/Dsmr@0.5
            lib_ignore: glmnet/Dsmr@0.3

            And to avoid the checksum_mismatch, I set baud_rate: 0 for the logger

            esphome:
            logger:
            baud_rate: 0

            And apparently, for Belgian meters, the read-out is already in kW, so you can remove the “filter: multiply: 1000” statements in the config. For example, turning on a 2000W space heater first gave me a kW reading of 2000 kW instead of the (now correct) 2 kW (once you remove the ‘multiply: 1000’ statement).

            Just wanted to add this as I struggled a bit with it, and it might help fellow Belgians 🙂 I did read that the library issue (platformio) will normally be resolved in ESPHome 2021.10.x.

            Good luck everyone!

  3. Victor

    Hi Marcel,

    I got the SlimmeLezer today and connected it to the p1 and then integrated it with the DSMR2.2 firmware to HomeAssistant.
    I got readings for energy-produced and -consumed (both tariffs), power-produced and -consumed, a dsmr-identification ISk5\2ME382-1004,
    ***but no GAS consumed (=onbereikbaar).
    ***Also these entities do not appear in the “energy-management dashboard entities-list”, so I can not add them to the HA energy-dashboard.
    What to do?

    Kind regards, Victor

      1. Victor

        Gasstanden heb ik inmiddels binnen via de hack van Michiel Appelman. Het enige wat nog niet werkt is toevoegen aan het energiedashboard in HA.
        Ik zie wel dat er inmiddels een nieuwe Fix is hiervoor op de productpagina.
        Komt er nog een nieuwe bin met een Fix voor dsmr2.2?

      2. Anthony

        Werkt hier niet, ik krijg alleen maar unavailable.

        Ik heb geen DSMR 5.0, maar volgens mij DSMR 2.2. Ik begrijp dat ik iets moet aanpassen vanuit Github, maar snap niet precies wat. Kun je me op weg helpen?

  4. Anthony van de Koppel

    Inmiddels heb ik het deels werkend met de DSMR 2.x firmware. Echter krijg ik nog niet alle waardes door;

    Waardes welke ik wel doorkrijg;
    Energy Consumed Tariff 1
    Energy Consumed Tariff 2
    Energy Produced Tariff 1
    Energy Produced Tariff 2
    Power Consumed
    Power Produced
    Uptime
    Wi-Fi Signal
    DSMR Identification
    IP Address
    Wi-Fi SSID

    Waardes welke ik niet doorkrijg, maar volgens mij wel zou moeten hebben:
    Voltage Phase 1
    Voltage Phase 2
    Voltage Phase 3
    Current Phase 1
    Current Phase 2
    Current Phase 3
    Power Consumed Phase 1
    Power Consumed Phase 2
    Power Consumed Phase 3

    Ik kan de Slimmelezer ook niet gebruiken voor het nieuwe energy dashboard, hij staat hier niet tussen. Als ik dan klik “Why is my entity not listed?” kom ik op de volgende pagina uit van Home Assistant: https://www.home-assistant.io/more-info/statistics/

    Hier wordt uitgelegd dat de integratie het dan niet ondersteund. Gaat hier nog wel support voor komen, of doe ik wat verkeerd?

    Meter:
    ISk5\2MT382-1003

    ESP:
    Firmware: 1.21.0-dev

    Home assistant:
    core-2021.9.6
    supervisor-2021.09.0

    1. Marcel

      Hoi Anthony, de oudere meters geven deze waardes niet door. Ik heb geprobeerd de specificatie op te zoeken van 2.x, maar kan deze helaas niet zo snel vinden.

      1. Michiel

        Hoi Marcel,

        Bij mijn DSMR 4.2 komen helaas de volgende waardes niet door:
        Voltage Phase 1
        Voltage Phase 2
        Voltage Phase 3
        En actual current is heel traag en alleen in hele Amperes…

        Is hier wat aan te doen?

        Slimmemeter+ werkt bij mij overigens zonder externe voeding.

        1. Marcel

          Hey, de specificatie zegt dat er elke 10 seconde een telegram verzonden wordt (hoodstuk 4.5). De voltage per fase doet DSMR 4 niet, zie pagina 13 (plus paar pagina’s ervoor en erna). Daar kan je niks aan doen, dat is de specificatie van je meter. Wat de meeste energiemaatschappijen wel doen, is de meter vervangen zodra er problemen zijn. Als jij meld dat de meter niet goed functioneert, komen ze ‘m in de meeste gevallen gelijk vervangen voor een DSMR 5 meter.

  5. Niklas Lanzén

    Hi!
    After updating firmware I can read energy production/consumption. It works great.

    In the post you encourage us to make our own config file, based on one above. I do want to do that but I don’t really understand where to put it.
    I run Home Assistant (core-2021.9.6) and I have the ESPHome addition installed. On the In HA->Configutation->Integration I can see slimmelezer in the esphome box. I can look at the instance but I have no idea of how use my own config file.
    If I click on ESPhome and bring up the web interface I can not see slimmelezer.
    Anyone who can give me a hint?

    1. Marcel

      in the esphome add-on, click on the right bottom “+” and add an esphome config/device. There you add the code (yaml file) 🙂

      1. Victor van den Hoven

        I would like to do the same for my DSMR2.2 meter with ESPHOME 2021.9.0.

        I suppose I only have to change the uart in slimmemeter.yaml into this:
        uart:
        baud_rate: 9600
        data_bits: 7
        parity: EVEN
        stop_bits: 1
        rx_pin: D7

        Anything else?
        What about the gas_delivered_hack?

        1. Marcel

          Unfortunately there is more you need to do… I wish it was that simple! You also need to disable the CRC check (seems not to be present/needed on dsmr 2). Please look into Michiel Appelman’s GitHub

        2. Victor van den Hoven

          Ah ok, now I see the external component part in his yaml.
          I did not know that it could overload the esphome repo this way.

          Thanx, I will try.

  6. Bas

    Marcel, the work you have put into this and the contribution you made to all of our Home Assistant installations is amazing! I have a huge amount of respect for people like you that add so much and ask so little in return! If there is something i can ever assist you with please let me know, again thanks for all the effort you have put into this!

    1. Marcel

      Thanx Bas, highly appreciated! I’m doing this as a passion, as I like to make/build/design stuff. Yet now the passion has become (to) hard working, which I don’t like. So for me it’s a learning process. I’m designing new versions so I can make them faster and have to do less soldering myself. (Took me 3 hours to assemble 30 doorbell’s). There is one thing you can help me with…. documentation and how-to’s. I’ve already wrote a hoot flash page in the FAQ… Other documentation like how to connect to wifi and how to integrate into Home Assistant would be nice. This might sound easy for most of us, yet not all users are familiar with the tech, and for those users I want to make it an easy experience too.

  7. Dennis

    Ik heb de Slimmelezer werkend, en zie de output in HA. Slimmelezer en HA zitten in hetzelfde vlan. Heb de laatste Firmware SlimmeLezer (2021.8.2) with state_class & Invalid length (BE) fix. Wel zie ik in HA deze warnings:

    Logger: homeassistant.components.esphome
    Source: components/esphome/__init__.py:403
    Integration: ESPHome (documentation, issues)
    First occurred: 09:13:23 (4 occurrences)
    Last logged: 09:18:52

    Can’t connect to ESPHome API for slimmelezer (10.0.20.12): Timeout while waiting for API response!
    Can’t connect to ESPHome API for slimmelezer (10.0.20.12): Unexpected error while connecting to slimmelezer @ 10.0.20.12: ‘NoneType’ object has no attribute ‘login’

    Hoe kan ik deze oplossen?

    1. Marcel

      Ik ken deze melding eigenlijk niet. Er zit geen wachtwoord o.i.d. op de OTA/API in de Firmware. Kan je wel pingen van HA naar de SlimmeLezer? Misschien is je device van ip-adres veranderd. Mijn advies in dat geval is om het een fixed ip via DCHP te geven (altijd via DHCP, nooit in device zelf).

  8. Laurens

    Hi Marcel,

    Ik heb de SlimmeLezer zojuist ge-update met de BIN file, maar hoe krijg ik nu de juiste YAML in ESPHOME/Home Assistant?
    Wil graag de wifi instellen aanpassen (static ip o.a.), maar wat is nu de juiste YAML die bij de laatste BIN hoort?

    Groeten,
    Laurens

      1. Laurens

        Bedankt voor je snelle reactie.

        Dat vermoedde ik al, die heb ik nu ook gebruikt.
        Krijg nu alleen steeds de melding

        “[17:16:27][E][dsmr:138]: !9A88
        ^
        Checksum mismatch”

        Gouden tip?

          1. Jasper van der Bent

            Hoi Marcel,

            Ik zie dat je tips mailt over de “checksum mismatch” foutmelding.

            Die had ik eerst niet, maar sinds een reguliere update van ESPHOME heb ik hem opeens wel.

            [11:41:06][E][dsmr:154]: !160F
            ^
            Checksum mismatch

            Zou je mij de tips ook willen mailen svp?

            alvast dank! vr.gr. Jasper.

      1. Marcel

        Yves, ik denk dat in Laurens zijn geval het gaat om een oudere type meter (dsmr 2 of 3). Daar zit geen CRC checksum in en gok dat dat de reden van foutmelding is. @Laurens ik heb je gemaild, is makkelijker troubleshooten.

        1. Dennis

          Hi Marcel,

          Zou je mij ook willen mailen. Heb een nieuwe slimme meter gekregen DSMR5, en zie ook allemaal checksum berichten in de log.

          Daarbij lijkt de slimmemeter vaak te rebooten. Uptime reset dan (uiteraard) en in HA zie ik een timeout.
          Enig idee wat dat kan zijn? Wifi signal zit zo rond de -74 dBm, en hij heeft een fixed IP vanuit DHCP.

          Groet,
          Dennis

  9. Xavier Jens

    Hoi Marcel,

    De slimme lezer heeft 1,5 weken gewerkt maar geeft sinds vandaag ineens geen data meer door. De lezer heeft geen verbinding meer met wifi, de slimme lezer is niet meer zichtbaar in mijn netwerk.
    Ik heb de lezer even los gekoppeld en weer opnieuw aangesloten. Helaas helpt dit niet. Het maakt niet uit of ik de lezer via de P1 poort of via usb van voeding voorzie. Is de slimme lezer te resetten zodat ik deze opnieuw kan aanmelden op mijn wifi netwerk?

    Groeten,
    Xavier

    1. Marcel

      Ik heb je latere berichtjes ook al gezien. Als de SlimmeLezer dood is, kan ik deze gewoon voor je omruilen als je dat wil. (sorry voor mijn late reactie, ben de laatste 250 backorders aan het maken en verwerken).

  10. Xavier Jens

    Hallo Marcel,

    Sinds gisteren werkt de slimme lezer niet meer.
    Heeft 1,5 weken zonder problemen gewerkt maar ineens geen data meer.
    De slimme lezer is ook niet meer zichtbaar in mijn wifi netwerk.
    Lezer 1 minuut spanningsloos gemaakt en opnieuw aangesloten, helaas zonder resultaat. Ook met extra voeding via usb geen resultaat.
    Heb je nog suggesties om de slimme lezer weer werkend te krijgen?

    Groeten,
    Xavier

    1. Xavier Jens

      Hoi Marcel,

      Probleem is opgelost, de behuizing is vrij makkelijk te openen en heb de spanningen gecontroleerd.
      Zag dat de 3,3V ontbrak, opgelost door een extra spanningsregelaar op het printje te solderen.
      Slimme lezer werkt weer.

      Groeten,
      Xavier

      1. Marcel

        Hey Xavier, als je een kapotte SlimmeLezer hebt, ruil ik deze uiteraard voor je om. Maar ik begrijp dus dat het eerst gewerkt heeft en daarna niet meer? Dus de 3v regelaar op de Wemos is dood? Dat is wel even goed om te weten voor mij.

  11. Mick

    Hey Marcel,
    Ik heb de slimme lezer al een tijdje werkend, maar na een tijdje lijkt hij verbinding te verliezen.
    Soms druppelt er wil nog wat data binnen, maar nu komt er al bijna een uur niks meer binnen.
    Even ontkoppelen lost het op, maar dat is maar voor een paar dagen/ een week.
    Het lijkt dus een beetje op het probleem van Xavier hierboven.
    Ik ben best bereid om zelf het onderdeeltje te solderen, maar heb dan wel wat sturing nodig van hoe en wat.

    Groeten,
    Mick

      1. Mick

        Hey Marcel, bedankt voor je reactie en je mail.
        De signaalsterkte is volgens mij goed, ik heb je via de mail een schermafbeelding gestuurd van de geschiedenis. De router zit maar een kamer verder.

  12. Pranav

    HI Marcel,

    Today I got the SlimmeLezer and tried to follow your steps to connect to Wifi but had problems. I am not a IT saver person. Please could you help me with step by step instructions or incase you have already any ready instructions set please.

    Thank you.

    1. Marcel

      Mail me via a reply to your order confirmation. That I will receive in my mailbox and is easier to assist troubleshooting 🙂

  13. Pieter Wagenaar

    Hi, I have received my SlimmeMeter and it is working fine. However I need to connect the device to a different wireless network. How can I reset the device and start the initial setup again? (I looked at the FAQ but couldn’t find a solution).

    1. Marcel

      3 ways to do that:
      1) Turn current wireless network temporary off, than it will pop up with its own AP within a minute.
      2) Reflash it with firmware (beter to make your own)
      3) Go somewhere else with the device out of range of your wifi, connect it to another wifi, and bring it back. Than it will pop up its AP.

  14. Floris

    Ik heb hetzelfde als Laurens (18 september 16:17).

    —- Krijg nu alleen steeds de melding

    “[17:16:27][E][dsmr:138]: !9A88
    ^
    Checksum mismatch” —–

    En dan komt er regelmatig onderstaand voorbij:

    WARNING 192.168.178.84: Unexpected error while reading incoming messages: [Errno 104] Connection reset by peer
    Traceback (most recent call last):
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 535, in run_forever
    await self._run_once()
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 510, in _run_once
    pkt = await self._frame_helper.read_packet()
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 243, in read_packet
    return await self._read_packet_plaintext()
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 238, in _read_packet_plaintext
    raw_msg = await self._reader.readexactly(length_int)
    File “/usr/lib/python3.9/asyncio/streams.py”, line 723, in readexactly
    await self._wait_for_data(‘readexactly’)
    File “/usr/lib/python3.9/asyncio/streams.py”, line 517, in _wait_for_data
    await self._waiter
    File “/usr/lib/python3.9/asyncio/selector_events.py”, line 856, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
    ConnectionResetError: [Errno 104] Connection reset by peer

    ERROR Task exception was never retrieved
    future: <Task finished name='Task-8' coro=<APIConnection._start_ping..func() done, defined at /usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py:268> exception=ConnectionResetError(104, ‘Connection reset by peer’)>
    Traceback (most recent call last):
    File “/usr/lib/python3.9/asyncio/tasks.py”, line 468, in wait_for
    await waiter
    asyncio.exceptions.CancelledError

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 273, in func
    await self.ping()
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 571, in ping
    await self.send_message_await_response(PingRequest(), PingResponse)
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 500, in send_message_await_response
    res = await self.send_message_await_response_complex(
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 481, in send_message_await_response_complex
    await asyncio.wait_for(fut, timeout)
    File “/usr/lib/python3.9/asyncio/tasks.py”, line 471, in wait_for
    return fut.result()
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 535, in run_forever
    await self._run_once()
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 510, in _run_once
    pkt = await self._frame_helper.read_packet()
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 243, in read_packet
    return await self._read_packet_plaintext()
    File “/usr/local/lib/python3.9/dist-packages/aioesphomeapi/connection.py”, line 238, in _read_packet_plaintext
    raw_msg = await self._reader.readexactly(length_int)
    File “/usr/lib/python3.9/asyncio/streams.py”, line 723, in readexactly
    await self._wait_for_data(‘readexactly’)
    File “/usr/lib/python3.9/asyncio/streams.py”, line 517, in _wait_for_data
    await self._waiter
    File “/usr/lib/python3.9/asyncio/selector_events.py”, line 856, in _read_ready__data_received
    data = self._sock.recv(self.max_size)
    ConnectionResetError: [Errno 104] Connection reset by peer

    1. Marcel

      Hiervoor raad ik je aan om even een issue op GitHub te openen van ESPHome (waar de code/source wordt beheerd).
      Als alternatief kan je esp-link gebruiken wat op de productpagina staat. Daarmee kan je het integreren via DSMR (ip van device en port 23).

  15. fantomaspc

    HI Marcel,

    I tried to update the device, then I get this error message:
    [E][dsmr:036]: Error: Message larger than buffer

    Then I flash Firmware SlimmeLezer (2021.8.2) with state_class & Invalid length (BE) fix
    The error message is the same

    Please help me.

      1. fantomaspc

        Ok Thanks I’ll check it.

        The original firmware (2021.9.0 ) that came with the device, worked well.
        Could you send me please?

        Thank You

  16. Steven

    Hallo,

    ik heb vandaag de slimmelezer van de configuratie zoals hierboven aangegeven voorzien. Nu geeft het verbruik echter 455.000000kW in de logging aan en na een tijdje ook in de user-interface.

    Een verbruik van honderden kiloWatt lijkt me wat veel. Heeft die multiply van 1000 daar iets mee te maken?

    Bedankt

    1. Marcel

      Er is recentelijk een wijziging geweest van kw naar w. Zal een dezer dagen een nieuwe firmware uploaden. Wat ik adviseer is om dat sowieso zelf ze doen via de ESPHome add-on binnen Home Assistant, zo kan je zelf makkelijk je eigen devices updaten.

  17. Andreas

    Hi Marcel,
    Ik ben begonnen met mijn eigen slimmelezer.yaml, en dat lukt aardig, maar ik heb een foutmelding in de logs waar ik niet uitkom. ik heb jouw config overgenomen en denk ik goed aangepast, maar in de logs krijg ik een hoop foutmeldingen. Kun jij zeggen waar deze door komen?
    [21:58:36][E][dsmr:138]: !C\xa13E

    ^

    Incomplete or malformed checksum
    [21:58:38][E][dsmr:138]: !58ED

    ^

    Checksum mismatch
    [21:58:39][E][dsmr:138]: !7F\x99F

    ^

    Incomplete or malformed checksum
    [21:58:40][E][dsmr:138]: !8AFC

    ^

    Checksum mismatch
    [21:58:41][E][dsmr:138]: !989B

    ^

    Checksum mismatch
    [21:58:42][E][dsmr:138]: !B0B9

    ^

    Checksum mismatch
    [21:58:43][E][dsmr:138]: !38A3\x86

    ^

    Checksum mismatch
    [21:58:44][E][dsmr:138]: !9F4E\x86

    ^

      1. Hannon Queiroz

        Hi Marcel, I see the same error in the logs after trying editing the config as you suggested.
        Does this error actually cause any problems, or can I ignore them until the ESPHome people have fixed it?

        1. Marcel

          You can check that if you receive data in HA or not. If you don’t receive data, I’d suggest either to file a support issue at ESPHome GitHub Issues page, or try esp-link.

  18. Andreas

    even een aanvulling, de foutmeldingen komen na de volgende entry in de logs:
    2:00:48][D][text_sensor:015]: ‘DSMR Identification’: Sending state ‘XMX5LGF0010456032755’
    [22:00:48][D][text_sensor:015]: ‘DSMR Version’: Sending state ’50’
    [22:00:49][E][dsmr:138]: !4672

    ^

    Checksum mismatch

  19. Andreas

    Hi Marcel, na beter lezen van de hele thread blijkt dat ik je om “de gouden mail” moet vragen 😉 , dus bij deze.

  20. Bianca Manglie

    Hi Marcel,

    Als leek heb ik toch geprobeerd om van P1 monitor (RPI) naar ESPHome in Homeassistant over te stappen en jou slimmerlezer gekocht.
    Echter als ik jou yaml file laad dan is komt de lezer wel online maar leest niets uit omdat ik een slimmemeter met dsmr 2.2 heb.
    Lezen hier in de commentaren moet ik op github de yaml file laden
    (https://github.com/michielappelman/dsmr/blob/main/slimmelezer.yaml)
    dit heb ik gedaan maar dan krijg ik zoveel foutmeldingen.

    Als leek weet ik echt niet waar te beginnen en wat te doen.
    Misschien heeft iemand hier een goed yaml file voor een slimmemeter 2.2

    Anders jij nog tips?

    1. Marcel

      Ik kan je in geval van dsmr 2.2 maar 2 keuzes adviseren:
      1) esp-link gebruiken, dit staat als download op de product pagina
      2) esphome blijven gebruiken, maar dan zal je support moeten vragen aan Michiel Appelman. Er staat een dsmr 2.2 firmware op de productpagina waar ik van andere gebruikers heb gehoord dat dat goed werkt. Dat zou je kunnen testen/proberen.

        1. Marcel

          What do you want to know about the ethernet reader? There is no ESPHome on the ethernet reader. That’s “just” a serial2ethernet bridge.

          1. Marcel

            You mean the Energy Dashboard? Yes, you can use it for that! I have that too! And also connected to separate dsmr-reader 😉

  21. Andries

    hey marcel,

    vandaag de slimmelezer mogen ontvangen, ik ben nog niet zo thuis in al die codes maar met het toevoegen in HA yaml krijg ik de volgende fout melding;

    unknown tag ! at line 75, column 62:
    … urn private_key.length() == 32;”
    ^

    geen idee wat ik hier aan moet doen ik heb de bovenstaande code gekopieerd.

    Groet Andries

  22. Alwin

    Hoi Marcel, ik heb zojuist de firmware geupdate maar krijg nu een regelmatig een Checksum mismatch. De orginele firmware (ik denk 2021.9.0 ) had dit niet, kan je mij die mailen?

        1. Rogier

          Geen idee of het relevant is, maar ik krijg wel onderstaande error bij het compilen van de .bin (Warning! Could not find the package with ‘Update’ requirements for your system )

          Zie volledige copypaste hieronder

          INFO Reading configuration /config/esphome/slimmelezer.yaml…
          INFO Generating C++ source…
          INFO Compiling app…
          INFO Running: platformio run -d /config/esphome/slimmelezer
          Processing slimmelezer (board: d1_mini; framework: arduino; platform: platformio/espressif8266 @ 2.6.2)
          ——————————————————————————–
          HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
          PACKAGES:
          – framework-arduinoespressif8266 3.20704.0 (2.7.4)
          – tool-esptool 1.413.0 (4.13)
          – tool-esptoolpy 1.20800.0 (2.8.0)
          – toolchain-xtensa 2.40802.200502 (4.8.2)
          Library Manager: Installing Update
          Warning! Could not find the package with ‘Update’ requirements for your system ‘linux_aarch64’
          Dependency Graph
          |– 1.2.3
          | |– 1.0
          |– 1.3.0
          | |– 1.2.3
          | | |– 1.0
          | |– 1.0
          | |– 0.2.0
          | |– 1.0
          | |– 5.13.3
          |– 1.0
          |– 5.13.3
          |– 0.5.0
          |– 0.2.0
          |– 1.2
          | |– 1.0
          |– 0.1.3
          | |– 1.10018.1
          |– 1.1.1
          | |– 1.0
          Compiling /data/slimmelezer/.pioenvs/slimmelezer/src/main.cpp.o
          Linking /data/slimmelezer/.pioenvs/slimmelezer/firmware.elf
          Building /data/slimmelezer/.pioenvs/slimmelezer/firmware.bin
          Retrieving maximum program size /data/slimmelezer/.pioenvs/slimmelezer/firmware.elf
          Checking size /data/slimmelezer/.pioenvs/slimmelezer/firmware.elf
          RAM: [==== ] 41.1% (used 33652 bytes from 81920 bytes)
          Flash: [==== ] 44.0% (used 459812 bytes from 1044464 bytes)
          Creating BIN file “/data/slimmelezer/.pioenvs/slimmelezer/firmware.bin” using “/data/cache/platformio/packages/framework-arduinoespressif8266/bootloaders/eboot/eboot.elf” and “/data/slimmelezer/.pioenvs/slimmelezer/firmware.elf”

          1. Marcel

            Dat is denk de manier hoe je esphome hebt draaien. Bij mij draait het in docker (latest en dev) en daar heb ik dat niet.

  23. marius

    Marcel, kleine vraag, is het mogelijk dat ik met jouw module ook drsm reader aan kan sturen?
    Ik wil namelijk een dieper inzicht in het verbruik dan wat de energy tab kan laten zien.

    Ik zie dat er een HA integratie is echter wanneer ik aangeef dat ik ip adres van je module op poort 80 doet wordt er niets ” uitgelezen” misschien doe ik iets verkeerd.

    groetjes

    1. Marcel

      Het beste (in mijn ogen) is om er dan esp-link op te zetten. Dan koppel je de SlimmeLezer aan dsmr-reader. Vervolgens kan je dsmr-reader koppelen aan Home Assistant via integratie die daar voor is: DSMR Reader.
      Als je kiest voor de P1 ethernet reader, is het nog makkelijker. Deze kan met gemak meerdere connecties aan. Dan kan je het én koppelen aan DSMR-reader, én aan Home Assistant tegelijkertijd.

  24. Tim

    Hoi Marcel,

    Ik probeer de waardes van mijn slimme lezer te veranderen van KW naar Watt alleen krijg ik dit niet voor elkaar. Ik heb geprobeer de state te veranderen via developer tools en dan bij de volgende entity sensor.power_consumed alleen lukt dit niet het word niet opgeslagen. Ik zie hem ook niet staan in de ESPhome Web UI er komen wel waardes door in HA. Heb jij nog een idee hoe en waar ik dit kan aanpassen?

  25. Danny

    Hey Marcel,

    HA geeft bij alle sensoren van de slimmelezer ineens unavailabe aan. Sinds 17 oktober en toen heeft er blijkbaar een update plaatsgevonden.

    Firmware: 2021.9.3 (Oct 17 2021, 13:14:10)

    Heb je enig idee wat ik kan doen om het weer werkend te krijgen? Moet ik terug naar een eerdere versie wellicht?

      1. Danny

        Dank voor je reactie! Ik gebruik gewoon jouw firmware dacht ik. Had er niets aan veranderd naar mijn idee, maar ben ook wat bezig geweest met een ander ESP boardje in ESPHOME. Handmatig jouw 9.3 versie maar even flashen denk ik?

        1. Marcel

          Het enige waar ik nu aan kan denken is dat je nog op oudere firmware draaide met ook nog oudere HA. Als je dan upgrade naar nieuwere HA, had je te maken kunnen hebben met wat bugs/mismatch. Maar met 2021.9.3 (de sinds de 15e opnieuw geupload ivm fixes) zou je dat niet mogen hebben. Kan je wel de web gui van de slimmelezer zien? En zie je daar wel data?

          1. Danny

            Ik heb inmiddels jouw 9.3 van 18 oktober geflashed via usb, even opnieuw ingesteld en alles werkt weer. Ik denk dat ik zelf iets fout heb gedaan met een update die ESPhome aanbood. Dank!

  26. Bianca Manglie

    Slimmerlezer geupdate met de versie voor dsmr 2.2.

    Nu zie ik in de logging :
    [E][dsmr:138]: !
    ^
    No checksum found

    Enig idee wat dit is?
    Hoe kan ik zien welke versie esphome op de slimmelezer draait en de inhoud van de slimmelezer.yaml?

      1. Bianca Manglie

        sorry voor het lastig vallen maar de learning curve is wel lastig.
        Ik heb de versie dsmr 2021.8.2 geinstalleerd en daarna de aangepast yaml file voor dsmr 2.2 via esphome geïnstalleerd echter dan wordt de huidige versie geinstalleerd 2021.9.3.

        Rara welke fout maak ik hier

        1. Marcel

          Als je DSMR 2.2 hebt, raad ik je aan om Michiel Appelman zijn GitHub te raadplegen: https://github.com/michielappelman/dsmr
          Momenteel wordt dat niet standaard ondersteund door de ESPHome DSMR en zal je een custom_component moeten maken/gebruiken zoals Michiel gedaan heeft.
          Probleem is dat DSMR een andere seriële instelling gebruikt (dat is nog makkelijk aan te passen) maar DSMR 2.2 maakt ook geen gebruik van CRC wat nu standaard wel in de code zit en ook niet uitgezet kan worden.

          Als ESPHome “te veel problemen” geeft, kan je esp-link proberen. Dat maakt van de SlimmeLezer een serial2wifi doorgeefluik en stuurt alle data 1-op-1 door naar Home Assistant. Daar maak je dan gebruik van de DSMR integratie.

    1. Marcel

      Checksum error betekend dat de telegram en de crc controle niet gelijk zijn en dus mogelijk data corrupt is. Dat is opzich geen probleem als het af en toe een keer gebeurd.

  27. Bianca Manglie

    Marcel
    You mean the Energy Dashboard? Yes, you can use it for that! I have that too! And also connected to separate dsmr-reader 😉

    Heb jij voor mij een soort werkinstructie wat ik moet kopen en hoe te configureren?
    Dat zou top zijn.

    1. Marcel

      Nee, dit ondersteun ik niet. daar sommige het werkend hebben, vind ik het niet stabiel genoeg. de esp8266 is niet krachtig genoeg om meerdere gelijktijdige connecties aan te kunnen. Het beste is om dan esp-link te gebruiken, dat te koppelen aan dsmr-reader. En dsmr-reader vervolgens te koppelen aan Home Assistant via MQTT (staat tussen de integraties).

  28. Bob

    Marcel
    Are you aware of a problem with ESPHome 2021.10 in that it results in only Checksum mismatches – even with the most basic config?

  29. Bas

    After many hours of troubleshooting and thanks to the work of fellow users on github i have the slimme lezer working again with ESPHome 2021.2. I have a Dutch meter with DSMR 4, see my yaml file below:


    substitutions:
    device_name: slimmelezer
    device_description: “DIY P1 module to read your smart meter”

    esphome:
    name: ${device_name}
    comment: “${device_description}”
    platform: ESP8266
    esp8266_restore_from_flash: true
    board: d1_mini
    name_add_mac_suffix: false
    project:
    name: zuidwijk.slimmelezer
    version: “1.0”
    on_boot:
    then:
    – if:
    condition:
    lambda: return id(has_key);
    then:
    – lambda: |-
    std::string key(id(stored_decryption_key), 32);
    id(dsmr_instance).set_decryption_key(key);
    else:
    – logger.log:
    level: info
    format: “Not using decryption key. If you need to set a key use Home Assistant service ‘ESPHome: ${device_name}_set_dsmr_key'”

    wifi:
    ssid: !secret wifi_ssid
    password: !secret wifi_password
    # Optional manual IP
    manual_ip:
    static_ip: !secret static_ip_slimmelezer
    gateway: !secret gateway
    subnet: !secret subnet
    dns1: !secret dns1

    # Enable fallback hotspot (captive portal) in case wifi connection fails
    ap:
    ssid: ${device_name}
    ap_timeout: 15s

    captive_portal:

    # Enable logging
    logger:
    level: VERBOSE
    baud_rate: 0

    # Enable Home Assistant API
    api:
    services:
    service: set_dsmr_key
    variables:
    private_key: string
    then:
    – logger.log:
    format: Setting private key %s. Set to empty string to disable
    args: [private_key.c_str()]
    – globals.set:
    id: has_key
    value: !lambda “return private_key.length() == 32;”
    – lambda: |-
    if (private_key.length() == 32)
    private_key.copy(id(stored_decryption_key), 32);
    id(dsmr_instance).set_decryption_key(private_key);

    ota:

    web_server:
    port: 80

    uart:
    baud_rate: 115200
    rx_pin: D7
    rx_buffer_size: 1500

    globals:
    – id: has_key
    type: bool
    restore_value: yes
    initial_value: “false”
    – id: stored_decryption_key
    type: char[32]
    restore_value: yes

    dsmr:
    id: dsmr_instance
    # For Luxembourg users set here your decryption key.
    # Enable this when using decryption for Luxembourg;
    # key looks like ‘00112233445566778899AABBCCDDEEFF’
    #decryption_key: !secret decryption_key

    sensor:
    – platform: dsmr
    energy_delivered_lux:
    name: “Energy Consumed Luxembourg”
    state_class: total_increasing
    energy_delivered_tariff1:
    name: “Energy Consumed Tariff 1”
    state_class: total_increasing
    energy_delivered_tariff2:
    name: “Energy Consumed Tariff 2”
    state_class: total_increasing
    energy_returned_lux:
    name: “Energy Produced Luxembourg”
    state_class: total_increasing
    energy_returned_tariff1:
    name: “Energy Produced Tariff 1”
    state_class: total_increasing
    energy_returned_tariff2:
    name: “Energy Produced Tariff 2”
    state_class: total_increasing
    power_delivered:
    name: “Power Consumed”
    accuracy_decimals: 0
    filters:
    – multiply: 1000
    power_returned:
    name: “Power Produced”
    accuracy_decimals: 0
    filters:
    – multiply: 1000
    electricity_failures:
    name: “Electricity Failures”
    icon: mdi:alert
    electricity_long_failures:
    name: “Long Electricity Failures”
    icon: mdi:alert
    voltage_l1:
    name: “Voltage Phase 1”
    voltage_l2:
    name: “Voltage Phase 2”
    voltage_l3:
    name: “Voltage Phase 3”
    current_l1:
    name: “Current Phase 1”
    current_l2:
    name: “Current Phase 2”
    current_l3:
    name: “Current Phase 3”
    power_delivered_l1:
    name: “Power Consumed Phase 1”
    accuracy_decimals: 0
    filters:
    – multiply: 1000
    power_delivered_l2:
    name: “Power Consumed Phase 2”
    accuracy_decimals: 0
    filters:
    – multiply: 1000
    power_delivered_l3:
    name: “Power Consumed Phase 3”
    accuracy_decimals: 0
    filters:
    – multiply: 1000
    power_returned_l1:
    name: “Power Produced Phase 1”
    accuracy_decimals: 0
    filters:
    – multiply: 1000
    power_returned_l2:
    name: “Power Produced Phase 2”
    accuracy_decimals: 0
    filters:
    – multiply: 1000
    power_returned_l3:
    name: “Power Produced Phase 3”
    accuracy_decimals: 0
    filters:
    – multiply: 1000
    gas_delivered:
    name: “Gas Consumed”
    state_class: total_increasing
    gas_delivered_be:
    name: “Gas Consumed Belgium”
    state_class: total_increasing
    – platform: uptime
    name: “Uptime”
    – platform: wifi_signal
    name: “Wi-Fi Signal”
    update_interval: 60s

    text_sensor:
    – platform: dsmr
    identification:
    name: “DSMR Identification”
    p1_version:
    name: “DSMR Version”
    p1_version_be:
    name: “DSMR Version Belgium”
    – platform: wifi_info
    ip_address:
    name: “SlimmeLezer IP Address”
    ssid:
    name: “SlimmeLezer Wi-Fi SSID”
    bssid:
    name: “SlimmeLezer Wi-Fi BSSID”
    – platform: version
    name: “ESPHome Version”
    hide_timestamp: true

    external_components:
    – source:
    type: git
    url: https://github.com/mmakaay/esphome
    ref: fix-dsmr-read-chunk-size
    components: [ “dsmr” ]
    refresh: 60s

  30. Robert Webbe

    Marcel, in regel 44 staat nu geen spatie tussen de dubbele punt en de waarde. Als je dan de gehele code copy&paste, en je hebt geen verstand van coding, dan krijg je hier een foutmelding op.

  31. Berend Haan

    Hi Marcel,
    De module lijkt niet aan te gaan via de P1 port, terwijl de meter volgens mij wel SMR 5.0 is/ondersteund. Het gaat om de ISKRA AM550.

    Via USB-C start hij wel door en verbind hij ook via HA.

    1. Marcel

      Kan kloppen,… sommige meters geven soms net even minder dan wat de specificatie zegt. Daarnaast is het gebruik van ESPHome net even meer stroom intensief dan esp-link. ESPHome vraagt wat meer CPU capaciteit wat resulteert in extra stroom verbruik. Daarnaast stuurt ESPHome meer data via wifi, daar waar esp-link alleen de telegrammen 1-op-1 door stuurt. Meer wifi data is meer energie. Dat alles samen kan er toe leiden dat het in sommige gevallen niet goed werkt en er extern via USB gevoed moet worden.

  32. Tim

    Hoi Marcel,

    Momenteel gebruik ik de module met ESPhome versie 2021.10.2, mijn meter is DSMR 5.0. Echter krijg ik de voor de gaswaarden (gas_delivered, gas_delivered_text, gas_delivered_be; ik woon in NL maar voor de zekerheid) geen waardes door. Ik heb de gas_mbus_id al aangepast (0-4) – dit is inmiddels ook in de dsmr component van esphome geintergreerd n.a.v. eerdergemelde issue, zoals oa op https://github.com/michielappelman/dsmr- maar zonder resultaat.

    De gasmeter stuurt wel waarden door naar de slimme meter, want ik kan deze via enelogic (wat via de netbeheerder loopt) achteraf wel per uur uitlezen. Hoe kan ik dit oplossen? Enig idee wat ik nog meer kan proberen?

    Groet,
    Tim

    1. Marcel

      Hey Tim, de waardes moeten ook in de telegram zitten. Als dat zo is, is het aan esphome om dat eruit te filteren en goed door te geven.

      1. Robert

        Hier nog steeds exact hetzelfde probleem, de slimme meter geeft gaswaardes aan. De slimme lezer ziet echter niets. Gas mbus id 1 t/m 4 geprobeerd, zonder resultaat. ISKRA AM550, laatste firmware en versie ESPhome.

          1. Robert

            Ah, de gas_mbus_id zetten werkt wel, alleen komt deze setting niet door richting de slimmelezer :-). Ik vermoedde al zoiets. Ff afwachten dus. Bedankt voor het snelle antwoord!

  33. Leslie

    Hi!
    Can you help me?
    Arrived to me the old slimmelezer. Integrated to Home Assistant via ESPHome but only the IP address and SSID is working. No data (only “unknown”).
    I upgraded to the newest firmware (2021.9.3).

    On IP address I can see this:

    [E][dsmr:036]: Error: Message larger than buffer
    [E][dsmr:036]: Error: Message larger than buffer
    [E][dsmr:138]: !54A2
    ^
    Checksum mismatch
    [D][sensor:121]: ‘SlimmeLezer Wi-Fi Signal’: Sending state -54.00000 dBm with 0 decimals of accuracy
    [E][dsmr:036]: Error: Message larger than buffer
    [D][sensor:121]: ‘SlimmeLezer Uptime’: Sending state 1045797.56250 s with 0 decimals of accuracy
    [E][dsmr:138]: !5F57
    ^
    Checksum mismatch
    [E][dsmr:138]: !80D0
    ^
    Checksum mismatch
    [E][dsmr:138]: !2D5F
    ^
    Checksum mismatch
    [E][dsmr:036]: Error: Message larger than buffer
    [E][dsmr:138]: !80D0
    ^

    What I need to do to get data?

    I can’t integrate DSMR Slimme Meter without known port number. (IP address is OK, DSMR version 5)

    Thanks!

  34. Bauke

    Hey Marcel,

    Thanks for the brilliant slimmelezer. Truly hope you’ll get to fix the new version.

    I’m having a bit of trouble getting my head around an issue after installing version 2021.10.3. The slimme lezer logs (through ESPHome) is constantly sending exactly the same set of information. Also, I’ve noticed that te log is at debug, whereas the yaml claims info.

    Especially the Energy Consumed Tariff 1/2 seem to be static, whereas the Power Consumed Phase 1′ looks to change slightly.

    Can you give me a nudge where I’d have to look? I’m really lost here.

    1. Bauke

      OK. First off – something didn’t go as expected while updating through ESPHome. manually uploading the bin seems to have achieved more. Numbers are changing ever so slightly. Tariff 2 in stead of 1 (not expected but I’ll wait this out).

      Secondly: I added a growatt and somehow the solar numbers there are so big that graphs all of a sudden seem to be a fraction of it, reducing them to nonexistant in graphs. Definitely barking up the wrong tree. But telling you this may prevent others to fall down the same pothole.

    2. Marcel

      I’d suggest to place that on GitHub Issues from ESPHome, there is way more knowledge/people than here. There has been changed a lot lately…

  35. Marton Szoke

    Hi Marcel,

    I have just installed nw device with latest firmware.
    All data shows UNKNOWN status.
    and I have this log:
    [20:22:34][I][app:099]: ESPHome version 2021.10.3 compiled on Nov 14 2021, 19:58:11
    INFO mainmeter.local: Error while reading incoming messages: Error while reading data: [Errno 104] Connection reset by peer
    INFO Disconnected from ESPHome API for mainmeter.local
    WARNING Disconnected from API
    INFO mainmeter.local: Ping Failed: Error while reading data: [Errno 104] Connection reset by peer
    INFO Successfully connected to mainmeter.local

  36. Marcel

    Hallo Marcel,

    Ik heb pas geleden een slimme meter gekocht, deze heb ik geprobeerd aan te sluiten. Ik heb wel verbinding met WiFi en Home assistant, maar hij stuurt de DSMR waardes niet door.

    Ik heb een Stedin E350 met de DSMR versie 2.2+. Ik heb zelf al de nieuwste firmware geflasht en de baudrate naar beneden geschroeft naar 9600 omdat ik heb gelezen dat DSMR 2.2 op die snelheid communiceerd.

    Heeft u enig idee wat ik moet aanpassen om het wel te laten werken?

    Bij voorbaat dank,

    Marcel

      1. Marcel

        Hoi Marcel,

        Bedankt.
        We hadden al zo’n vermoedden toen we de baudrate zagen. 🙂
        Krijgen nu wel tarief1 en tarief2 binnen.
        Gas schijnt nog een issue te zijn, maar we zoeken daar voor verder 😉

        Bedankt voor de hulp!
        en een voorspoedig 2022!!!

        Cheers,
        Marcel…

        1. Marcel

          Voor gas moet je even naar de gas_mbus_id kijken op de esphome website onder sectie DSMR. Mogelijk heeft je gasmeter niet de standaard id 1 maar 2 o.i.d.

          1. Marcel

            Ah, toppie.
            Was al bezig om een template vanaf de text_sensor te maken 🙂
            Maar nu staat het gas er ook bij 🙂

            Thanx!

  37. Wodian Molenaar-vdZee

    Hallo Marcel,

    Ik gebruik de slimmelezer nu ook al een tijdje en ben er zeer tevreden over. Ik draai momenteel de config in ESPHome en communiceer via de MQTT manier ipv de API van Home Assistant. Ik blijf de gehele tijd met 1 probleem zitten en dat ik geen gas waarde’s binnen krijg. Ik heb gas_mbus_id al 1-4 geprobeerd, rx_buffer_size op 1500 gezet en max_telegram_length op 1700 gezet.

    Mis ik iets?

    Alvast bedankt!

    1. Marcel

      Gaswaarde is “tricky”. Als je gasmeter op een andere bus id zit, moet je dat onder sectie ‘dsmr:’ opgeven (gas_mbus_is: 2, standaard is 1). Als je de text_sensor ‘gas_delivered_text’ toevoegt, kan je zien wat de id is, deze laat de gehele string zien.

      1. Ron

        Hoi,

        Zelfde probleem hier. Het elektriciteit metingen werken prima in combinatie met Kamstrup 162JxC DMSR 2.2 meter en gebruik van Firmware SlimmeLezer DSMR 2 and 3 (ESPHome 2021.12.1) met ‘built’ datum 28 December. Probleem is dus de gas waarden. Is het wellicht mogelijk om een prebuilt te maken met andere Mbus ID (2) of het delen van de configuratie file waarmee bovenstaande built is gemaakt?. Het toevoegen van text_sensor ‘gas_delivered_text’ ; moet dat ook in de configuratie? Bedankt alvast!

        1. Ron

          Hallo,

          Gas heb ik nu eindelijk werken voor mijn DSRM2.2 meter. Helaas nog wel even met een workaround. Probleem lijkt tweeledig:

          1) Er zit blijkbaar een bug in de code waardoor de Mbus ID die je configureert niet goed opgepakt word bij het compileren van de ESPHome code. Gelukkig in mijn geval kreeg ik wel de gas_delivered_raw sensor binnen. Maar weet even niet of dat afhankelijk is van de Mbus ID, maar blijkbaar was de default waarde (1) goed om het gas uit te lezen. Ben er overigens nog steeds niet uit hoe en op basis van welke sensor je nu de Mbus ID uit kunt afleiden. Na het nodige googlen (DSMR specs) lijkt het erop dat de Gas delivered raw alleen het verbruik weergeeft en niet de MBus ID –> mijn gas_delivered_raw (220122140000)(00)(60)(1)(0-1:24.2.1)(m3)(xxxxx.346). Ook nog de equipment id als text sensor toegevoegd maar dat is een hele lange string. Ben er dus eigenlijk nog steeds niet achter hoe je de Mbus ID kunt vinden voor je meter. Suggesties zijn welkom!
          2) Gas waarden wordt niet goed geparsed door de DSMR Library. Kan relatie hebben met bovenstaand probleem maar in ieder geval kon ik het werkend krijgen door de gas processor template en wat (text) sensor Ids die de processor gebruikt toe te voegen aan de ESP home configuratie.

          Kijk even naar de laatste posts in de onderstaande link van enkele dagen geleden van dhover (die ook de code met de template processor heeft gepost) en peterforeman

          https://github.com/esphome/issues/issues/2517

          Nu maar even hopen dat e.e.a door de code community wordt opgepakt om de bugs te fixen. Voor nu werkt het!

          1. Jaap

            Hey Ron (En Marcel),

            Same here: ISk5\2ME382-1004 is (blijkbaar) een DSMR 2.2 met een minimaal aantal sensors beschikbaar (voltage, ampere, p1-versie, gas consumed: allemaal leeg). Ik krijg wel een lange ‘raw’ string met “gas_delivered_raw” waar ik zelf dus wel het verbruik uit kan aflezen. Ik ben redelijk nieuw met zowel ESPhome als Home Assistant,

            Hoe ik een template sensor daadwerkelijk gebruik (in het developer stukje wordt de string inderdaad tot een waarde omgerekend, maar waar ‘plaats’ ik de sensor dan écht?)..
            ( https://github.com/esphome/issues/issues/2517#issuecomment-950277941 )

            En het destilleren van de waarde in de yalm zelf op de slimme lezer.. tja: de lamda parser geeft bij het installeren steeds een foutmelding met iets van return {“”}; ?

            De leercurve is sowieso super steil merk ik: Er wordt overal met losse stukjes code gestrooid, maar als je net nieuw bent, heb je geen idee hoe en waar je die code dan plaatst.
            https://github.com/esphome/issues/issues/2517#issuecomment-1013222646

          2. Marcel

            Hey Jaap, ik heb op GitHub wat examples staan, en ben bezig om een bibliotheek te maken met daarin verschillende voorbeelden, voor NL, maar ook BE, LU, SE etc.
            Ik heb hier een kleine opzet gemaakt: https://www.zuidwijk.com/esphome/ Daar kan je ook via de browser de firmware installeren.
            Betreft de gasmeter op DSMR 2, ja dat is momenteel ruk, dat geef ik eerlijk toe. Als je (of iemand anders) hier een workaround voor heeft, hoor ik dat graag. Voor DSMR 2 raad ik voor nu eerder esp-link aan. Dat kan je na het flashen integreren via de DSMR Slimme Meter integratie (kies voor netwerk, vul ip-adres, port 23 en dsmr versie 2.2 in en klaar). Je moet in de webinterface van esp-link wel even via het menu naar “uC Console” gaan en de snelheid van 115200 naar 9600 veranderen en de format van 8N1 naar 7E1 aanpassen (anders kan ie de seriele poort niet uitlezen).
            Ook dit stukje zal ik nog eens goed documenteren. Wordt tijd dat de documentatie eens op orde komt 😉

      2. Robert

        Ha Marcel, dat werkt helaas niet. Het veranderen van de gas_mbus_id heeft geen enkel effect. Het toevoegen van de text sensor geeft dezelfde output: “unknown”

        1. Marcel

          Welke dsmr versie heb je op de meter staan? Als je dsmr 2 of 3 hebt, dan komt de data wel binnen, maar in een andere vorm/jasje en daardoor wordt het niet goed verwerkt. Je zou in dat geval esp-link kunnen proberen, die stuurt alles 1-op-1 door en als de gaswaardes in de telegrammen zitten, dan komt het wel in HA binnen.

  38. Ramon

    Als ik probeer de Slimme Lezer+ via de ESPHome Integratie in Home Assistant te installeren krijg ik een foutmelding dat er regel API ontbreekt in mijn YAML. Ik denk dat ik weet wat ik fout heb gedaan.

    Ik heb een domme newbie fout gemaakt; ik heb bij de installatie mijn gasten wifi SSID en password ingevuld. Die heeft geen toegang tot apparaten op het interne netwerk, omdat dat het hele punt is van een gasten wifi-netwerk. Ik kan nu als ik mijn laptop verbind met die gasten wifi de SlimmeLezer+ inzien. Ik zie de data van de P1 poort en de SSID van het gasten wifi netwerk.

    Hoe kan ik de SSID en het wachtwoord nu wijzigen terwijl ik ESPHome en jouw aanpassingen daaraan intact laat?

    Bedankt voor de SlimmeLezer+ en sorry voor de beginnersvraag en domme fout.
    Bij voorbaat dank voor het antwoord!

  39. Imre Gmelig Meijling (Maverick)

    I have been having issues with 2 ESPhome devices for a year, a smart doorbell and @Marcel’s slimmelezer, multiple dropouts per day, sometimes even for 30+ minutes. I stumbled upon making it’s IP fixed, and it’s been steady for days, 0 drop outs. Static IP ftw for my ESPhome devices!

  40. Bart

    Hello,

    Het is mij op dit moment niet duidelijk welk configuratie bestand ik het beste kan gebruiken.
    Is dat degene in deze post, of was dit een tijdelijke workaround totdat ESPHome het issue gefixed heeft?
    or anders deze
    https://github.com/zuidwijk/dsmr/blob/main/Examples/dutch-dsmr-4-and-5.yaml
    of deze
    https://github.com/zuidwijk/dsmr/blob/main/slimmelezer.yaml
    probleem bij de githubs is dat bij 1 de wifi connectie uitgeschakeld is, en bij de andere de !secret vervangen is door een statische waarde.

    Voor mij werkt eea nu naar behoren maar ik weet niet welke configuratie de voorkeur geniet.

    1. Marcel

      De laatste is de algemene, welke ik standaard erop zet, deze is het meest compatible met de meeste meters. Zo zit daar ook een stukje config in voor decryptie voor Luxemburgse meters. Dat hebben we in Nederland niet nodig en daarom zit dat niet in de voorbeelden voor Nederlandse meters. En of je nou een statische credentials gebruikt, of variabelen (!secret) maakt voor de werkig niet uit. Dat laatste is handig voor als je snel je config wilt delen zonder eerst alle wachtwoorden eruit te halen 😉

  41. Tijs

    Hi,

    Een tijdje geleden heb ik de SlimmeLezer+ mogen ontvangen en als eerste wil ik je bedanken voor het werk wat je hier in gestopt hebt. Het product koppelen aan de wifi en configuren in home assistant was snel gedaan en draait als een zonnetje. Nu wil ik de SlimmeLezer+ ook gaan gebruiken met de docker container DSMR van xiriziz maar daarin krijg ik het helaas niet werkend.

    Heb binnen de dsmr omgeving Network socket address aangepast naar het ipadres van de slimmelezer+ maar dsmr herkent deze niet. Weet jij misschien waar dit aan kan liggen?

    Misschien goed om te weten is dat ik tot voor kort de slimmelezer ook via de webbrowser kon benaderen en de webgui zichtbaar werd echter is dit nu niet meer het geval. Misschien dat dit er ook mee te maken heeft?

    alvast bedankt voor een reactie.

    Mvg

    Tijs

  42. Mark Schrijver

    Ik heb net mijn slimmelezer aangesloten. Electriciteits metingen werken prima, Gas krij gik om de een of andere reden niet binnen in HomeAssistant.
    Ik heb de gas_mbus_id al op 2 gezet zoals hierboven wordt aangegeven, dit heeft er echte rniet voor gezorgd dat de gegevens netjes in Home Assistant zichtbaar worden. Is er een manier om te achterhalen op welke waarde is dit ID eigenlijk moet zetten?

    1. Marcel

      Je zou even debuging aan kunnen zetten binnen esphome (in de firmware) dan kan je zien wat er precies binnen komt (en wat niet). Is de gasmeter wel goed gekoppeld aan de slimme meter?

  43. Joris

    Ik zit nu al dagen te rommelen met de wifi-settings/ip-adressen in esp-link. DHCP gaat prima en ik heb connectie. Daarna een koppeling in DSMR-Reader met de network-socket port 23 en alles komt netjes binnen. So far so good.
    Totdat ik eventjes de Slimmeter los moet halen om het netjes op te hangen. Met geen mogelijkheid komt wifi dan nog op en ik krijg geen DHCP-lease meer. Als ik dan opnieuw alles doorloop, functioneert het weer. Totdat de stroom er weer even af moet.
    Ik gebruik de laatste versie esp-link van deze website.
    Is dit een bekend probleem of vergeet ik iets?

  44. Martijn

    Just received my slimmelezer and uploaded the firmware for DSMR 2.2 (ISk5\2ME382-1003 meter) and I am seeing some energy values coming in as sensors in my Home Assistant.. so far so good!

    The value I am most interested in is my ‘gas consumed’, which is reported over de ‘Slimme Meter’.
    Is this value polled at a very low interval, or is this not exposed on the P1 interface at all on this meter model?

    1. Marcel

      Gas values on DSMR 2 is not great with esphome. This due to the format, thats different than DSMR 3, 4 and 5. you could use esp-link instead, and integrate it as DSMR Slimme Meter (not via ESPHome)

  45. Mark

    Hey,

    Korte vraag, ik zou graag een totaaloverzicht van mijn stroomverbruik en oplevering willen in homeassistant, op dit moment krijg ik met de standaard config van de slimmelezer+ echter alleen tariff 1 en tariff 2 los te zien, hoe kan ik die optellen?

    1. Marcel

      Dat is een mooie vraag voor op Discord of forum van Home Assistant/ESPHome. Ik heb daar momenteel geen voorbeeld voor.

  46. Mark Schrijver

    Bericht voor de moderator…
    Sorry voor al die eerdere dubbele berichten. Om de een of andere reden werd mijn bericht niet getoond. Waardoor ik in de veronderstelling was dat er iets was misgegaan, en nog een keer gepost heb…

  47. jhazenberg

    Marcel,
    Ik heb de lezer in goede orde ontvangen, en aangesloten en meteen werken !
    Nu ben ik wat aan het spelen gegaan met het configuration.yaml en de ….lux eruit gehaald > nu zie ik dat de Voltage niet meer doorkomt
    Voltage Phase 1 nan V
    Voltage Phase 2 nan V
    Voltage Phase 3 nan V
    ben je dit al eens eerder tegengekomen ?
    bij de eerste keer (vers uit de doos) had ik dit niet
    ik heb ook al een keer de laatste firmware van deze site erin “geschoten”, maakt niks uit.

      1. jhazenberg

        Marcel,

        Ik heb zowel de dsmr 4 en 2.2 geprobeerd >
        uitkomst blijft hetzelfde

        slimmelezer Web Server
        States
        Name State Actions
        Energy Consumed Tariff 1 11990.904 kWh
        Energy Consumed Tariff 2 14549.856 kWh
        Energy Produced Tariff 1 0.000 kWh
        Energy Produced Tariff 2 0.000 kWh
        Power Consumed 0.405 kW
        Power Produced 0.000 kW
        Electricity Failures 15
        Long Electricity Failures 7
        Voltage Phase 1 nan V
        Voltage Phase 2 nan V
        Voltage Phase 3 nan V

        Ik heb een Kaifa MA304 slimme meter
        heb je nog andere tips ?

        1. jhazenberg

          net in esp-home log gezet op very_verbose
          ik zie onderstaande op de plek dat ik de waardes van de voltages verwacht
          }
          [14:01:55][VV][api.service:140]: send_sensor_state_response: SensorStateResponse {
          key: 3929924364
          state: 1
          missing_state: NO
          }

          1. Marcel

            Ik heb je vorige lange reactie niet gepublished, is te groot en geeft te veel vervuiling. Maar op je andere bericht heb ik al gereageerd, kijk eens naar de code op mijn GitHub.

    1. Marcel

      Did you reconnect it to your wifi after the update? Your wifi credentials aren’t stored in the firmware 😉 thats why I always recommend to use your own esphome firmware.

  48. Hiljo Lodewijk

    Hoi Marcel,
    Ik krijg niet helemaal duidelijkheid over het volgende:
    Ik zou graag de metingen van de slimme meter (wifi of ethernet versie) gebruiken op een zelfbouw website. Dit betekent dus dat ik geen gebruik maak van HomeAssistant of DSMR-reader.
    Is het mogelijk om ofwel het P1 bericht via een webrequest op te halen van de device of de device iedere x minuten het P1 bericht te sturen naar een webadres?
    Is er dan nog een voorkeur voor de WiFi of het Ethernet model?
    Hoor graag of het mogelijk is voordat ik het device bestel 🙂
    Mvg!

    1. Marcel

      ja, de ethernet versie is gebaseerd op de Eport E20 met meerdere protocollen (zie de website van hi-flying) en de wifi versie kan je installeren met esp-link (of eigen code via Arduino o.i.d.) Met esp-link creeer je een serial2wifi bridge waarmee je data kan uitlezen.

  49. Jan

    Any updates on the domoticz integration?

    I tried this, now flashed to ESPeasy and still the same issue.
    Could you share the hardware layout of the board?

    In the configuration I see the Rx pin is D7, but that does seems strange to me.
    Normally, RX pin is GPIO3 if I’m not mistaken, and is D7 = GPIO13

    1. Marcel

      I advice esp-link.

      And I use D7 for an important reason: continuously connected inverter. The required inverter is connected to the data pin, which is pulled up as required. Therefore the output of the inverter is low, by default. That would pull the Rx on the esp8266 low, which causes no data communication between the serial chip and the esp8266, so no flashing via USB. This is solved by using the 2nd uart, D7.

  50. Benedikt Brückner

    Hi!
    I recently got my slimme lezer+ and tried it out. I plugged everything in and changed/added the decryption key with the ESPHome: slimmelezer_set_dsmr_key service (confirmed with log output). However, I do not get any readings in Home Assistant beside, Wifi connection status. Actually, I’m not a hundred percent sure it can work.
    I have a Sagemcom T210-D which P1 port works with the M-Bus. I checked the DSMR documentation and read that it also works with M-Bus, so I thought it may work as well.
    One thing I read from my electricity provider is that the M-Bus works with 2400 Baud, so thought maybe that’s the problem.
    I have Homeassisant running in a docker container, so I had to install EspHome in a separate container. After installation was complete, I tried changing the slimmelezer.yaml. I copied the “uart:” part from here (https://github.com/zuidwijk/dsmr/blob/main/slimmelezer.yaml) and changed the baud_rate to 2400. However, when I try to install it, it says:

    INFO Reading configuration /config/slimmelezer.yaml…
    Failed config
    uart: [source /config/slimmelezer.yaml:29]
    – [source /config/slimmelezer.yaml:30]
    baud_rate: 2400
    Cannot resolve pin name ‘D7’ for board esp32dev.
    rx_pin: D7 [source /config/slimmelezer.yaml:31]

    Do you know how I can fix this? Can I even use the slimme lezer+ with my smart meter, or do I have to write my one program to read the smart meter?

    Best Regards

    1. Marcel

      Mbus is not working, that’s another protocol than commonly used in most countries. I am working on a mbus version though, yet not completed.

      1. Benedikt Brückner

        Thank you for your response!

        That sounds great! Do you have any roadmap on when you will release the M-Bus functionality?

        If you need any tester for this, I would be happy to help you!

        Best Regards,
        Benedikt

        1. Marcel

          I’m facing some challanges… The meter is a mbus slave, therefore you need a mbus master, without master it wont work… So im looking into the option to make the mbus master within the reader. No planning available unfortunately ..

  51. Fredrik

    Hi got my SlimmeLezer + and the setup went smooth. ( Sagem T211) Ellevio Sweden.
    I got firmware 2022.1.2
    The only problem i got is that
    Energy Consumed Tariff 1 nan kWh
    Energy Consumed Tariff 2 nan kWh
    These 2 sensors never get updated.(uptime 7 days) So i cant use Energy Management in Home-Assistant. Any tips how to get this 2 sensor to work ?

    1. Marcel

      You need to check what type of communication is used. Is it mbus? Or the common open collector like Netherland, Belgium, Luxembourg etc is using?

  52. christian

    Hello Marcel,
    has been installed slimmelezer + in homeassistant but it comes up
    Info: successfully compiled program
    and
    Info: resolving IP address of name.local
    Error no address associated with hostname.
    What to do?

  53. Raf

    Ik krijg de laatste tijd opeens wat corrupted data bij het ophalen van sensor data waar een letter tussen wat nummers zit van gas_delivered_raw:
    https://i.imgur.com/nhAEoGX.png
    HA haalt die vervolgens weg en maakt er dan iets als 1762 van en de volgende keer dat goeie data binnen komt denk HA dat ik 16000 cuub aan gas heb verbruikt voor die dag.
    Iemand enig idee wat er hier aan de hand is?
    Hier is mijn config: https://pastebin.com/raw/YqNchN9f

    1. Marcel

      Tja, dat is het nadeel van geen CRC, als er corrupte data voorbij komt, kan dat niet gecontroleerd worden. Config ansich ziet er goed uit, als gebruik ik 7E1 ipv 7N1 op mijn DSMR 2.2 testmeter. Misschien met een “rotsmoes” klagen bij je energie maatschappij en vragen of ze de meter voor een nieuwe kunnen vervangen. Dan krijg je een v5 meter.

      1. Raf

        Helaas gaat een nieuwe het hier worden, en heb daar ook geen zin aan om tegen de woningbouw vechten hierover. Ik heb het ondertussen “opgelost” door strenger te zijn met de HA regex bij het verzetten van de raw data.
        oud:
        state: ‘{{states(“sensor.gas_delivered_raw”)| regex_findall_index(find=”\d*\.\d*”, index=2)|float}}’
        nieuw:
        state: ‘{{states(“sensor.gas_delivered_raw”)| regex_findall_index(“\((\d*\.?\d*)\)$”)|float}}’
        Ik krijg nu wel errors daardoor in de logs maar IGI
        Ik zal ook wel 7E1 proberen, esphome docs gaven mij een beetje de indruk dat ik 7N1 moest gebruiken.

  54. Kenny

    Hi Marcel,

    I got my Slimmelezer connected and working on DSMR Version 42.

    But I can’t get my energy dashboard to work. It does not show any sensor for energy consumption. Could you help me out?

      1. Pim

        I have the same thing, i noticed that sensor/property “Energy Consumed Luxembourg” is not set/filled….it is just filled with “nan kWh”.
        I will mail you back on my order

  55. sander

    Hi Marcel, esp print besteld. Mijn eigen eshome yaml gemaakt (ik heb nu al jaren de P1 USB poort). Maar daar heb ik af en toe mee dat deze geen waarden meer doorgeeft. Opgelost door de service te restarten als er 4 sec geen waarden meer komen. Dát samen met het feit dat ik mijn server niet meer in de meterkast wil hebben besloten om op jouw printje over te gaan. (lekker klein en kost me geen extra power :-)).
    Nu heb ik in mijn huidige P1 kabel DSMR integratie in homeassistant en daar heb ik 3 sensoren voor “sags” en 3 voor “swells”. Maar deze zie ik niet terug in de DSMR component van esphome. Weet jij of dit er wel in kan?

    1. Marcel

      Hey Sander, dat kan, zou je hier even moeten kijken. Daar staan alle beschikbare sensoren. Als er een niet tussen staat, zou deze aangevraagd moeten worden. Wat je ook kan doen, is esp-link erop zetten en dan integreren via DSMR Slimme Meter. Dan stuurt het alle data door naar Home Assistant en laat je het afhandelen door HA ipv ESPHome (zelfde als je usb kabel, maar dan via netwerk 😉 )

  56. Bianca Manglie

    SlimmeLezer vandaag wederom aan mijn netwerk gekoppeld en Home Assistant herkende de lezer direct en voegde automatisch de sensors toe.
    Ik zie in onder integraties:
    slimmelezer
    ESPHome
    1 apparaat en 29 entiteiten.

    Nu wil ik de Yaml file aanpassen maar waar kan ik die ook alweer vinden?

      1. Bianca

        Ik bedoel eigelijk waar kan op de slimmelezer de default yaml file vinden hoe aan te passen op de slimmelezer.
        Ik weet dat ik dat maanden geleden wel heb gedaan maar weet niet meer hoe 🙁

  57. Simon

    Just received my slimmelezer, but i get as many others uknown on all readings. When I connect directly to the device all the readings are also “nan” and I see no data. I have told my supplier to unlock the port so I can use it. Aidon 6442 S (Sweden)

    [W] [dsmr:092]
    Timeout while reading data for telegram

    What could be the issue here?

  58. Wietze Plantinga

    Hi Marcel, Ik heb 2 x de slimme meter bij je besteld en ontvangen. Ik heb veel moeite gehad de zaak toe te voegen en werkend te krijgen, maar dat ligt geheel aan mijzelf, ik heb mijn leeftijd (76jr) tegen. Ben niet zo ervaren in Home Assistant en Yaml bestanden. Ik zag in een van de commentaren van ALMODOVARIS op 24 september een interessante toevoeging, n.l de berekening voor dagelijks en maandelijks verbruik. Ik heb geprobeerd het eea toe te voegen maar stuit iedere keer op fout boodschappen. Soms wordt een statement niet herkend, soms rammelt er wat aan Yaml invoer kortom, na veel proberen komt ik er niet uit. Is het mogelijk om de toevoeging in een Yaml format te krijgen waarbij de toegevoegde statement of verwijzingen geldig zijn? Misschien kan jij direct zien waar het probleem zit.
    Ik maak momenteel gebruik van jouw Yaml file, die ik aangepast heb, de makkelijke aanpassingen wel te verstaan. Ik heb de gegevens in Home Assistant gekregen. Moet nu nog de zaak in een overzicht krijgen. Ik stel het op prijs indien je me verder kunt helpen. Home Assistant is een leuke hobby maar je hebt alles op internet nodig om verder te komen, nogal technisch dus.

  59. Jeroen

    Hoi Marcel,

    Na ontvangst ben ik een paar avonden en dagen bezig geweest met het configureren, maar helaas lukt het niet om de slimmelezer gevuld te krijgen met data uit mijn Landis Gyr E350 (DSMR 4.0). Als waarde staat overal ‘nan’ en “[W][dsmr:092]: Timeout while reading data for telegram”.

    Daarnaast lukt het ook niet om de slimmelezer automatisch herkend te krijgen in esphome of Home Assistant. Hij herkent hem via ESPHome Web, ik kan connecten via kabel en wifi, maar de firmware updaten via wifi geeft een foutmelding (can’t connect).

    1. Marcel

      Ik zal je even mailen, dat is makkelijker trouble shooten (moet binnenkort even een ticket systeem hiervoor aanmaken 😉 )

      1. Jeroen

        Na aardig wat zoeken en proberen met behulp van Marcel bleek het probleem aan mijn netwerk te liggen. Ik maak op mijn Ubiquiti (UniFi) netwerk gebruik van meerdere vLANs, waaronder eentje voor IoT devices. Het bleek dat daar Multicast DNS niet aanstond zodat de Slimmelezer niet kon broadcasten naar Home Assistant dat op een ander vLAN. Hierdoor is er geen automatische herkenning van het nieuwe device. Na het aanzetten van mDNS gebeurde dat direct.

        Meer info:
        https://community.home-assistant.io/t/esp8266-on-different-vlan/137796
        https://www.youtube.com/watch?v=p3SfeQTaaxw

    1. Marcel

      If you look on page 4 of the link you’ve send, it shows your meter is using mbus. My meters are designed based on the Dutch P1 specification. If you look at section 5.1 on page 6, you see that the port is different than the one your meter has. You could double check by measuring the voltage on the outer pins (1 & 6) and inner two pins (3 & 4). Voltage on the outer pins (5 volt) means you can use my SlimmeLezer, voltage on the inner two pins means your meter is using mbus and that doesnt work.

      1. Fabian

        Thanks for the reply.
        I measured it and sadly it’s really MBUS, Pin3-4 has 36V.
        I really like your project but looks like I can’t use it, is it possible to return it?
        And do you know/can you recommend a device which I can use and works with HA (ESPHome, ZigBee)?

        1. Marcel

          Your meter is a mbus-slave and you need a mbus master to read out the meter. I’m working on a device, but cant tell if i’m pulling it of quickly.
          You can return it to me, the address should me on the box, if not, than email me. I will refund the device once it’s returned.

          1. Fabian

            I don’t have the box anymore and I can’t find you mail or contact page -.-.
            If you need someone to debug the mbus module, I can help out.

          2. Marcel

            I seem to have missed the notification, sorry for not responding. I’ll send you an email right away.

  60. ibrahimin2004

    Hi,
    I recently bought a slimmelezer+ and I configured it with homeassistant with ESPHome. It just started working out of the box, and I didnt do any manual configurations. I am having solar panels in the apartment (Netherlands), and I can see the energy produced tariff1 and tariff2 entities having values in the entities section of HA. But in the energy dashboard, I couldn’t see the option to select energy produced tariff2 entity, only energy produced tariff1 entity is visible. Can Marcel or anyone help me what is going wrong?

    1. Marcel

      I’ve noticed that too in my test setting. One day later it solved itself. The answer I cant give, maybe some more testing, or ask on esphome github issues.

  61. Geert

    Hey Marcel! Ik heb de Slimme lezer al enige tijd lopen in Home Assistant maar ik merk dat ik toch de nodige data lijk te missen. Mijn gas wordt netjes ingevuld (en komt overeen met wat mijn provider zegt). Maar bij elektriciteit is dit niet het geval. Bij circa 50% van de dagen houdt het verbruik op om 7:00 uur en begint het weer om 22:00 uur (al staat er dan wel 0 kWh verbruikt bij 22:00). Wij werken thuis en het sluimerverbruik zit rond de 0.2kWh dus ik zou wel iets verwachten tussen die twee tijden. Enig idee waar ik naar kan kijken? Ik ben geen HA guru helaas maar zie ook niet wat ik nog (extra) kan instellen.

    1. Marcel

      Je kan proberen om esp-link erop te zetten. Dan sluit je het esphome gedeelte uit. De SlimmeLezer stuurt door wat het ontvangt. Het lijkt erop dat er dan tijdelijk geen communicatie is tussen esphome en ha. Ik zal je zo gelijk even mailen om verder te troubleshooten.

  62. Fabian Plaimauer

    Can you please send me your email or address so I can return the device?
    I can’t find your contact information anywhere on your website.
    And if you need someone to test the mbus device you are developing, I’m in it 😀

  63. hans.horstink

    Hi Marcel,
    Ik had al eerder een post achtergelaten, maar nog geen reactie gehad. Misschien omdat ik niet ingelogd was? Nu wel.
    Mijn Smlimmelezer+ heeft het een aantal weken goede gedaan, maar hield er toen ineens mee op. Ik krijg er geen verbinding meer mee en zie ook geen signaal in de lijst op m’n telefoon, het lijkt of hij kapot is. Kan ik hem omruilen of is er een andere manier om hem weer aan de praat te krijgen?
    Groet,
    Hans Horstink

    1. Marcel

      Ik zal je gelijk even mailen, ik vermoed dat de firmware mogelijk corrupt is. Mocht de Slimmelezer defect zijn, ruilen we deze uiteraard om ☺️

  64. Tom van den Broek

    Ik heb de Slimmelezer+ gekoppeld aan mijn slimme meter en verbonden met wifi. Hierna verscheen deze keurig in HA.
    Nu wil ik de config aanpassen maar hoe doe je dat eigenlijk?
    Waar kan ik de yaml file bewerken of een nieuwe uploaden?

    Dank,
    Tom

      1. Tom

        Dank Marcel, nieuwe config inladen is gelukt 🙂

        Het valt mij op dat de current van de 3 fases alleen in hele amperes lijkt te veranderen.
        Dit ondanks dat ik in de config 3 decimals accuracy heb aangezet.
        Geven de slimme meters (mijn meter: T211 ESMR5) dit gewoonweg niet door of kan ik hier nog iets mee?

        Dank,
        Tom

        1. Marcel

          Wat zie je als je naar de webinterface gaat van de slimmelezer? Zie je daar wel de waardes correct? Of ook niet?

  65. Jan

    Sinds vandaag heb ik precies hetzelfde probleem, de Slimmelezer heeft het een maandje goed gedaan, perfekt maar sinds vandaag is ie uitgevallen, geeft geen waardes meer, je kan hem ook niet meer via zijn eigen web bekijken.
    Afgekoppeld aan een usb gehangen ook niks, seriele monitor eraan gehangen niks.
    Gekke is ik kon hem nog wel flashen, gedaan, met een neiuwe opgeschoonde bin, maar ook daarna niks meer.
    En dan… hey doet ie het weer even, half uurtje en weg is ie weer, Wifi is sterk.
    Maar het ziet er naar uit dat er iets mis is, of hij gaat stuk/is stuk misschien door het weg schrijven naar de flash van gegevens???? Misschien is dat de zwakte hierin, of?

    Iig heb ik hetzelfde probleem als hierboven, hij is weg stuk!

    1. Marcel

      Kan je ‘m aansluiten met usb-voeding aangesloten? Ik vermoed dat of de CPU teveel moet verwerken waardoor het stroomverbruik omhoog gaat (te hoog) of dat de wifi-signaal niet helemaal goed is bij de SlimmeLezer. Dan gaat het zo hoog uitzenden, dat dat te veel stroom trekt en daardoor een brownout ontstaat.

      1. Jan

        Ja heb ik gedaan aan usb C poort gehangen van een zware voeding maakte geen verschil de meter meld niks.
        Opnieuw geflashed en de logger uit gezet, plus nog wat dingen, hij geeft nu wel een reeks aan foutmeldingen, maar krijg hem wel zover dat er bijna continue gegevens weer zijn, valt nog steeds wel een kwartier in een uur uit!?

        De foutmeldingen zijn al eens hier genoemd dit is een stukje log.
        17:38:50 [E] [dsmr:265]

        !FF27
        ^
        Checksum mismatch

        17:38:51 [E] [dsmr:265]

        !F8F6
        ^
        Checksum mismatch

        17:38:51 [E] [dsmr:265]

        0-1:24.2.1(220514173459S)(06792.106*m��H�!8AA9
        ^
        Checksum mismatch

        17:38:52 [E] [dsmr:265]

        !8358
        ^
        Checksum mismatch

        Ziet er vies uit, maar voor nu werkt het weer een beetje, en dat is beter dan niks.

        Marcel wat is die KEY, die er misschien uit kan, dsmr key en decryption key?

        Kan ik die verwijderen? En wat is die telegram waar ook nu fouten in komen mag hopen dat er niks naar telegram gestuurd gaat worden.

        Wat ik probeer is de code in esphome werkend te krijgen, en er zoveel mogelijk uit te gooien, want ik denk dat het continue gegevens in de flash zetten behoorlijk slijtage geeft, en een snelle dood van de meter.
        Denk dat dat de reden is van de slechte werking nu, niet het stroom gebruik, of de meter aansluiting want ook alleen aan een usb voeding doet ie niks ook in een seriele monitor getest.

        Probeer een oplossing te vinden 🙂

        Mijn dank

        1. Marcel

          Checksum mismatch gebeurd op meerdere manieren. Komt erop neer dat de check (de waarde !xxxx die je ziet) niet overeenkomt met de telegram. Dat kan als er een foutieve telegram doorgegeven wordt, of als de telegram wordt afgebroken omdat deze te groot is (en dus ook foutief is). Ook als je onder logger geen baud_rate: 0 hebt staan. Dan schakeld de ESP over naar software serial. Ik heb op GitHub een aantal voorbeelden staan voor NL (zonder de extra overhead voor andere landen). Daar kan je een voorbeeld van gebruiken.

          edit: aan het stukje wat je gepost hebt, denk ik dat je momenteel op software serial draait, dan kan de processor het niet bijbenen.

  66. Michel

    Marcel. Ik heb een tijdje je P1 reader al draaien. Momenteel is er een storing met onze meter en kan niet meer extern uitgelezen worden. Dus ik wil wat meer werk van gaan maken met DSMRreader. Ik heb momenteel de DSMR reader draaien via docker op mijn NAS. De P1 reader zit op een DSMR 5 meter. De web interface is goed te benaderen en in home assistant werkt de integratie goed op poort 6053. Maar nu wil ik hem ook in DSMR reader uitlezen. Alleen ik krijg geen verbinding via de telnet poort 23. Zowel niet via DSMR reader en als via Putty.

    Moet ik nog iets anders flashen om poort 23 werkend te krijgen?

    1. Marcel

      Hey Michel, als je DSMRreader gaat gebruiken, raad ik je aan om er esp-link op te zetten. Dan maak je er een simpele tcp doorgeefluik van. Daarna kan je je dsmrreader koppelen aan je home assistant als je dat ook wil: integratie. Poort 23 staat namelijk niet standaard aan in ESPHome, daar moet je een speciale component voor gebruiken.

  67. Marc

    Good Afternoon,

    Is there a possibility to get the data from the smart water counter too?

    It is a GWF, modell MTK3coder Mp water meter and has a M-Bus M7. The gas meter runs on channel 1 and the water meter on channel 2 of the m-bus. Both are connected via one cable to a sagecom t-210d.

    As my capacities are limited in programming I don‘t know how to add the meter.

    I added the configuration via esp-home (water_equipement_id) but I only get a wrong and long number.

    Thx in Advance

    Best regards

    1. Marcel

      If the watermeter is connected to your meter, the water readings should be in the data via the port. Yet I cannot confirm that and I dont know if thats supported in ESPHome/Home-Assistant.

      1. Marc

        Hi,

        with the sensors I configuredand tested i don’t get any values.
        Is there a possibility to read out the raw telegram coming in from the P1 port to your esp?

        Where could I ask to get help about this subject.

        P.S. I installed a ocr esp-32 camera to get the readings from the watermeter, but there are to much wrong results in this method.

        thx.

        1. Marcel

          Are you from Luxemburg? If so, than the raw data is encrypted and you should decrypt that. I dont know if the serial debugger will show the encrypted or decrypted data, that you should ask on the ESPHome GitHub.

          1. Marc

            The gas and electricity sensor is working with the encryption code. I will wait for esp-home.

            Thx

  68. Coen

    Hoi Marcel! Ik heb de slimmelezer+ samen met HA prima in kunnen stellen 🙂

    Nu heb ik mooie waardes in de entiteit sensor.power.consumed als verbruik en bij sensor.power.produced van mijn zonnepanelen. De history grafiek van de productie en het verbruik ziet er goed uit!

    Bij HA kan ik deze 2 echter niet instellen bij het energy gedeelte, ik kan alleen de entiteiten sensor.energy_consumed_luxembourg, daar de produced versie van, en ook nog een aantal ‘tariff’ entiteiten. Maar de benodigde entiteiten staan er helaas niet bij.

    Heb je enig idee wat hier aan de hand is?

  69. Pieter

    Hoi Marcel,

    De slimmelezer is vandaag aangekomen, draait inmiddels prima. Maar hoe kan ik mooie grafieken in HA zien? Er is een mooi tabblad Energy, maar daar zie ik geen data verschijnen.
    Is dat mogelijk?

    Groet,
    Pieter

    1. Marcel

      Er zit altijd een uur vertraging in (ongeveer). Zolang je data op de sensoren ziet veranderen, komt het vanzelf goed als je het goed geconfigureerd hebt.

  70. Arno

    Hoi Marcel,

    Ik kom er nog niet goed uit. Ik heb 2 meters en ze komen met elkaar in conflict in HA.
    Ik las dat je de MAC adres extensie kan toevoegen zodat ze unieke namen krijgen.
    VIa ESPhome eentje geadopteerd. Dan staat er firmware 2022.3.0 op.
    Maar als ik je bovenstaande config erop zet (name_add_mac_suffix: true) zie ik in de logging nog wel dat de firmware naar 2022.5.1 gaan maar na het booten is hij niet meer bereikbaar.
    Trouwens ook niet als ik de default config er nogmaals op zet.
    Wat doe ik verkeerd?

    1. Arno

      Het is gelukt. De naam in de config file voor het installeren moet gelijk zijn met de huidige naam anders kan hij hem niet vinden.
      En lijkt dus ook niet te zijzigen behalve dat het MAC stukje eracher wordt gezet.

      1. Marcel

        Je kan een hele nieuwe naam geven, als je kijkt naar deze template, daar kan je device_name op regel 2 veranderen naar alles wat je wil (zolang het maar uniek is).

  71. Hans

    Hi Marcel, vandaag de slimmelezer ontvangen en aangesloten met USB stroomvoorziening. Na wifi connecten en integratie in HA heeft de slimmelezer max 10 minuten gewerkt en is daarna nog enkele keren heel kortstondig beschikbaar geworden maar inmiddels volledig unavailable. Enig idee waar dit aan ligt?

      1. Hans Smit

        Hoi Marcel,
        Helaas brengt opnieuw flashen geen oplossing; heb zowel “2022.5.1” als de oudere “2022.2.4 with no debug” firmware geprobeerd. Allebei levert een slimme lezer op die heel even werkt en daarna alleen nog sporadisch een minuutje tot leven komt , enkele keren per dag.
        Heb vervolgens ESP-Link geprobeerd, maar daar lukt het niet om via het toegewezen IP-adres van de lezer een connectie te krijgen bij het integreren in Home Assistant.

        Vanuit logging heb ik deze versie kunnen uitlezen, weet niet of er incompatibiliteit is met mijn Slimme Meter?
        DSMR-Identification: KFM5KAIFA-METER
        DSMR-Version: 42

        1. Marcel

          Hoi Hans, ik neem aan dat je wel via USB voed? DSMR 4 levert te weinig stroom om de slimmelezer parasitair te voeden aan de p1 poort.
          Esp-link integreer je toch wel via de integratie Slimme Meter? Dit kan namelijk niet via ESPHome. Mail me anders (reply anders even op je order bevestiging, dan kan ik je beter helpen).

  72. jacco

    Hallo Marcel,

    Ik weet niet of dit al eerder gezegd is, maar het zou handig zijn als je op de 1 of andere manier kunt zien dat de slimmelezer power krijgt via P1 als deze in de case zit. Nu is dat letterlijk en figuurlijk een black box en is er geen enkele indicatie of het ding uberhaupt ‘aan’ staan 🙂
    En andere vraag, het is een snug fit in de geprinte case maar wat is de beste manier om de slimmelezer daar weer uit te halen zonder de case te moeten breken? Verder top apparaatje 😀

    1. Marcel

      Dat zou kunnen met een mooi semitransparante case 😉 Of een extra status ledje. Maar de reden dat ik dat niet gedaan heb, is om de stroomverbruik zo laag mogelijk te houden. Makkelijkste manier om te zien of het werkt, is om te kijken of er een eigen AP komt (slimmelezer). Als dat komt/verschijnt, weet je dat het werkt 🙂

  73. Johan

    Hi Marcel

    I flashed the slimmelezer with the code I found on https://github.com/psvanstrom/esphome-p1reader/issues/45 (made by you). But i still get no data. Is there some way to check what’s wrong?

    [21:05:23][I][app:102]: ESPHome version 2022.5.1 compiled on Jun 14 2022, 21:04:53
    [21:05:23][C][logger:274]: Logger:
    [21:05:23][C][logger:275]: Level: DEBUG
    [21:05:23][C][logger:276]: Log Baud Rate: 0
    [21:05:23][C][logger:277]: Hardware UART: UART0
    [21:05:23][C][uart.arduino_esp8266:102]: UART Bus:
    [21:05:23][C][uart.arduino_esp8266:104]: RX Pin: GPIO13
    [21:05:23][C][uart.arduino_esp8266:106]: RX Buffer Size: 256
    [21:05:23][C][uart.arduino_esp8266:108]: Baud Rate: 115200 baud
    [21:05:23][C][uart.arduino_esp8266:109]: Data Bits: 8
    [21:05:23][C][uart.arduino_esp8266:110]: Parity: NONE
    [21:05:23][C][uart.arduino_esp8266:111]: Stop bits: 1
    [21:05:23][C][uart.arduino_esp8266:113]: Using hardware serial interface.

    1. Marcel

      Im not familiar with those meters unfortunately… Maybe enlarge the buffer to 1500 or higher? It says using hardware serial interface, thats good! Maybe the serial settings is different, older meters uses 9600 7E1 here in the Netherlands and current meters uses 115200 8N1 (try to find that for your specific meter)

      1. Johan

        Hi

        The strange thing is that I do not get any kind of data, the meter follow the Swedish standards so it should work, it is used by Vattenfall. I have seen a lot of people use the slimmelezer+ and the same meter. Is there a way to se what the slimmelezer+ receives? Can esp link be usefull? I’m really stuck at this one. Your code for issue #45 at nystrom p1reader project has it been verified?

        1. Marcel

          No one has replied to it, yet I’ve heard others that they’ve got it working. Unfortunately I cant test it myself.

  74. Richard Janssen

    N.a.v. mijn andere post. Ik kan mijn SlimmeLezer+ niet meer benaderen, mogelijk na een foutieve flash met de DSMR2.2/ESPHome firmware.

    Ik probeer nu volgens de instructies ESP-link te flashen maar na op de connect button geklikt te hebben en te kiezen voor installeren blijft het proces eindeloos steken op ‘preparing installation’.

  75. Wendell

    Hoi Marcel,
    mijn router ziet het IP-adres van mijn SlimmeLezer niet.
    Heb jij enig idee wat het probleem is en hoe ik dit kan oplossen? Hoor het graag van je.

    1. Marcel

      Hoi Wendell, dat kan ik helaas niet zien in mijn glazenbol 😉 heb je het wel geconnect met je wifi? En is dit wel een 2,4GHz netwerk met WPA2 (WPA3 werkt namelijk niet). Je kan me eventueel mailen door te replyen op de orderbevestiging (contact formulier heb ik offline gehaald omdat dit continu spam gaf en daardoor berichten niet goed kon zien binnenkomen).

  76. Harald

    Hallo Marcel,
    vandaag de slimmelezer toegevoegd aan HomeAssistant, dit ging allemaal prima.
    Ik gebruikte eerst een RPI met P1 monitor en de bijbehorende HA addon.
    Het probleem wat ik hoopte op te lossen met de slimmelezer+ bestaat helaas nog steeds.
    Het gasverbruik wordt netjes doorgegeven alleen, eens per dag komt niet de incrementele waarde door, maar het totaal verbruik van de teller. Heb dan dus in eens een mega verbruik.
    Is er een manier om deze piekwaarde af te vangen zodat ik alleen de incrementele waardes krijg?
    Meters: DLMS D210T & Honeywell BK-G4

  77. Senti

    Hi,

    Ik heb op 1 dag in april een gasverbruik van 2.367 m3 gas 🙂 enig idee hoe ik die aangepast ga krijgen in home assistant?

    Thanks

  78. Christophe

    I installed the Slimmelezer+ and connected it via the supplird cable. The connection SlimmeLezer+ to Home assistant works fine (I get signal strength and uptime metrics).
    I got the P1-key from my energy supplier (Luxembourg), yet I can get no readings and the logs don’t indicate any possible error.
    Any help would be greatly appreciated.

    Kind regards,
    Christophe

    1. Marcel

      Do you use your own yaml/firmware? Or my pre installed firmware? If you use my default firmware and it’s connected to home assistant, than go to developer tools > services > search for “ESPHome: slimmelezer_set_dsmr_key”. There you can set the key you’ve got from the provider.

      1. Christophe

        I used the firmware supplied in the page for SlimmeLezer+. I set the key by using that service, yet still no values. Is there any way to check if telegrams are received via the P1 port?

        1. Marcel

          Hi Christophe, your message was marked as spam and therefore I didnt saw it.
          If you want to check whats coming in, you have to use firmware with debugging enabled (got some older versions with debugging here).
          Or use esp-link to act as a serial2wifi bridge.

  79. Jeno

    I’ve just tried to set up SlimmeLezer+:
    1. connected it to my laptop via USB-C cable
    2. waiting for slimmelezer wifi hotspot got activated
    3. a window popped up from 192.168.4.1, here I set my own wifi’s SSID and password
    4. pressed Save
    5. I see the new connection to the router from SlimmeLezer at the router’s info page
    6. I opened “192.168.2.155:80”, I saw the data from SlimmeLezer – it’s still connected my laptop, so of course, no any meter reading, but I saw other data (version number, MAC address, etc)
    7. I saw log messages at the right side of the page and after a while, a red message appeared – something about logout.

    Since then I can’t reach this page anymore. I can reconnect to “slimmelezer” wifi, set things up again, I could even update the firmware (it was successful), but even I can see SlimmeLezer connected to my wifi, I can’t reach the generated website anymore.
    Any ideas about what is going on? Thank you!

  80. Sylvain

    Hi Marcel,

    Does anyone has tried configuring the SlimmeLezer in Switzerland?
    My meter is ISKRA AM550.
    My electricity provider is called Romande Energie: https://www.romande-energie.ch

    Should I contact them directly to ask for support or more documentation on how to read their telegram?

    Thank you

Leave a Reply to Johan Cancel reply

Your email address will not be published.