Slimme Meter uitlezer

Slimme Meter uitlezer

[ 7,544 views ]

Zo langzamerhand zijn alle huizen in Nederland uitgerust met een “Slimme Meter”. Hoog tijd dus om een project te starten om deze Slimme Meter thuis uit te kunnen lezen en de gegevens op een door jouw gewenst formaat te presenteren.
In deze blog-post beschrijf ik hoe je, eenvoudig en voor weinig geld, zelf deze DSMR-logger (DSMR is een acroniem voor “Dutch Smart Meter Requirements“) kunt maken. Bij het ontwikkelen van de DSMR-logger willen we het volgende bereiken:

  • De hardware moet eenvoudig en goedkoop gemaakt kunnen worden;
  • De firmware van de DSMR-logger moet “Over The Air” ge-update kunnen worden;
  • Een beperkte historie moet intern opgeslagen en bewaard worden;
  • De DSMR-logger moet via een externe terminal benaderd kunnen worden (telnet);
  • De (historische) gegevens moeten via FTP van de DSMR-logger afgehaald kunnen worden voor eventuele externe bewerking [update: zie aan het einde van deze post];
  • De DSMR-logger moet via een browser de gegevens uit de Slimme Meter presenteren;
  • De gegevens moeten via een REST API opgevraagd kunnen worden;
  • De gelezen gegevens moeten eenvoudig verder verwerkt kunnen worden.

In een vervolg blog-post laat ik zien hoe we de gegevens naar een MQTT-broker kunnen sturen en hoe Home-Assistant moet worden geconfigureerd om deze gegevens in Home-Assistant te presenteren.


De techniek van de Slimme Meter

De Slimme Meter stuurt gegevens via de P1 poort (RJ12) in de vorm van een telegram naar buiten. Hoe de Slimme Meter dit doet en hoe een telegram is opgebouwd staat beschreven in dit document. Met name hoofdstuk 5 is interessant omdat hier wordt beschreven hoe de fysieke interface is opgebouwd. Hieruit blijkt o.a. dat de Slimme Meter 5 volt bij 250mA moet kunnen leveren, met kortstondig een piek stroom afname van 300mA. Hoofdstuk 6 beschrijft het protocol en de diverse velden.
Met dit document in de hand en een beetje Googlen vindt je al gouw meer informatie. Wij zijn niet de eerste en zeker niet de enige die de behoefte hebben om de Slimme Meter uit te lezen.
Zo heeft Matthijs Kooijman een werkelijk subliem stukje software geschreven om de telegrammen uit de meter te parsen en in hapklare variabelen op te slaan. Natuurlijk gaan we van deze bibliotheek gebruik maken. Je kunt hem hier downloaden.

Benodigdheden

Het belangrijkste onderdeel van de DSMR-logger is de processor. We gebruiken hier een ESP8266 voor omdat deze, behalve snel en voorzien van voldoende geheugen, ook via WiFi kan communiceren. Om de kosten laag te houden gaan we uit van een ESP-01 bordje (black edition) met 1MB geheugen. Daarnaast hebben we, behalve zes weerstanden en drie condensatoren (C4 is niet echt nodig maar kun je aanbrengen als je problemen ondervind met het verbinden met je WiFi netwerk), een NPN transistor (BC547) en een voltage regulator (MCP1700-3302E) nodig. Om de DSMR-logger met de Slimme Meter te verbinden heb je een RJ12 stekker met een stukje draad nodig. Ik heb op internet een RJ12 kabel gekocht (met twee RJ12 male connectoren) en deze door midden geknipt (update: Versie v3 maakt gebruik van een RJ12 connector).
Als je geen gebruik wilt maken van de DSMR-logger PCB dan heb je ook nog een stukje experimenteer board nodig.
De totale kosten komen uit op ongeveer € 20,-

Schema DSMR-logger

Hieronder zie je het schema van de DSMR-logger:

Grofweg bestaat het schema uit vier onderdelen (de vijfde, met de 5 volt en GND PWR_FLAG’s, is technisch nodig voor KiCAD maar is niet echt onderdeel van het schema).
Allereerst de verbinding tussen de Slimme Meter en de DSMR-logger. Het is het makkelijkst om de kabel direct op de DSMR-logger te solderen maar je kunt ook een Molex-male connector gebruiken (update: Versie v3 maakt gebruik van een op de print gesoldeerde RJ12 connector). Molex-connectoren kun je niet “verkeerd-om” aansluiten (dat zou vervelend zijn omdat je dan de 5 volt en Ground uit de Slimme Meter aansluit op respectievelijk Ground en 5 volt van de DSMR-logger wat de ESP-01 beslist niet zal overleven!). De aansluitingen op de DSMR-logger zijn gelijk aan die op de RJ12 plug (1 is verbonden met 1, 2 met 2 enz.).
Het tweede deel bestaat uit de spanningsregelaar die de 5 volt uit de Slimme Meter omzet naar 3v3 voor de ESP-01. Volgens de data-sheet van de ESP-01 gebruikt deze normaal 80mA en in pieken 200-250mA. De gebruikte MCP1700 kan maximaal 250mA leveren. Voldoende dus voor deze toepassing.
De ESP-01 zelf heeft slechts 8 aansluitingen. Twee voor de voeding (Vcc en GND), één voor de communicatie met de Slimme Meter (TxD) en drie pinnen die tijdens het opstarten “hoog” moeten zijn (CH_PD, GPIO0 en GPIO2). De laatste twee pinnen (RST en TxD) worden niet gebruikt.
Het laatste schema onderdeel, rond de BC547 transistor, heeft twee functies. Allereerst zorgt het ervoor dat de 5 volt data van de Slimme Meter de 3.3 volt input van de ESP8266 niet overbelast. Het is dus in eerste instantie een Level-Shifter. Maar daarnaast is het óók een invertor die het geïnverteerde signaal uit de Slimme Meter omzet in een non-inverted signaal voor de ESP8266.

De Hardware

Ik heb, als proof of concept, een eerste versie van de DSMR-logger op een experimenteer bordje gesoldeerd.

 

 

 

 

Hier zie je het uiteindelijke resultaat aangesloten op de Slimme Meter:

 

 

 

 

 

Toen bleek dat alles werkt zoals bedacht, heb ik met KiCAD een printplaat ontworpen.


 

Versie v3 (links)                                 Versie v1 (rechts)
 

Firmware op de ESP-01 installeren

Eén van de Design Goals is dat de firmware “Over The Air” (door de lucht) op de DSMR-logger gezet moet kunnen worden. Dat is ook gelukt maar je zult altijd een eerste keer firmware op de ESP-01 moeten zetten die deze functionaliteit biedt. Daarom ontkom je er niet aan om tenminste één keer de firmware via een bedrade manier naar de DSMR-logger te sturen. Daarnaast is het mij, tijdens het ontwikkelen van de software, meerdere keren gebeurd dat ik een bug introduceer waardoor het OTA uploaden niet meer werkt. Ook dan is de enige manier de firmware, zonder bug, bedraad naar de DSMR-logger te sturen.
Om de ESP-01 te kunnen programmeren heb je een programmer nodig. Een andere, goedkope oplossing is een speciaal programma in een Arduino-UNO te laden en dan een aantal aansluitingen te maken tussen de Arduino en het ESP-01 bordje.
De makkelijkste manier is het om een “ESP-01 to USB Adapter” te kopen en hier een kleine modificatie aan te doen (zie mijn blog-post Eenvoudige Programmer voor de ESP-01).

De Software

De software is in beginsel heel simpel (zie het voorbeeld dat bij de DMSR bibliotheek zit). Wil je echter wat meer mogelijkheden dan wordt het toch al snel een behoorlijk project!
De DSMR-logger gebruikt de volgende bibliotheken:

Deze moeten dan ook in je Arduino-IDE omgeving geïnstalleerd zijn.
Mocht je helemaal fris en nieuw met de Arduino IDE begonnen zijn, dan is het verstandig eerst deze post even te lezen!
Verder gebruiken we de simpele FTP server van David Paiva. Deze wordt als source direct in de DSMRlogger2HTTP sketch opgenomen (twee tab-bladen) en voor de include gebruik je daarom quotjes (“) in plaats van kleiner- en groter-dan tekens.

De speciale behandeling was nodig omdat ik kleine aanpassingen in de source heb gemaakt en niet wil dat deze, bij een library-update, verloren gaan.
De sketch bestaat in totaal uit acht zeven tab-bladen. Het hoofdprogramma, FTPserver.cpp, FTPserver.h, MenuStuff, OnderhoudStuff, SPIFFSstuff, TimeStuff, UpdateHTML en WiFiStuff. De software kun je als ZIP file downloaden van github en dan in je Arduino projecten map uit-pakken. Als je git op je computer hebt geïnstalleerd kun de repository ook clonen met het commando:

Er wordt dan, in de directory waar je het commando uitvoert, een map aangemaakt met de naam “DSMRlogger2HTTP” waar alle code in staat, inclusief een “data” directory om het bestand-systeem van de ESP-01 mee te vullen (hier staat ook het bestand “index.html” in).
In pseudo code ziet het programma er zo uit:

Het hoofdprogramma wordt eindeloos herhaalt en bestaat uit de volgende stappen:

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

81 Responses to Slimme Meter uitlezer

  1. Klaas says:

    Cool!!!

  2. Fred22 says:

    Kun je mij een prntje opsturen

  3. ArbeeYoebee says:

    Verkoop je ook alle onderdelen?

    • Willem Aandewiel says:

      Hi ArbeeYoubee,
      Ik was het niet van plan, maar als er voldoende belangstellig is wil ik dat wel gaan doen.
      Ik hou je op de hoogte!

    • Willem Aandewiel says:

      Hallo ArbeeYoebee,
      Ik heb voldoende onderdelen om ze als “setje” te verkopen.
      Een set bestaat uit:
      – het PCB
      – BC547
      – MCP1702-3302
      – de weerstanden
      – drie elco’s (de vierde is niet nodig)
      – een boxje van 72x50x28mm (hier is de PCB voor ontworpen)
      – Connector 4×2
      – RJ12 connector met kabel (~25 cm)
      Het setje kost €25,00 mét ESP01 of € 21,00 zónder ESP01 inclusief portokosten.

  4. Hallo Willem,
    Duidelijke uitleg!
    Is het leuk om hier een workshop over te organiseren?
    Als je nog zo’n printje over hebt hou ik mij in elk geval aanbevolen.

    • Willem Aandewiel says:

      Dank voor je reactie!
      Wat bedoel je met het organiseren van een workshop?
      Wil je dan bijvoorbeeld gezamenlijk PCB’s stucken?
      Of meer de mogelijkheden bespreken?
      Het idee spreekt mij wel aan 😉

  5. Gerard te Meerman says:

    Erg fraai project. Weer een mooi voorbeeld wat je met eenvoudige middelen kunt bereiken. Wat zijn de dimensies ? dan ontwerp ik er een 3d geprint kastje voor. Ik wil graag een paar van die printjes, want dit is een leuk kadootje voor familie en vrienden. Mijn ervaring met de andere vorm van de esp8266 in de Nodemcu versie zijn erg goed als fijnstof meter (zie luftdaten.info voor een bouwbeschrijving)

    • Willem Aandewiel says:

      Gerard,
      Dank voor het compliment.
      Die “fijnstof meter” is zeker een leuk project. Ga ik over nadenken 😉

  6. Mischa says:

    Hallo Willem,
    Leuk project, ik begrijp dat hiervoor de RF-functionaliteit van de “slimme meter” niet ingeschakeld hoeft te zijn? Je plugt in op de seriële poort van de meter toch?

    • Hi Mischa,
      Dank voor het compliment.
      Inderdaad, de RF (of GSM) functionaliteit hoeft niet ingeschakeld te zijn. De P1 poort zit op iedere Slimme Meter (maar pas vanaf versie 4.0 geschikt voor dit project – of je moet zelf een 5Volt spanning leveren via een oplader of zo) en is bedoelt om je verbruik’s gegevens zelf uit te kunnen lezen!

  7. edgard koopman says:

    heel gaaf project en erg netjes uitgewerkt. Stap voor stap ! zo zou het mij ook moeten lukken. Ik wil wel z’n printje kopen.

  8. Frederik says:

    Knap project.
    Wij volgen dit met interesse vanuit Vlaanderen omdat we hier vanaf 1/1/2019 ook allemaal een slimme meter gaan krijgen met P1-poort.
    Omdat hiermee de ‘terugdraaiende teller’ komt te vervallen is het verhogen van het eigenverbruik belangrijk voor mensen met zonnepanelen.
    Het zou dus geweldig zijn mocht het bepalen van het zelfverbruik ook mogelijk zijn met dit apparaatje. Hiervoor moet je dus wel de PV-productie kunnen binnen nemen.
    Je gaat in ieder geval een aantal Vlaamse volgers krijgen 🙂

    • Hi Frederik,
      Dank voor je compliment!
      De Slimme Meter geeft ook informatie over de terug geleverde energie .. alleen .. deze wordt gesaldeerd met verbruikte energie (als de zonne panelen op een “normale” groep zitten waar ook verbruikers op zitten).
      Stel dat je op een bepaald moment 100kW verbruikt en 50kW terug levert, dan toont de Slimme meter een verbruik van 50kW en 0kW terug levering. Als je op een ander moment 50kW verbruikt en je levert 100kW terug, dan toont de Slimme Meter een verbruik van 0kW en 50kW terug levering. De meter saldeert dus!
      Hoewel dat onhandig is heeft het straks, als de terug-lever prijs wordt los gekoppeld van de verbruik prijs (en je dus minder terug krijgt voor de energie die je terug levert dan dat je betaald voor de energie die je verbruikt) het voordeel dat je opgeleverde energie dus pas gaat leveren als je die zelf niet kunt gebruiken.

  9. Dag Willem, ik was zelf ook bezig met een dergelijk project voor mijn Home Assistant – installatie, maar was er nog niet aan toe gekomen om dit op een printje te zetten (het staat nu nog op een experimenteerbordje op een plank in de meterkast 😉 ), dus ik ben ook wel geïnteresseerd in een printje!
    Goed project, erg interessant!

  10. Bert Tammer says:

    Hallo Willem, een heel mooi en nuttig project. Complimenten voor de beschrijving!
    Ik zou graag een printje willen kopen. Maar mocht je ook complete bouwsetjes beschikbaar hebben (liefst met ESP01) dan ben ik daar ook in geinteresseed.

  11. Roland van Dalen says:

    Hoi Willem,
    Enexis heeft recent een smart meter bij mij geplaatst en ik zou die graag meerwaarde willen m.b.v. met jouw mooie project.
    Kan ik nog een printje van je kopen?

  12. Sjaak Leenders says:

    Hallo Willem,
    Heel mooi project !
    Echter , mijn leverancier heeft een ISKRA meter in mijn meterkast geinstalleerd.
    Is de layout van de telegrammen gestandaardiseerd cq merk onafhankelijk ?
    Zoja , ga ik dit nabouwen.
    Alavst bedankt voor je reactie,
    Vriendelijke groet, Sjaak Leenders.

    • Hallo Sjaak,
      Bedankt voor het compliment.
      In de handleining van de ISKRA meter staat dit:
      P1: Deze poort heet de gebruikersinterface.
      Door het aansluiten van daarvoor geschikte apparatuur, kunt u
      gedetailleerde informatie over uw energieverbruik uit de meter
      halen. Er zijn energieverbruiksmanagers zoals apps of slimme
      thermostaten te koop die u kunt verbinden met de slimme meter,
      waardoor u continu inzicht heeft in uw energieverbruik.
      Zie voor meer informatie: www.energieverbruiksmanagers.nl.

      De P1 poort zit in alle Nederlandse “Slimme Meters” en moet voldoen aan de Dutch Smart Meter Requirements (in de tekst van mijn post staat een verwijzing naar dit document).

    • Willem Aandewiel says:

      Sjaak,
      Ik zie dat je mijn boek ook gekocht hebt!
      Dank daarvoor.

  13. Thierry says:

    Hoi Willem,
    Tof project! Ik zou ook graag de onderdelen van je kopen :).

  14. Jos says:

    Hallo Willem,
    Wat een geweldig project met sublieme documentatie.
    Vorige week is de slimme meter geīnstalleerd.
    Wil heel graag printje , onderdelen incl esp01 van je kopen.

  15. Henrie says:

    Hoi Willen, dit is echt Top! Als het nog kan wil ik ook een complete set van je afnemen!

  16. Roland says:

    Hoi Willem,
    Mocht je weer setjes op voorraad hebben, laat even weten!

  17. Kees says:

    Hallo Willem , ‘t werkt op mijn slimme ISKRA! Een 10 met een griffel voor je werk en je service.

  18. Gilles van den Hoven says:

    Hoi Willem, EXACT waar ik naar op zoek was! Mijn Raspberry Pi zit nu nog tussen mijn SolarEdge systeem (via RJ45) en stuurt de data vervolgens via WiFi door naar de servers van SolarEdge en daarnaast doet de Raspberry Pi ook nog de p1 uitlezen en via MQTT doorsturen maar ik wil de Pi graag er helemaal uit hebben.
    Aangezien mijn netwerk PoE is ga ik de 2 verantwoordelijkheden van de Pi verdelen over 2 ESPs. Mocht je me 2 boardjes op willen sturen dan wil ik uiteraard de kosten vergoeden.

  19. Rob says:

    Hallo Willem,
    Mooi project!
    Ik zie dat opencircuit.nl inmiddels jouw printjes verkoopt. Ik neem aan dat je hiervan op de hoogte bent?

    • Hallo Rob,
      Het samenstellen en verzenden van setjes begon een beetje op werken te lijken.
      Daarom met opencircuit.nl afgesproken dat zij daar voor gaan zorgen. Door grotere volumes kunnen ze de setjes voor een lagere prijs verkopen.
      Groet!

  20. Wouter says:

    Hier ook warme interesse in een setje!

  21. JB says:

    Hoi Willem,
    Wat een leuk project heb je opgezet. Dit is precies waar ik naar opzoek ben.
    Als je nog setjes beschikbaar hebt, zou ik er graag 1 van je overnemen.

    • Hallo JB,
      Dank voor je compliment. Ik heb nog onderdelen voor een paar setjes, maar géén RJ12 stekker met kabel meer. Die kun je kopen bij Allekabels.nl (Telefoonkabel, Aansluiting 1: RJ12 Male (6p6c), Aansluiting 2: RJ12 Male (6p6c), Lengte: 1 meter, Productcode: 1181356).
      Ik stuur je een mailtje.

  22. jos says:

    hallo Willem,
    super project heb je daar ontwikkeld !!
    als je nog een compleet setje beschikbaar hebt met esp01, dan hou ik me aanbevolen
    met vriendelijke groet

  23. Niels says:

    Hallo Willem,
    Wat een leuk project, ik vind dit een heel leuke manier om m’n raspberry pi weer terug te krijgen uit de meterkast. heb je nog een compleet setje beschikbaar? (rj12 stekker/kabel heb ik nog wel)

  24. JB says:

    Afgelopen week de Slimme Meter uitlezer aangesloten. Installatie was zo klaar. Het werkt perfect! Super blij met dit apparaatje.

  25. Rob van Leeuwen says:

    Hoi Willem,
    heb je nog printjes? leuk om weer eens de soldeerbout te gebruiken.

  26. Ron says:

    Willem,
    Top project, werkt super, moest alleen wel de c4 condensator plaatsen om de esp te laten booten.
    Verder heb ik wat code toegevoegd zodat de data ook wordt ge-post op mijn server waar ik dsmr-reader heb draaien. Ik moet daar alleen nog de Timestamp van de gas-meting bij hebben maar ik heb geen idee hoe ik deze kan uitlezen. Heeft iemand een tip waar ik de gas-meting timestamp vandaan kan halen?

    • Hi Ron,
      Extra code toevoegen had niet gehoeven (maar mág wel natuurlijk) omdat via de RestAPI alle gegevens uit de meter opgehaald kunnen worden.
      Bijvoorbeeld:
      http://esp01-dsmr.local/getActual.json
      Geeft deze json-string terug:

      {
      "Timestamp":"181123160450W"
      ,"Energy_Delivered":"2184.380"
      ,"Energy_Returned":"819.326"
      ,"Gas_Delivered":"1354.23"
      ,"Energy_Delivered_Tariff1":"1019.522"
      ,"Energy_Delivered_Tariff2":"1164.858"
      ,"Energy_Returned_Tariff1":"239.922"
      ,"Energy_Returned_Tariff2":"579.404"
      ,"Power_Delivered":"0.583"
      ,"Power_Returned":"0.000"
      ,"Voltage_l1":"230.0"
      ,"Current_l1":"1"
      ,"Voltage_l2":"231.0"
      ,"Current_l2":"1"
      ,"Voltage_l3":"230.0"
      ,"Current_l3":"0"
      ,"Power_Delivered_l1":"279"
      ,"Power_Returned_l1":"0"
      ,"Power_Delivered_l2":"230"
      ,"Power_Returned_l2":"0"
      ,"Power_Delivered_l3":"73"
      ,"Power_Returned_l3":"0"
      }

      Ik heb geen idee hoe je de time-stamp van de gasmeter kunt opvragen .. maar zou die niet hetzelfde zijn als die van de slimme meter?

  27. Eric says:

    Hallo Willem,
    Zijn de setjes (https://opencircuit.nl/Product/13611/Slimme-meter-uitlezer-bouwpakket-met-ESP-01) helemaal compleet? Dus met alle weerstanden, kabel, RJ12, etc, etc.? En welke behuizing past het beste bij dit setje?
    ‘k Heb nu een RasPi in de meterkast hangen, werkt op zich prima, MAAR komt zojuist dit leuke project tegen. Deze set past veel beter bij mijn wensen, mede doordat het weer een stekker in de meterkast scheelt en de data ook lokaal opvangt.
    Solderen is op zich geen probleem, maar alle onderdelen bij elkaar harken wel. Qua handleiding ziet het er allemaal goed uit, ‘k durf het dus wel aan om dit in elkaar te “schroeven” 🙂

  28. Eric says:

    Hoi Willem,
    Complimenten, bordje werkt als een trein. Mocht je nog een idee hebben voor een update… ‘t Zou erg handig/fijn zijn om een RJ12 kabel direct te kunnen koppelen, dus met een connector. Maakt het leven gemakkelijker, zeker met de opencircuit set en de gevoeligheid met de kabelverbinding. M’n bordje bungelde in een onbewaakt ogenblik aan de RJ12 kabel en direct een gebroken contact punt :'(
    Maar verder alles top!

    • Hallo Eric,
      Bedankt voor het compliment.
      Inderdaad, die kabel is een zwakke schakel. Als je de logger in een kastje stopt wordt de kabel goed op zijn plaats gehouden en komen er geen krachten op te staan. Je kunt het ook oplossen door een paar druppels seconden lijn (of andere lijm) over de draadjes te leggen!

  29. Jasper says:

    Hi,
    als ik de slimme meter logger aansluit op de P1 poort lijkt hij op te starten en iedere 3 seconden serial communicatie te hebben. Zodra ik de ESP probeer te benaderen via de browser vindt er een reboot plaats. Als ik de esp enkel aansluit op 3.3v kan ik deze wel via de browser benaderen, maar dan is er geen data logging 🙁
    enig idee wat de oorzaak kan zijn?
    ik meet overigens 4.4v als ik de slimme data logger aansluit op een 5v voeding, beetje aan de hoge kant voor de ESP, maar hij lijkt dus wel op te starten en netwerk verbinding te maken.
    groet Jasper

    • Jasper,
      Meet je die 4.4volt in de aansluiting van de ESP-01? Dan is er echt iets niet goed! De MCP1702 moet een stabiele 3.3volt afgeven. Heb je alles goed gemonteerd en gecontroleerd?
      Omdat we niet weten wat voor ESP-01 je hebt is het veilig ervan uit te gaan dat je er één met een PUYA flash chip hebt. Heb je de instructie voor het geschikt maken van de Arduino IDE voor deze chipset gevolgd?
      Ik neem aan dat je de logger op je WiFi netwerk hebt aangemeld.
      Heb je ook de data upload gedaan?
      Kun je de logger via telnet (Putty) benaderen? Dat geeft wat meer uitsluitsel en dan kun je ook “zien” waar hij mee bezig is. Benader je hem daarna vanuit de browser dan kun je ook in de telnet sessie zien wat hij doet (en mogelijk zie je foutmeldingen).
      Iedere drie seconden “communicatie” is ook wat onduidelijk. Bedoel je dat de blauwe led om de drie seconden even aan gaat? Dat is geen normaal gedrag. Nadat de logger is opgestart (één/twee keer langzaam knipperen, daarna vier/vijf keer snel ten teken dat hij verbinding met het WiFi netwerk heeft gemaakt) moet de blauwe led (ongeveer) om de tien seconden even aan gaan. Al ander gedrag duidt erop dat er “iets” niet goed zit..
      Vanaf een afstand is het lastig te analyseren wat er niet goed gaat…

      • Jasper says:

        Hi Willem,
        ik vermoed dat er iets mis is met de MCP1702, soldeer werk nogmaals nagelopen, maar lijkt (nu) in orde.
        GND – Vin is ongeveer 5.2V
        GND en Vout is momenteel 0.3V, niet goed dus 🙁
        geen kortsluiting tussen Vin en Vout
        De firmware heb ik er opnieuw opgezet met de Esp.cpp PUYA patch, dat lijkt in orde te zijn als ik een stabiele 3.3V spanning op de ESP zet. Telnet interface is toegankelijk, er zijn geen foutmeldingen voor zover ik het kan testen zonder serial data met de P1 poort.
        is het de MCP1702 of kan het nog iets anders zijn? heeft iemand een adresje in de omgeving van Leiden waar klein elektronische onderdelen te koop zijn?
        groet,
        Jasper

        • Willem Aandewiel says:

          Jasper,
          Als je op mijn PM reageert met je adres gegevens, dan stuur ik je een MCP1702.
          Groet,
          Willem

          • Jasper says:

            Bedankt Willem,
            vandaag de MCP1702 ontvangen, direct vervangen op mijn board en het werk perfect.
            In de tussentijd ook nog even een header en connector van een oude IDE kabel gemaakt. De soldeerpuntjes direct op de draad waren te kwetsbaar, maar ik zie dat de nieuwe versie op opencircuit.nl al een connector aansluiting heeft.
            bedankt voor je hulp!
            groet,
            Jasper

  30. Eric says:

    Hi,
    Mocht er iemand aan het knutselen geweest zijn en vervolgens geen gasmetingen binnen krijgen? Bedenk dan even of je mogelijk een vervangende gasmeter hebt ontvangen. Het kan voorkomen dat de gasmeter niet op slave kanaal 1, maar op 2, 3 of 4 aangesloten is. Dit is op zich geen probleem, dingetje is alleen dat de telegram library er vanuit gaat dat de gasmeter op kanaal 1 is aangesloten…
    Lang verhaal kort, als je (kort door de bocht) de arduino-dsmr library iets aanpast (MBUS instelling) en daarna op je ESP-01 zet, dan werk het geheel als een trein 🙂
    Mijn trucje ging als volgt…
    1. Login via Telnet op je ESP-01
    2. Laat een telegram verschijnen op je scherm (zie menu voor de juiste optie)
    3. Ga op zoek naar de gasmeting. Een voorbeeld:

    0-2:24.1.0(003)
    0-2:96.1.0(47303033**************31333137)
    0-2:24.2.1(181202194007W)(00283.687*m3)

    In een gangbare situatie staat hier normaal:

    0-1:24.1.0(003)
    0-1:96.1.0(47303033**************31333137)
    0-1:24.2.1(181202194007W)(00283.687*m3)

    De 0-2 waarde geeft aan dat je gasmeter is aangesloten op kanaal twee van de slimme meter. Dit kan echter ook 0-3 of 0-4 zijn, al naar gelang op welk kanaal de gasmeter is aangesloten.
    Ga naar de arduino-dsmr library op je computer, deze is te vinden in de Arduino sketch directory er vervolgens in de libraries subdirectory. Je bent op zoek naar het bestand fields.h. Ergens rond regel 174 kom je de volgende constante tegen:

    const uint8_t GAS_MBUS_ID = 1;
    const uint8_t WATER_MBUS_ID = 2;
    const uint8_t THERMAL_MBUS_ID = 3;
    const uint8_t SLAVE_MBUS_ID = 4;

    De truc is om het ID achter GAS_MBUS_ID aan te passen naar het kanaal waar je gasmeter op staat. Vervolgens pas je, bijvoorbeeld, de watermeter (WATER_MBUS_ID) aan naar het andere ID. Resultaat bij mij:

    const uint8_t GAS_MBUS_ID = 2;
    const uint8_t WATER_MBUS_ID = 1;
    const uint8_t THERMAL_MBUS_ID = 3;
    const uint8_t SLAVE_MBUS_ID = 4;

    Nu nog even de boel opslaan en over the air de firmware update (pure luxe dat dit kan). Vanaf nu kun je genieten van gasmetingen. Althans… Dat was bij mij het geval.
    Hopelijk heeft iemand anders hier iets aan 🙂

  31. sanid says:

    Hallo Willem,
    ik heb er ook interesse in een printplaat…
    graag hoor ik het hoe en wat.
    Gr. Sanid

  32. Jasper says:

    weet iemand hoe de start stand genegeerd kan worden? het eerste tijdslot laat nu ruim 6600kWh zien. Ik kan wel een correctie waarde in de firmware invoeren, maar dat is niet zo elegant.
    Groet,
    Jasper

    • Willem Aandewiel says:

      Hoi Jasper,
      Op de /onderhoud pagina kun je het betreffende bestand naar je computer downloaden, aanpassen met een tekst editor (niet met een textverwerker!) en weer uploaden naar de logger. Vervolgens de logger opnieuw starten of in telnet de bestanden in het geheugen laden met het ‘G’ commando.
      Succes

  33. Wytse says:

    He willem,

    dit is precies wat ik zocht. ik was al zelf bezig, maar houd me aanbevolen als je not setje over hebt!
    Hoor graag van je!

    Groeten,
    Wytse

  34. Andy Puharich says:

    Hoi Willem,
    Ik ben al een tijdje aan het knutselen met je DSRM Logger bouwpakket maar krijg het niet werkende. De esp8266 is geprogrammeerd en werkt prima als ik ‘m via een ESP-01 USB Adapter op spanning zet. Dan kan ik inloggen en laad de webpagina zonder problemen. Maar als ik de esp8266 in het printje doe en aansluit op mijn slimme meter gaat alleen het rode ledje branden maar geen blauwe, hij gaat zelfs niet knipperen.
    Ik dacht dat ik iets verkeerd had gedaan met mijn eerste setje en heb een tweede besteld, nu de verbeterde versie V3 maar die doet hetzelfde. Ik heb een KAIFA MA304 slimme meter en ga ervan uit dat zijn P1 poort zou moeten werken. Ik heb twee wifinetwerken in mijn huis, heb ‘m voor beide proberen te configureren maar met beiden hetzelfde.
    Heb jij misschien een idee wat er mis zou kunnen zijn, ik zit met mijn handen in het haar!
    Bij voorbaat dank, Andy

    • Willem Aandewiel says:

      Hallo Andy,

      Wat vervelend.
      Hiervandaan is het moeilijk om een diagnose te stellen. De KAIFA MA304 maakt gebruik van DSMR 4.0 of zelfs hoger, dat zou dus moeten werken.
      Ik ga ervan uit dat je DSMR-logger, bij het áánsluiten op de slimme meter, behalve de rode (power) led óók het langzaam, en daarna vier á vijf maal snel knipperen van de blauwe led laat zien ten teken dat er verbinding is gemaakt met je WiFi netwerk (als dat niet gebeurd is er iets goed mis).
      Dat je twee WiFi netwerken in huis hebt maakt het gecompliceerder. Kunnen die twee netwerken met elkaar praten? Hebben ze dezelfde SSID? Kun je (tijdelijk) één netwerk uitzetten (en dan het netwerk dat het dichtst bij de DSMR-logger staat ‘aan’ laten?
      Kun je inloggen met een telnet client (bijvoorbeeld Putty, poort 23)? Je kunt dan in ieder geval iets meer zien dan nu.
      Benader je de logger via ‘ESP01-DSMR.local’? Als dat niet lukt kun je proberen of je hem wél via zijn IP-adres kunt benaderen. Om de hostname.local te kunnen gebruiken wordt gebruik gemaakt van het mDSN protocol. Het blijkt dat sommige (oudere) WiFi-routers dit protocol blokkeren. WiFi-extenders blokkeren dit protocol vaak ook.
      Hoewel het vreemd lijkt, blijkt dat sommige bouwers met hetzelfde probleem de RJ12 plug niet ver genoeg in de slimme meter hebben gedrukt! Je moet een duidelijk “klik” horen! Heb je ook geprobeerd om een 5 volt voeding (USB voeding of zo iets op de GND en 5V meet-punten) rechtstreeks op de DSMR-logger aan te sluiten en ‘werkt’ hij dan wel? Zo niet, dan is er toch ergens een slechte soldeer verbinding op het bordje…
      Als alles ‘klopt’ maar hij blijft weigeren te werken, stuur hem dan naar mij op (samen met het kabeltje). Ik kan dan wat beter bekijken wat er aan de hand is ..

      Succes!

      • Andy Puharich says:

        Hoi Willem, dank voor je uitvoerig antwoord. Ik heb even weinig tijd maar ga snel je adviezen uitproberen. Tot dan in ieder geval bedankt voor je creatie en hulp 🙂

        • Andy Puharich says:

          Hoi Willem,
          Ik ben ondertussen een stukje verder en heb je voorstellen geprobeerd. Het blijkt dat het boardje, aangesloten op de P1 poort, netjes 5 en 3 volt geeft maar als ik de esp8266 erin steek, de voltage naar zo’n 2.4 volt daalt. Ondertussen is ook een van mijn esp8266’s niet meer werkend te krijgen dus ik denk dat er iets goed mis is met de stroomvoorziening. Ik heb al mijn soldeerpuntjes onder de loep gehad maar zie niets wat niet klopt. Ik snap er dus niets van en zou graag ingaan op je voorstel om het geheel naar je op te sturen. Ik heb dan wel een adres van je nodig.
          Met vriendelijke groet, Andy

          • Willem Aandewiel says:

            Hoi Andy,

            Ik dénk dat je een zelfde probleem hebt als Jasper (10 December 2018 at 10:53)..

            Vermoedelijk is de MCP1702-3302 (de spanningsregelaar) kapot..

      • Rein says:

        Hoi Willem,

        Ik heb ook een DSRM-Logger gebouwd. Kitje van Opencircuit. In elkaar solderen was goed te doen. Laden van de firmware was iets lastiger. Maar uiteindelijk is het gelukt. Als ik hem nu met mijn KAIFA MA105A verbind knippert het blauwe ledje op de ESP01 even en verder niks. Ik heb een externe voeding aangesloten op de 5V en Gnd aansluiting van het bordje. Dan start hij op en krijg ik via de webpagina data te zien. Ik gebruik het standaard kabeltje dat is meegeleverd met de kit. Het kabeltje werkt, getest met kabeltester. Ik heb alle soldeerverbindingen nagelopen.
        Enig idee wat er mis is?

        • Willem Aandewiel says:

          Hallo Rein,

          Dat is weer een lastige.
          Hij doet het met een goede voeding, dus blijkbaar is de voeding van de KAIFA MA105A niet toereikend. Met name bij het opstarten (tijdens het verbinden met je WiFi netwerk) gebruikt de ESP8266 maximaal stroom (250mA á 300mA). De Slimme Meter zou dat moeten kunnen leveren … Heb je gekeken hoe hoog de spanning is die de KIAFA afgeeft? Zit hier een duidelijke dip in tijdens het opstarten (het mooiste is het als je dat met een oscilloscoop kunt bekijken)?
          Wat gebeurd er als je opstart met een externe voeding en die er dan af haalt (er van uitgaande dat je de voeding van de Slimme Meter gewoon aangesloten hebt)? Blijft de DSMR-logger dan wél werken?
          Ik weet niet wat voor elco in het setje mee geleverd wordt maar als de KIAFA niet genoeg vermogen levert zou je C3 en/of C1 kunnen vergroten als extra buffer. Bijvoorbeeld 1000uF.

          Keep me posted!

  35. Sven says:

    Beste Willem,

    Allereerst mijn complimenten voor je uitleg! Deze is duidelijk en zeer goed te volgen.

    Echter liep ik tegen het volgende aan: Op het board dat ik via opencircuit besteld heb zijn C2 en C3 van plek gewisseld ten opzichte van jouw uitleg en de bouwbeschrijving zoals op Github. Welke Elco moet waar?

    Groeten,

    Sven

    • Willem Aandewiel says:

      Hallo Sven,

      C2 en C3 zijn parallel geschakeld dus het maakt niet zoveel uit welke je waar neer zet. Zoals je op het plaatje hieronder kunt zien zit C3 achter de RJ12 connector. Dit is dus de 200-470uF elco.
      3Dview

      Succes met bouwen!

  36. Reinier says:

    Gaaf project!
    Ik ga m meteen bestellen om mee te stoeien!

  37. Reinier says:

    beste Willem,
    ik heb een beginnersvraag: staat alle software op dit circuitje en kan dit stand alone functioneren? Of moet dit circuitje nog worden aangesloten op een arduino-bordje?

    • Willem Aandewiel says:

      Hallo Reinier,

      Het is een volledig werkend systeem waar je niets anders bij nodig hebt!
      Eenmaal in elkaar gezet en van de firmware voorzien kun je de gegevens uit de slimme meter op je computer of tablet bekijken.
      Géén Arduino nodig (de ESP8266 draait moeiteloos rondjes om de Arduino 😉

      Veel plezier met het bouwen en gebruik.

  38. Reinier says:

    Dank je Wille!

Leave a Reply

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