DSMR-logger V4 (Slimme Meter uitlezer)

[ 11,950 views ]

In augustus 2018 publiceerde ik een project voor het uitlezen van de Slimme Meter.

Aan de hand van de vele reacties van de mensen die het project hebben nagebouwd en mijn eigen ervaring met versie 3 van de DSMR-logger vond ik het tijd worden om een nieuwe versie van de hardware en de firmware te ontwikkelen.

[31-07-2019] Vanaf versie 0.4.5 kan de DSMRloggerWS firmware ook telegrammen van pré DSMR 4.0 standaard Slimme Meters uitlezen!

De firmware en nog veel meer kun je op github vinden!

Een aantal gebruikers gaf aan gebruik te maken van externe diensten om de gelogde data in grafieken weer te geven. Ik heb ook de behoefte aan een grafische weergave van de gelogde data maar ik wil voorkomen dat ik daar externe diensten voor moet gebruiken.

De doelstellingen voor versie 4 van de DSMR-logger zijn ongeveer gelijk gebleven aan die van versie 3 met dien verstande dat ik méér data op de DSMR-logger wil opslaan én dat ik de gelogde data ook in grafieken wil kunnen bekijken.

Tot en met versie 3 van de DSMR-logger wordt iedere seconde een telegram van de Slimme Meter ontvangen. Daarvan wordt slechts een klein deel (iedere tien seconden) één telegram ook daadwerkelijk verwerkt. Op zich is dat geen probleem want de overige negen telegrammen vallen gewoon in een groot gat maar .. de ESP8266 UART moet wél op deze vloed aan data reageren (de UART is interrupt driven). Zowel de Slimme Meter als de DSMR library van Matthijs Kooijman hebben een mogelijkheid om telegrammen alleen op afroep te versturen (Slimme Meter) of te vragen (DSMR library).
Het werkt zo: De Slimme Meter verstuurd alléén een telegram als de Data Request pin “hoog” is. De DSMR library heeft een functie call “enable(true)” die een pin van de ESP8266 “hoog” maakt en deze “hoog” houdt tot er een volledig telegram is ontvangen (waarna de pin “laag” wordt gemaakt).
Omdat ik voor de eerdere versies van de DSMR-logger een ESP-01 bordje wilde gebruiken kon van deze functionaliteit geen gebruik worden gemaakt eenvoudigweg omdat de ESP-01 niet genoeg pinnen heeft om er één voor vrij te maken.

De ESP-12(E/F) heeft wel voldoende GPIO pinnen en aanzienlijk (4x) zoveel geheugen als de ESP-01(S). Het was daarom een logische keuze om deze variant van de ESP8266 te gebruiken voor versie 4 van de DSMR-logger.

Het prototype en Proof of Concept heb ik op een 1of!-ESP12 processor bordje met een 1of!-Proto bordje gemaakt.

Data Request Circuit

Voor het “hoog” en “laag” maken van de Data Request pin van de Slimme Meter heb ik verschillende varianten uitgeprobeerd. Met een combinatie van één of twee transistoren en/of MosFets kreeg ik het niet stabiel werkend. Uiteindelijk is het een opto-coupler geworden.

Hieronder staat het schema voor de Data Request functionaliteit:

Het circuit wordt gestuurd vanuit GPIO12 van de ESP8266 en zorgt ervoor dat bij een “hoog” signaal de led in de opto-coupler gaat branden.

Hierdoor zal de transistor “sluiten” (hij gaat geleiden) waardoor de 5Volt op de collector (pin5) direct op de emitter (pin4) terecht komt (hij wordt “hoog”). Hierdoor zal DTR_SM ook “hoog” worden en zal de Slimme Meter een telegram versturen.


Telegram ontvangen

Het telegram wordt door de Slimme Meter via pin 5 van de RJ12 connector met een geïnverteerde 5volt TTL logica verstuurd. Voor de ESP8266 moet dit signaal zowel (terug) geïnverteerd- als geschikt gemaakt worden voor 3v3 logica van de ESP8266.

In rust zal R6 de Base van Q1 “hoog” trekken, waardoor Q1 “gesloten” wordt en de Collector, en daarmee Rx_SM “laag” zal zijn. Als Tx_SM “laag” is zal de Base van Q1 óók “laag” worden en zal Q1 “open” gaan staan. De Collector en daarmee ook Rx_SM zal door R8 naar 3v3 getrokken worden. Rx_SM is dan dus “hoog”. Komt er bij Tx_SM een “hoog” signaal binnen, dan zal de Base van Q1 ook “hoog” worden. Hierdoor gaat Q1 geleiden en zal de Collector samen met Rx_SM “laag” worden.


Hiernaast zie je hoe dat deel van het schema er op het 1of!-Proto bordje uit ziet.



I2C Interface

Een aantal bouwers van versie 3 vroeg of het mogelijk is in een volgende versie een klein Oled scherm op te nemen. Er zijn twee mogelijkheden om een Oled scherm aan te sturen. Eén is via een SPI interface de andere maakt gebruik van de I2C interface. Ik heb ervoor gekozen de I2C interface te gebruiken.

In versie 4 is een uitbreiding poort met I2C interface opgenomen die ook voor andere modules gebruikt kan worden. In de firmware wordt een Oled scherm aangestuurd.

Er kan in de J4 poort direct een Oled-module worden gestoken. Omdat niet iedere verkrijgbare Oled-module dezelfde aansluitingen heeft moet via draad-bruggen de juiste aansluitingen van J2 naar J3 worden doorverbonden (met name GND en 3v3 zitten niet op alle Oled-modules op dezelfde plaats).


ADC Interface

Een groot nadeel van de Slimme Meter is dat deze de energie van de zonnepanelen sommeert met die van de verbruikers op dezelfde groep.

Zo krijg je nooit een inzicht in de werkelijk opgewekte energie en de werkelijk verbruikte energie. De opgewekte energie kun je ook (buiten de Slimme Meter om) meten met een AC Stroom Sensor (bijvoorbeeld een SCT013-030 of ECS1030-L59). Deze klem je om de, in de meterkast binnenkomende, fase draad van de zonnepanelen en ze geven een spanning af die afhankelijk is van de stroom die door de kabel loopt. Voor gebruik van dit soort sensoren is de ADC (Analoge to Digital Convertor) pin van de ESP8266 uitermate geschikt. In het schema van de DSMR-logger v4 heeft deze, via een weerstands-deler een bereik van 0-5volt. Door R12 en R13 (5% tolerantie, een kleinere tolerantie is beter) aan te passen kun je dit bereik veranderen.

Putting It All Together

Om het schema van de nieuwe DSMR-logger te complementeren moet het basis-circuit van de ESP8266 nog worden toegevoegd (zie mijn post over de 1of!-ESP12). Dit basis circuit bestaat uit de ESP-12, de 3v3 voeding, een Program Interface en de schakeling rond de Reset en Flash buttons.

Dit resulteert in het complete schema voor de DSMR-logger V4:

Uitgebreide (‘technische’) documentatie van dit project kun je hier vinden.


      Een complete kit met alle onderdelen kun je hier kopen.

En hieronder staat een plaatje van het prototype zoals ik dat op de 1of!-bordjes heb gemaakt en getest.

En een life versie van het prototype in de meterkast:

This entry was posted in Arduino, Computer, ESP8266, Hardware, Uncategorised, WiFi. Bookmark the permalink.

186 Responses to DSMR-logger V4 (Slimme Meter uitlezer)

  1. Pingback: Slimme Meter uitlezer | Willem's Website

  2. Eric says:

    Bedenken doe ik dit allemaal niet, MAAR soldeer het graag in elkaar als er een officiële versie beschikbaar komt 🙂

    Laat de upgrade van de huidige versie maar komen. Het ziet er veelbelovend uit!

    • Hoi Eric,

      De upgrade van de Firmware komt eraan. Nog even geduld 😉

      Vandaag ontvang ik de PCB’s en ga ik kijken of er geen fouten in zitten.
      Kitjes komen ook, maar dat zal nog wel een maand to zes weken duren.

  3. Klaas says:

    Beste Willem,

    Met veel interesse heb ik je artikel gelezen. Mijn complimenten hoe goed alles er uit zien.
    Ik ben zelf ook bezig met het maken van een schema in KiCAD om mijn meter te koppelen via een ESP-12F aan domoticz. De ESP-12F wordt dan gebuikt als P1 Wifi Gateway.

    Twee kleine opmerkingen:

    1. Data Request Circuit
    De weerstand R4 150 ohm, lijkt mij aan de lage kant. Een GPIO pin kan maximaal 12mA leveren. 3,3v – 0,6v = 2,7v -> 2,7v / 150 ohm = 18mA. Mijn tip is 270 ohm te gebruiken. Ik ga zelf deze optocoupler gebruiken: PC817.
    R5 is strikt genomen niet nodig denk ik.

    2. Level-Shift inverter
    Helaas wordt de Data_GND gedeeld door de twee optocouplers in de meter. Anders was het helemaal simpel geweest.
    Ik denk zelf dat R7 kan komen te vervallen en ik zou R6 verhogen naar 5K6.

    Ik ben erg benieuwd naar je reactie! Mogelijk zie ik met mijn opmerkingen hierboven iets over het hoofd. Ik heb nog geen proef opstelling gemaakt.

    Groet, Klaas

    • Willem Aandewiel says:

      Hoi Klaas,

      Dank voor het compliment!

      In de uiteindelijke versie zijn R1 en R4 220R
      R5 en R7 zijn een poging tot ‘current limiter’. R6 heb ik 4k7 gemaakt.

      Aanpassingen aangebracht in het totaal schema, nog niet in de sub-plaatjes.

  4. Sjors says:

    Beste Willem,

    Complimenten het ziet er allemaal netjes uit.
    Heb ook interesse in het artikel dus wacht toch maar even op versie 4.
    Hoop dat die gauw te leveren.

    Met vriendelijke groet
    Sjors

  5. Sjors says:

    Complimenten Willem, het ziet er allemaal perfect uit.
    Wacht met spanning op de upgrade en dan solderen maar.

    Groet
    Sjors

  6. Ed says:

    Ziet er erg goed uit

  7. Pim says:

    Hallo Willem,

    Ik ben echt razend enthousiast van de logger en heb hem zelf ook al een tijdje in gebruik. Ik gebruik de V3 hardware.

    Eerst met de originele V3 software en nu met de nieuwe WebSocket software heb ik succes op mijn ESP01.

    Echter heeft een collega een probleem met zijn ESP01. zodra we op zijn ESP01(geen ESP01S) de websocket binary installeren zoals ik die ook heb geïnstalleerd doet de logger het niet, instellingen in de IDE staan correct en het inloggen van de logger op het lokale wifi netwerk gaat ook goed. Echter daarna wil de logger niet meer goed werken. De logger heeft wel verbinding met de router en ik kan zien welk IP-adres de logger heeft gekregen maar hij weigert de verbinding als ik hem benader via een webbrowser. “de host heeft de verbinding geweigerd”. Als ik daarna weer de V3 software installeer doet alles het weer.
    Library versies zijn gelijk aan de gespecificeerde.
    Het enige verschil wat ik opmerk is dat mijn collega een PUYA flash chip heeft en de mijne niet.

    Herken jij dit probleem ook met de websocket software in combinatie met een PUYA ESP01?

    • Willem Aandewiel says:

      Pim,
      Ik heb nog niet zoveel ervaring met de DSMRloggerWS firmware in combinatie met de ESP-01. Je schrijft “geen ESP01S”, maar is het er wel een met 1MB flash?

      Heb je ook de Flash instelling goed staan [1MB (256KB SPIFFS)]???

      Misschien toch een keer de firmware flashen met de optie “All Flash Content” en dan de data er opnieuw opzetten.
      Ik raad je aan ook hier te kijken.

      • Pim says:

        Hallo Willem,

        Dank je wel voor je antwoorden.

        Als ik de oude V3 software installeer dan krijg ik via de “device info” pagina te zien dat het een 1 Mb flash chip is. Ik ga ervan uit dat deze info uit de chip zelf wordt gelezen en dus klopt :).

        Verder zijn de SIFFS instellingen zoals jij aangeeft op 256kb gezet(V3 weer terug naar 128kb).

        Ik zal vanavond ook nog even de “clear all flash” optie proberen.

        Ik zal jouw io pagina ook nog eens goed doornemen. Mocht ik de fout binnenkort vinden dan zal ik het je even melden zodat je hier rekening mee kunt houden.

        Nog even het gedrag van mijn fout wat duidelijker in kaart gebracht:
        -De blauwe led brand continu.
        -De ESP01 heeft verbinding met wifi maar weigert http verbinding
        -Ook browsen naar http://FSexplorer weigert de verbinding.

        En nogmaals, een klasse stukje techniek wat je hebt gemaakt.

        Groet,

        Pim

        • Willem Aandewiel says:

          Pim,
          Wat een obscure probleem.
          Test je beide loggers op dezelfde Slimme Meter? Met dezelfde kabel?
          Knippert de blauwe led zoals beschreven vóórdat hij continue gaat branden (dan ontvangt hij geen telegrammen)?
          Als je de “niet werkende” ESP-01 in het “wel werkende” bordje prikt, wat gebeurd er dan?
          Kun je de logger via telnet benaderen? Als je één of twee keer op “v” drukt krijg je meer/minder “Verbose” output. Wellicht dat er dan meldingen verschijnen die je verder helpen.
          Keep me Posted!

          [Ondertussen de PUYA chip oplossing in de documentatie opgenomen]

  8. Michel says:

    Sinds vandaag ook een slimme meter gekregen en jouw project al tijdje geleden gebouwd, versie V3. Aangesloten en vol spanning kijken of het werk en draait perfect.

    Nu zag ik dat je bezig bent met alweer V4. Kan ik de nieuwe software ook gebruiken op een V3? Volgens ESP-DSMR info heb ik 1Mb flash chip.

    Mij is dat niet geheel duidelijk welke ik dan kan gebruiken en kan dat ook OTA of moet ik hem daar weer voor verbinden en via Arduino flashen.

    Tevens de vraag of er info is hoe ik deze kan koppelen aan Domoticz. Via HA is een mooi stappenplan maar voor Domoticz niet. Misschien heb je daar ook iets over.

    Alvast dank voor je reactie en dank voor dit mooie project.

    • Willem Aandewiel says:

      Michel,

      Mooi dat de DSMR-logger meteen werkt!
      De DSMRloggerWS firmware kan, met een paar beperkingen, ook op een Versie 3 bordje gebruikt worden. Wat niet kan is de RTS hardware, de I2C poort en Data/Firmware Over The Air uploaden. Het flashen zul je dus weer bedraad met de ArduinoIDE moeten doen!
      Ik heb geen ervaring met Domoticz maar als je hebt uitgezocht hoe je de logger daaraan kunt koppelen dan hoor ik graag hoe je dat gedaan hebt zodat ik het in de documentatie kan opnemen!

      • Michel says:

        Willem,

        Dank voor je reactie. Kun je aangeven wat ik nodig heb om DSMRloggerWS erop te zetten. Ik raak een beetje de weg kwijt met alle bestanden.

        Ik had via https://github.com/mrWheel/DSMRloggerWS deze proberen te compileren maar dat ging niet en dacht dan zet ik alleen de DATA bestanden over. Maar dit eindige in een totale puinhoop en toen werkte niets meer. Daarna kon ik nergens meer bij en ook opnieuw de oude DATA bestanden overzetten deed hij wel maar werkte niet meer.

        Alles opnieuw geflasht en nu werkt hij weer als V3.
        Misschien een kleine handleiding om van V3 naar V4 een upgrade te kunnen doen.

        p.s met Domoticz ben ik een stapje verder en mocht dit een werkend script opleveren dan zal ik dit zeker delen met je zodat je ook dit op de site kunt plaatsen.

        Dus

        • Michel says:

          Als ik de nieuwe firmware ga compileren krijg ik foutmeldingen en waar kom ik helaas niet achter hoe deze op te lossen.

          • Willem Aandewiel says:

            Michel,
            Je gebruikt de esp8266 core versie 2.4.1. De firmware heeft 2.5.0 nodig.
            Via boards manager kun je dit updaten.

            Verder zijn de meeste meldingen zgn. “Note”s en dus onbelangrijk!

        • Willem Aandewiel says:

          Michel,
          Je kunt niet upgraden van DSMRlogger2HTTP naar DSMRloggerWS.
          Je moet de hele instructie volgen.

          Let er op dat SPIFFS 256kb moet zijn voor deze firmware.
          Als je een PUYA flash chip hebt moet je dit lezen!

          • Michel says:

            Willem,

            Dat deed het hem. Upgraden naar 2.5.0.
            Ik had dit ook gedaan maar omdat het niet lukte met V3 weer teruggegaan naar 2.4.1 en toen kon ik V3 weer flashen.

            Nu ging alles in 1x soepel en draait het weer.

            Ik mis nu alleen getActual.json en hierdoor kan ik de waardes niet meer uitlezen / testen in Domoticz.

          • Willem Aandewiel says:

            Hi Michel,

            Gegevens vraag je nu op met /restAPI

            Zal hier in de documentatie!

  9. Pim says:

    Hallo Willem,

    Ik heb ondertussen een aantal stappen gemaakt. Ik wil dit graag aan je uitleggen maar ik heb het idee dat dat hier niet de juiste plek is. Kan je mij een mail sturen waar ik op kan reageren met mijn bevonden punten.

    De logger start ondertussen op met de V4 software en de PUYA flash chip. alleen het schrijven naar de chip werkt nog niet goed.

    Hoor het graag!

    Pim

  10. Tony Seesing says:

    Hallo Willem,
    Dank voor de software. Ik ben erg tevreden met het resultaat van de V4 tot nu toe. Ik ben geen software man, dus blijf verdere ontwikkelingen gewoon volgen.
    Aansturen van de DTR heb ik opgelost met 2 transistoren: BC550 (npn) en BC557 (pnp).
    Helaas is hier geen plaatje mogelijk, maar BC550/b wordt aangestuurd uit Arduino middels 4k7/10k weerstands deling naar aarde. BC550/e ligt aan aarde. BC557/b wordt aangestuurd vanuit BC550/c via weerstandsdeling 4k7/10k naar +5V. BC557/e ligt aan +5V. BC557/c gaat naar pin2 van slimme meter.
    Werkt perfect! Doe er je voordeel mee.
    Verder heb ik twijfels of alles goed gaat werken met het voorgestelde circuit voor het meten van de stroom geleverd door panelen. Heb je daar al ervaringen mee?

    Groetjes,

    Tony Seesing

    • Willem Aandewiel says:

      Tony,

      Nog geen ervaring met de ADC, maar het is erg standaard. Met de goeie ring module moet het werken. Wel moet je zelf de firmware aanpassen zodat hij ook iets met de meting doet.

  11. Michel says:

    Willem,

    Ik heb een script gemaakt voor Domoticz die zowel voor firmware V3 als V4 zou moeten werken.

  12. Michel says:

    Beste Willem,

    Ik zag op Github dat er een updates zijn van bestanden. Moet ik nu voor de V3 hardware alles op dezelfde manier flashen zoals de eerste keer en mijn meterstand eerst veilig stellen of is het toch ook OTA mogelijk. Via de instelling is de knop namelijk grijs en niet klikbaar om de firmware bij te werken.

    Dit stuk is mij niet echt duidelijk.

    • Willem Aandewiel says:

      Hoi Michel,

      Heb je de documentatie gelezen?

      Je moet de nieuwe firmware inderdaad bedraad flashen en óók de data map moet je bedraad flashen (nadat je de aanwezige bestanden eerst handmatig veilig hebt gesteld).

      Als je de DSMRloggerWS firmware op de V3 hardware wilt gebruiken zijn er een paar zaken waar je op moet letten.

      1)
      OTA flashen kan niet omdat de nieuwe firmware te groot is voor de overgebleven ruimte.

      2)
      Voor SPIFFS moet je meer ruimte reserveren dan bij de DSMRlogger2HTTP firmware nodig was omdat de bestanden groter worden en er meer bestanden op SPIFFS worden opgeslagen.

      3)
      De lay-out van de bestanden is helemaal anders geworden. Je kunt de oude bestanden dus niet gebruiken. Het is wél mogelijk om de gegevens uit de oude bestanden in de “nieuwe” te stoppen (handmatig) maar dat is best wel veel werk omdat voorheen de meterstanden voor tarief 1 en 2 bij elkaar opgeteld werden terwijl ze nu apart worden opgeslagen. Je kunt de gegevens die je nu al hebt natuurlijk allemaal als tarief 1 opslaan en dan de huidige meterstand voor tarief 2 overnemen in de hele historie. Je kunt ook met de ingebouwde editor de gegevens in de maanden tabel (handmatig) invoeren.

      Eén van de bouwers (Pim) heeft intensief onderzoek gedaan naar de werking van de logger firmware in combinatie met een PUYA flash chip en de uitkomst daarvan is dat, hoewel de PUYA patch in combinatie met de DSMRlogger2HTTP firmware prima werkt, dit niet het geval is met de DSMRloggerWS firmware!

      Als je eenmaal de DSMRloggerWS firmware op je DSMR-logger hebt geflashed en er komt een update van deze firmware, dan hoef je de data niet opnieuw te flashen (behalve als dat in de documentatie expliciet gemeld wordt).

      Ik hoop dat je er met deze uitleg uitkomt!

  13. Mark says:

    Goedemorgen Willem,

    Waar kan ik de v4 printplaat of het bouwpakket bestellen?

    Mvg,

    Mark

  14. Hallo Willem,
    Ik heb al heel leuk de box 3d geprint(als beginnend printer al leuk gedaan).
    Maar ik heb eigenlijk Versie2 bordje gekocht.
    Mijn vraag is dan ook is daar ook een .stl bestandje van gemaakt?
    En mag ik dat dan? graag

    Met vriendelijke groet, Ruud

  15. Hans Scholten says:

    Hallo Willem,

    Wat een mooi ontwerp en wat een hoop functionaliteit op zo’n klein bordje. Ik overweeg er een te bestellen, maar ik heb toch nog een vraag. Ik heb een S0 (kWh puls)meter in mijn meterkast voor het opmeten van de opgewekte energie van mijn zonnepanelen. Dat doe ik dus niet met een AC Stroom Sensor zoals jij dat hierboven voorstelt. Is het toch mogelijk om de S0 pulsen ergens op jouw DSMR logger V4 in te lezen? En de pulsen van mijn watermeter?

    Vriendelijke groeten,

    Hans

    • Willem Aandewiel says:

      Hoi Hans,

      Ik denk wel dat dat mogelijk is. De ESP8266 heeft tijd (cycles) genoeg over om extra functionaliteit toe te voegen. Zo’n puls zou via een interrupt eenvoudig te realiseren zijn.
      Begrijp ik goed dat jouw zonnepannelen niet via de Slimme Meter hun energie doorgeven?
      Ik ben benieuwd naar hoe die SO pulsen “werken”.

  16. Hans Scholten says:

    Hoi Willem,

    Dank voor het vlotte antwoord. Jawel, de opwek van mijn zonnepanelen wordt doorgegeven aan mijn slimme meter, maar die trekt de opwek meteen af van het eigen gebruik en rapporteert alleen het netto resultaat. Om inzicht te krijgen in wat de zonnepanelen daadwerkelijk hebben opgewekt en wat daarvan meteen achter de meter is opgebruikt aan eigen verbruik heb ik een aparte kWh meter die alleen mijn zonnepanelen uitleest.
    Dit is een B+G e-tech drs155dc meter met een puls uitgang (S0) die 1000 pulsen afgeeft per gemeten kWh, zie https://bg-etech.de/download/manual/DRS155DCV3.pdf
    Volgens mij zijn die pulsen 5V en die lees ik nu in met mijn Arduino Mega. Omdat ik een nieuwe slimme meter heb gekregen (Sagemcom T210-D), kan mijn Arduino Mega die nu het programma Solarmeter van WijHebbenZon draait de baudrate van 115200 niet meer bijsloffen en moet ik dus naar een nieuwe oplossing zoeken.

  17. Theo Wissman says:

    Hoi Willem,

    Enig idee wat er hier fout gaat? Ik krijg de Schets niet geupload. Het lijkt eerst goed te gaan.
    Dit zijn de laatste regels van de foutmeldingen:

    • Willem Aandewiel says:

      Theo,

      Werkt het uploaden van bijvoorbeeld ‘blink’ wel naar een ‘gewone’ Arduino (UNO)?
      Kun je de blink sketch naar een ESP8266 uploaden?

      Zou het kunnen dat je niet de laatste versie(s) van de esptool.py en upload.py gebruikt?
      Heb je de goede versie van python geïnstalleerd (ik heb geen Windows en heb ook geen idee of je dat handmatig moet doen of dat python al standaard geïnstalleerd is).

      • T. Wissman says:

        Sorry voor mijn late reactie, maar de laatste tijd nog al druk gehad. Nu eindelijk weer wat tijd om met de logger te testen.
        Heb het probleem kunnen oplossen. Zodra de arduino tool echt begint met wegschrijven opnieuw de flashmode activeren en dan gaat het wel goed!!
        Hij heeft nu een weekje goed gedraaid, maar heb nu een ander probleem. Ik zie in de webinterface bij het tabblad ‘charts’ geen grafiek meer. En als ik in de webbrowser ‘http://ip-adres logger/getActual.json’ ingeef, krijg ik alleen maar een melding: FileNotFound
        Enig idee wat dit kan zijn?

        Mvg Theo.

        • Willem Aandewiel says:

          Hi Theo,

          Ik heb geen idee waarom je charts niet meer werkt. Je kunt proberen de data map opnieuw te flashen (esp8266 data upload tool) maar dan raak je wel je opgebouwde historie kwijt (behalve als je die eerst met de FSexplorer op je computer bewaard en later weer terug zet.
          Je kunt ook met de FSexplorer de .js files opnieuw uit de data map naar de DSMR-logger uploaden. Let er dan op dat de grootte ongeveer gelijk is met die op je computer.

          Als dat ook allemaal niet werkt dan de firmware opnieuw flashen maar dan eerst met de optie “erase all flash”. Daarna de data uploaden en bij het opstarten je WiFi credentials weer invoeren.

          Ik weet niet zo goed wat ja wilt doen met dat json file.

          Misschien moet je de documentatie van de restAPI even lezen.

          Succes

  18. ed says:

    Hallo Willem,
    Een zeer gedegen stuk werk.
    Tot mijn verbazing echter kreeg ik massas fouten in de compilatie, hoofdzakelijk van het type: “was not declared in this scope”, en het lijkt voornamelijk met de datum en tijd te maken te hebben.
    Heb daarom de Time library opnieuw geinstalleer en ook maar, maar geen verschil.
    Ik gebruik de 2.5.2 core voorde ESP
    Enig idee waar ik de fout moet zoeken?
    Hartelijk dank

    IK hecht de foutmelding aan, sorry, het is best lang
    ==================================

    • Willem Aandewiel says:

      Ed,

      Het lijkt erop dat je niet de hele map met sources hebt over gezet.
      Heb je dit helemaal gelezen en uitgevoerd?

      Anders zou ik het zo snel niet weten.

      • ed says:

        Dank voor je snelle antwoord.
        Dat heb ik inderdaad gedaan, de Zip gedownload van de link die jij aangaf en dat uitgepakt. Zelfs nog eens opnieuw geprobeerd, maar zelfde resultaat.
        Ik zal het allemaal nog eens goed nalopen en kijken of ik inderdaad alle files heb, maar aan downloaden en uitpakken kan toch niet zoveel verkeerd gaan. Ik hou je op de hoogte

      • ed says:

        OK, goed nieuws. Doet het. Wat was er mis?? weet het niet:
        Andere computer, verse installatie van Arduino IDE, opnieuw libraries en programma gedownload en geinstalleerd. Deze keer gecompileerd zonder de beeldscherm optie -> gaat goed.
        Wat nu het probleem was, ik weet het niet. Misschien dat mijn ‘oude’ IDE omgeving toch een beetje in de war was (Miljoen programmas, miljard libraries)
        Afijn, ik kan weer verder, en nogmaals complimenten over je gedegen werk

      • ed says:

        OK, feedback, ik denk dat ik het probleem gevonden heb: De IDE. Op mijn standaardcomputer gebruik ik versie 1.9.0, een ‘Nightly build’. De ‘maagdelijke’ computer waar het uiteindelijk wel op lukte had IDE 1.8.9

        Terug naar mijn standaardcomputer en daar IDE 1.8.4 en IDE 1.8.9 geprobeerd -> succes.
        Me dunkt dat de bouwers van de ‘nighly build’ toch een paar steken hebben laten vallen ‘s nachts.
        Verklaart misschien ook wat compilatie problemen in andere programmas.

        Nogmaals: fantastische software, echt uit de kunst, maar ik ga misschien nog een koppeling naar GoogleSheet toevoegen

        • Willem says:

          Ed,

          Als je zo’n koppeling naar GoogleSheets werkend heb ben ik geïnteresseerd hoe je dat gedaan hebt. Misschien kunnen we het standaard in de firmware integreren..

  19. Bas says:

    Beste Willem,
    Mooi project, zou het graag gaan proberen (en er 1 bestellen)
    Heb eerst gekeken of mijn smart-meter het zou kunnen ondersteunen. Daar loop ik tegen een probleem aan. De rj12 connector is in gebruik, en verzegeld. Er hangt een M bus RF module aan.
    Is er dan een andere manier om aan de gegevens te komen?

    Alvast bedankt,
    Bas

    • Willem Aandewiel says:

      Bas,

      Heeft er vóór jou iemand anders in je huis gewoond?
      Het zou een RF module kunnen zijn die de telegrammen op de band van o.a. Klik Aan Klik Uit verstuurd. Daar heb je dan weer een ontvanger bij nodig die je op een computer kunt aansluiten en waarmee je vervolgens de gegevens naar een domotica systeem kunt sturen.

      ==============================================
      Ik heb even wat DSMR documentatie doorgelezen en dénk dat die M bus RF unit in P2 of P3 zit.
      ==============================================

      Er moet ook nog ergens, onder een kapje een P1 poort zijn…

      Anders eerst even contact opnemen met je energie leverancier.

      • Bas says:

        Dank voor je snelle reactie!

        Jazeker – Maar weet niet of die dat daar heeft neergezet.
        Weet wel dat het uitlezen van de meters remote gebeurd. Dus ging er eigenlijk vanuit dat het hiervoor is.

        Zag ook de optie om een rj12 splitter te gebruiken. Dat zou alleen werken als het idd een P1 is. Ik ga nog eens goed kijken, en evt een fototje maken.

  20. Jos says:

    Dag Willem, ik vind dit een geweldig project en ik wil graag zelf een DSMR-logger bouwen. Echter, ik woon in België en in Vlaanderen wordt een meter van Sagemcom toegepast. Deze meter beschikt over twee user poorten P1 en P2. Voor zover ik kan beoordelen komt de informatie sterk overeen met de meters zoals die in Nederland toegepast worden. Weet je of de logger met de Sagemcom meters werken zal?
    In mijn huis gebruik ik een Raspberry Pi met Node-RED en MQTT. Kan ik de DSMR-Logger voor mijn MQTT broker configureren?

    • Willem Aandewiel says:

      Beste Jos,

      Ik heb geen ervaring met Slimme Meters in België. Wat ik over de Sagemcom meter gelezen heb is dat hij óók in Nederland gebruikt wordt en dán zou het, door de P1 poort, gebruikte protocol overeen moeten komen. Eventueel navraag doen bij de Energie/Slimme Meter leverancier over het gebruikte protocol en of de Slimme Meter 5Volt bij 250mA kan leveren.

      Alleen door het echt te proberen kunnen we zekerheid krijgen 🙁

      Integratie met MQTT is zeker mogelijk (op meer dan één manier). Lees bijvoorbeeld dit artikel.

      Ik hoor graag van je wat je bevindingen zijn!

      [29-07-2019]
      MQTT is gepland voor firmware V0.4.6

      • Jos Oude Vrielink says:

        Dank je wel Willem! Ik heb zojuist de kit besteld en ik zal je op de hoogte houden van mijn bevindingen.

  21. Wouter Iliohan says:

    Beste Willem,

    Wat een ontzettend gaaf project.
    Kun je dit project ook gebouwd en geprogrammeerd kopen? bouwen lukt wel maar op het gebied van programmeren schiet mijn kennis echt te kort.
    Verder wil ik weten hoe eenvoudig/lastig het is om met andere applicaties de logger uit te lezen. Ik wil hiervoor de applicatie DSRM-reader gebruiken, een project van Dennis Siemensma (https://github.com/dennissiemensma/dsmr-reader).
    Verder kan ik niet 1,2,3 vinden hoe je de wifi module aan je eigen netwerk kan koppelen.
    Moet je dit hardcoded inbrengen?
    Andere vraag mbt veiligheid, plannen om telnet te vervangen door ssh?

    Groet,

    Wouter Iliohan

  22. Wytse Bezemer says:

    Hi Willem,

    Geweldig product heb je. Inmiddels heb ik mijn V3 werkend en heb ik je nieuwste firmware erop draaien.
    Verder heb ik je nieuwe Firmware aangepast zodat het ook MQTT messages verstuurd om de X seconden (of mins). Alles werkt naar behoren en been zeer tevreden.

    Echter heb ik een vraag, ik heb zelf niet zoveel verstand van JS en kan dus niet helemaal alles reverse lezen/begrijpen.

    De data die ik heel graag wil staan in de files.
    – Energy Delivery Gisteren
    – Energy Delivery Afgelopen Maand
    – Energy Delivery Afgelopen year
    – Energy Delivery Vandaag
    – Energy Delivery Huidige Maand
    – Energy Delivery Huidig Jaar

    Kan jij mij wellicht vertellen hoe ik de files goed kan uitlezen zodat ik de juiste data mee kan sturen in mijn MQTT messages?

    Ik hoor graag van je,
    Wytse

    • Willem Aandewiel says:

      Beste Wytse,

      Dank voor het compliment.

      De gegevens die jij naar je MQTT broker wilt sturen zijn niet standaard voorhanden in de Slimme Meter.
      Maar je kunt ze natuurlijk wel berekenen. Daarvoor moet je (voor het verbruik huidige jaar) het record in PRDmonths.csv van december 2018 lezen. De key is “1812”. In dat record staan de eindwaarden van einde 2018 als “EDT1” en “EDT2”. Vervolgens lees je in hetzelfde bestand record 1 (dat is altijd de actuele periode) en daarvan trek je de waarden die je per december hebt opgeslagen af om het jaarverbruik tot nu toe te bepalen.

      In pseudo code:

      Voor de gegevens per dag werkt het hetzelfde. Voor PRDdays.csv is de key YYMMDD (190528 is 28 mei 2019) en ook in dit bestand is record 1 (niet record 0!!) de actuele dag (vandaag dus). In het uren bestand (PRDhours.csv) is de opbouw van de key YYMMDDHH (woensdag 17 juli 2019 00:00/24:00) heeft als key “19071700”.

      Ik hoor graag of het lukt en wellicht kun je je MQTT aanpassingen delen.

      • Wytse Bezemer says:

        Hi Willem,

        Thanks voor je reply, ik ga hier zeker naar kijken en hopelijk dit weekend al.

        Natuurlijk kan ik mijn MQTT aanpassing delen. Je kan mij het beste een email sturen waarop ik kan reageren met de txt file.

        Groeten,
        Wytse

        • Jos says:

          Dag Wytse

          Ik ben op zoek naar een MQTT koppeling tussen de logger en mijn Node-RED toepassingen. Ik begrijp dat jij dat al min of meer aan de praat hebt. Ben je genegen deze informatie met mij te delen?

          Met vriendelijke groet
          Jos

  23. Jordy says:

    Hoi Willem,

    Ik heb je printje gesoldeerd en webpagina etc laad correct.
    echter ontvang ik geen telegrammen.
    Mijn meter:

    Kamstrup 162 1-fase kleinverbruik RJ-11, 4-pins DSMR 2.2 9600 7E1

    Ik heb bij serial.begin aangepast naar 9600, SERIAL_7E1, de connectie van het kabeltje richting de meter heb ik aan moeten passen omdat volgens het www pin 1 van de meter links begint en niet rechts. Kun je mij helpen om het printje werkend te krijgen.

    • Willem Aandewiel says:

      Jordy,

      Ik heb géén ervaring met meters die niet aan DSMR 4.0 of hoger voldoen en de Kamstrup 162 is er daar helaas één van…

      Blijkbaar heb je zelf al het nodige onderzoek gedaan. Je hebt zelf al ontdekt dat er een RJ10/RJ22 (4P4C) kabeltje nodig hebt. Omdat de vier aansluitingen overeenkomen met de binnenste vier aansluitingen van de door de DSMR-logger gebruikte RJ12 (6P6C) connector kun je een standaard telefoonkabeltje met aan beide uiteinden een RJ10/RJ22 stekker tussen de Slimme Meter en de DSMR-logger gebruiken.
      Wat je bedoeld met “ik (heb de kabel) aan moeten passen omdat volgens het www pin 1 van de meter links begint en niet rechts” weet ik niet. Het is een “rechte” kabel dus of je van links-naar-rechts of andersom begint met tellen maakt voor de kabel weinig uit.

      Anyway: Je hebt de regel Serial.begin(); in Setup() volgens mij correct aangepast.

      Wat je nu nog moet doen is een (USB) voeding (5Volt) aansluiten tussen GND (J8) en +5V(J7) op de DSMR-logger.

      Volgens alle logica zou het dan moeten werken!

      Wil je een reactie plaatsen met je bevindingen? Daar heeft iedereen dan weer wat aan!

      Succes

      • Jordy says:

        Hey Willem,

        Oké ik ben een stap dichterbij de oplossing.
        Ik heb activiteit op de Data pin TX_SM tevens geïnverteerd op RX_SM dus dat werkt. maar nog geen gegevens op de webpagina.

        heb de RX pin van de USB >> serial kabel op RX_SM aangesloten om de kijken of ik daadwerkelijk een telegram ontvang en jawel ik ontvang telegrammen. dus tot aan de ESP chip komt alles goed binnen. Dan moet het bijna in de software liggen.

        Ik ga alles nog een keer programmeren zoals beschreven staat in de handleiding en kijken of het dan beter werkt.

        • jordy says:

          Alles opnieuw geprogrammeerd, helaas blijft het blauwe ledje aan en knippert niet, nadat verbinding is gemaakt met de WiFi.

          In mijn serial monitor programma kan ik duidelijk zien dat ik een telegram ontvang, echter de ESP lijkt niks te zien. Waar zou dit aan kunnen liggen.

          En ja ik heb de serial goed ingesteld na het opnieuw programmeren 🙂

          • Ferdy says:

            Heb je hier inmiddels een oplossing voor gevonden? Ik heb hetzelfde probleem, met twee bordjes en twee verschillende Iskra meters. (een oude type op 9600 baudtrate [Serial.begin(9600, SERIAL_7E1); ] en een nieuwe op 115200 / standaard instelling.) Het seriële signaal op de processor pin heb ik afgetapt en komt netjes binnen.
            M’n P1 kabeltje van Ali geeft overigens op beide meters ook een goed resultaat.

            Op het Oled blijft de melding staan”‘OK found, DSMRlogger.html, continue normal operation..”
            Ook is de DTR pin direct actief vanaf opstarten.
            De webserver doet het wél en geeft aan dat het free memory heap te laag is (na een paar minuten pas.). Verder geen meter informatie of iets zichtbaar met debug mode. Jammer we hadden ons erg verheugd op het loggen van onze Iskra meters , maar inmiddels weten we niet meer waar we moeten zoeken…

          • Willem Aandewiel says:

            Ferdy,
            Ik dénk dat firmware versie 0.4.5 al je problemen oplost.

            Wel de documentatie lezen.

    • Jordy,

      DSMRloggerWS v0.4.5 kan Slimme Meters van vóór DSMR 4.0 ‘lezen’!

  24. ed says:

    OK, vanmiddag dan eindelijk de schakeling gebouwd, op gaatjesprint met een Wemos D1 mini.
    Probleemloos werkend.
    je hebt aardig wat in die ESP weten te stoppen 🙂

  25. Gert says:

    Dag Willem,
    Heb DSMR 4 gelezen en hele V4-pakket ontvangen.
    De ondelenlijst bevat optinele onderdelen afhankelijk van welke voltages ik wens uit te lezen. Hoe en waarom zou ik dit willen c.q moeten weten? Heeft dit te maken met het type slimme meter? (landis + gyr E350)

    • Willem Aandewiel says:

      Beste Gert,

      De ADC interface is optioneel. De twee weerstanden (R12 en R13) hoef je niet op de PCB te solderen zodat je eventueel op een later tijdstip (als je de interface ergens voor wilt gebruiken) alsnog kunt bepalen wat voor spanningsdeler je nodig hebt.
      Zie ook deze pagina.

  26. Albert says:

    Hoi Willem,

    Top project!
    Gisteren avond V4 bouwpakket besteld plus display en vanmorgen geleverd.
    Binnen een half uur in elkaar gezet en gekoppeld aan mijn Homey.
    En alles werkt in 1 keer.

    Nog wel een kleine uitdaging te gaan omdat ik mij P1 signaal heb gesplitst naar mijn laadpaal en nu met het data request even uit vogelen wie ik de master laat zijn. Mijn voorkeur gaat uit om het signaal continu hoog te laten staan.

    • Willem Aandewiel says:

      Albert,
      Dank voor het compliment!

      Als je de Data Request line (vanuit de DSMRlogger) continue “hoog” wilt maken moet je deze aanroep:

          P1Reader slimmeMeter(&Serial, DTR_ENABLE);

      veranderen in:

          P1Reader slimmeMeter(&Serial, 0);

      en ergens aan het einde van setup() dit toevoegen:

            digitalWrite(DSR_ENABLE, HIGH);

      Heb jij de Homey intergratie ontwikkeld? If so, wellicht goed om daar op deze site melding van te maken!

      • Albert says:

        Willem,

        Ik heb de Homey integratie niet ontwikkeld.
        Alle eer is aan Tycho Schenkeveld.
        Door zijn Homey app ben ik op jouw site gekomen.

        • Bauke says:

          Hallo Albert en Willem,
          Ik heb al eerder een post hieraan gewijd maar ben nog niet verder gekomen. Wat ik wil is de slimme meter logger v4 samen met Toon (van Eneco) aan de p1 poort hangen. Recht-toe-recht-aan splitten werkt niet.
          Ook heb ik geprobeerd de data-request pin2 voor een van de twee niet te verbinden met de p1. Werkt niet. Ook andersom niet. Heeft iemand hiervoor een oplossing?
          Mvrgr, Bauke

          • Willem Aandewiel says:

            Bauke,

            Om te beginnen moet je controleren of je telegrammen binnen krijgt als je de DSMR-logger en Toon aangesloten hebt. Ga daarvoor met telnet naar de DSMR-logger en selecteer “Raw telegrammen” (de letter “p” intoetsen.
            Als de telegrammen die je dan ziet er “goed” uitzien en Toon werkt ook nog, dan moet je de enable-pin in de #define DTR_ENABLE 12 aan het begin van de Sketch weghalen (of even verderop “#undef DTR_ENABLE zetten).
            De DSMR-logger zal dan geen gebruik meer van de DTR pin maken.
            Niet getest, zo uit mijn hoofd.
            Succes en laat weten of dit werkt..

          • Bauke says:

            Hoi Willem, bedankt voor je snelle antwoord.
            De P1-split-met-Toon-situatie is als volgt:
            Ik heb al de datalijnen 2,3,4 en 5 uit P1 exact gekopieerd naar beide apparaten (Toon en de logger). in dit geval blijft Toon het gewoon doen en geeft de logger een continu blauw led.
            Met telnet (p) zie ik ook geen telegrammen langs komen.
            Vervolgens heb ik pin2 niet gesplitst (dus bv wel verbonden met Toon maar niet met de logger) en ook andersom geprobeerd. In beide gevallen op de logger een continu blauw led en geen telegrammen in telnet.

          • Willem Aandewiel says:

            Bauke,

            Als ik dit zo lees lijkt het dat de Toon de datalijn zodanig belast dat de DSMR-logger geen data meer binnenkrijgt. Als dat zo is gaat het dus niet werken. Je zult een manier moeten bedenken om de data lijn (elektronisch) te scheiden in een datalijn voor Toon en één voor de DSMR-logger.

          • Bauke says:

            Hoi Willem,
            By-the-way de splitsing is gewoon een ‘galvanische’ splitsing. Dus niet via opto-coupling.

  27. Jos says:

    Dag Willem

    Ik heb de print met display in elkaar gezet de software gecompileerd en geflashed. Alles lijkt op het eerste gezicht te werken met de Belgische meter. Ik heb de logger nu een klein uurtje aan de meter hangen maar -Power en +Power op het display blijft nul Watt. Ook op de URL is de actuele data overal nul. Wel zie ik waardes bij Energie verbruikt, Energie teruggeleverd, Verbruik T1 en T2, Levering T1 en T2. Van de actuele gegevens is enkel de spanning ingevuld en stroom ingevuld (zonder cijfers achter de komma).

    Kun je op basis van bovenstaande beoordelen of het P1 protocol compatible is?

    Ik zou nu verder willen gaan met MQTT en Node-RED. Beschik je over een voorbeeld waarbij de totalen uit de logger eens per minuut als tele message gestuurd worden?

    • Willem Aandewiel says:

      Beste Jos,

      [ik heb je comment verplaatst]

      Als de waardes die je bij Verbruik en Teruglevering ziet overeenkomen met wat je daadwerkelijk verbruikt (je kunt daarvoor het beste de meterstanden controleren met de meterstanden in de tabellen) dan werkt de Belgische meter met eenzelfde soort protocol. Blijkbaar geeft hij echter geen actueel verbruik door. Je kunt kijken hoe een binnenkomend telegram eruit ziet door met telnet op de logger in te loggen en dan het commando “P” te activeren. Je ziet dan de “raw” binnenkomende telegrammen voorbij komen.

      Ik begrijp niet wat je met “Ook op de URL is de actuele data overal nul” bedoeld. Worden alle andere rubrieken wel gevuld? Worden de Charts gevuld?

      Mocht jouw meter inderdaad het actuele verbruik niet doorgeven, dan kun je die berekenen aan de hand van de spanning en de stroom, maar dat is niet heel nauwkeurig.

      MQTT zit binnenkort standaard in de firmware (waarschijnlijk in V0.4.6) .

      Wat bedoel je met “tele message”? Gegevens uitlezen via de restAPI moet je van buiten de DSMR-logger initiëren.

    • Willem Aandewiel says:

      Beste Jos,

      In versie V0.4.5 zit een optie om de Power te berekenen als de SM deze niet geeft.

      Dit is de code daarvoor:

      Deze code moet je in de functie processData(MyData DSMRdata) opnemen na /*--update data set's--*/ en vóór de bepaling van de maxPower velden.

  28. jen says:

    Hi,

    Allereerst mn complimenten ik vind dit een erg mooi project geworden. Gisteren het soldeer werk af gekregen. Het flashen ging goed, dat data upload ding ging wat minder soepel maar uiteindelijk is dat ook gelukt:)
    Anyway, ik ben vooral geintresseerd in dit werkend te krijgen in Domoticz, maar ik ben geen (lua) scripting ninja. Ik blijf rond het IDX verhaal hangen. Moet zo’n var niet ook een type mee krijgen?

    en dan lines

    bvd,
    jen

    • Willem Aandewiel says:

      Beste Jen,

      Je kunt het beste contact met Michel opnemen. Hij heeft de intergratie gemaakt.

    • Michel says:

      @Jen,

      Sorry ik zie dit nu pas en krijg geen melding als er een reactie is.

      Mocht het nog niet niet werken dan komt dit waarschijnlijk om je in regel 37 en 38 het IDX hebt ingevuld op de verkeerde plek.
      De namen kun je beter niet aanpassen want dan komen die niet meer overeen met de rest.

      Timestamp_164 = moet zijn Timestamp_IDX = 164

      Je verwijderd dus de — en achter het = teken vul je het IDX nummer in.
      Dit herhaal je voor elke regel die je wilt opnemen in Domoticx en waar je een dummy voor hebt aangemaakt.

      • Jen says:

        @michel en ik zie t nu pas;)

        Dat had ik als eerste geprobeerd maar ik bleef vage errors houden. Assert faalt kennelijk niet erg gracieus. Lang verhaal kort ik had bovenin het script nog staan

        21 Firmware = "DSMRlogger2HTTP"

        en bij mij moet dat kennelijk Websockets zijn dus nu doet ie t een stuk beter. Super bedankt voor je script, ondertussen heb ik weer wat geleerd.

      • marco says:

        hoi,

        ik heb hier exact hetzelfde en krijg geen dat binnen in domoticz.

        met deze error in het log:
        2019-09-13 22:44:00.778 Error: EventSystem: in P1 esp Module: [string “- …”]:1: unexpected symbol near ‘-‘

        • Willem Aandewiel says:

          Hi Marco,

          Dus het flashen van de firmware is uiteindelijk gelukt?
          Wat heb je anders gedaan waardoor het nu wel ging?

  29. Allart says:

    Dag Willem,

    Vanmorgen heb ik deze print gesoldeerd en (met externe voeding) aan het werk gekregen. In de beschrijving (bij ‘vragen en antwoorden’) wordt daartoe isolatietape over de witte draad geplakt. Bij doormeten bleek dat ik juist de blauwe draad moest afplakken. Ik heb een Iskra AM550 meter, maar dat zou niet uit moeten maken, lijkt me. Het komt wel overeen met de beschrijving van DSMR5, waarin juist de blauwe draad pin 1 is. In ieder geval werkt het nu wel.
    Ik zie in je documentatie een mooie 3D afbeelding van het complete bord. Ik heb een begin gemaakt met een ontwerp voor een nette behuizing. Is de 3D file beschikbaar om het ontwerp goed te kunnen afmaken?
    Alvast bedankt,
    Allart

    • Willem Aandewiel says:

      Hallo Allart,

      In de documentatie staat ook dat je een RJ11 (6p4c) of RJ10 ‘telefoonhoorn’ (4p4c) kabeltje kunt gebruiken. Het gaat inderdaad om het isoleren van pin1 (die is gestandaardiseerd ‘wit’).

      Gerard is begonnen aan een 3D kastje (heeft hij ook voor de DSMR-logger V3 gemaakt) maar tijdgebrek heeft ervoor gezorgd dat die nog niet af is (ik zal morgen zijn ongeprinte, ongeteste versie op github zetten).

      Er bestaat geen 3D model van de DSMR-logger. Mocht je toch een mooi kastje ontwerpen dan hoop ik dat je die met ons wilt delen.

  30. Bart Uytterhoeven says:

    Dag Willem ,

    Ik heb het printje met display besteld en geïnstalleerd op een slimme meter in België.
    Alles start op maar ik krijg geen telegrammen binnen op het printje. Nu heb ik wat opzoeking gedaan naar de meter en hier vermeld men het volgende:

    4.3 Fysieke interface
    De gebruikerspoort wordt ingericht volgens het Nederlandse concept, nl. DSMR 5.0.2 P15.
    De fysieke en protocolimplementatie van de gebruikerspoort voldoet aan de specificaties beschreven in Hoofdstuk 5 en 6 van het document DSMR 5.0.2 P1 companion standard.

    4.4 Software interface
    De ter beschikking gestelde gegevens op de gebruikerspoort wijken licht af van die in Nederland (e.g. afsluitstatus). Dit komt door marktverschillen tussen Nederland en Vlaanderen. Hierdoor zijn de mogelijkheden van de digitale meter dus licht anders.
    Omdat bepaalde data-objecten uit de minimale ter beschikking gestelde gegevens niet beschreven staan in sectie 6.12 van DSMR 5.0.2 P1, werd een uitbreiding aan deze sectie toegevoegd. Deze uitbreiding en een aantal andere nuances zijn beschreven in het specificatie document (eMUCS – H). Via de website van netbeheerder Eandis6 kun je dit document downloaden.

    Kan ik de software aanpassen zodat dit werkt?

    groetjes Bart

    • Willem Aandewiel says:

      Bart,

      Kun je inloggen met telnet en dan de letter “P” intoetsen?

      De output die je dan krijgt (de ‘raw’ telegrammen’) zou ik graag van je ontvangen.

      Ook de output die met de letter “B” krijgt ontvang ik graag ..

      Maar natuurlijk kun je de dsmr library aanpassen conform de beschrijving.
      Van mij moet je niet al te veel hulp verwachten want de bibliotheek is in C++11 geschreven en .. daar snap ik echt niets van.

      Wellicht kan Matthijs je verder helpen (zie de arduino-dsmr library op github).

  31. Allart says:

    Of het een mooi kastje is geworden, mogen anderen beslissen.

    Het resultaat werkt voor mij prima!

  32. Bart Uytterhoeven says:

    Willem , Hierbij het resultaat dat ik heb verkregen :
    telnet P = [ 14736] websocketEve( 49): [0] Got message: [tabActual]
    Dit elke 10 seconden

    telnet B = hierbij krijg ik de volledige board info zoals beschreven in handleiding.
    ik heb hiervan een printscreen genomen . Ik zo deze kunnen bezorgen , maar gaat niet via deze weg.

    Groetjes Bart

  33. Jos says:

    Dag Willem

    Ik heb zojuist versie 4.7 geinstalleerd. MQTT werkt. Dat is al mooi. Dat ziet er zo uit:

    De meeste waardes zijn nul. Geen idee wat daar de oorzaak van kan zijn. Ik heb een Telnet sessie gestart maar dat geeft geen verder inzicht. Is e.e.a. het gevolg van het hebben van een Belgische meter? Kan ik meer debug info in Telnet boven water krijgen?

    • Willem Aandewiel says:

      Jos,

      Als de SM bepaalde waarden niet geeft, dan zijn ze uiteraard “0”.

      Kun je in telnet een paar “raw” telegrammen opvangen? Dit doe je met invoer van de letter “p” (had ik als reactie op je eerdere comment ook al aangegeven).

      Ik ben benieuwd wat voor telegrammen je binnen krijgt!

      Als je in telnet op [Enter] drukt krijg je een menu met mogelijkheden te zien. “v” geeft verbose output, nog een keer “v” nog meer output.

      Ook de documentatie geeft veel informatie!

      Misschien ook handig om de Board Info uit te vragen.
      Tenslotte: wat voor merk en type SM heb je?

      • Jos says:

        Dag Willem,

        Dank voor jouw bericht. Ik had al wel naar dde Telnet info gekeken. Hieronder de Board info:

        Hieronder een paar telegrammen.

        Mijn meter is van het merk Sagemcom uit de serie Siconia, type T211. Drie fasen meting.

  34. Albert says:

    Hier is mijn 3d behuizing met display te vinden.

  35. PimB says:

    Leuk idee!
    Ik heb er van de week 1 besteld, alles netjes gesoldeerd en aangesloten via een FTDI232-plankje… maar het uploaden werkt niet. Ik krijg de volgende fout:
    esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

    Nu lees ik online dat dit komt omdat de ESP niet in flash-mode komt…
    Ik zie ook geen enkel verschil tussen de normale mode en de flash mode. Het LEDje blijft branden, maar knippert nooit ofzo. Ik druk zoals in de doc, eerst op flash, dan reset, dan eerst reset loslaten en dan flash. Niks, nada, noppes.

    Wat doe ik verkeerd?

    • Willem Aandewiel says:

      Hi PimB,

      Als we ervan uitgaan dat je bij het solderen niets fout hebt gedaan, dan is de enige fout die ik kan bedenken dat je de TxD en RxD lijnen niet goed hebt aangesloten. Tx van de FTDI moet naar de RxD van de DSMR-logger en de Rx van de FTDI moet naar TxD van de DSMR-logger!

      Kun je dat nog eens controleren?

      • PimB says:

        Gedaan, met meerdere FTDI-plankjes. No rock n’ roll.

        Ik ga het eens op een Windows-laptop proberen, ik heb wel vaker problemen gehad met Arduino op de Mac.

        • Willem Aandewiel says:

          PimB,

          Wat vervelend.
          Je kunt inderdaad niet zien of de ESP-12 in Flash- of Normale-Mode zit maar onder normale omstandigheden moet het allemaal toch vrij probleemloos gaan (ik werk zelf uitsluitend met MacOS).
          Als je er toch niet uitkomt moet je de DSMR-logger maar naar mij opsturen. Dan probeer ik hem voor je aan de praat te krijgen.

  36. Bauke says:

    Beste Willem,
    Ik kan de Domoticz aansluiting (script van Michel) niet meer op GitHub vinden.
    Is dat niet meer beschikbaar? Een alternatief zou zijn een MQTT oplossing maar dat is lastig omdat Domoticz al specifieke kenmerken in het bericht wenst (idx). Niet bepaald een nette ontkoppeling van pub en sub.

  37. Bauke says:

    @Michel,
    Ik heb gebruik gemaakt van je lua script om data naar Domoticz door te zetten.
    Als ik in de log kijk dan zie ik de json data prima doorkomen.
    Echter in de virtuele sensors (ik heb er 3 aangemaakt om te testen) zie ik ik geen waarde hoewel ik de idx nummers goed heb opgegeven; ook heb ik het bijwerken van de dummy-switches onderaan geactiveerd.
    Heb je enig idee hoe dit kan Michel?
    Ik maak gebruik van de logger v4 en Domoticz 10.717

    • Michel says:

      @Bauke,

      Heb je de Debug optie al eens aangezet, mogelijk dat er dan meer te zien is waar het fout gaat. Plaats als onderstaan niets verhelpt ook eens een deel van de logging zodat ik kan zien wat er gebeurt.

      Belangrijk is dat je de namen in het script niet veranderd aangezien deze nodig zijn ivm JSON output. Je kunt de JSON output zelf controleren door in je browser te gaan naar http://DSMR-WS.local/restAPI?get=Actueel

      Waarbij je DSMR-WS.local eventueel kunt vervangen door het het ip-adres van jouw DSMR-logger.

      Controleer of deze namen nog steeds overeen komen met die in het script.
      Ik gebruik niet de meest recente versie van de firmware dus mogelijk is hierin nog iets veranderd.

      Kijk ook of bij onder commandArray={} ook de — hebt verwijderd. Je moet dus op 2 plekken de — verwijderen in het script.

      • Bauke says:

        @Michel,
        Wat je opnoemt, heb ik ook allemaal gedaan. Wat dat betreft had je het script ook duidelijk ingedeeld en goed aangegeven wat moet worden gewijzigd. De debug-logging had ik ook al aangezet en komt precies overeen met een losse RESTapi call.
        Ik denk dat jouw script prima werkt. !

        Overigens heb ik het idee dat het meer een issue is van domoticz zelf en de juiste type van de virtuele sensors. Ik vind dat niet voldoende flexibel maar moet nog wel wat experimenteren..

        • Michel says:

          @Bauke,

          Ik gebruik wel de beta van Domoticz en meestal de meest recente versie. Juiste type sensor staat er ook achter vermeld en daar werkt het bij mij wel dus op zich zou dat geen probleem moeten zijn. Mogelijk omdat jij de stable versie gebruikt dat hierin een verschil zit.

          Als je Domoticz vai een SD kaart draait zou je een image kunnen maken van je SD kaart en daarna voor de test upgraden naar de beta versie. Als het dan wel werkt weet je gelijk waar het probleem zit.

          Als je klaar bent met testen en je wilt terug naar de stable dan zet je de image weer terug op SD.

          Nu moet ik er wel bij zeggen dat Domoticz hier inderdaad niet heel overzichtelijk werkt en eigenlijk valt mij dat zwaar tegen. Ik wil tzt dit gaan omzetten naar
          Grafana icm InfluxDB aangezien het grafiek deel niet denderend is in Domoticz.

          En denk ook sterk om tzt over te stappen op HA omdat dit veel meer bied al is het instellen ervan weer een stuk lastiger. Maar eenmaal dat deel draaiend dan is iets toevoegen vaak weer veel eenvoudiger.

          Ik gebruik nu ook vaak mijn.energieinzicht.nl om een eenvoudig overzicht te krijgen en hoef je helemaal niets voor in te stellen alleen toestemming geven om 1x per dag je gegeven van je meter uit te lezen.

          • Bauke says:

            Hoi Michel,
            Las nog ff je reply terug. En wil nog ff melden dat je DSMR-logger script prima werkt.
            Bedankt hiervoor.
            Mvgr, Bauke

  38. Pieter Bollen says:

    Hallo Willem,
    Ik heb de arduino IDE op een Raspberry pi3 gezet en alles geïnstalleerd, op dit moment is de raspberry aan het compileren.
    Ik vraag me af of dit kan op een Raspberry aangezien de Raspberry nu al een uur bezig is,
    Er komen geen warnings alleen het ledje op de Raspberry knippert soms, verder zie ik niets gebeuren. Ik vraag mij af of dit wel gaat werken op met een Raspberry.
    Rasbian versie image 2019-7-10
    IDE versie 1.8.8.
    Kun jij aangeven hoe lang dit kan duren?
    met vriendelijke groet,
    Pieter

    • Willem Aandewiel says:

      Pieter,

      Ik heb geen enkele ervaring met de Arduino IDE op een Raspberry.
      Ik verwacht dat het moet kunnen werken maar .. als de Raspberry al “uren” aan het compileren is dan dénk ik dat er iets mis is. Ik zou eerst eens een simpel programmaatje (blink.ino) compileren en flashen. Kijken of dat gaat.

      • Pieter Bollen says:

        Dag Willem,
        dank je wel voor je snelle reactie, ik heb het e.e.a uitgeprobeerd en nu blijkt dat geen enkel programma compileert als ik bij bord kies voor de 8266, bij de keuze voor bijvoorbeeld een mega 2560 compileert hij wel blink.ino
        Heb jij hier een verklaring voor? Ik zal ongetwijfeld iets verkeerd doen maar weet niet wat.
        Met vriendelijke groet,
        Pieter

        • Willem Aandewiel says:

          Pieter,
          Ik heb echt geen idee en ook geen ervaring met deze setup.
          Het lijkt mij meer een vraag voor Raspberry, Arduino en/of ESP8266 core fora.

          • Pieter Bollen says:

            Willem,
            Dank je wel voor het geweldige stuk werk, het ziet er allemaal perfect uit.
            Ik ga proberen om de logger via mijn Apple te programmeren.
            met vriendelijke groet,
            Pieter

  39. jos says:

    Goeieavond Willem,

    net het printje gesoldeerd firmware geladen en data er in geladen ik dacht dit kan niet meer mis gaan! 😛

    helaas heb ik het probleem dat de DSMR niet overeind komt als AP op de wifi niet als ik hem aan de p1 poort hang niet als ik hem aan een 5v voeding hang (met 1e pen op RJ12 afgetaped) en ook niet als hij aan de computer hangt

    enig idee? solderingen zijn allemaal gewoon in orde voor zover ik kan zien

    met vriendelijke groet,
    Jos

    • Willem Aandewiel says:

      Jos,
      Heb je een DSMR-logger met OLED schermpje?
      Wat voor meldingen komen daarop voorbij?
      Wat doet het blauwe ledje op de ESP-12?

      Wat bedoel je met “niet overeind komt als AP op de wifi”?

      Als de blauwe led eerst knippert en daarna blijft branden dan moet je met je computer bij de WiFi settings een AP zoeken die DSMR-WSnnnnn heet en je computer daar verbinding mee laten maken. Vervolgens kun je de WiFi credentials van je eigen AP invullen.

      • jos says:

        met niet overeind bedoel ik dat ik de access point niet in de lijst met wifinetwerken zie op mijn computer/iphone/android toestel

        de blauwe led knippert zoals je documentatie aangeeft 3x langzaam en daarna continu na x aantal minuten begint de logger aan een reboot

        ik heb geen oled scherm maar heb wel met de seriele monitor de dsmr logger uit kunnen lezen

        22:37:23.576 ->
        22:37:23.576 -> ets Jan 8 2013,rst cause:2, boot mode:(3,6)
        22:37:23.576 ->
        22:37:23.576 -> load 0x4010f000, len 1384, room 16
        22:37:23.609 -> tail 8
        22:37:23.609 -> chksum 0x2d
        22:37:23.609 -> csum 0x2d
        22:37:23.609 -> v8b899c12
        22:37:23.609 -> ~ld
        22:37:23.676 ->
        22:37:23.676 -> SDK:2.2.1(cfd48f3)/Core:2.5.2=20502000/lwIP:STABLE-2_1_2_RELEASE/glue:1.1-7-g82abda3/BearSSL:a143020
        22:37:23.676 ->
        22:37:23.676 ->
        22:37:23.676 -> Booting….[v0.4.7 (06-08-2019)]
        22:37:23.710 ->
        22:37:48.281 -> *WM:
        22:37:48.281 -> *WM: AutoConnect
        22:37:48.281 -> *WM: Connecting as wifi client…
        22:37:48.315 -> *WM: Using last saved values, should be faster
        22:37:48.315 -> *WM: Connection result:
        22:37:48.315 -> *WM: 0
        22:37:48.315 -> del if0
        22:37:48.315 -> usl
        22:37:48.315 -> mode : softAP(86:f3:eb:78:53:8c)
        22:37:48.315 -> add if1
        22:37:48.315 -> dhcp server start:(ip:192.168.4.1,mask:255.255.255.0,gw:192.168.4.1)
        22:37:48.315 -> bcn 100
        22:37:48.315 -> [00:00:16] [ 21576] configModeCa( 43): Entered config mode
        22:37:48.349 -> [00:00:16] [ 21640] configModeCa( 45): 192.168.4.1
        22:37:48.349 -> [00:00:16] [ 21640] configModeCa( 48): DSMR-WS-84:F3:EB:78:53:8C
        22:37:48.349 -> *WM:
        22:37:48.349 -> *WM: Configuring access point…
        22:37:48.349 -> *WM: DSMR-WS-84:F3:EB:78:53:8C
        22:37:49.131 -> *WM: AP IP address:
        22:37:49.131 -> *WM: 192.168.4.1
        22:37:49.131 -> *WM: HTTP server started

        blijkt dus dat deze wel opstart maar zoals ik zeg ik zie hem niet in de lijst met wifinetwerken

        • Willem Aandewiel says:

          Jos,
          Aan de kant van de DSMR-logger ziet alles er prima uit. Het klopt dat hij, als hij na ongeveer drie minuten geen reactie op het AP krijgt, de DSMR-logger reboot.

          Ben je in de gelegenheid om de DSMR-logger bij iemand anders te testen? Als je daar wél het AP krijgt kun je de WiFi credentials van je thuis WiFi invoeren.

          • Jos says:

            Bij iemand anders testen als in bij iemand anders thuis of op iemand anders z’n telefoon?

            Ga ik dan zeker even proberen!

            Mijn gevoel gaat uit dat er iets mis is met de antenne ofzo van de esp zou dit kunnen of is dat gekke praat 🙈

          • jos van emmerik says:

            Willem,
            dankjewel voor je hulp en uiteraard het ontwerp! het is uiteindelijk gelukt om een 2e DSMR logger in elkaar te solderen zonder problemen door opencircuit goed geholpen bij de vervanging van de defecte logger even in het midden gelaten of ik iets fout heb gedaan of dat de esp-12 problemen had.

            al met al een redelijk eenvoudig soldeer project met een mooie uitgebreide uitleg hoe je alles stap voor stap moet uitvoeren!

            ik heb zelf nog gebruik gemaakt van de koppeling met Homey ook dit werkt prima!

  40. Pieter Bollen says:

    Hallo Willem,
    Allereerst nogmaals bedankt voor dit prachtige stukje werk en niet te vergeten je snelle en goede tips.

    De IDE 1.89 geïnstalleerd op een Raspberry PI 3, het compileren duurde erg lang om vervolgens in een hangup van de Raspberry te eindigen.
    IDE 1.85 geïnstalleerd daarna compileerde het programma prima.
    Tijdens het uploaden verscheen er een timeout, door nu nogmaals de Flash en Reset in te drukken ging het uploaden verder.

    Bij het testen kwam ik erachter dat de data niet was overgezet, geprobeerd de data te uploaden, dit lukte niet.
    Nu heb ik de soldeerverbindingen van de esp eens goed bekeken en een aantal opnieuw gesoldeerd. Het uploaden van de bestanden lukte nu perfect.
    Hierna kon ik ook de webserver gebruiken!

    Alles werkt nu, ik wil mijn project verder uitwerken om afhankelijk van de terug geleverde energie via MQTT apparaten aan of uit te schakelen.
    Indien iemand hier ervaring mee heeft dan hoor ik het graag.

    Willem graag kom ik in het bezit van het door jou geschreven sensor boek.
    Ik hoor graag hoe te bestellen.

  41. Camiel says:

    Hoi Willem,

    Eindelijk! Een manier om in mijn meterkast buiten mijn appartement en zonder stopcontact toch mijn stroomverbruik te kunnen gaan meten. Enige is dat het jammer is dat ik niet heel erg goed ben in solderen en dat weerhoudt me een beetje om de V4 aan te gaan schaffen. Hoe ingewikkeld is dit en bestaat er ook een mogelijkheid om dit bordje gesoldeerd (en eventueel geprogrammeerd) te bestellen?

  42. Michael says:

    Hallo Willem,

    even een vraagje…..
    Ik kan mijn logger via het thuis netwerk goed benaderen maar buiten mijn netwerk om wil de pagina niet laden.
    Ik krijg wel de tekst DSMR-logger en het mapje te zien.
    Via mijn laptop kan ik dat mapje niet aanklikken maar op mijn telefoon lukt dit wel en krijg dan FSexplorer.
    Ik heb via No-Ip een hostname die werkt.
    Portforwarding staat ook goed ingesteld.
    Als ik namelijk mijn port 80 doorverwijs naar mijn raspberry werkt dit goed.

    Of is het benaderen van de logger extern niet mogelijk?
    Alvast bedankt,
    groeten Michael

    • Willem Aandewiel says:

      Michael,

      De DSMR-logger maakt ernstig gebruik van WebSockets. Hiervoor gebruikt de firmware DSMRloggerWS poort 81. Hoewel ik er geen ervaring mee heb (als je van buiten je thuis netwerk op wil zou ik altijd aanraden om een VPN verbinding te gebruiken) lijkt mij dat als je poort 81 op dezelfde manier routeert als je nu met poort 80 doet, het zou kunnen werken.
      Hou er wel rekening mee dat als jij poort 80 van buitenaf kunt benaderen, anderen dat ook kunnen!
      Als je het “aan de praat” krijgt, schrijf je dan weer een comment?

      • Michael says:

        Hoi,

        ik heb nu poort 81 geforward naar de logger.
        Als ik nu het ip adres van mijn router invoer met daarachter :81
        dan krijg ik het volgende in mijn browser te zien:
        This is a Websocket server only!.

        Kan ik hier iets mee?

    • Willem Aandewiel says:

      Michael,

      Zo als ik al schreef: ik heb echt geen idee 🙁

      • Michael says:

        Hoi Willem,

        ik heb openVpn server om mijn raspberry geinstalleerd en nu werkt het wel.
        Nu kan ik buitenshuis de pagina wel laden.
        Ook heb ik alle poorten weer dichtgezet, behalve die voor de vpn server.

        Groeten Michael

    • Peter Creyghton says:

      Hallo Michael,

      Je kunt de DSMR logger benaderen als je zowel poort 80 als 81 forward naar het ip adres van de DSMR logger. Je kunt dan met je browser de webpagina benaderen, en de javascript code kan via port 81 de websockets benaderen. Ik heb dat net getest en het werkt prima.

      Succes,
      Peter

      • Michael says:

        Hoi Peter,

        bedankt voor de tip….
        Ik had alleen poort 80 of 81 ge-forward en dan laad de pagina niet.
        Wat ook opviel was dat de “Free heap” omlaag kelderde en in de rode cijfers kwam.
        Het lukt nu ook prima, en heb meteen een VPN server.
        En alle poorten van mijn modem staan nu dicht.

  43. Tom says:

    Hallo Willem,

    Wat een tof project. Zou het ook mogelijk zijn om er een ethernet aansluiting op te maken. Of zal dan wel een externe voeding benodigd zijn, of dan wel met POE. Ik ben niet zo van de wifi verbindingen behalve telefoons.

    • Willem Aandewiel says:

      Tom,
      Dank voor het compliment.

      Ik denk niet dat het héél moeilijk is om een ethernet variant te maken .. maar ík ga het niet doen.
      Volgens mij is juist draadloos communiceren de norm en waarom zou je moeilijk doen?
      De basis van dit project is een ESP8266 en laat die nou juist gemáákt zijn met alle mogelijkheden van WiFi!
      Of je voor ethernet een externe voeding nodig hebt is vooral afhankelijk van je Slimme Meter. De standaard schrijft voor dat deze minimaal 250mA moet leveren. Als je op de ESP8266 WiFi uitschakelt kun je volgens mij zonder problemen een ethernet ‘dingetje’ aansluiten. Er zijn nog genoeg GPIO pinnen over.

      Als je dat gaat doen: succes!

      En laat ons weten hoe je het gedaan hebt.

  44. Peter Creyghton says:

    Hallo Willem,

    Wat een ontzettend leuk project is dit! Ik heb het bouwpakket kado gekregen, en heb de print en de software zonder problemen aan de praat gekregen.
    Een collega van me wilde ook graag zijn slimme meter uitlezen, dus een tweede bouwpakket besteld, maar die kreeg ik niet aan de praat.

    In eerste instantie ging bij het aansluiten van de voedingsspanning via de USB programmer wel de rode led branden, maar zag ik niet dat de ESP spanning kreeg (de blauwe led licht heel even op bij mijn eerste print). Bij het doormeten bleek dat de ESP geen voedingsspanning kreeg. Na het opnieuw solderen van de Vcc op de ESP kwam de voedingsspanning wel door en zag ik ook de blauwe led even oplichten, maar kon ik de ESP niet flashen.

    Vervoglens heb ik de verbinding tussen de switches en de ESP doorgemeten en die was goed (de flash en reset kan ik meten op de ESP), en ook de rx/tx verbindingen waren in orde, net als de spanning op de Enable pin.

    Dus uiteraard even gecheckt of ik met de Arduino software mijn eerste bordje nog wel kan flashen, en dat werkte gewoon. Maar flashen van het nieuwe bordje met dezelfde software en programmer niet.

    Is het mogelijk dat de ESP beschadigt is geraakt doordat er geen voedingsspanning op de chip stond terwijl er wel signaal op stond?
    Wat kan ik nog meer proberen om de ESP aan de praat te krijgen?

    Vast bedankt voor je tijd,
    Peter

    • Willem Aandewiel says:

      Peter,

      Het is niet waarschijnlijk dat de ESP-12 beschadigt is geraakt door het ontbreken van de voedingsspanning.
      Ik denk dat het verstandig is om álle pinnen (boven en onderkant, de pinnen aan de achterkant worden niet gebruikt en hoeven ook niet gesoldeerd te worden) nogmaals te solderen. Hou er wel rekening mee dat zo’n pin maar één á twee seconden tot zo’n 280 graden verwarmt mag worden. Laat de ESP-12 dus na iedere pin even afkoelen en soldeer twee naast elkaar liggende pinnen niet direct na elkaar vast maar sla steeds een paar pinnen over.
      Als het dan nóg niet werkt zou de ESP-12 kapot kunnen zijn maar dat komt eigenlijk bijna nooit voor. Vervangen van de ESP-12 is een lastig klusje en daar heb je eigenlijk een hot-air gun voor nodig.

      Keep me posted!

      • Peter Creyghton says:

        Dank voro de snelle reactie!

        Ik ga alle pinnen opnieuw solderen. Dank ook voor de tip om een paar pinnen over te slaan, die informatie had ik wel gezocht maar kon ik niet vinden. Ik laat je weten hoe het afloopt.

        Gr. Peter

      • Peter Creyghton says:

        Opnieuw solderen van de contacten van de ESP-12 heeft niet geholpen. Ik heb de instellingen in de software nog een keer nagelopen, en verschillende keren geprobeerd te flashen maar geen witte rook (wat op zich een goed ding is 😉

        De temperatuur van mijn soldeerbout stond ingesteld op 375 graden, wellicht heeft de temperatuur het probleem veroorzaakt.

        Desolderen is niet mijn ding, dus ik ga een nieuwe kit bestellen.

        Gr. Peter

        P.S. De eerste print staat vrolijk data te verzamelen.

        • Dick says:

          Hi Willem,
          Prima projectje, met passende hardware en duidelijke software.
          Maar toch nog wat opmerkingen.

          -Mijn slimme meter kan blijkbaar de startstroom niet aan en schakelt dan af, om even later het weer te probereb. Resultaat een knipperende rode led. Het blijkt dat Elco C3 te groot is, daardoor te grote startstroom. C3 is door mij vervangen door 100microF en nu ok.
          -Ik heb een wat groter OLED display aangesloten(1.3″), deze heeft een SH1106 chip. Om hem te gebruiken is het alleen nodig om in oledStuff.h regel 62 aan te passen oled.begin(&SH1106_128x64, I2C_ADDRESS);

          -In de beschrijving wordt gesproken van het meten van de stroom van bv een solarpaneel. In de software heb ik hier niets van kunnen vinden, is het wel gerealiseerd? Als stroomsensor wordt de SCT013-030 genoemd, maar dit is een stroomtrafo die met hoge frequentie bemonsterd moet worden om de effectieve stroom te krijgen, lukt dat?

          Ik broed op nog wat aanvullingen, lukt dat, dan laat ik het weten.
          Groet,
          Dick

          • Willem Aandewiel says:

            Dick,

            Dank voor je comment.
            De meeste mensen (ik eigenlijk ook) denken dat een groter elco voor meer stabiliteit zorgt. Dat is ook zo, maar aan die grotere startstroom heb ik nooit gedacht (ik ben in mijn omgeving alleen Slimme Meters tegengekomen die blijkbaar volledig aan de DSMR-standaard voldoen en dus ook geen enkele moeite hebben met de startstroom. Ik was het probleem zelf dus ook nooit tegen gekomen). Ik hoop dat meer mensen met het knipperende rode ledje ook een kleinere elco plaatsen en terugkoppelen of dit het probleem ook voor hun oplost.

            Ik ontvang graag een fotootje van je DSMR-logger met dat grotere OLED scherm. Kan wellicht ook als compiler optie worden ingesteld.

            De firmware doet niets met de ADC ingang. Dat zul je dus zelf moeten uitzoeken.

  45. Dick says:

    Ik raad aan om de spanning op pin 3 van ESP12 te meten. Dit moet 3V zijn. Dit is de Enable pin. Bij mij zat daar ook een probleem.

    • Michael Kin says:

      Hoi Dick,

      ik heb net met twee verschillende waardes voor C3 geprobeerd. Maar op mijn KAIFA meter lukt het niet
      eerste poging was een 470uF 25V voor C3.
      Rode led ging aan en de blauwe led knipperde als een gek.
      tweede poging was een 100uF 63V voor C3.
      Rode en blauwe led knipperde als een gek.

      Dus orginele elco terug gezet RJ12 afgedekt en weer via externe voeding aan gesloten en start meteen op.

      groeten Michael

  46. Dick says:

    Hi Willem,
    Een fototje uploaden via deze relpay lukt niet. Als je mij een mailtje stuurt, krijg je een foto van de logger met 1.3″ Oled retour. Die dingen zijn bij Ebay voor iets minderals USD 5 te koop.

  47. Juno says:

    Hi Willem,
    Ik denk erover om je V4 te bestellen. Graag zou ik ook de watermeter willen integreren. Dit zal moeten gebeuren door het ‘wieltje’ te gaan tellen. Is hier ruimte voor in de firmware en pinnen op de ESP?

  48. Tony Knors says:

    Dag Willem, Werkt de V4 versie ook voor de Belgische slimme meters (P1 Versie 5 ?)

    Alvast bedankt en vriendelijke groet,

    Tony

    • Willem Aandewiel says:

      Hi Tony,

      Kort antwoord is “Ja”.
      Er zijn al meerdere landgenoten van je die de meter met succes gebruiken.

      Wel lijkt het dat jullie meters die alleen geschikt zijn voor 1-fase niet de, door de DSMRloggerWS firmware verwachtte data afgeven voor de “Actuele Chart”.
      Door bij het compileren de #define SM_HAS_NO_FASE_INFO actief te maken kun je toch deze actuele data in de web-gui zien.

      Zie ook de documentatie!

  49. marco says:

    hallo ik krijg de firmware er niet op…
    timed out waiting for packet header..

    hoe moet ik nu verder? zit al een avondje te puzzelen..

    groetjes marco

    • Willem Aandewiel says:

      Marco,

      Als je in de IDE de opdracht geeft om de sketch to uploaden, verschijnen er, na het compileren, een serie puntjes en streepjes. Als je op dát moment (is niet kritisch) de flash knop indrukt en ingedrukt houdt vervolgens op de reset knop drukt, deze weer los laat en dán de flash knop loslaat, moet het lukken.
      Normaal gesproken kun je dat ook al doen tijdens het compileren of zelfs daarvóór, maar sommige bouwers hebben ondervonden dat er “iets” naar de ESP8266 gestuurd wordt waardoor hij uit de flash-mode gaat.
      Mocht bovenstaande niet werken, dan heb je waarschijnlijk de Tx en Rx draadjes verkeerd-om aangesloten. Tx van de programmer moet naar Rx van de DSMR-logger. Tx van de DSMR-logger moet naar Rx van de programmer. Zie ook de documentatie!

      Laat even weten of het nu wel lukt.

  50. Allart says:

    Dag Willem en Dick,

    Bij mij was er geen knipperende LED, maar helemaal geen LED. Oftewel: externe voeding nodig.
    Net getest zonder voeding met een 100µF op C3. Dit werkt zonder problemen en stabiel. Ook de laatste firmware OTA geupload zonder problemen.
    Meter is een Iskra AM550.

    gr,
    Allart

  51. Marco dG says:

    Hoi Willem, mooi project. Toevallig had ik net zelf een print ontwikkeld toen ik dit tegenkwam. Ik heb helaas wel een vreemd issue. na ongeveer een minuut disconnect zowel de websocket als de telnet. Dit is op vaste tijdstippen (dus onafhankelijk wanneer je telnet of web socket connect). lijkt iedere 60 sec na boot te zijn. Ook de MQQT geeft een foutmelding dat ie niks kan versturen (kom niet boven de payload size). Heb al zo’s beetje alle combinaties van settings geprobeers (NO_meter, wel/geen display), draaien open een kale wemos D! mini (zonder print) voeding viaextern of USB. Maakt allemaal niks uit. Uitlezen meter gaat prima en display werkt ook prima. Enig idee waar ik dit zou moeten zoeken?

    • Willem Aandewiel says:

      Marco,
      Ik heb echt geen idee.
      Het meest voor de hand liggende is dat het met SPIFFS acces te maken heeft maar ik heb gewoon te weinig informatie.
      Wat helpt is een log van telnet met de optie ‘b’ (Board info) en wat log regels. Ook een (duidelijke) schermafdruk van de Systeem Info pagina is handig.

      • Marco dG says:

        Beste Willem, bedankt!

        Ik heb nu maar even een python script draaien wat de waardes via REST uitleest in een database zet – dus kan vooruit. Denk zelf dat het ergens in de compiler misgaat, misschien ergens toch een lib die niet helemaal lekker is. Het probleem is namelijk ook aanwezig als ik helemaal niks verander behalve HAS_NO_METER op aan zet en het op een kale WEMOS D1 mini draai gevoed via USB en zonder in de pcb te steken. Mijn pcb gebruikt een andere pin voor data_request en gebruikt de gewone serial – wilde kijken of dat wellicht een probleem was. Ik zal eens een stand-alone arduino IDE opzetten en alles opnieuw via de (werkelijk zeer goede) documentatie ‘kaal’ installeren. Het zou overigens wel heel fijn zijn als je in de bin van de github ook een 1.0.2. versie zou kunnen zetten, ik zie daar nu alleen oude verses staan – kan ik in elk geval kijken of dat helpt…voor de zekerheid de board info. Schermafdruk kan ik eventueel apart zenden

        Aanvullende info systeem Info pagina:

        • Marco dG says:

          kleine update: standalone (portable) arduino ide en proberen zoveel mogelijk de geteste versies van de libaries te gebruiken werkt niet: zelfde resultaat. Moet het ergens anders gaan zoeken. NB heb al jaren Sonoff Tasmotas werken over dezelfde wifi met mqtt en dat werkt zonder probleem.

  52. Dick B. says:

    Beste Willem,

    Heel interessant project! Recent heb ik een slimme meter gekregen (Landis+Gyr E360) en het leek mij heel geschikt om zelf de slimme meter uit te lezen.
    Ik heb het bouwpakketje (Versie 4) bij openCircuit besteld en in elkaar gesoldeerd. Als programmer gebruik ik een USB to Serial adaptor bordje, aangesloten op een Windows 10 laptop. De firmware en de data flashen lukt.
    Na de eerste keer opstarten, blijft de blauwe LED aan. Via mijn telefoon kan ik de SSID en het wachtwoord opgeven en opslaan. Na het herstarten van de DSMR logger (verbonden met de laptop) kan ik de web-pagina van de DSMR logger bereiken en ook via telnet inloggen op de DSMR logger. Zowel de blauwe als de rode led branden continue (wacht op telegram).
    Als ik de DSMR logger afkoppel van de programmer en aansluit op de slimme meter, start de DSMR logger op (rode led brandt continue), de blauwe led knippert 3x langzaam en blijft daarna aan. Ik kan geen verbinding maken met de DSMR logger. Niet via het ingestelde IP adres. Er verschijnt ook geen DSMR-WS netwerk op telefoon/computer.

    Enig idee wat er aan de hand is?

    • Willem Aandewiel says:

      Hallo Dick,

      Ondanks je uitvoerige uitleg mis ik informatie om hier iets zinnigs over te kunnen zeggen.
      Er zijn lichtpuntjes (de rode LED brand!). Dat de blauwe LED na drie x knipperen “aan” blijft zou betekenen dat hij geen verbinding met je WiFi netwerk kan maken en dus het Access Point weer opstart.
      Het zou helpen als je een kopie van de uitvoer van telnet post. Met name de board-info en SPIFFS info geeft inzicht in wat je hebt. Omdat je via de Slimme Meter geen netwerk verbinding krijgt volstaat deze informatie als de DSMR-logger op je PC is aangesloten.

      • Dick B. says:

        Bedankt voor je reactie, Willem.

        Boardinfo

        SPIFFS info:

        Als je meer informatie nodig hebt, hoor ik het graag. Alvast bedankt!

    • Willem Aandewiel says:

      Hi Dick,

      Vreemd. Je hebt alles, voor zover ik het kan zien, goed ingesteld. Jammer dat je geen OLED schermpje hebt, want die geeft wat meer inzicht in wat de DSMR-logger aan het doen is en waar hij dus, blijkbaar, stopt met werken.
      Volgens de documentatie start hij opnieuw het Access Point op. Dit gebeurd bijvoorbeeld als hij (in de meterkast) geen verbinding met je WiFi netwerk kan maken. Als hij opnieuw het Access Point opstart zal hij na ongeveer 3 minuten geen contact met een client opnieuw opstarten. Je ziet dan weer de blauwe LED 3x langzaam knipperen…

      Als dat niet het geval is dan wacht hij op een telegram en is de verbinding met je Slimme Meter niet in orde.

      • Dick B. says:

        Bedankt voor je reactie. Ik ga er een OLED schermpje aanhangen.

        • Dick B. says:

          OLED schermpje aangesloten en nieuwe firmware geupload. Schermpje werkt als een zonnetje!
          Als ik de DSMR-logger op de Slimme Meter aansluit, blijft het schermpje staan op:
          “Verbinden met WiFi”
          Zowel de rode als de blauwe led blijven branden (meer dan tien minuten gecontroleerd).

          • Willem Aandewiel says:

            Dick,

            Vreemd. Kan het zijn dat je geen (WiFi) dekking hebt in je meterkast?
            Ik stuur je een PM, dan kunnen we wat sneller schakelen.

  53. Wesley says:

    Hoi Willem,

    Geweldig project!
    Heb het printje besteld en gisteren gesoldeerd.
    Nu aan het voorbereiden voor de flash.
    Ik lees in het deel van Data Upload tool dit:
    Als er onder de map van je Sketch óók een map data staat, dan kun je de bestanden die in deze data-map staan met het Sketch Data Upload tool naar het SPIFFS van de ESP8266 flashen.
    Ik weet niet precies waar ik dit moet vinden? Als het er niet staat kan je het dan overslaan ofzo?
    Ik heb weinig ervaring met Arduino dus ben graag voorzichtig!

    • Willem Aandewiel says:

      Beste Wesley,

      Bedankt voor het compliment!

      Je hebt het Data Upload Tool echt nodig want er staan files in de map “data” die onderdeel van de DSMRloggerWS firmware zijn!

      Heb je alle documentatie goed gelezen. Alles wat je moet weten staat daarin!

      Succes

      • Wesley says:

        Het eerste deel van die pagina lukt wel. Het extra kopje sketch data upload staat er.
        Maar daarna snap ik het niet meer.
        De map tools staat in mijn sketch lokatie.
        In een andere map , DSMloggerWs staat wel de map data.
        Wordt deze bedoeld? Vanaf deze stap moet de logger aangesloten zijn of nog niet?

        • Willem Aandewiel says:

          Waar de map “tools” staat is niet belangrijk. Als in het “drop-down” menu de optie “ESP8266 Sketch Data Upload” staat, dan heb je de tool goed geïnstalleerd. Nadat je de firmware naar de DSMR-logger hebt geflashed kies je de optie “ESP8266 Sketch Data Upload” waarna de bestanden in de map “data” naar het SPIFFS file systeem van de DSMR-logger wordt geflashed. Klaar!

          • Wesley says:

            Ok ik denk dat ik dit deel snap.
            Nu probeer ik met mijn flasher te flashen.
            Krijg helaas melding:
            esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

            Ik had al gelezen dat dan vaak tx en rx niet gekruisd zitten, maar dit heb ik wel zo zitten.
            Nog een tip misschien?

    • Wesley,
      Heb je écht de documentatie goed gelezen?
      Als esptool geen verbinding met de DSMR-logger kan maken, dan heb je hem niet goed in flash-mode gezet. Soms is het nodig dat nog een keer te doen als de Arduino IDE al die …___…___ in het log window laat zien.

      • Wesley says:

        Ja heb denk ik alles meerdere keren gelezen, het zijn nogal wat pagina’s.
        Ik heb de knoppen flash en reset gebruikt om in flash mode te komen.
        als ik indruk zie ik een blauwe led branden.
        maar toch de foutmelding helaas

    • Willem Aandewiel says:

      @Wesley,
      Het enige dat ik dan nog kan bedenken is dat je ‘ergens’ een slechte soldeer verbinding hebt …
      Dat de blauwe LED heel even oplicht is normaal gedrag dus de reset en flash knoppen ‘werken’ (waarschijnlijk).
      Kun je met een multimeter controleren dat Rx en Tx op de program poort ook zijn verbonden met de ESP-12?

      • Wesley says:

        Alle solderingen bekeken en gemeten.
        Lijkt me goed.
        De TX en RX hebben ook connectie.
        Begin de moed op te geven, snap niet waar het mis gaat!
        Steeds dezelfde melding

  54. Wesley says:

    Bedankt voor de hulp bij de problemen die ik had met dit project.
    Blijkbaar lag het probleem bij mijn soldeer kunst en heb je dit snel gevonden voor mij!
    Erg blij mee.
    Nu kan ik komende tijd verder met het integreren in Home Assistant.
    Super!

  55. Marco Schilder says:

    Werkt top, dank hiervoor! Ik heb eerst een tijdje geëxperimenteerd met ESPEasy en de DSMR sensor in HomeAssistant, dan ziet HA eigenlijk direct wat de P1 poort kan leveren. Nadeel wat ik hiervan ondervond is dat het veel data (updates) zijn die er naar verloop van tijd voor zorgen dat de sensoren niet meer updaten.

    Met de DSRMLoggerWS en handmatig aangemaakte MQTT sensoren gaat het een stuk beter 🙂 Maar dan mis ik het actuele gasverbruik die ik eerder wel had. Eigenlijk zoals energy_delivered de tegenhanger van gas_delivered is, zoek ik nog een tegenhanger van power_delivered voor gas. Kan die sensor toegevoegd worden?

    • Willem Aandewiel says:

      Beste Marco,
      Als je gasmeter op de Slimme Meter is aangesloten komt het gasverbruik ook gewoon op de DSMR-logger binnen.

      • Marco Schilder says:

        Dat klopt! En ik zie op de web interface ook een waarde achter ‘Gas verbruik (M3)’ staan, maar dat is een waarde die alleen maar oploopt, net als ‘Energie verbruikt (kWh)’. Maar ik ben eigenlijk nog op zoek naar de actuele waarde van gasverbruik, zodat ik kan zien op welke momenten van de dag ik (het meest) gas verbruik. I weet dat de P1 poort die ook doorgeeft, maar hoe kan ik die aan de DSMR-Logger toevoegen? Of waar moet ik met HomeAssistant een JSON query op doen om deze waarde te krijgen?

        • Willem Aandewiel says:

          Het “actuele verbruik” (van de afgelopen vijf minuten) is de nieuwe eindwaarde van de vorige eindwaarde aftrekken.
          De Slimme Meter geeft die waarde niet zelf!

  56. Remco van der Meer says:

    Super mooi project! ben er erg blij mee, heb zelf de mqtt iets aangepast denk dat je met deze aanpassing heel veel mensen blij zou maken.
    Aan de MQTT Json de volgende onderdelen toevoegen:
    ElectricityTariff , EnergyDeliveredTariff1, EnergyDeliveredTariff2.
    Heb zelf PowerRetL1, PowerRetL2, PowerRetL3 Uit gezet omdat ik dit niet gebruik weet niet of de Json anders te groot word. Het zou ook mooi zijn om de MQTT Poort instelbaar te maken (na het flashen van de software) aangezien deze nu vast in de code zit:
    MQTTclient.setServer(MQTTbrokerIPchar, 1883);
    Dit miste ik een beetje in de software zou mooi zijn als dit er standaard bij in zou zitten bij de volgende update! (ook voor mij omdat ik inmiddels versie 4.5 ook heb besteld).

    • Willem Aandewiel says:

      Remco,
      Vanaf Versie 1.0.3 van de DSMRloggerWS firmware kun je de poort van de MQTT broker opgeven.

    • Willem Aandewiel says:

      Remco,
      De firmware vanaf v1.0.3 stuurt de volgende velden naar de MQTT broker:

Leave a Reply

Your email address will not be published. Required fields are marked *