DSMR-logger V4 (Slimme Meter uitlezer)

[ 4,985 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.

118 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).

  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.

  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.

  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.

  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?

Leave a Reply

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