How to flash the SlimmeLezer by usb

There are 3 ways I can explain how you can flash an esp via usb. There are more, yet I’ll stick to this 3. Those 3 are:

  1. esptool
  2. esphome-flasher
  3. via browser (Microsoft Edge and Chrome only)

For esptool and esphome-flasher you only need the firmware. When using the browser, you’ll need ESPHome and your own version of the config (can be copied from here). It’s recommended to run your own ESPHome so you can update without loosing the wifi connection and adjust all settings to your own preferences.

Install USB driver

First install the USB driver, which is needed. You can skip this step when you already have this driver. Linux will most of the time work without the need of installing extra drivers.

As I’m using a Wemos D1, I’ll stick to those drivers. 80~90% is using CH340 chip and the other remaining uses the ftdi chip.

FTDI: https://ftdichip.com/drivers/

CH340: https://www.wemos.cc/en/latest/ch340_driver.html

Using esptool

Installing esptool on MacOS

Probably more ways to install it, yet on my Mac I’m using this method:

Install brew:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Install esptool

brew install esptool

Installing esptool on Windows

Download and install Python: https://www.python.org/downloads/. During install make sure checkbox is checked for “Add Python 3.8 to PATH”. After installation open command prompt and install esptool via:

pip install esptool

After installation you can test the version via:

esptool.py version

See also this website: https://cyberblogspot.com/how-to-install-esptool-on-windows-10/

Installing esptool on Linux

Currently I’m using only Debian-based linux, like Ubuntu. As this is also most used on Raspberry Pi’s (Raspbian), I’ll use that to explain. Most Linux users using other distro will probably know more than enough to install esptool themselves (assumption 🙂 ).

sudo apt update
sudo apt install esptool

Flashing ESPHome via esptool

For flashing an esphome firmware via esptool, use this command:

esptool.py --before default_reset --after hard_reset --baud 115200 --chip esp8266 --port <usb serial port> write_flash 0x0 <firmware>

Flashing esp-link via esptool

For flashing esp-link on the SlimmeLezer, download it from my website and extract it. Use this command to flash it:

esptool.py -p <usb serial port> --baud 230400 write_flash --flash_mode dio -fs 4MB -ff 40m 0x00000 boot_v1.7.bin 0x3FE000 blank.bin 0x3FC000 esp_init_data_default.bin 0x01000 user1.bin

Using esphome-flasher

Download esphome-flasher from GitHub (available for MacOS, Windows and Linux). Open the esphome-flasher, select the firmware and serial port and press ‘Flash ESP’.

There’s a known issue on Windows 10, probably not for everyone, but at least one customer. When getting the error message ‘Unexpected error: could not open port ‘COM4’: PermissionError(13, ‘Access is denied.’, None, 5)‘ than try v1.0 instead of v1.3

You can not use esphome-flasher to flash esp-link on the SlimmeLezer, unfortunately.

Via browser (Chrome or Edge and ESPHome)

First of al, I recommend everyone to run ESPHome and have a own SlimmeLezer configuration on it. Make sure you’re filling your own wireless credentials. That way, when updating your device, it will always reconnect to your wireless network after updating. Secondly, you can modify your own device the way you want/need it.

When ESPHome is installed and running, your config is added and valid, than click on install:

Choose for ‘Plug into this computer’ and select the right serial port:

Click on Connect or Verbinding maken and leave the browser open/focussed:

A short moment later:

32 comments

  1. john2534334

    Ik krijg de volgende error als ik wil flashen met ESPHome-Flasher. Hetzelde geldt voor de twee andere manieren die jij op je site beschrijft.
    “Unexpected error: ESP Chip Auto-Detection failed: Failed to connect to Espressif device: Timed out waiting for packet header”
    Hoe nu verder? Ik heb even een schema opgezocht van dit bord en zie wel een reset pin (D3). Kunnen we daar iets mee?

    1. Marcel

      Het kan zijn dat je een usb kabel hebt wat alleen voor opladen is (en geen data doorgeeft). Probeer het eens via de manier van esptool, en geef me de output wat je krijgt. Liefst via email (gewoon antwoorden op de order bevestiging 😉 )

  2. Fons

    hoi,

    ik heb precies het zelfde probleem, ik heb het inmiddels via 2 pc’s, 2 kabels en 2 tools geprobeerd. in alle gevallen krijg ik dezelfde error:
    esptool:
    A fatal error occurred: Failed to connect to ESP8266: Timed out waiting for packet header

    en bij esphome-flasher:
    “Unexpected error: ESP Chip Auto-Detection failed: Failed to connect to Espressif device: Timed out waiting for packet header”

  3. Gino

    Mijn slimme lezer gisteren ontvangen. Alle waardes staan op onbekend. Firmware staat op 2021.9.0 , is dit de laatste versie? Want op de site staat enkel 2021.8.2 met de aanpassing voor Belgische slimme meter.

  4. Remco

    Goedemorgen Marcel,

    Heb gisteren mijn slimmemeter+ binnen gekregen, heb wel de dsmr 2.x bin moeten flashen
    anders waren alle waardes unknown. Maar graag zou ik de slimmelezer+ in mijn esphome willen hebben, Maar heb eigenlijk geen idee hoe?

    met Vriendelijke Groet
    Remco

    1. Marcel

      Sorry voor mijn late reactie… inmiddels is er veel veranderd qua code binnen esphome. Zo kan de crc check uitgezet worden (moet voor dsmr 2) en de baud settings aangepast worden voor de lagere seriële snelheid (9600 baud 7E1). Het zou nu moeten werken zonder extra workarounds.

  5. Rob

    Hoi Marcel,

    Ik heb hetzelfde probleem..

    Via ESPHome “A fatal error occurred: Failed to connect to ESP8266: Timed out waiting for packet header”

    Via Flash utility of dmv command prompt:
    A fatal error occurred: Failed to connect to ESP8266: Wrong boot mode detected (0x13)!

    Ook met twee verschillende usb kabels getest.

    Ik draai home assistant op een RPI3. Via esphome word de lezer gewoon gedetecteerd op de usb poort. maar dan krijg ik de timeout.

    Kan je me in de juiste richting sturen?

    Grt,
    Rob

  6. Teun

    Hoi Marcel,
    Sinds vandaag heb ik geen contact meer met mijn slimmelezer, voeding werkt goed, verder geen gekke dingen, is de lezer overleden of kan flashen nog helpen. Netwerk adres wordt ook niet meer gevonden.

    1. Marcel

      Ik heb je bericht helemaal gemist… is al twee weken geleden (excuses daarvoor). Asl je nog problemen hebt, kan je het beste antwoorden op de bevestigingsmail. Dan kan ik je per email helpen.

  7. L_aarten

    Vrijdag een slimmemeter+ ontvangen en vandaag aangesloten eerst via een USB en later via de P1 poort van de slimme meter. Na aansluiten knippert de blauwe led 1 maal kort. Daarna niets meer, neemt maar 2mA stroom op.

    1. Marcel

      Voed je het alleen via de P1 poort? Zo ja, is het dan wel een DSMR 5 poort? Als je het niet werkend krijgt, of problemen zijn, kan je antwoorden op de order bevestiging. Dat communiceert makkelijker dan via mijn website 😉

      1. Leendert Aarten

        Dag Marcel,

        Ik ben de orderbevestiging kwijt dus toch maar even op deze manier.
        Als ik inlog op de webserver van de slimmelezer+ dan zijn maar enkele gegevens gevuld en geen enkele van de gegevens uit Poort P1 van de slimme meter, Zie wel uptime etc. Ook ‘state’en ‘Action’zijn leeg.

        Ook in Home assistant kan ik wel het verbruik etc kiezen maar er komt geen data binnen. krijg ook een fout melding: “statistics_not_defined, sensor.energy_consumed_tariff_2” en “Entiteit niet beschikbaar, De status van deze geconfigureerde entiteiten is momenteel niet beschikbaar: sensor.energy_consumed_tariff_2 (unknown)”

        Wat gaat verkeerd.

        1. Marcel

          Ik stuur je even een mailtje… ik vermoed dat je een oudere meter hebt waar andere seriele settings voor nodig zijn.

          1. Leendert Aarten

            Dag Marcel,
            Ik heb een ISKRA type ME382-D1A52-P1 uit 2013. Ik heb P1 poort gemeten en er staat geen 5V op geen enkele pin ook niet tussen 1 en 6. Ik heb standaard de USB voeding aangesloten op de SlimmeLezer+. Volgens Liander kan het tot 72 uur duren voordat de poort actief wordt maar hij is zeker al een week aangesloten. Alvast bedankt voor de ondersteuning

          2. Leendert Aarten

            Dag Marcel, Alweer een tijdje terug de slimmelezer aangeschaft en voor mijn meter de firmware DSMR 2.2 geïnstalleerd.
            Ik krijg alle Electra data door maar niet ‘Gas Consumed’. Hieronder wat data waar jij wellicht iets mee kunt.Gas Consumed nan m³
            SlimmeLezer Uptime 120418 s
            SlimmeLezer Wi-Fi Signal -87 dBm
            DSMR Identification ISk5\2ME382-1004
            DSMR Version
            Gas text field (220508190000)(00)(60)(1)(0-1:24.2.1)(m3)(11792.043)

            Mijn energie maatschappij kan hem wel uitlezen dus de data zou uit te lezen zijn.
            Wat kan er mis zijn?
            Alvast bedankt

          3. Marcel

            Klopt, dat is een issue van esphome, de format is afwijkend waardoor je alleen als text sensor kan uitlezen. Dit kan je met een omweg naar een “normale” sensor scripts, maar is een omweg. Ik raad je voor oudere meters met dsmr 2 of 3 aan om esp-link te gebruiken.

  8. Zarro

    Vergelijkbaar probleem met L_aarten. In mijn geval de slimmemeter+ wordt ook niet meer gezien via de USB. Knippert een keer de blauwe led.

      1. L_aarten

        Dag Marcel,

        Ik heb een Liander ISKRA type ME382 MT382. Ik kan met het netwerk ‘slimme meter’ verbinden maar krijg geen pagina te zien. Ook via het aanroepen van het netwerk adres 192.168.4.1 krijg ik een foutmelding ‘Je bestand kan niet worden geopend’. Ik moet hem wel via USB voeden.

        1. Marcel

          Zover ik weet is ME382 bijna zeker weten een DSMR 2.2 meter. De slimmelezer is standaard voorzien van firmware voor DSMR 4/5 (meest voorkomende). Je moet even de slimmelezer aansluiten via een usb voeding. Daarna komt het met een eigen wifi netwerk ‘slimmelezer’. Daarmee verbind je en eenmaal verbonden, komt er een splashpage waarin je je wifi credentials in kan voeren. Komt dat niet, of duurt het te lang, kan je ook naar http://192.168.4.1 gaan en alsnog deze gegevens invoeren.

          Eenmaal verbonden aan je wifi kan je naar de webgui via http://slimmelezer.local (of via ip-adres als je netwerk geen mdsn ondersteund). Als de SlimmeLezer aan je meter hangt én aan de usb voeding, moet je op de webgui meterstanden gevuld zien worden. Mijn vermoeden is dat deze leeg blijven omdat je meter vermoedelijk DSMR 2.2 is. Is dat het geval, dan moet je even deze firmware downloaden, uitpakken, en het bin-bestand uploaden op de webgui via de OTA knop onderaan. Na het updaten is helaas wel je wifi connectie weg, deze moet je na updaten even opnieuw koppelen aan je wifi netwerk.

  9. MooiWeb

    Hoi Marcel,
    Ik heb destijds de versie 1.0 bij jou gekocht en heb deze voorzien van “Firmware SlimmeLezer DSMR 2 and 3 (ESPHome 2021.12.1)”. Daarna gekoppeld aan mijn WiFi en vervolgens binnen home assistant – instellingen – integraties – toevoegen – ESPHOME de slimmelezer toegevoegd.
    Alles info komt binnen in HA en de web interface van de slimmelezer.local. So far, so good. Maar is het nu ook mogelijk om deze in de ESPHOME integratie van HA toe te voegen zodat ik de yaml van zou kunnen aanpassen?
    Groet,
    Edwin

  10. Ralph

    Beste Marcel,

    Ik probeer de slimmelezer te flashen naar de 2.x versie. Echter ik krijg de volgende melding:
    “Update Failed: ERROR[10]: Magic byte is wrong, not 0xE9”
    Ik krijg dezelfde melding via OTA als via EspHome-Flasher (windows).

    Enig idee waar het mis gaat?

    1. Marcel

      Dat durf ik zo op afstand niet te zeggen. Alle firmwares wat ik aanbied is getest op meerdere devices. Heb je wel de zip bestand uitgepakt? Je moet de bin-file uploaden, niet de zip-file.

Leave a Reply

Your email address will not be published.