Slimme Meter uitlezer

Slimme Meter uitlezer

[ 97,486 keer bekeken / 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.

Update: zie ook deze post, deze post en de officiële documentatie!

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.





Hieronder 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:

#include <ESP8266WebServer.h>            // Version 1.0.0 
#include <WiFiManager.h>                 // version 0.14.0 
#include <ArduinoOTA.h>                  // Version 1.0.0 
#include <TelnetStream.h>                // Version 0.0.1 
#include <FS.h> 
#include <TimeLib.h> 
#include <dsmr.h>   

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.

#include "FTPserver.h"          // Version "FTP-2017-10-18"

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:

         git clone https://github.com/mrWheel/DSMRlogger2HTTP.git

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:

Setup() {
					// hierin worden de gebruikelijke zaken ingesteld.
					// Stel de snelheid van de Serial
					// poort in
•	Serial.begin(115200, SERIAL_8N1)
					// Geef aan dat de LED aan een 
					// Output-pin zit
•	pinMode(BUILTIN_LED, OUTPUT)
•	SPIFFS.begin()		// Start het SPIFFS filesysteem
•	readHourData()		// Lees uur-data in het geheugen
•	readWeekDayData()	// Lees week-data in het geheugen
•	readMonthData()	        // Lees maand-data in het geheugen
•	setupWiFi(false)	// start WiFi
•	TelnetStream.begin()	// start de Telnet Server
•	ArduinoOTA.begin()	// configure Over The Air updates
•	reader.enable(true)	// Start de DSMR reader
•	Configureer webserver	// met “Server.on()” geef je aan welke functie moet worden
					// uitgevoerd als de browser een bepaald URL opvraagt.
					// Als de browser client bijvoorbeeld “/getActual.json” opvraagt
					// zal de functie “sendDataActual()” worden aangeroepen.
					// Deze functie zal vervolgens een JSON string opbouwen
					// met de actuele gegevens uit de Slimme Meter en deze terug
					// sturen naar de client.
		server.on("/getMeterInfo.json",   sendDataMeterInfo);
		server.on("/getActual.json",      sendDataActual);
		server.on("/getTableWeek.json",   sendTableWeek);
		server.on("/getTableHours.json",  sendTableHours);
		server.on("/getTableMonths.json", sendTableMonths);
					// De “root” URL “/” zal de file “/index.html” uit het SPIFFS
					// file-systeem naar de client sturen.
		server.serveStatic("/", SPIFFS, "/index.html");
	•	server.begin();		// start webserver
}	// setup()

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

void loop () {
  ArduinoOTA.handle();
  server.handleClient();
  #ftpSrv.handleFTP();  // vervallen
  handleKeyInput();
  reader.loop();	// hier wordt een compleet telegram opgebouwd
  if (millis() > waitLoop) {		// begin na 10 seconden met
    waitLoop = millis() + 10000;	// het inlezen van een nieuw
					// telegram
    reader.enable(true);
    digitalWrite(BUILTIN_LED, LED_ON);
  }
  if (!OTAinProgress) {
    		// reader.available() is true als er een compleet
    		// telegram is ingelezen.
    if (reader.available()) {
      //-- declaration of DSMRdata and DSMRerror must be inside
      //-- the “if”-statement so it will be initialized
      //-- in every iteration (don't know how else)
      MyData    DSMRdata;
      String    DSMRerror;
      TelnetStream.printf("read telegram [%d]\n", ++telegramCount);
      if (reader.parse(&DSMRdata, &DSMRerror)) { // parse successfull
        digitalWrite(BUILTIN_LED, LED_OFF);
        processData(DSMRdata);		// processData stopt de nieuwe
					// data in de interne tabellen
        if (Verbose) {
          DSMRdata.applyEach(showValues());
          printData();
        }
      } else {				// Parser error, print error
        TelnetStream.printf("Parse error %s\n", DSMRerror.c_str());
     }
    } // if (reader.available())
  } // if (!OTAinProgress)
} // loop()
This entry was posted in Arduino, Computer, DSMR-logger, ESP8266, Hardware, WiFi and tagged , , , , , , , , , , , . Bookmark the permalink.

120 Responses to Slimme Meter uitlezer

  1. Pingback: Slimme Meter Uitlezer versie 4Willem's Website

  2. Het is niet meer mogelijk om op deze post te reageren.

    Reacties kun je voortaan plaatsen op opencircuit.nl.

  3. Jos says:

    als er nog setjes beschikbaar zijn wil ik deze ook graag bestellen

  4. Klaas Marijs says:

    Hier hetzelfde verhaal. Heb een Kaifa MA304C.
    Het rode ledje brand wel, het blauwe ledje flitst even, maar er wordt geen verbinding gemaakt met het WiFi netwerk. Extern gevoed werkt het wel, maar dat wilde ik juist vermijden.. :(. Heb net ook nog geprobeerd te voeden via de USB poort van mijn Vera Edge, waar ik de P1 poort al op inlees, maar die trekt het ook niet. Onbelast is de spanning hiervan 7,2 V en met het printje eraan 5,5V (en netjes omgevormd naar 3,2V). Maar als ik de ESP-01 erin steek zakt de voeding naar 1,5V.

    • Willem Aandewiel says:

      Klaas,
      Uit je verhaal kan ik niet opmaken waar je die spanningen meet. Op de Vera Edge of op de DSMR-logger?
      Als de Vera Edge voldoende stroom levert en een stabiele spanning van ongeveer 5 volt hebt, maar op de logger zakt de spanning onder de 3 volt, dan is óf de spanningsregelaar (waarschijnlijk) óf de ESP-01 kapot.

  5. Andy Puharich says:

    Beste Willem en andere lezers van deze berichten,
    Vandaag eindelijk mijn slimme meter kunnen uitlezen met behulp van de DSRM Logger.
    Het heeft wel wat kruim gekost en voor de lezers van deze berichten som ik even op hoe dat verliep.

    1)
    Het solderen van de onderdelen ging prima al lagen de soldeereilandjes van de eerste versie (V1) inderdaad erg dicht op elkaar. Dat is opgelost in de nu te bestellen versie V3. Ook de RJ-12 connector op de print is een fijne verbetering.

    2)
    Het programmeren was voor mij een uitdaging omdat het totaal nieuw voor me was maar met de duidelijke instructie op de site en een Simpele ESP-01 Programmer, ook van opencircuit.nl, lukt dit uiteindelijk. Wel had ik de laatste versie van de ESP8266 Arduino core gebruikt (versie 5.0.0-beta), en pas toen ik terug ging naar de 2.4.2 (stable) versie kon ik de software foutloos uploaden. Mijn Arduino IDE wilde die board ook steeds updaten maar dat moet je dus niet laten doen

    red.: ondertussen is het probleem in de TelnetStream library opgelost en werkt deze ook met de ESP8266 core versie 2.5.0-beta

    Het bordje werkte toen prima als ik er via externe bron 5 volt op zette maar gevoed via de P1 kabel van mijn slimme meter wilde de wifi niet verbinden. Het rode ledje op de ESP-01 knipperde snel als teken dat te weinig stroom geleverd wordt en de blauwe van de wifi brandde helemaal niet.

    3)
    Lang verhaal kort; nieuw bordje, versie V3 besteld, super secuur gesoldeerd maar hetzelfde resultaat. Willem was zo vriendelijk om het geheel na te kijken maar bij hem werkte alles prima, bij mij nog steeds niet. Onze conclusie was dus dat het aan mijn slimme meter lag en daarom naar de energie leverancier gebeld voor een vervangende meter.
    KAIFA MA304
    De monteur die dat kwam doen mat echter een prima werkende P1 poort. Hij heeft zelfs nog gebeld met Willem om het probleem te doorgronden. Onze conclusie is dat de Kaifa MA304 niet aan de DSMR standaard voldoet. Die schrijft immers voor dat de meter 250mA continu moet kunnen leveren, wat deze slimme meter duidelijk niet doet! Helaas is er, volgens de monteur, niet genoeg reden om mijn meter te vervangen. ☹

    4)
    De oplossing is om de logger extern te voeden. Op de print zijn een 5 Volt en een GND pad te vinden en door hier een externe voeding op aan te sluiten (standaard USB voeding) van minimaal 300 mA omzeil je dit probleem. Wel is het noodzakelijk om de 5 V-voeding vanuit de slimme meter te verbreken, dit is de witte ader in het verbindingskabeltje.

    Of de verbinding op de print te onderbreken natuurlijk. De meter kan blijkbaar niet tegen externe stroom en verstuurt dan geen data.

    Nu werkt het super goed en kan ik eindelijk mijn energieverbruik goed in de gaten houden en me bewust worden van de stroomvreters in mijn huis. 😊

    Mooi project Willem, prima uitleg en fijn dat je het blijft perfectioneren. Ben benieuwd naar de software update waar je aan werkt.

    Bedankt voor je werk en hulp!

  6. Antoine says:

    Hoi Willem,

    Ik heb je setje via opencircuit.nl besteld, alles leek goed te gaan, en ik zie ook dat er telegrams verwerkt worden, dashboard werkt, enz. maar ik zie geen /onderhoud pagina. Blijkbaar is er toch iets fout gegaan?

    • Willem Aandewiel says:

      Antoine,

      Het enige dat ik me kan voorstellen is dat je niet de meest recente versie van de firmware van github hebt gehaald…

      Ik neem tenminste aan dat je de /onderhoud pagina via de volledige URL benaderd (“ESP01-DSMR.local/onderhoud” of “<IPaddress>/onderhoud”) ..

  7. Fabien says:

    Oeps, daar heb ik helemaal overheen gelezen. Had eerst nog een esp core versie waar nog maar 5 bordjes in stonden, toen meteen op update geklikt. Wel toevallig dat de library net nu geupdate is!

    Ik kon hem alleen nog via IP benaderen als de hostname benadering niet meer werkte. Na hem gisteren weer aangesloten te hebben heb ik het niet meer gezien. (omdat Enexis de gasmeter kwam vervangen had ik em er een dagje uit maar dat lijkt me niet relevant)

    Mijn wifi router is een Airport Extreme die achter de Draytek van T-Mobile hangt, mogelijk dat er in de Draytek nog iets fout gaat met mDNS.

    • Willem says:

      “Wel toevallig dat de library net nu geupdate is!”

      Valt wel mee. Ik heb hem gevraagd dat te doen 😉

      • Fabien says:

        Thx 🙂

        Ik heb de Draytek router van T-Mobile vervangen door een Edgerouter X SFP, nu lijken de mDNS problemen helemaal verdwenen.

  8. Fabien says:

    Hoi,

    Het was een leuk project om in elkaar te zetten, de programmer was uitverkocht dus heb het met een FTDI chip gedaan, extra uitdaging.

    Voor mensen die hier ook tegenaan lopen, er zit een bug in de Telnetstream library die ervoor zorgt dat je met de nieuwste ESP library niet kan compileren https://github.com/jandrassy/TelnetStream/issues/2

    Ik heb de genoemde regel aangepast en nu werkt het wel.

    Echter lijkt het mDNS stuk af en toe niet te werken, de ESP is dan niet meer via hostname maar wel nog via IP benaderbaar.

    • Hi Fabien,

      Inderdaad geeft versie 2.5.0-beta van de ESP8266 core een foutmelding. de void functie TelnetStreamClass::flush() geeft schijnbaar een value terug (wat niet echt zo is omdat de functie client.flush() óók een void functie is). Toch is het niet helemaal netjes geprogrammeerd (zoals Juraj Andrassy ook al aangeeft in zijn commentaar over dit probleem).

      Aan de andere kant gebruik je een ‘beta’ versie van de ESP8266 core terwijl mijn post duidelijk aangeeft dat je versie 2.4.2 moet gebruiken.

      Voor lezers die niet op een update van de bibliotheek kunnen wachten: regel 59 in TelnetStream.cpp moet worden aangepast:

      Juraj Andrassy heeft de library nét (as we speak) ge-update. Je hoeft nu dus zelf geen aanpassingen meer te doen. Om de nieuwe versie te installeren moet je vanuit github op [Clone or Download] klikken en dan op [Download ZIP] klikken. Dan éérst de map TelnetStream-master uit de Libraries map verwijderen en dan via Sketch-->Include Library-->Add .ZIP Library opnieuw installeren.

      56  void TelnetStreamClass::flush() {
      57    if (disconnected())
      58      return;
      59    return client.flush();
      60  }
      

      moet zijn:

      56  void TelnetStreamClass::flush() {
      57    if (disconnected())
      58      return;
      59    client.flush();
      60  }
      

      Dat je de DSMR-logger niet altijd via de hostname kunt benaderen is vreemd. Ik ben wel op de hoogte van bepaalde routers en vooral WiFi extenders die helemaal geen mDNS toestaan. Kun je de DSMR-logger, als je hem niet meteen via de hostname kunt benaderen, later wél met ESP01-DSMR.local benaderen?

  9. Peter says:

    Allereerst hulde aan dit project!

    Wat mij echter opvalt in het proces is dat de documentatie, voornamelijk het gedeelte firmware uploaden, niet heel erg duidelijk is omschreven. Sommige zaken moest ik uit de comments halen om verder te geraken.

    Ik zal aan de hand van mijn ervaringen een handleiding produceren en deze aan Willem toekennen. Mogelijk dat andere gebruikers hier baat bij hebben.

    • Willem Aandewiel says:

      Hallo Peter,

      Het is bij ieder project altijd moeilijk om een beginpunt te bepalen waar iedereen mee uit de voeten kan. Ik geef in mijn post ook aan dat ik uitga van kennis van, het gebruik van, de Arduino IDE.
      Ik weet dat er honderden posts zijn die dát onderdeel uitleggen. Ik wilde daar niet nóg een post aan toevoegen.
      Maar ik ben zeker benieuwd naar jouw ervaring en mogelijk dat je die als post op mijn site wil plaatsen.

  10. Bram van de Kerkhof says:

    Je beschreef dat je ook nog de koppeling naar HA zou beschrijven. Ik kan die niet direct vinden. Had je dit al gedaan?

    • Willem Aandewiel says:

      Hoi Bram,

      Nog niet gedaan, maar ik zal je een PM sturen hoe ik het zelf gedaan heb. Moet ik wel eerst weer even wat RPi’s booten ..

      • Stefan says:

        Hallo!

        Ik heb vandaag ook dit bordje werkend gekregen, en ik ben eigenlijk ook wel benieuwd naar de koppeling met Home Assistent.

        Zou ik deze PM ook kunnen ontvangen?

  11. Erik says:

    Hoi Willem,

    kheb weer paar stappen verder..
    Project even opnieuw gedownload en neergezet

    Heb nu ….
    De schets gebruikt 388712 bytes (43%) programma-opslagruimte. Maximum is 892912 bytes.
    Globale variabelen gebruiken 46080 bytes (56%) van het dynamisch geheugen. Resteren 35840 bytes voor lokale variabelen. Maximum is 81920 bytes.
    Serial port not selected.

    Waar moet dat ?

    groeten Erik

    • Willem Aandewiel says:

      Bij de selectie van het board (Generic ESP8266) moet je onderaan opgeven op welke poort je de programmer hebt aangesloten.
      Pas dán kun je firmware naar de ESP uploaden!

  12. Willem Aandewiel says:

    Ik heb tot nu toe een aantal meldingen gekregen van mensen met een Slimme Meter van het merk KIAFA, type MA105

    Het symtoom is dat de róde led bij het aansluiten ‘knippert’. Dit duidt erop dat de DSMRlogger niet genoeg stroom uit de Slimme Meter krijgt. De rode led moet bij het aansluiten constant branden!

    De KIAFA MA105 voldoet blijkbaar niet aan de DSMR 4.0 standaard!

    Je kunt dit oplossen door een USB voeding aan te sluiten op de GND en +5Volt punten op de DSMRlogger print.

  13. Antoine says:

    Beste Willem,
    Ik heb lol gehad met je boardje van opencircuit. Ben compleet nieuw met IOT en ook met solderen.
    Het meter uitlezen lukt bijna…..

    Los van de meter, gevoed met een 18650 accu (3.9v) op de 5v en GND plekjes op het boardje, is de ESP-01 te pingen en ESP-DSMR site op te vragen. Alle tabellen zijn natuurlijk leeg.

    Aangesloten aan de meter, meet ik 5 en 3.2 volt op de 5 en 3v3 plek op het boardje. Maar is de ESP-01 niet te pingen en geen ESP-DSMR site.
    ESP-01 ledje geeft af en toen flits. Maar ik start dus niet echt op lijkt het.

    Nu zit ik vast.
    Kan het zijn dat mijn meter te weinig amperage geeft?
    Moet ik de GND los aarden, buiten de meter?
    Is het verstandig om de battery ook aan te sluiten als het boardje in de meter zit?
    Ik ben vooral bang dat ik met dit soort acties de slimme meter zelf stuk maak.

    Weet jij met deze beschrijving wat ik verkeerd doe?

    • Willem Aandewiel says:

      Hallo Antoine,

      Je schrijft niet welk ledje ‘af-en-toe’ een flits geeft .. Als het de rode led is, dan lijkt het op hetzelfde probleem dat Andy heeft (zie hier)

      Wat voor Slimme Meter heb je (Merk, Type, DSMR versie)?

      Als de blauwe led af-en-toe flitst zou dat normaal gedrag kunnen zijn (hij flitst bij het verwerken van een telegram).
      Belangrijk is om de controleren hoe de logger opstart. Het langzaam en snel knipperen van de blauwe led geeft aan of hij -al dan niet- verbinding met je WiFi netwerk maakt.

      Andy heeft het probleem met zijn meter aangekaart bij de netbeheerder en krijgt volgende week een andere Slimme Meter..

      Als de rode led niet constant brand krijgt de logger niet genoeg stroom uit de Slimme Meter. Als test kun je dan de batterij aansluiten en dan de Slimme meter aansluiten (de 5 volt uitgang van de Slimme Meter zou daar tegen moeten kunnen!?) en kijken wat er gebeurd. Mocht alles dan werken, dan is de Slimme Meter niet in staat 250mA te leveren, wat volgens de DSMR 4.0 wél zou moeten!

      • Antoine says:

        Hallo Willem,

        Met een extra voeding werkt de zaak wel.
        Ik heb een Kaifa ma105c meter. KFM5KAIFA-meter op de site van de ESP-01.
        DSMR versie is 42.

        De rode led heb nog nooit gezien. Ook nu niet.

        • Willem Aandewiel says:

          Fijn dat het zo wel werkt!

          Dat je geen rode led ziet is wel vreemd … waarschijnlijk is de rode led kapot?!?

  14. Reinier says:

    Beste Willem,

    het solderen is klaar en gecontroleerd op kortsluitingen. Ik heb IDE gedownload en de noodzakelijke bibliotheken gedownload van github en geinstalleerd.
    de map DSMRlogger2HTTP is aangemaakt in mijn projectenmap, inclusief alle inhoud
    Verder heb ik de Data-Uploader-tool gedwonload en geinstalleerd.
    Ik maak gebruik van de “eenvoudige ESP programmer” uit een van jouw posts”
    Verder dan dat kom ik echter niet.
    Als ik als vervolgstap klik op “hulpmiddelen->ESP8266 Sketch Data Upload”, dan zie ik in IDE de statusmelding “Uploading 131072 bytes from /var/folders/44/d20grd2j5pddpyw4nj68r_4w0000gn/T/arduino_build_144048/DSMRlogger2HTTP.spiffs.bin to flash at 0x000DB000” en eindigt die met “100%”.
    Als ik vervolgens de ESP-programmer weer in normale modus zet en hem met de ESP erin in een USB poort stop, knippert het blauwe lampje maar 1x en zie ik het wifinetwerk AI_THINKER_725682 verschijnen. En daar houdt het avontuur verder op.

    Ik heb (beginner als ik ben) in de IDE interface ook op de “upload” knop gedrukt in IDE, in plaats van de meni-optie “hulpmiddelen->ESP8266 Sketch Data Upload”. Dan gaat IDE de/een sketch compileren maar krijg ik allemaal foutmeldingen, zoals “libraries/TelnetStream-master/src/TelnetStream.cpp: In member function ‘virtual void TelnetStreamClass::flush()’:” en
    “libraries/TelnetStream-master/src/TelnetStream.cpp:59:23: error: return-statement with a value, in function returning ‘void’ [-fpermissive] return client.flush();”
    en
    “exit status 1
    Fout bij het compileren voor board Generic ESP8266 Module”

    Heb je enig idee wat ik verkeerd doe?

    • Willem Aandewiel says:

      Hallo Reinier,

      Als je, zoals je beschrijft, alléén de data upload is de firmware nog niet geïnstalleerd en gaat er een programma draaien dat toevallig in het flash geheugen zit (vaak is dat ‘blink’).

      ESP8266 Sketch Data Upload” dient alléén voor het uploaden van de gegevens in de “data” map in de (in dit geval) DSMRlogger2HTTP projectmap. Er wordt géén firmware mee naar de ESP-01 ge-upload.

      Je schrijft dat je alle noodzakelijk bibliotheken geïnstalleerd hebt. Geldt dat ook voor de TelnetStream bibliotheek? Want uit je beschrijving maak ik op dat die niet (goed) geïnstalleerd is ..
      Je kunt het beste op het meest linkse icoontje klikken (rondje met een vinkje erin). Dan wordt alleen de sketch gecompileerd en niet ge-upload. Pas als dat zonder foutmeldingen gaat is het uploaden de volgende stap.

      Verder moet je controleren of je inderdaad de correcte gegevens van het ESP-01 bordje hebt ingevoerd en geselecteerd in het “Hulpmiddelen”/”Tools” drop-down menu. Je moet het exact overnemen zoals in de source van de logger staat!

      Welke versie van de IDE gebruik je?
      Heb je ook versie 2.4.2 van de ESP8266 boards-library geïnstalleerd (bij “Hulpmiddelen”/”Tools”-> Board -> Boards manager en dan filteren op esp8266)?

      Meer ideeën heb ik op dit moment ook niet ….

      • Reinier says:

        Dank je voor het meehelpen Willem 🙂
        ik bleek versie 2.5.0 beta te gebruiken van de ESP8266 boards library. Toen ik die op 2.4.2 zette, waren de foutmeldingen van Telnetstream weg bij het compileren. Ik heb alles nu naar het bordje gekregen zonder foutmeldingen.
        met de REST api kan ik de waardes van de meters nu goed uitlezen, daar ben ik blij mee!
        Er zijn wel twee eigenaardigheden:
        – het led-lampje is niet actief (flitst 1x bij het aansluiten, verder niets)
        – als ik naar http://ESP01-DSMR.local ga, dan krijg ik als enige “file not found”

        ben je (met name dat laatste) wel eens eerder tegengekomen?

        • Willem Aandewiel says:

          Kan het zijn dat je de data-map niet naar de ESP-01 ge-upload hebt? Daarin staan de index.html en index.js files die de logger nodig heeft om de pagina’s in de browser te tonen …

    • Willem Aandewiel says:

      Zie dit comment over de TelnetStream Library!

  15. Gerhard Busz says:

    Hallo Willem,

    Welke firmware moet ik op de ESP 8266 zetten?
    Heb wel enige ervaring met de ESP maar weet nog niet precies hoe de ESP precies werkt.
    Ik gebruik voor de firmware nodemcu-flasher-master en om bv de webserver erop zetten lua loader .
    Vind het een heel leuk project en wil het graag aan de praat zien te krijgen.

    • Willem Aandewiel says:

      Hallo Gerhard,

      De ESP8266 moet met de Arduino IDE geprogrammeerd worden. Ik denk dat je de nodemcu-flasher-master niet kunt gebruiken (ik ken hem echter niet) en ook lua wordt niet gebruikt.

      Wellicht is het verstandig om deze post en deze post te lezen.

      De firmware die je nodig hebt kun je hier vinden.

      Succes!

      • Gerhard Busz says:

        Hallo Willem,
        Bedankt voor de info. Ik heb met heel veel moeite de Firmware erop kunnen krijgen maar dit gaat bijzonder moeizaam. Heb je hier een goed filmpje of instructie hoe je dit met die ESP 8266 moet Flash en?
        Nadat het per ongeluk 1 keer lukte kon ik erop komen. Daarna de WiFi ingesteld en gaf aan dat het goed was. Vervolgens op mijn router gekeken welk IP adres hij had gekregen. Daarna wel kunnen pingen maar site niet beschikbaar. Moet er ook een bepaalde poort open gezet worden of is het schrijven naar ESP mogelijk niet goed op de ESP terecht gekomen?
        Ik heb al heel veel met ESP gespeeld maar dat Flashen heb ik nog niet begrepen waarom het niet lukt. Mogelijk dat je dit nog eens wilt beschrijven.
        Alvast bedankt voor je reactie

        • Willem Aandewiel says:

          Hallo Gerhard,

          Met wat je schrijft kan ik niet zo heel veel.

          Ik raad je aan deze en deze post goed te lezen. Alles wat je moet weten staat erin.

          Hier is een YouTube video die het één en ander uitlegt (maar dit is niet specifiek van toepassing op de DSMR-logger) en hier is een post over hoe je de ESP-01 met een Arduino boardje kunt programmeren. Gewoon Googlen op “ESP-01 programmeren” of “programming ESP-01

          Voor de DSMR-logger is het van groot belang dat je de instellingen van het type boardje exact zo instelt als in de source van de firmware staat beschreven én dat je na het uploaden van de firmware niet vergeet om de data-map naar je ESP-01 te uploaden. In de data-map staat o.a. het index.html file voor de webpagina.

          Als je alles ‘werkend’ hebt moet je bij het aansluiten van de DSMR-logger op de Slimme Meter goed kijken wat de twee ledjes op de ESP-01 doen. In de post en in de reacties heb ik al een paar keer uitgelegd wat er moet knipperen en wat niet (en wanneer).

          Je hoeft géén poorten “open” te zetten (dat hoeft op een intern netwerk natuurlijk nooit!).
          Ik ben wel benieuwd wat je met de ESP-01 “gespeeld” hebt als je nog nooit firmware hebt ge-upload 😉

          Succes!

          • Gerhard Busz says:

            Hallo Willem,
            Ik krijg de firmware er niet goed op.
            De keer dat het per ongeluk lukt dat zie ik hem in netwerk en kan ik verbiding maken. Vervolgens stel ik dan de Wifi in maar als hij opnieuw opstart gebeurd er daarna niks meer. Via mijn Router probeer ik dan IP adres te achterhalen maar die kan ik dan niet vinden. Het lijkt allemaal erg simpel maar ik vind de ESP8266 nog steedes een drama. Ik heb wel firmware 0.9.5. erop gekregen en kreeg dan een webserver aan het draaien waarmee ik relais kon bedienen maar weet nog steeds niet welke registers de data weggeschreven wordt. Als je mij een mailtje of PB wil sturen dan heb ik een verslag van mijn bevindingen met foto’s er bij staan. Ik zou het graag aan de praat willen hebben. Is er ook nog een mogelijkheid dat ik een ESP al voorgeprogrameerd kan kopen?
            Ik hoor het graag van je, vind het wel een heel mooi project. GR gerhard

          • Gerhard says:

            Hallo Willem,
            Dank voor je extra hulp. Vandaag is het dan toch mooi gelukt!
            Ik ben redelijk veel met Arduino bezig.
            De Data versturen ging wel eenvoudig via de upload. Ik wist niet dat de firmware in de DSMRlogger2HTTP.ino zat verwerkt. Het is dus zaak als je de IDE Arduino hebt geïnstalleerd dat je alleen de Library’s die in de DSMRlogger2HTTP.ino staan en géén onderdeel uitmaken van de ESP8266 core, dowload. Deze bestanden heb ik uitgepakt en in de Arduino file “libraries” toegevoegd. Alles goed instellen zoals Willem beschreven heeft. Vervolgens links bovenaan V knop(verify) net zolang testen dat alle fouten eruit zijn. Als dat goed gaat vervolgens Pijltje (Upload) kiezen en ESP aansluiten op de com-poort en kijken wat er gebeurt. Nu wordt alles naar de ESP geschreven. Daarna de Wifi instellen en dan
            “http://esp01-dsmr.local/” zoeken en daarna werkte alles. Nu ESP op de Print monteren en aansluiten op de slimme meter en klaar.
            Nogmaals bedankt voor het mooie project en hopelijk volgen er nog meer.

  16. Reinier says:

    Dank je Willem!

  17. 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.

  18. Reinier says:

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

  19. 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!

  20. 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!

          • Rein says:

            Hallo Willem,

            Bij opstarten met externe voeding en dan loskoppelen van de voeding brand het blauwe ledje nog even om daarna weer langzaam te gaan knipperen. Ik kan geen specificaties over de Kaifa MA105A vinden zodak ik de spanning . C1 & C2 = 2,2 uF , C3 = 1000 uF. Een Osciloscoop heb ik niet. Ik meet helemaal geen spanning op het kabeltje als ik het in de slimme meter stop, niet tussen 1 en 3 en niet tussen 1 en 6.
            Ik ga wel een externe voeding gebruiken.

            groet,
            Rein

          • Willem Aandewiel says:

            Hallo Rein,

            Dan zijn er twee mogelijkheden:

            • Je Slimme Meter voldoet niet aan de 4.0 standaard (wat in tegenspraak zou zijn met de documentatie die ik over deze meter kan vinden). Maar als het een oudere versie dan 4.0 is, dan moet je in de source van de firmware de baud-rate verlagen naar 9600 (i.p.v. 115200)
            • Óf je kabeltje is niet goed. Je kunt proberen om de goudkleurige plaatjes dieper de stekker in te drukken (ze maken contact met de adres door dóór de kabel isolatie heen te drukken).

            Wat je nog kunt proberen is de logger bij iemand anders in de Slimme Meter prikken. Bij voorkeur iemand met een ander merk DSMR 4.0 meter.

            Succes!

  21. 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

  22. 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

  23. sanid says:

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

  24. 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 🙂

  25. 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

  26. 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!

  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. 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?

  29. Rob van Leeuwen says:

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

  30. JB says:

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

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

  32. 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

  33. 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.

  34. Wouter says:

    Hier ook warme interesse in een setje!

  35. 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!

  36. 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.

  37. Kees says:

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

  38. Roland says:

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

  39. Henrie says:

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

  40. 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.

  41. Thierry says:

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

  42. 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.

  43. 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?

  44. 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.

  45. 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!

  46. 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.

  47. 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.

  48. 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!

  49. 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 😉

  50. 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 😉

  51. 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.

  52. Fred22 says:

    Kun je mij een prntje opsturen

  53. Klaas says:

    Cool!!!

Comments are closed.