Crisis? What Crisis? (een betere DSMR-logger)

Een nieuwe, betere, modernere Slimme Meter uitlezer

15,498 keer bekeken / views
Laatste update 10-02-2023

Zie ook deze post!

Met een energiecrisis die iedereen raakt wordt het “in de gaten houden” van je energie verbruik steeds belangrijker. Daarom is het, na bijna vier jaar, de hoogste tijd om een nieuwe DSMR-logger te ontwikkelen.

De DSMR-logger32 doet en kan hetzelfde als de vorige versie (Rev. 4) maar hij doet dit beter en betrouwbaarder. Bepaalde functionaliteiten zijn niet meer aanwezig. Zo is het voeden van informatie aan mindergas.nl vervallen. Het is gewoon geen kerntaak van de DSMR-logger (en als je het toch belangrijk vindt, dan kun je deze functionaliteit eenvoudig met een Wemos D1 bordje programmeren waarbij je, via een API call, de gegevens uit de DSMR-logger kunt halen en door de esp8266 laten doorsturen naar mindergas.nl. Dat kan met een Wemos D1 bordje zonder extra hardware).

Er is geen ADC interface meer, omdat ik de indruk heb dat er geen gebruik van gemaakt wordt.

Een grote verandering is de mogelijkheid om een shield op de DSMR-logger te prikken waarmee je eigen hardware kunt toevoegen (bijvoorbeeld een ModBus uitbreiding of een relais dat afhankelijk van de surplus aan opgewekte energie bestuurd wordt. Ook een ADC interface behoort dan weer tot de mogelijkheden).

Op veler verzoek krijgt deze DSMR-logger ook een “Secondary P1” poort waar je een andere uitlezer op aan kunt sluiten.

Het blokdiagram (klik voor een grotere versie)

Waarom een ESP32 met PSRAM

Ik heb recent dit project en dit project met de ESP32 Wrover module gemaakt en ben erg onder de indruk van de ESP32 met PSRAM (SPI-RAM geheugen). Het grote voordeel van PSRAM is dat je deze kunt gebruiken om programma variabelen in op te slaan. Normaal nemen deze ruimte van het beschikbare geheugen in waardoor je op enig moment “vast loopt” omdat er simpelweg niet genoeg van is! De ESP32-WROVER modules komen met 4MB PSRAM of zelfs meer (al is er een beperking waardoor op dit moment niet meer dan 4MB PSRAM kan worden gebruikt). In 4MB geheugen kun je echter heel wat gegevens kwijt!!

Makers die zelf de DSMRlogger firmware compileren en flashen en dan inloggen met telnet hebben vast wel gezien dat alle log regels informatie bevatten over de heap. Dat is zinvolle informatie als je de MCU maximaal gebruikt. Want als de heap volloopt crashed de MCU en dan wil je inzicht hebben in waar (welke functie) en wanneer dat gebeurt.


Met de beschikbaarheid van PSRAM geheugen kun je eenvoudig alle groot verbruikers (bijvoorbeeld de telegrammen, de JSON strings en de setting gegevens) in het PSRAM geheugen opbergen waardoor er meer ruimte voor de heap overblijft! De “FreeHeap” wordt niet meer in de log regels getoond omdat deze zelden onder de 200kB komt en het tonen van de FreeHeap dus geen significante informatie meer geeft!

Input P1 Level-Shifter

Voor de invoer van de data uit de Slimme Meter gebruik ik het beproefde schema dat al mijn DSMR-loggers gebruiken (never change a winning team!). Deze maakt gebruik van een NPN transistor (Q101) die het binnenkomende signaal van de Slimme Meter inverteert (“Laag” wordt “Hoog” en vice versa) en het signaal wordt geshift naar 3v3.

Zoals je kunt zien in de tabel wordt het signaal netjes geïnverteerd en ge-level-shift, waardoor [ESP_RX2] netjes tussen GND en 3v3 schakelt.

3v3 Power Regulator

Voor het omzetten van de 5volt uit de Power Jack of de Slimme Meter wordt ook een beproefde schakeling gebruikt. In principe voldoet iedere LDO die ongeveer 500mA kan regelen. Ik heb voor de TC1262-33 gekozen omdat ik daar een voorraad van heb, maar iedere pin-compatible LDO is geschikt.

FTDI Programming Port

Om de ESP32 te kunnen programmeren kies ik (weer) voor een standaard FTDI poort en niet voor een USB poort met CH340C chip. Uiteraard maakt zo’n USB aansluiting het leven wel een stuk makkelijker als je firmware moet flashen, maar laten we wel zijn: dat doe je een paar keer gedurende het leven van de DSMR-logger en dan vaak nog “over the air” met de ingebouwde updateserver. De extra kosten en complexiteit maken het voor mij onzinnig om dit aan het ontwerp toe te voegen. In tegenstelling tot de DSMR-logger Rev. 4 heb ik wel extra componenten opgenomen waarmee het flashen niet meer afhankelijk is van het, in de juiste volgorde indrukken en weer los laten, van de [Flash] en [Reset] switches.

Watchdog

Een Watchdog is een aparte MCU die regelmatig een pulse (heartbeat) van de main MCU (ESP32) krijgt. Stopt de main MCU met het versturen van heartbeats, dan is er iets goed mis en zal de Watchdog, na enige vertraging (misschien komt het nog goed …) de main MCU resetten.

De watchdog is ontworpen rond een ATtiny85. Ik heb hier al eerder een post over geschreven maar wil voor de DSMR-logger32 een iets andere versie maken. Dit is vooral ingegeven door mijn recente ontdekking van NeoPixels! Het leuke van een NeoPixel is dat ze goedkoper zijn dan bijvoorbeeld twee SMD ledjes maar wel alle kleuren van de regenboog kunnen weergeven én dat ze daar maar één data lijn voor nodig hebben. De watchdog zal, afhankelijk van de staat waarin hij verkeert, de NeoPixel als volgt laten branden:

  • Langzaam pulserend groen als alles OK is (er komen regelmatig hartslagen binnen);
  • Korte white flash als er een heartbeat binnen komt;
  • Langzaam pulserend rood als er een bepaalde tijd geen hartslag is ontvangen;
  • Sneller pulserend rood als het kritisch wordt (té lang geen hartslag ontvangen);
  • Rood en daarna wit om aan te geven dat de watchdog de main MCU reset.

De firmware voor de Watchdog kun je hier vinden.

Als je mij wil helpen om meer van dit soort posts te schrijven, overweeg dan om een kleine donatie te geven door op de knop hieronder te klikken.

Secondary P1 poort

Veel gebruikers en makers van de DSMR-logger hebben om een secondary (“Slave” mag vandaag de dag niet meer!) P1 poort gevraagd. Ik heb eerder een post geschreven over een Slimme Meter Poort Extender om aan deze behoefte te voldoen. Maar zo’n extra kastje geeft ook weer extra kabeltjes in de meterkast. Het moge duidelijk zijn dat de nieuwe DSMR-logger32 zo’n poort moet hebben! Al langer speel ik met het idee om een Secondary P1 poort elektronisch en galvanisch gelijk te maken aan de P1 poort van de Slimme Meter zélf (dus een optocoupler met een open collector transistor)!
Ik kom op deze oplossing:

De data van de P1 poort van de Slimme Meter komt binnen op de basis van Q102. Dit is een beproefd model want alle, door mij ontwikkelde, DSMR-loggers doen dat zo.

Q102 inverteert het signaal (hoog wordt laag en vice versa). Dit geïnverteerde signaal (wat eigenlijk het “goede” signaal is) gaat naar pin2 van U102. Een “hoog” signaal laat de led van de optocoupler branden waardoor de (open collector) transistor van de optocoupler gaat geleiden en [Tx_SECONDARY] naar GND getrokken wordt (en dus “laag” wordt). Een “laag” signaal op pin2 doet de led “doven” waardoor de transistor van de optocoupler hoog-ohmig wordt en [Tx_SECONDARY] naar de spanning van een aangesloten apparaat getrokken wordt (en dus “hoog” wordt). Door de manier waarop Q102 en U102 “samen werken” volgt [Tx_SECONDARY] exact de status van [Tx_SM].

Prototype

Klik op het plaatje voor een animatie

Bij het prototype is de Watchdog aangesloten op een ander type NeoPixel (PL9823) dan die ik in het uiteindelijke ontwerp ga gebruiken (WS2812B). Bij de PL9823 zijn Rood en Groen omgewisseld t.o.v. de WS2812B. De Rode led links-onder wordt in het uiteindelijke ontwerp ook vervangen door een NeoPixel. In de animatie van het prototype gaat deze even “aan” als er een telegram binnenkomt.

Het complete schema

Na het bouwen en testen van het prototype ziet het schema er uit zoals in de link hieronder (klik op het plaatje).

Ontwerp Printplaat

De volgende stap is het ontwerpen van een printplaat (PCB). Gelukkig levert KiCad alle tools om dit voor elkaar te krijgen.

Vervolgens de Gerber files naar PCBWay gestuurd en na tien dagen de PCB’s ontvangen. Ze zien er weer goed uit dus snel één bordje stucken en testen.

De Firmware

De DSMRlogger32 firmware heeft als basis de DSMRloggerAPI firmware (versie 3.0.4). De code wordt behoorlijk opgeschoond. Allerhande functies die ik, onder andere, nodig had om zelf JSON strings te maken zijn vervangen door de ArduinoJson 6 library van Benoït Blanchon. Ik kan deze library nu gebruiken omdat de ESP32-WROVER-E PSRAM heeft waar grote, geheugen vretende structuren (zoals die voor het opvragen van bijvoorbeeld historische data nodig zijn) in kunnen worden opgeslagen. De, in eerdere versies van de DSMR-logger gebruikte, ESP8266 heeft geen PSRAM en het was een kunst om alles werkend te houden zonder (al te veel) crashes. Daarbij is veel tijd gestoken in het omzetten van Arduino “String” objecten naar char array’s. Maar door gebrek aan kennis heb ik ook functies geschreven waarmee deze char array’s eenvoudig bewerkt kunnen worden, terwijl veel van deze functies standaard in C/C++ bestaan!

Een aantal gebruikers heeft aangegeven moeite te hebben met de manier waarop in de DSMRloggerAPI firmware de JSON strings zijn opgebouwd (zgn. “Name/Value” pairs). Dit heb ik indertijd zo ontworpen omdat ik onvoldoende kennis had van JSON en dan vooral hoe ik JSON strings in de GUI (Javascript) kon verwerken.
In api versie 1 ziet de uitvoer van ”/api/v1/dev/time” er zo uit:

{"devtime":[
  {"name": "timestamp", "value": "221207120652W"},
  {"name": "time", "value": "2022-12-07 12:06:17"},
  {"name": "epoch", "value": 1670411166},
  {"name": "uptime", "value": "128(d)-18:32(H:m)"},
  {"name": "uptime_secs", "value": 11059921, "unit": "sec"}
]}

De firmware voor de nieuwe DSMR-logger32 stapt af van de “/api/v1” versie. JSON wordt zoals het (blijkbaar) hoort.

Met de ”/api/v2/dev/time” versie van de api ziet bovenstaande JSON string er zo uit:

{
  "devtime": {
    "timestamp": "221207120652W",
    "time": "07-12-2022 12:06:17",
    "time_rev": "2022-12-07 12:06:17",
    "epoch": 1670411166,
    "uptime": "0(d)-00:39(H:m)",
    "uptime_secs": 2386
  }
}

De DSMRloggerAPI firmware heeft de overstap gemaakt van SPIFFS naar het LittleFS. Dit was nodig omdat SPIFFS voor de ESP8266 “depreciated” is. Dus bij het ontwikkelen van de firmware voor de ESP32 ben ik er ook van uit gegaan dat het LittleFS the way to go is! Vervolgens kwam ik erachter dat de HTTPupdateServer geen LittleFS kan flashen! Bummer!
Ik kan ook geen informatie vinden over welke van de twee de voorkeur heeft van de ESP32 Core ontwikkelaars.

Om toch een filesystem met de updateServer te kunnen flashen alles maar terug gezet naar SPIFFS.

Ondertussen draait de firmware stabiel en durf ik hem via github beschikbaar te stellen. De DSMRlogger32 firmware draait in mijn meterkast al enige weken zonder problemen op de DSMR-logger32 hardware.

Veranderingen ten opzichte van DSMRloggerAPI

De settings zijn onderverdeeld in een tab voor “Slimme Meter” settings en voor “Systeem” settings.

Nieuw is de mogelijkheid om (binnen grenzen) zelf te bepalen hoeveel historie er per uur, per dag of per maand moet worden bewaard:

In de maanden tabel worden de afgelopen 12 maanden als totaal opgenomen en het saldo van de gebruikte- en opgewekte energie wordt berekend. Achter de schermen bewaart de DSMRlogger32 firmware alle binnenkomende telegrammen. Hierdoor zie je bij het grafisch opvragen van de “Actuele” data direct de laatste ~150 metingen.

Logging van belangrijke events

Integraal onderdeel van de nieuwe firmware is de SPIFFS_SysLogger bibliotheek. Hierdoor is achteraf nog te achterhalen wat er eventueel mis is gegaan, waarom en wanneer de DSMR-logger32 is ge-reboot en of zich specifieke (fout) situaties hebben voorgedaan.

Standaard worden er 150 regels bewaard voordat de oudste regel wordt overschreven.

Een passende project box

Met behulp van de YAPP-generator heb ik een mooie box voor de DSMR-logger Rev. 5 ontworpen. Over de drie neopixels zijn lichtsluizen geprint die het licht mooi als vierkantjes naast het Oled scherm projecteren. Voor de bediening van de [Reset] en [Flash] knoppen (de laatste heeft een dubbel-functie voor het wakker maken van het Oled scherm) zijn geleiders geprint. Om het Oled scherm te ondersteunen wordt een standaard geprint.

FTDI Programmer

Eén van de redenen waarom de DSMR-logger Rev. 4 geen standaard programmeer header heeft, is omdat ik toendertijd geen éénduidige aansluiting volgorde kon vinden van de verschillende FTDI bordjes. De eenvoudigste oplossing was om alleen TrD en TxD (en GND) te gebruiken en door, in de juiste volgorde de Flash en Reset knopjes in te drukken, de ESP8266 in “Flash Mode” te zetten. Voor veel makers toch een brug te ver. Daarom zijn in het DSMR-logger32 ontwerp twee extra transistoren (Q201 en Q202) toegevoegd (zie hiervoor) waardoor het mogelijk is om, met het juiste FTDI bordje als programmer, de DSMR-logger32 te flashen zónder op knopjes te hoeven drukken (het mág en kán natuurlijk nog steeds wel). Toch schrok ik wel even toen ik de nieuwe DSMR-logger32 voor het eerst wilde flashen, want … dat ging niet! Na veel zoeken en onderzoeken ben ik er achter gekomen wat er niet goed was.

Om te beginnen zat er een fout(je) in mijn ontwerp. De Reset pin naar de Watchdog is aangesloten op GPIO00. GPIO00 is ook verbonden met de collector van Q202 en heeft een belangrijke functie bij het flashen. Helaas is de verbinding tussen GPIO00 en de collector van Q202 in het PCB ontwerp “vergeten” … Daarom moet er in het Rev. 5.0 bordje een draadje gesoldeerd worden tussen Q202 en GPIO00 (die zit wél vast aan SW102, dus dat is een mooi punt om het draadje tussen te leggen). Ook heb ik de waarde van een aantal condensatoren en weerstanden iets aangepast.


Je zou verwachten dat het “bedraad” flashen van de DSMR-logger32 nu zonder problemen zou werken, maar daar zit toch nog een klein probleempje in het feit dat de FTDI bordjes die ik heb wel CTS/DTR naar buiten brengen, maar niet RST! En die is nodig om de ESP32 in “Flash Mode” te krijgen.

Gelukkig had ik nog een paar USB-to-Serial bordjes met een CH340G chip aan boord. De CH340 chip gebruik ik ook in een aantal andere ontwerpen van mij dus de mogelijkheden van deze chip zijn mij bekend. Dit bordje brengt, behalve GND, Tx en Rx ook CTS naar buiten. Wat nog mist is een aansluiting voor RST. Deze heb ik direct op de chip gesoldeerd en alle aansluiting in een 6-polige Pololu housing gestoken. Met dit bordje werkt het flashen probleemloos!

Ook voor de FTDI-programmer een mooi boxje met de YAPP-generator gemaakt!

Maar zoals hiervoor al een keer gemeld kan de DSMR-logger32 óók met een USB to TTL connector worden geflashed (dezelfde die ook voor de vorige versies van de DSMR-logger kan worden gebruikt). Alleen moet je dan, voor het uploaden/flashen, de [Flash] knop indrukken en ingedrukt houden, dan de [Reset] knop indrukken en weer loslaten en dán de [Flash] knop loslaten. Oh ja: zorg er wel voor dat je een 3v3 versie van deze USB to TTL kabel gebruikt!

USB to TTL 3v3

Wrapping it up

Het ontwerpen van de DSMR-logger32 en bijbehorende DSMRlogger32 firmware is uiteindelijk mee gevallen. Alle doelstellingen zijn gehaald en de betrouwbaarheid is vanaf het eerste begin groot gebleken. De enige reboots die ik voorbij heb zien komen hadden te maken met de WiFi verbinding. De DSMRlogger32 firmware heeft het in de gaten als deze wordt verbroken en probeert vervolgens om de verbinding te herstellen. Héél sporadisch lukt dat niet binnen de, in de Watchdog, ingestelde tijd en dan wordt de DSMR-logger32 ge-restart.

Lastig is het dat de Oled schermen geen standaard aansluiting voor GND en Vcc hebben. Ik heb een berg van deze schermpjes in voorraad, veelal bij dezelfde leverancier gekocht, maar toch zit GND bij sommige op pin 1 en bij andere op pin 2. Gelukkig lijken SDA en SCL wél altijd op dezelfde manier aangesloten. In Rev. 5.0 van de PCB ben ik van de volgorde |GND|Vcc|SCL|SDA| uitgegaan en is het Oled scherm op die mannier verbonden. Heb je een schermpje waarbij GND en Vcc zijn omgewisseld dan moet je een print spoortje aan de onderkant van het PCB doorsnijden en twee draadbrugjes aan leggen.

Voor Rev. 5.2 van het PCB heb ik GND en Vcc niet meer standaard doorverbonden en moet je dus, voordat je een Oled schermpje kunt gebruiken altijd zelf draadbrugjes solderen. Dit om te voorkomen dat een Oled schermpje met andere aansluitingen direct bij het in gebruik nemen al kapot gaat!

De officiële documentatie van de DSMR-logger32 kun je hier vinden (let op: Work in progress!).

Ben je, net als ik, enthousiast over deze nieuwe versie van de DSMR-logger32, dan heb ik een aantal PCB’s in voorraad die ik kan verkopen. Zie je op tegen het zelf solderen van de SMD componenten, dan wil ik ook een compleet geassembleerde DSMR-logger32 leveren.
Ik kan ook een mooi bijbehorend kastje voor je in 3D printen!

Als je mij wil helpen om meer van dit soort posts te schrijven, overweeg dan om een kleine donatie te geven door op de knop hieronder te klikken.

This entry was posted in DSMR-logger, ESP32, ESP8266, Firmware, Hardware, KiCAD, WiFi and tagged , , , , , , , , , , . Bookmark the permalink.

111 Responses to Crisis? What Crisis? (een betere DSMR-logger)

  1. Dick Wismeijer says:

    Hi Willem,
    Geen idee of ik deze vraag op het juiste forum post. Er is na mijn eerste installatie zoveel informatie bijgekomen dat ik een beetje de weg kwijt ben. Enerzijds ook veroorzaakt door het feit dat na eerste installatie, deze nagenoeg vlekkeloos draait en dus geen omkijken vraagt/krijgt.
    Ik draai DSMR–Logger API v3.0.5 (18-03-2023). Ik zou het op prijs stellen indien ik de huidige dag variabelen Energie Verbruik en Gas Verbruik op zou kunnen nemen in de mqtt lijst (MQTTStuff.ino) . Is e.e.a. mogelijk en wat zijn de variabelen?

    • Willem Aandewiel says:

      Hi Dick,

      Het is software dus in principe kan alles!

      De versie van de DSMRlogger die jij hebt is gebaseerd op een esp8266. Dir firmware zoals die nu is haalt echt alles uit de kast om te kunnen werken. Er is eigenlijk geen ruimte om andere dingen erbij te doen of om zaken uit te breiden.

      Als de gegevens die je (extra) wilt gebruiken in een API wordt meegegeven dan kun je de GUI bestanden aanpassen. Die draait in de browser en daar is capaciteit genoeg.

      De ontwikkeling aan DSMRloggerAPI is gestopt. Je zult uitbreidingen dus zelf moeten doen.

  2. A Meijer says:

    Hierbij mijn dank aan Willem voor zijn constructieve inzet m.b.t. mijn gewenste relais-sturing om de sur-plus aan zonnestroom te kunnen benutten.

    In het kort; Ik wil graag het overschot aan zonnestroom, dat nu teruggeleverd wordt aan het net, benutten om automatisch de vloerverwarming of boiler te verwarmen.

    De DSMRlogger32 vormt, door de mogelijkheid om een shield te plaatsen, daarvoor een goede basis. Willem heeft een uitbreiding ontwikkelen voor een relais-sturing. Ook heeft hij de software aangepast zodat het mogelijk is om een in- en uit-schakelpunt en een wacht-tijd voor het in- en uit-schakelen in te stellen via de GUI. Die wacht-tijd is nodig om het relais niet te laten “klapperen”. Pas als er echt over een wat langere (in te stellen) tijd voldoende stroom wordt opgewekt mag het relais “aan” gaan.
    De gebruikte relais-module kan maximaal 10A 250V-ac / 10A 30V-dc schakelen. Eventueel kan daarmee dan een zwaarder, of zelfs 3-fase relais geschakeld worden.

    De software aanpassing is te vinden op de repo van de DSMRlogger32 op github.

  3. A Meijer says:

    Hallo Willem,

    Ik heb al enige tijd een prima functionerende DSMR-logger van het voorgaande model aan het werk. Daar ben ik erg blij mee.

    Maar ik ben geinteresseerd in het nieuwe model omdat deze de mogelijkheid heeft om een relais te schakelen dat afhankelijk van de surplus aan opgewekte energie bestuurd wordt.

    Kan Jij nog een compleet geassembleerde DSMR-logger32 met display leveren, graag met bijbehorend kastje? En is het ingewikkeld (voor een niet-electronica-expert) om een relais aan te sturen via een “shield”?

    • Willem Aandewiel says:

      Als je een shield op de DSMR-logger32 wilt zetten, dan heeft de projectbox niet zoveel zin, omdat die niet over een eventueel shield heen past.

      Ik stuur je een PM

  4. Jan Horstman says:

    Dag Willem,

    Ik heb denk ik een hele oude versie van jouw Slimme Meter Logger Zie het bijgevoegde bestand.
    Werkte perfect totdat ik een nieuwe gasmeter kreeg. Ik krijg nu alleen nog maar data m.b.t. het electriceits levering en teruglevering. De gasstanden komen dus niet meer binnen.

    De nieuwe door Liander geplaatste meter betreft de Floridan SciFlo SMR 5.5 G4-G6 URT.

    Zie jij nog mogelijkheden om deze te activeren met de oude hardware? Wordt deze meter ondersteund door jouw nieuwe hardware versie 4.5 (zie hem niet in de lijst van ondersteunde meters staan)?

    Alvast bedankt

    Groet Jan

    • Willem Aandewiel says:

      Hi Jan,

      Dat is denk ik de eerste DSMR-logger die ik heb ontworpen.
      Omdat het geheugen van de ESP-01 beperkt is kun je er niet veel aan verbeteren.
      De gas meter zit op de mBus van de Slimme Meter. Meestal op kanaal 1. Maar als er een nieuwe gas meter wordt geplaatst wordt deze vaak op een ander kanaal van de mBus gezet. Dit kun je in de dsmr-library aanpassen. Erik heeft op 10 december 2018 een comment geplaatst waarin hij uitlegt wat je daarvoor moet doen. Even zoeken dus.

      Bij de laatste versie van de DSMR-logger kun je dit via de GUI instellen.

  5. Patrick says:

    Hallo Willem,

    Ik ben zeer geïnteresseerd in deze DSMR logger.

    Heb jij nog kant en klare setjes (printje en kastje) liggen?
    Dan zou ik er graag 2 willen kopen.
    Grtz Patrick

  6. Dave says:

    Hallo Willem,

    Ik wil graag overstappen van je vorige versie (die al geruime tijd uitstekend zijn werk doet!) naar deze nieuwe. Heb je nog een compleet geassembleerde DSMR-logger32 (met scherm)? Stel je de 3D bestanden van de behuizing beschikbaar zodat ik deze zelf kan printen?

    Hartelijke groet,
    Dave

  7. Jan says:

    Hoi Willem,

    Het probleem met het telegram, dat ik een paar dagen geleden heb gemeld, kon ik oplossen door in DSMRloggerAPI.h in regel 62 define MAX_TLGRM_LENGTH 1200 te vervangen in 1300.

    met vriendelijke groeten,

    Jan

    • Willem Aandewiel says:

      Jan,

      De lengte van telegrammen wordt soms aanzienlijk langer door storingen in het elektriciteits net.

      Met name obis 1-0:99.97.0(2)(0-0:96.7.19)(…………) kan heel lang worden omdat iedere storing wordt opgeslagen.
      Met een lengte van 1200bytes zit je meestal goed, tot je natuurlijk een keer niet meer goed zit. Zoals in jouw geval.

      Fijn dat je het hebt kunnen oplossen!

      • Jan says:

        Hoi Willem,

        Fluvius geeft met 0-0:98.1.0(….) van de laatste 13 maanden het piekverbruik. De lengte hiervan kan oplopen tot 570 bytes. Voor alle Belgische gebruikers van de DSMR zal 1200 bytes voor het telegram te weinig zijn.

        Ik zou graag de overstap maken naar de DSMR-logger32.
        Zou jij er één voor mij willen maken, compleet met behuizing en display?

        Met vriendelijke groeten,

        Jan

  8. BertusR says:

    Beste meneer Willem,
    Na een update van WS naar API krijg ik de volgende melding bij inloggen:
    You first need to upload these two files:

    FSmanager.html
    FSmanager.css
    Waar vind ik deze files.

    • Willem Aandewiel says:

      Beste mijnheer Bert,

      Het helpt als je de (alle) documentatie (goed) leest en volgens de letter opvolgt.

      In dit geval heb je wel de firmware geflashed, maar niet het FileSystem.

      Als je de hele repro hebt ge-cloned staan deze files in de [data] map.
      Maar makkelijker is toch om gewoon het filesystem to flashen.

      Ik denk dat als je dat gedaan hebt alles (weer) naar behoren werkt.

      Succes!

  9. Johan Wolbink says:

    Hoi Willem, Ik wil de stap eens gaan maken naar jou nieuwe DSMR-logger32. Heb je er nog een volledig geassembleerd exemplaar liggen. Hoor graag van je, Groet Johan

  10. Davy says:

    Hi Willem,
    Deze week is hier een digitale meter geplaatst, en ik ben geïnteresseerd om deze te koppelen met Home Assistant en door te lussen naar de laadpaal.
    Jouw project lijkt hiervoor perfect te zijn!
    Heb je er nog te koop ?
    Groetjes uit België,
    Davy

    • Willem Aandewiel says:

      Hou Davy,

      Ik heb er geen meer “op de plank” liggen, maar kan er wel één voor je maken.

      Ik stuur je een PM

  11. Remco says:

    Hi Willem,

    zit nog steeds te stoeien met de gewijzigde json. kan jij helpen, of weet je iemand die dit in HomeAssistant ook gewijzigd heeft?
    Ik heb je DSMR API homeassistant geintegreerd, en werkt naar behoren, maar met de ESP versie heb ik geen idee wat er gewijzigd moet worden aan de json.

    – name: DSMR Energy Consumption Tariff 1
    value_template: “{{ value_json.actual | selectattr(‘name’, ‘eq’, ‘energy_delivered_tariff1′) | map(attribute=’value’) | first | float }}”
    device_class: “energy”
    state_class: “total_increasing”
    unit_of_measurement: “kWh”
    – name: DSMR Energy Consumption Tariff 2
    value_template: “{{ value_json.actual | selectattr(‘name’, ‘eq’, ‘energy_delivered_tariff2′) | map(attribute=’value’) | first | float }}”
    device_class: “energy”
    unit_of_measurement: “kWh”
    state_class: “total_increasing”
    – name: DSMR Energy Returned Tariff 1
    value_template: “{{ value_json.actual | selectattr(‘name’, ‘eq’, ‘energy_returned_tariff1′) | map(attribute=’value’) | first | float }}”
    device_class: “energy”
    unit_of_measurement: “kWh”
    state_class: “total_increasing”

    • Willem Aandewiel says:

      Hoi Remco,

      Mijn Home Assistant ervaring loopt ondertussen jaren achter met de huidige HA versie.
      Ik kan je helaas niet helpen.

  12. Arjan van der Vleuten says:

    Hallo Willem,

    Met veel interesse je DSMR-logger projecten gelezen. Heb je nog een exemplaar van de DSMR-logger32 beschikbaar voor verkoop, graag volledig bestuckt, geflashed, getest en behuizing.

    Mvrgr. Arjan

    • Willem Aandewiel says:

      Hoi Arjan,

      Ik heb ze niet in voorraad maar kan er zo één voor je maken.
      Levertijd is ongeveer twee weken.

      Ik stuur je een PM

  13. Vincent P says:

    Hi Willem,

    Ik gebruik al een aantal jaren jouw V3 bordje. Erg mooi!
    Alleen, regelmatig valt de verbinding helaas weg, dus ik dacht, misschien dat deze versie stabieler is?
    Heb je nog pcb en wat zijn de kosten?
    Vriendelijke groet, Vincent

    • Willem Aandewiel says:

      Vincent,

      Ik stuur je een PM

    • Geert Steyaert says:

      ik heb hetzelfde probleem, alleen lijkt de p1 logger te bevriezen. Het scherm blijft staan, geen updates en geen antwoord meer via de HTTP portal, dus ook alle REST calls vanuit HA lopen stuk. Een reset lost het (tijdelijk) weer op.

      Misschien moet ik ook een nieuwere versie (of een totaal andere oplossing) hebben.
      Groetjes, Geert

      • Willem Aandewiel says:

        Hoi Geert,

        Welke versie van de firmware en hardware gebruik je?

        De laatste versie van de DSMRloggerAPI firmware heeft de mogelijkheid om 1x per dag de DSMR-logger te resetten. Dat lost in de meeste gevallen de problemen op.

        De versie van de firmware en hardware die in deze post (“Crisis? What Crisis”) beschreven staat heeft meer mogelijkheden om zichzelf en het netwerk “in de gaten te houden”. Bij mij heeft zich, zelfs na het lezen van ruim 3.000.000 telegrammen, nog geen enkel probleem voorgedaan.

        • Geert Steyaert says:

          DSMR-API v3.0.1 (15-06-2021).
          Maar ik zie in de tools-settings nergens een optie voor een automatische dagelijkse herstart?

          • Willem Aandewiel says:

            Hoi Geert,
            De laatste versie is v3.0.5 (zie hier). Vanaf v3.0.4 zit de ‘restart’ optie in de firmware.

        • Geert Steyaert says:

          Dank je. ik heb de 3.0.4 update (FW + de 3 web UI files) gedaan, ik vond geen referentie naar de 3.0.5.
          Maar de logging is nu heel traag geworden. REST updates naar HomeAssistant zijn nu soms 30s tussen, soms meer.
          Web pagina loads zijn snappy, dus het is niet de ESP8266 zelf die het lastig heeft. Als ik uitgaande MQTT stroom bekijk dan zie ik daar ook soms grote vertragingen. Dat had ik met de vorige FW niet. Enig idee? Voorbeeldje hoe de logging er nu uit zien in HA. De ‘Total’ waarden komen uit de logger en zijn nu volledig verknipt.

          • Willem Aandewiel says:

            Geert,
            De master branch is v3.0.5
            Waarom de logging opeens heel traag is heb ik geen verklaring voor. Dáár is niets aan veranderd.
            Ik begrijp niet helemaal wat ik uit het plaatje moet halen (het zegt mij niets, helaas).

          • Geert Steyaert says:

            progress… problem got solved going the HA MQTT sensor definition route. No idea why the REST route was all of a sudden going crazy, luckily we have alternatives.
            Proper sensor values graphs are now created again in HA, with the configured 10s update interval. Good to go again!

  14. Otto van der Velden says:

    Willem, prachtige nieuwe ontwikkeling weer.
    Ik heb al een paar jaar de vorige versie draaien, en inderdaad heel soms geen verbinding, wel loggen, als is het de laatste maanden goed.

    Ik heb de volgende vragen:

    1. is de historische data uit de vorige versie over te zetten in deze nieuwe? Het zou zonde zijn als ik alle gegevens kwijt raak..
    2. heeft de P1 poort genoeg power om deze nieuwe versie samen met de oude op de 2e P1 poort te laten draaien of is dan een externe power nodig? (ik heb een Sagemcom T210D 3fase meter…)
    3. komt er een integratie met de DSMRLogger-Next versie van rvdbreemen waarbij alle info direct in InFluxDB gaat?
    4. Integratie met HomeAssistant is hetzelfde als de vorige versie, neem ik aan?

    En als laatste: heb je er nog een te koop voor mij…

    • Willem Aandewiel says:

      Hoi Otto,

      Altijd leuk van een trouwe gebruiker te horen!

      1)
      Ja, de data uit de vorige versie is over te zetten. Daar moet je wel een speciale procedure voor volgen, maar dit staat beschreven in de officiële documentatie van de DSMR-logger32.

      2)
      De P1 poort van de Slimme Meter heeft niet genoeg vermogen om de DSMR-logger32 te voeden (zie hier). Deze moet je dus aansluiten op een externe 5 volt voeding. Als die externe voeding toereikend is kun je de “oude DSMR-logger” op de secondaire P1 poort van de DSMR-logger32 aansluiten.

      3)
      Nee. Het DSMRlogger-Next project is een spinoff van Robbert van den Breemen. Ik heb niet het idee dat hier nog aan ontwikkeld wordt, maar dat kun je het beste aan Robbert vragen.

      4)
      Er is geen integratie met Home Assistant (nooit geweest). Wel kun je, net als bij de oude versie van de DSMR-logger, Home Assistant “vullen” via MQTT of via API call’s. Let er wel op dat de API call’s een iets andere JSON string terug geven dan bij versie 4.

      5)
      Ja, ik heb er nog een paar te koop.
      Ik stuur je een PM!

      Vriendelijke groet,
      Willem

  15. Ruud vd Meer says:

    Hoi Willem,
    Al meer dan 10 jaar log ik mn P1 gegevens met de Homewizard Energylink. Werkt perfect, ik gebruik ook de 2 extra ingangen om het watergebruik en mn zuivere opgewekte energie te meten. Hiervoor heb ik een 3phase kWh meter met puls uitgang. en watermeter met pulskop gemonteerd. (dus 2 extra pulsingangen wil ik gebruiken)
    De (oude) Homewizard support is komen te vervallen, helaas, dat het ding is echt goed. Via een aparte (ESP8266) lees ik hiervan de Json uit en geef dit weer op een groot display. Zie foto.
    Maar…
    Ik zoek naar een ander P1 logger die uiteindelijk vergelijkbaren mogelijkheden heeft.
    Ik denk dat jouw nieuwe logger dit moet kunnen en ik zou het wel willen uitproberen.
    Mijn vraag: (ik heb er een paar)
    Is het mogelijk om de gewenste pulsingangen hieraan te koppelen?
    Je gebruikt een OLED display, ik heb slechte ervaringen hiermee, na een half jaar zijn ze zo ingebrand dat het er niet meer uitziet. Kan er ook een TFT gekoppeld worden?
    Die zijn veel beter, desnoods LCD via I2C ? Of heb je andere OLED ervaringen?
    De (oude) Homewizard heeft heel veel functies, zijn er plannen om dit ook meer voor domotica geschikt te maken. (besturingen lampen via de IP, zelfs camera’s, ik gebruik hiervoor de ESP01 en ESP8266 voor diverse sturingen.
    Heb je nog deze printen, met of zonder onderdelen te koop?
    Maar geweldig te zien wat je zoal met deze DSMR logger mogelijk heb gemaakt.
    En goed dat je direct een watchdog heb opgenomen, gebruik ik ook op de ESP-tikker. (met mn eigen sw) helaas is soms nodig. Groetjes Ruud.

    • Willem Aandewiel says:

      Hi Ruud,

      Ik ken de Homewizard Energylink niet, dus kan niet inschatten wat het kan en in hoeverre de DSMR-logger32 deze kan vervangen.
      Aan wat je schrijft kan ik wél opmaken dat je geen beginneling bent.

      Ik stuur je een PM

      Groet

  16. Tom Levels says:

    Hoi Willem

    Heb je nog een logger liggen die je wil verkopen?

    Groeten,
    Tom

  17. Nicky says:

    Hey Willem

    Heb je nog een logger liggen die je eventueel verkoopt?

    Gr

    Nicky

  18. Martien says:

    Hoi Willem,

    Leuk bezig zo. Ik heb ook interesse om de nieuwe p1 logger aan te schaffen.
    Kan dat nog?

    Mvg,
    Martien

  19. Arjan says:

    Hallo Willem,

    Wat een mooi project om het energie verbruik te meten.
    Ik heb belangstelling voor in deze DSMR logger zodat ik eea kan monitoren.

    Heb jij nog een set beschikbaar die ik van je kan kopen?

    Met vriendelijke groet,
    Arjan

    • Willem Aandewiel says:

      @Arjen,

      Ik stuur je een PM.

      Groet,
      Willem

      • Arjan says:

        Hallo Willem,

        Hallo Willem,

        Bedankt voor de snelle levering. Na het volgen van je duidelijke handleiding en het aanpassen van de setting “Pré DSMR 40 (0=Nee, 1=Ja)” van 0 naar 1 omdat ik een ISKRA MT382 heb werkt het als een zonnetje. Door de gegevens van de zonnepanelen en de DSMR te combineren heb ik nu een beter beeld van wat we direct gebruiken van de zonnepanelen.

        Met vriendelijke groet,
        Arjan

  20. Stephan Huiser says:

    Hallo Willlem,

    Ik ben erg tevreden met de huidige versie o.b.v. ESP8266, maar heb zeker ook interesse in de nieuwe DSMR-logger o.b.v. ESP32. Kan ik deze bij je kopen?

    met vriendelijke groet,
    Stephan

  21. Robert says:

    Hallo Willem,

    Ten eerste fantastisch werk!
    Ik had de DSMRloggerAPI werkend gekregen, en je print nagebouwd. Was een leuk werkje.
    Nu met een nieuwe laptop kan ik deze niet meer bouwen, en dacht deze nieuwe DSMRlogger32 versie met de ESP32 eens te proberen te bouwen.
    Aan de hand van de documentatie de libraties met de beschreven versies en ESP cores ge-installeerd.
    Nu faalt het bouwen van de DSMRlogger32 v5.0.5 helaas in de Arduino IDE 1.8.19
    Mijn vraag is, mis ik een library, of verkeerde versie inmiddels, of iets anders.
    Ik snap dat dit moeilijk te beantwoorden is en dat er van alles kan spelen, maar ik hoop dat je me in een goede richting kunt zetten.
    Alvast hartelijk dank.
    Groeten, Robert


    Info:
    ###############################
    Additional boards URL in de IDE:
    https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
    http://arduino.esp8266.com/stable/package_esp8266com_index.json

    Geinstalleerd:
    - Arduino/ESP32 firmware core versie 2.0.5
    - Arduino/8266 firmware core versie 2.7.4
    - Via ZIP file: https://github.com/mrWheel/dsmr2Lib
    - Via ZIP file: https://github.com/ropg/ezTime/releases releasing 0.8.3
    - Via ZIP file: https://github.com/tzapu/WiFiManager/releases v0.15
    - Via ZIP file: https://github.com/JAndrassy/TelnetStream/releases v1.2.2
    - Via ZIP file: https://github.com/greiman/SSD1306Ascii/releases v1.3.0
    - adafruit neoPixel v1.11.0
    - PubSubClient v2.7.0
    - ArduinoJson 6.19.3 ipv 16.19.3
    - SPIFFS_SysLogger

    (kleine typo in de documentatie denk ik: Er staat ArduinoJson 16.19.3 maar moet zijn 6.19.3 )

    Board Settings zoals het in de DSMRlogger32.ino staat beschreven zijn ook gezet.

    Bij het bouwen krijg ik problemen met:


    - https://github.com/tzapu/WiFiManager/releases
    -> WiFiManager v0.14, v0.15, v0.16 :
    C:\Users\Robert\Documents\Arduino\libraries\WiFiManager-0.15.0/WiFiManager.h:16:10: fatal error: ESP8266WiFi.h: No such file or directory
    #include
    -> WiFiManager v2.0.15 geeft error op include wifiEvents.h, wifiEvents.h: No such file or directory
    -> Ook als ik de library verwijder en dan via de Library manager de versies installer, reboot PC, dan nog steeds problemen met de ESP8266WiFi.h

    Volledige Error tekst:

    In file included from C:\Users\Robert\Documents\Arduino\DSMRlogger32_org\DSMRlogger32\DSMRlogger32.h:75,
    Multiple libraries were found for "WiFi.h"
    Used: C:\Users\Robert\AppData\Local\arduino15\packages\esp32\hardware\esp32\2.0.5\libraries\WiFi
    Not used: C:\Program Files (x86)\Arduino\libraries\WiFi
    from C:\Users\Robert\Documents\Arduino\DSMRlogger32_org\DSMRlogger32\DSMRlogger32.ino:66:
    C:\Users\Robert\Documents\Arduino\libraries\WiFiManager/WiFiManager.h:16:10: fatal error: ESP8266WiFi.h: No such file or directory
    #include
    ^~~~~~~~~~~~~~~
    compilation terminated.
    exit status 1
    Error compiling for board ESP32 Wrover Kit (all versions).

    • Willem Aandewiel says:

      Robert,

      Voor de correcte versies van libraries enz. kun je het beste de source code als uitgangspunt nemen.

      Volgens de source gebruik je een verkeerde versie van de WiFiManager. Ik dénk zelfs dat deze tegenwoordig onderdeel is van de ESP32 Core en dat je er niets voor hoeft te installeren.
      De fatal error geeft aan dat de compiler de esp8266 versie van de WiFiManager gebruikt … dat is natuurlijk niet goed!

      • Robert says:

        Hallo Willem,

        Bedankt voor je snelle reactie.
        Heb de sources nog eens bekeken en daar zie ik het volgende in het bestand ‘DSMRlogger32.h’ en ‘NetworkStuff.ino’:
        //—— [WiFiManager@2.0.10-beta] ([DNSServer@2.0.0])
        #include // version 0.15.0 – https://github.com/tzapu/WiFiManager

        v0.15.0 heb ik steeds gebruikt omdat dit erachter staat en ook in je DOC(work in progress..)
        Nu heb ik v2.0.14-beta gebruikt (andere versies van 2.x zijn niet te downloaden) en nu bouwt het wel.

        Er is ook een 2.0.15-rc.1, maar daar staat bij “ESP8266 SPIFFS Deprecated – Replace with LitteFS #1466”
        Dus die maar niet gedaan.

        In het zelfde bestand ‘DSMRlogger32.h’ staat op regel 77:
        // included in main program: #include // Version 0.0.1 – https://github.com/jandrassy/TelnetStream
        Denk dat dit ook v1.2.2 (bestaat wel) moet zijn ipv 0.0.1 (niet kunnen vinden)?
        Want op regel 89 staat :
        //—— [TelnetStream@1.2.2]

        Aangezien ESP core v2.0.5 wordt aangeraden door jou, misschien is dit ook nog een restant van eerdere tests van 2.0.7 in ‘DSMRlogger32.h’ :
        regel 67:
        //– ~/Library/Arduino15/packages/esp32/hardware/esp32/2.0.7/libraries/HTTPUpdateServer/src/

        Dank voor het in de goede richting sturen.
        Hopelijk kun je wat met mijn goed bedoelde commentaar wat versies betreft.

        Zou je me misschien kunnen vertellen in een PM wat een boordje kost?

        Groeten en nogmaals bedankt, Robert

  22. hans says:

    Hallo Willem,
    Ik volg dit project al een tijdje en ga nu ook maar eens starten. Kan ik de MQTT berichten ook naar mijn eigen broker laten sturen?
    Heb je nog ‘n printplaatje in de aanbieding?
    Ik zie je reactie graag via mail.

    • Willem Aandewiel says:

      Hans,

      Ja, je kunt de MQTT berichten naar je eigen broker versturen!

      Ik heb geen losse printplaten maar wel een paar volledig bestuckt, geflashed en getest en zelfs, mocht je dat willen een 3D geprint boxje.

      Ik stuur je een PM.

  23. Albert says:

    Hallo Willem,

    Geweldig project en heb het al meer dan 2 jaar draaien.
    Ben nu aan het overwegen om over te stappen naar de ESP32 versie.
    Goed idee om het PSRAM te gebruiken.
    Heb je al een idee hoeveel PSRAM dit project gebruikt?

    Groetjes
    Albert

    • Willem Aandewiel says:

      Hi Albert,

      De DSMR-logger32 gebruikt ongeveer 135.000 bytes PSRam. Zat over om andere dingen mee te doen 😉

      Ik heb een paar kant-en-klare DSMR-logger32 om te verkopen. Laat maar weten of je interesse hebt.

  24. Remco says:

    Zonder problemen het printje met een net kastje bij Willem besteld en binnen gekregen.
    -plug en play!
    ik had de API versie hangen, dus dmv de 2e poort beiden parallel laten werken.
    De 32 versie is beduidend sneller met opstarten en doordat je meer data kan laten zien op het scherm voor mij wat overzichtelijker, zeker in een 3 fase situatie.
    ook prettig is de mogelijkheid om meer data op te slaan (bv 3 jaar ipv 2) en het overzetten van de history van de API-versie naar de 32 versie geeft voor mij nu een prima uit te breiden P1-logger. nu nog in HA omzetten, en kijken wat ik met een shield kan doen (lampje aan laten gaan als ik aan het net aan het leveren ben ofzo, spielerei dus. functioneel is het al 100% okay).

  25. Willy Verbiest says:

    Dag Willem,

    Vlaanderen Digitale meter Sagemcom T211 installatie datum november 2019.
    Ik stel vast dat het P1 telegram een extra code heeft nl:
    0-0:98.1.0(3)(1-0:1.6.0)(1-0:1.6.0)(230101000000W)(221212173000W)(04.123*kW)(230201000000W)(230128180000W)(03.963*kW)(230301000000W)(230209173000W)(04.626*kW)
    Ik vermoed dat dit de piekstroom betreft over een periode van 3 maanden.
    Ik heb op internet gezocht maar kan de lijst met de OBIS codes hierover niet vinden.
    Weet jij een link waar ik een verklaring van deze code kan vinden.
    Met vriendelijke groet,
    Willy Verbiest

    • Willem Aandewiel says:

      Willy,

      De specificaties voor Slimme Meters staat beschreven in verschillende “DSMR” documenten.
      In de documentatie voor de DSMR-logger32 staat een verwijzing naar zo’n document.

    • Jan van den Brandt says:

      Beste Willy,

      Google eens: e-MUCS_P1_Ed_1_7_1

      Met vriendelijke groet,

      Jan van den Brandt

  26. Henk says:

    Hallo Willem, ik ben bijzonder geïnteresseerd in de ESP32 versie van de DSMR.
    Heb je nog printjes over, het liefst met de smd componenten erop.
    Groeten.

  27. Remco says:

    Jemig, wat leuk Willem! ik dacht dat je P1 achter je gelaten had, maar wat gaaf!
    ik heb al jaren je bordje hangen, naar volle tevredenheid, maar denk dat een vervolg nu prima past. Ik hou me aanbevolen voor een nieuwe versie als je die weer gaat produceren.

    Leuk! groeten
    Remco

  28. Søren Mikkelsen says:

    Hello Willem

    Super nice project. Exactly what I need 🙂
    Dutch is not my native language, but using Google translate I think I understand the documentation. My main worry is stability and compatibility. Really like your approach with the watchdog. In terms of compatibility the esp32 also seems to be better than the previous 8266 solution, at least with the routers i have been using. Have only compiled your software and tried to connect to my router using a ESP32 wrover dev board. This seems to work although I can’t get the filesystem stuff to work.
    Anyway I will sort this out.
    Some questions.
    You mention that this version is a bit power hungry. I have an Landis and Gyr E360 as far as I understand your table, this should be ok. But you havent included a capacitor to handle the peak load. Would that be something for a future revision ?
    Also what are the plans with the PCB ?
    I might want to buy 3 pieces if it works with the E360 using E360 power (I have no decent way of external power at my meters).
    Thanks.
    Best regards
    Søren

    • Willem Aandewiel says:

      Hi Søren,

      Nice you like my project.

      According to Espressif the esp32 can draw as much as 700mA during startup of the radios. The current during normal operation is about 50mA – 75mA but during startup it is in exceed of 500mA. So there is a big change most (if not all) Slimme Meter’s cannot provide the power needed. Bottom line: you need an external 5volt power supply.

      Adding a capacitor will make things worst because charging an empty capacitor will draw even more power.

      I’m working on a project to limit this inrush current by trickel charging a battery and use the battery during startup. But it is still in the infant state.

      And then there seem to be a problem with Technicolor routers (see comment Jan.v.H).

      I have no spare PCB’s anymore. I will order new ones as soon as I have time.

      • Søren Mikkelsen says:

        Thanks for your feedback.
        Unfortunately I have to be within the 500 mA limit. External power at my meters will be very costly. I will watch this space for your “anti-brown out” solution 🙂

  29. Jan v.H says:

    Onstabiele Wifi verbinding van DSMRlogger32 met Ziggo router Techcolor DOCSIS 3.0.

    Wie wil mij en Willem helpen aan de oplossing van een onstabiele Wifi verbinding met DSMRlogger32 (vs 5.0.5) en Ziggo router Technicolor DOCSIS 3.0
    De verbinding wordt initieel goed opgebouwd maar valt na korte tijd weg. Dit gedrag lijkt direct met de Technicolor router te maken te hebben want op andere routers werkt het feilloos. Zie ook dit issue.

  30. Henk says:

    Hallo Willem,

    Ik ben zeer geïnteresseerd in deze DSMR logger, ben al een tijdje met je ontwikkeling mee aan het lezen.
    Heb al jaren een eenvoudige arduino board setup waarmee ik middels 5 stuks één-fase meters o.a. mijn verbruik en PV-opbrengst uitlees en vervolgend de data naar een externe database stuur.
    Zou hier nu graag de gegevens van mijn onlangs geinstalleerede “slimme” meter aan toe voegen.
    Heb jij nog een kant en klare set (printje en kastje) liggen? Dan zou ik er graag 1 willen kopen.
    PS zou het dan ook mogelijk zijn middels het toevoegen van een shield met uitlezen van mijn 1 fase meters toe te voegen aan deze versie van DSMR logger?

    Groet,
    Henk

    • Willem Aandewiel says:

      @Henk,

      Heb je die één fase meters uitlezers zelf gemaakt? Interessant!

      Met de DSMR-logger32 is het mogelijk om een shield toe te voegen en de firmware uit te breiden met functies die de één fase meter(s) uitlezen. Alleen moet je die functies wel zelf schrijven (en dus de DSMRlogger32 firmware aanpassen).

      Ik stuur je een PM.

  31. Benno van de Meent says:

    Hi Willem,
    Gebruik al jaren de logger, eerst V3.0 met ESP-01, en later de ESP32 versie.
    Zelf hebben we wat veranderingen/uitbreidingen gedaan aan de v3.0 versie.
    Helaas is mijn laatste v3.0 pcb bordje stuk, en zou het liefst een nieuw v3.0 bordje aanschaffen.
    Heb je die toevallig nog beschikbaar?

    • Willem Aandewiel says:

      Benno,

      Nee, versie 3 printplaatjes heb ik niet meer.
      Welke esp32 versie gebruik jij dan? Ik heb er nooit eerder één met esp32 gemaakt. Of bedoel je de esp8266?
      Maar waarom spring je niet in het diepe en ga je voor de DSMR-logger32? Zéker als je de code wil aanpassen heeft de esp32 veel te bieden!

  32. Jeroen says:

    Goedemorgen Willem,

    Een mooi project. Ik ben zeer geïnteresseerd in de DSMR logger als vervanging van een huidige zelfbouw oplossing.

    Heb jij nog een pcb en behuizing liggen?
    Graag hoor ik wat de kosten zijn.

    Hartelijke groet,
    Jeroen

  33. Jan v.H says:

    PS
    De link voor de firmware van de wachtdog is niet (meer ?) aanwezig
    https://github.com/mrWheel/DSMRloggerESP32/tree/main/ATtiny85WatchDog

  34. Jan v.H says:

    Beste Willem,
    Met grote verbazing en bewondering je DSMR project gelezen en meteen heel erg enthousiast geworden om er mee te willen beginnen. Dit ziet er voor mij er professioneel en zeer goed doordacht uit. Helaas voor mij heb ik geen SMD soldeer ervaring. Toen ik begon met solderen hadden ze op mijn werk alleen nog die grote en dikke soldeerbouten waar je heel lelijk je handen aan kon branden. Maar met het solderen van overige componenten verwacht ik geen enkel probleem mee te hebben.
    Daarom wil ik je vragen of je nog een set met project box ter overname voor mij hebt.
    Groetjes
    Jan

  35. Klaas Brant says:

    Hey Willem,

    Verzoeknummer mogen toch? Zou het mogelijk zijn in de software de meterstanden van de jaarrekening op te nemen en dan op het maandoverzicht het verbruik sinds de jaarafrekening. Ik denk dat we allemaal bijhouden hoeveel verbruik we hebben sinds de laatste afrekening, zeker nu met het energieplafond.

    Groeten,
    Klaas

    • Willem Aandewiel says:

      Klaas,

      Ik denk een goede uitbreiding maar ik heb nog geen idee hoe dit vorm gegeven moet worden.
      Door de opzet van de ring bestanden kun je ook niet zomaar herleiden wat de (meter) standen ergen midden in een maand zijn.

      Waarschijnlijk is het makkelijker om dit buiten de DSMR-logger te doen met een programma op een Raspberry of zo die via MQTT berichten standen per specifieke datum vast legt en daar berekeningen op los laat..

      Wellicht dat iemand anders zich hier over wil buigen en de software kan aanpassen.

  36. Deboutte k says:

    Hi
    Weer een mooi project!

    Heb je nog een compleet bordje beschikbaar?

  37. Henk Elzing says:

    Hallo Willem,

    Ik ben zeer geïnteresseerd in deze DSMR logger.

    Heb jij nog een kant en klare set (printje en kastje) liggen?
    Dan zou ik er graag 1 willen kopen.

    • Willem Aandewiel says:

      Henk,

      Leuk dat je enthousiast bent over dit project.

      Ik stuur je een PM.

      • Henk Elzing says:

        Hoi Willem,

        Bedankt voor de DSMR-logger, hij werkt uitstekend.

        Een prachtige toevoeging aan mijn home-domotica.

        “Keep up the good work”

  38. Jochen Korsten says:

    Hoi Willem,

    Een fantastisch mooi DSMR logger project! Ik vraag me af of je nog kant-en-klare printjes incl. kastje over hebt? Dan kan ik mijn bestaande installatie in de meterkast weer eens upgraden 🙂

    Groeten Jochen

  39. Gijs says:

    Hoi Willem,

    Wat een mooi project, hoe is het met de printjes voorraad? Heb je nog geassembleerde printjes? Dat zou heel mooi zijn dan kan ik mijn meterkast daar ook mee verblijden 🙂

    Groeten Gijs

  40. Maarten says:

    Hallo Willem, ik ben bijzonder geïnteresseerd in de ESP32 versie van de DSMR. Al sinds langere tijd loopt bij mij een versie 4.
    Heb je nog printjes over, het liefst met de smd componenten erop.
    Groeten.

  41. Johan says:

    Hoi Willem, Ik stel mijn vraag ook hier nog maar even om anderen erop attent te maken.
    Zoals gezegd in een andere Comment wil ik de tarieven ivm met het prijsplafond voor 2023 aanpassen, maar wat gebeurt er dan met de gegevens van 2022. Je hebt aangegeven dat wanneer ik dit ga aanpassen de gegevens van 2022 dan ook ‘aangepast’ worden (hier ben ik natuurlijk niet blij mee). Kan je dit aanpassen in deze vernieuwde versie, zou mooi zijn. Mijn vraag is nu dan ook aan medegebruikers wat zij hiervan vinden. B.d.w de Logger versie 4 werkt nu ook goed. Gr, Johan.

    • Willem Aandewiel says:

      Hi Johan,

      Het probleem is: hoeveel prijzen zou je willen bijhouden? Heb je een variabel contract dan heb je er misschien wel meerdere per maand nodig. Anderen hebben wellicht genoeg aan vier per jaar. Wanneer gaat zo’n prijs “in”. Allemaal logica die in de GUI moet worden ingebouwd (de DSMRlogger32 doet niets met de prijzen).

      Het is een toevoeging die zeker zinvol is, maar waar ik voorlopig geen tijd voor heb. Eerst maar even zien of er genoeg makers interesse hebben in de DSMR-logger32!

  42. Arie says:

    Hallo Willem,

    Leuk dat de DSMR logger een voortschrijdend (technisch) project blijkt.
    De vorige versies draaien tot volle tevredenheid en ik voorzie op dit moment geen reden om in dit project te stappen.
    Bij Dochter/Schoonzoon met DSMRloggerWS versie mag er zelfs (nog) geen update naar de API versie uitgevoerd worden. Afblijven pap, het werkt! maar ook daar zijn ze druk met de energie en controleren regelmatig hun verbruiksdata via de WS versie.

    In de voorbeeld tabel die je plaatst lees ik wel dat bij jullie de thermostaat ook een graadje lager staat. 2022 – 119 m3 tegen 2021 – 140 m3 😉

    Succes met de verdere uitwerking van versie 5 en ik zal nog regelmatig je website bezoeken.

    • Willem says:

      Hi Arie,

      Joh, je weet niet wat je mist 😉

      Het mooie van de Rev.5 is dat je je “oude” DSMR-logger gewoon in de tweede P1 poort kunt klikken en dan, zolang je dat wilt, beide DSMR-loggers “in de lucht kunt houden” tot je voldoende vertrouwen in de nieuwe hebt!
      Zo heb ik het op het moment ook aangesloten. Niet zozeer omdat ik de Rev.5 niet vertrouw, maar omdat ik zeker wil weten dat beide dezelfde gegevens verzamelen en tonen. Ik merk nu al wel dat de ESP32 een aanzienlijke betere WiFi ontvangst heeft (tien centimeter van elkaar is de RSSI van de Rev.4 rond de -65dB terwijl de Rev.5 rond de -45dB zit!).

  43. Erik says:

    Hoi Willlem,

    Ook bij mij hangt al jaren een voor-vorige versie (meen ik) in de meterkast. En die draait zo soepel dat ik welhaast vergeet dat ik ‘m heb. Nou ben ik handiger met soft- dan met hardware, dus ik vroeg me zo af: kan ik de DSMR logger met ESP32 (liefst kant-en-klaar) bij jou kopen?

    • Willem Aandewiel says:

      Hoi Erik,

      Goed om te lezen dat je tevreden bent met (een vorige versie van) de DSMR-logger!

      Ja, je kunt een “kant-en-klare” DSMR-logger Rev.5 bij mij kopen. Wil je daar ook een ge-3D-print boxje bij?

      Ik stuur je een PM met de kosten!

      Salute!

  44. Johan says:

    Hoi Willem, Misschien een domme vraag maar ik stel hem toch. Kan je de firmware voor
    de DSMRloggerESP32 ook gebruiken voor de DSMRloggerAPI met enige aanpassing natuurlijk ?

    • Willem Aandewiel says:

      Hi Johan,

      Kort antwoord: “Ja” dat kan.
      Moet je wel eerst de ESP8266 vervangen door een ESP32-WROVER module!

      Hm.. misschien kan het dus toch niet ….

  45. Klaas says:

    Hey Willem,
    Weer een mooi project! Ik heb al meer dan twee jaar je oude ontwerp in de meterkast hangen. Werkt prima maar wel met externe voeding, te veel brownouts met de voeding van P1. Waarom gebruik je niet gewoon een all in one esp32 met display? Lekker gemakkelijk met het bouwen en programeren. En met de componenten die je bespaart wellicht ook nog goedkoper. Ik heb diverse projecten gedaan met de TTGO Display. Echt een mooi display en ook twee knoppen. Mogen we ook wensen indienen voor de software? Meer historie! bijvoorbeeld een jaar aan dag info en maand aan uur info. Week info? De spiffs is vrijwel leeg. Je kan de hoeveelheid json data naar de browser afhankelijk maken van een request parameter. De software voor de logger weer in C++ of micropython?

    • Willem Aandewiel says:

      Hallo Klaas,

      Dank voor je comment.

      Ik gebruik geen “kant-en-klaar” bordje omdat het teveel beperkingen geeft. Het lijkt allemaal erg mooi maar ook het bordje waar je naar verwijst heeft zoveel aan boord wat ik niet gebruik en het schermpje is voor mijn, al wat oudere ogen, absoluut ongeschikt. Overigens heb ik het prototype wél met een LiliGo bordje uitgeprobeerd. Daarna omzetten in een “eigen ontwerp” waarbij dan toch weer blijkt dat zaken die met het prototype (LiliGo bordje) wel werkte dat opeens niet meer doet. Ik hou het liever allemaal zelf in de hand! Daarnaast is natuurlijk de lol van deze hobby “om het allemaal zelf te doen“. Soms is dat frustrerend omdat je van alles tegenkomt wat anders werkt dan je had gehoopt maar het uiteindelijke resultaat is zoveel leuker!

      Uiteraard mag je verzoeken voor de software indienen maar mijn uitgangspunt op dit moment is wel de DSMRloggerAPI firmware met iets mínder functionaliteit (mindergas integratie vervalt).

      Overigens is het uitbreiden van de historie eenvoudig één #define _NO_HOUR_SLOTS_ (48 +1) aanpassen. Als je 48 verandert in 96 heb je twee keer zoveel historie over de uren. Maak je er 744 van dan heb je een maand historie!

      En “ja”, nog steeds in C++ (met de Arduino IDE). Ik ben erg nieuwsgierig naar micro Python, maar voor mij nu nog een brug te ver…

      • Klaas says:

        Ik begrijp het, het is maar net wat je uitgangspunt is. Ik heb met de lilygo een leuke thermostaat gemaak met op het display een display wat op een nest thermostaat lijkt. In micropython met een PID ingebouwd. Stuurt de verwarming van mijn werkruimte met MQTT. Wil je meer een “puur” boardje? Overweeg deze dan eens “Wemos S2 Mini esp32 S2“. Leuke van de esp32-s2 is dat de hele serial interface niet nodig is. Als je wat met micropython wil doen dan moet je zeker kijken naar de python asyncio mogelijkheden. Op die manier maak je mooie asynschrone code, is het overzichtelijk en loopt het niet vast. De verhandelingen van Peter Hinch zijn erg goed: Bedankt voor de tip met meer uren, ik ga het eens proberen en ook eens kijken of de week representatie in de html te maken is. Ik beloof niks, ik heb altijd ruzie met javascript 🙂

        • Willem Aandewiel says:

          Hallo Klaas,

          Dank voor de links. Ga ik zeker (een keer) naar kijken.

          Waarom kies je voor een ESP32-S2? Het grote voordeel van de “gewone” ESP32 is dat hij twee cores heeft. De S2 is een uitgeklede versie met maar één core!

          In de nieuwe firmware, voor het Rev. 5 bordje, kun je de historie van de RING bestanden via de GUI vergroten (of verkleinen).

          Wat wil je aan de “representatie in html” aanpassen?
          Voor meer historie hoef je aan de GUI niets aan te passen.

  46. Willem Aandewiel says:

    Hey Johan,

    Het is “een werkende versie in ontwikkeling”.
    Na de werking met het prototype getest te hebben, heb ik de printplaat ontworpen. Omdat het prototype rond een LilyGo bordje is opgebouwd is het altijd de vraag of het met KiCad gemaakte schema (met een “bare” ESP32-WROVER-E processor) en daar van afgeleide printplaat ook precies doet wat ik bedacht heb.
    De grootste uitdaging op dit moment is het geschikt maken van de firmware voor de ESP32.
    Daarnaast heb ik nog wat hardware problemen zoals de FTDI interface die het automatisch flashen nog niet goed doet plus het Heartbeat signaal dat ik hardwarematig bedacht had via GPIO00 te laten lopen, maar dat “werkt niet” (het werkte zo wel bij prototype dat is gemaakt met een LilyGo bordje die dus blijkbaar toch weer rare dingen doet die je niet verwacht!). Dus een spoortje omgeleid en nu komt de hartbeat uit GPIO05.
    En gisteren stopte de NEO pixels met goed werken. Ga ik vandaag uitzoeken.

  47. Johan says:

    Hoi Willem. Het ziet er weer gelikt uit. Is dit nu een werkende versie. Kan me niet voorstellen dat je alles hebt ontworpen met Kicad en vervolgens de printjes klaar hebt, nog aan het testen bent. Deze wordt waarschijnlijk ook mijn volgende project. Eerst de “oude” Hub nog aan de praat zien te krijgen. Johan

  48. Johan Wolbink says:

    Hoi Willem,
    Mooi dat je deze nieuwe uitdaging weer aangaat. Wordt dit project ook weer rond de ESP32 opgezet of zit je ook nog aan andere mogelijkheden te denken. Ga je dit helemaal zelf doen of heb je mensen om je heen die je helpen en ondersteunen ? Veel succes met voorbereiden.
    Gr. Johan.

    • Willem Aandewiel says:

      Hoi Johan,

      De behoefte is eigenlijk ontstaan omdat DSMR-loggers soms niet meer bereikbaar zijn maar nog wel netjes loggen (daarvoor kun je nu al de DSMR-logger één maal per dag, automatisch, laten re-booten) en héél soms gewoonweg “hangen”. Dan worden dus ook de verbruiksgegevens niet meer opgeslagen! Als je dan na een paar dagen wil kijken wat je zonnepanelen de afgelopen dagen hebben gedaan zit je met een grafiek met uitschieters.
      De nieuwe DSMR-logger heeft een hardwarematige Watchdog. De ESP32 stuurt om de paar seconden een hartslag naar de Watchdog. Ontvangt deze een bepaalde tijd géén hartslag dan mag je aannemen dat de ESP32 “ergens” hangt en dan zal de Watchdog de ESP32 resetten.

      Vooralsnog doe ik alles zelf in splendid isolation maar als je wilt helpen dan ben je van harte welkom.

      • Johan says:

        Hoi Willem, Ik zie dat je al heel wat stappen hebt gemaakt, voor mij is het nog even meekijken naar dit nieuwe project. Ik zou je graag willen helpen maar mijn kennis ligt een aantal stappen lager dan die van jou dus zou ik niet weten waarmee ik je op dit moment kan helpen. Ben nu nog met de vorige versie aan het solderen. De Hub ligt klaar nu nog de Logger.

        Blijf je volgen.

Leave a Reply

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

The maximum upload file size: 4 MB. You can upload: image, other. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here

This site uses Akismet to reduce spam. Learn how your comment data is processed.