Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Behalve met de GUI kun je de DSMR-logger32 ook bereiken via het telnet
protocol (poort 23). De meeste UNIX varianten (waaronder MacOS) kennen de standaard telnet client. Windows gebruikers moeten een programma zoals Putty installeren.
Telnet is een onbeveiligd protocol dat geen gebruik maakt van een gebruikersnaam en/of wachtwoord.
Start in een terminal window de telnet client als volgt op:
of met:
Als de verbinding lukt zie je dit:
Als je nu op de[Enter]
toets drukt krijg je een menu te zien:
De menu-keuzen waar een asterisk (*) voor staat werken alleen als je de letter als HOOFDLETTER intoetst. De meeste opties spreken voor zich.
v of V
Met de letter "v" verhoog je de verbositeit van off naar 1 naar 2 en weer terug naar off. Hoe hoger de verbositeit hoe meer logging gegevens je te zien krijgt.
f of F
Hiermee reboot je de Watchdog. Dit kan handig zijn als je (bijvoorbeeld) een lange update wilt doen en daar zo veel mogelijk tijd voor wilt krijgen. Na een reboot van de Watchdog duurt het ongeveer twee minuten voordat de Watchdog de ESP32 reset als deze geen heartbeats ontvangt.
R
Hiermee wordt na twee seconden de DSMR-logger32 ge-restart.
U
De RING bestanden worden direct ge-update.
W
De WiFi credentials worden verwijderd. Na een restart moeten deze opnieuw ingevoerd worden via het WiFi AP portal (net zoals bij de eerste keer opstarten van de DSMR-logger32). Connect to AP [DSMR-ESP32] and go to ip address shown in the AP-name
Y
De ESP32 stuurt hierna geen heartbeats meer naar de Watchdog. Na enige tijd (ongeveer 90 seconden) zal de Watchdog de ESP32 restarten. Door (binnen 90 seconden) een "y" of "Y" in te toetsen zullen er weer heartbeats naar de ESP32 worden gestuurd.
Z
Het aantal reboots en verwerkte telegrammen wordt op 0 (nul) gezet. Ook het systeemLog wordt leeg gemaakt.
Je sluit de telnet client af door de toetscombinatie [Control]
+"]
" in te toetsen:
Toets achter "telnet>
" de letter "q" in en druk op [Enter]
.
De Graphical User Interface (GUI) van de DSMR-logger32 kun je bereiken door de URL
"http://dsmr-esp32.local/
"
in de adresbalk van je browser in te toetsen:
Mocht je bij Systeem Settings een andere HostName ingevoerd hebben, dan verandert deze URL natuurlijk in "<Hostname>.local
".
Veel browser vinden het niet fijn als je een "niet-geëncrypte" site bezoekt en vragen dan eerst of je dat wel echt wil ...
... omdat we weten waar we mee bezig zijn kun je in dit geval met een gerust hart op de knop [Continue to site] klikken.
Documentation about the DSMR-logger for ESP32
Mijn .
In dit gitbook vind je alle informatie over de DSMRlogger32 firmware voor de DSMR-logger32.
Je vindt hier de documentatie van de DSMRlogger32 hardware en firmware voor versie 5 van de DSMR-logger. Deze DSMR-logger is "Plug-And-Play" en alleen in bijzondere gevallen moet er, via de GUI, iets aan de instellingen aangepast worden (bijvoorbeeld als je een hele oude Slimme Meter hebt of als je een zgn. "Enkel Fase" Slimme Meter hebt). Deze documentatie is ook voor de gebruikers en makers die meer willen dan alleen de DSMR-logger aansluiten op hun Slimme Meter. De meeste gebruikers zullen voldoende hebben aan alleen dit hoofdstuk.
Let op! Deze documentatie is "work in progress"! Controleer daarom regelmatig of er iets is aangepast of aangevuld.
De DSMR-logger32 is een hardware en software systeem waarmee de Slimme Meter kan worden uitgelezen. De uitgelezen data (oftewel telegrammen) worden in de DSMR-logger32 opgeslagen en kunnen met behulp van gestandaardiseerde restAPI call's worden opgevraagd.
Deze versie van de DSMRlogger32 firmware kan overweg met vrijwel alle, mij bekende, Slimme Meters (DSMR 2+, DSMR3+, DSMR4+, DSMR5+ en de Belgische varianten hiervan).
Meer informatie
Deze post beschrijft het eerste idee achter de Slimme Meter uitlezer.
In deze post kun je de ontwikkeling van de hardware en firmware vinden.
Hier staat een introductie van de DSMRloggerAPI firmware
Veel informatie over de hardware en het gebruik wordt hier beschreven.
De DSMRlogger32 firmware kun je op github vinden
Voor de meeste mensen is het gebruik van de twee binaries het eenvoudigste. Deze binaries kun je binnenkort hier vinden.
In dit document worden de volgende begrippen gebruikt:
DSMR
DSMR-logger32
de Hardware (Let op! Streepje tussen DSMR en logger)
DSMR-logger32 v5 (of Versie 5)
Versie 5 van de Hardware. Deze hardware is de basis van dit project.
DSMRlogger32
De firmware voor de DSMR-logger32. Deze firmware maakt intensief gebruik van restAPI's. Let op! De firmware heeft geen streepje (-) tussen "DSMR" en "logger"
ESP32-WROVER-E
Een ESP32 processor met 4MB Flash Geheugen en 4MB SPI-RAM (of SPRAM). Deze processor van Espressif wordt gebruikt in de DSMR-logger32
Een volledige beschrijving van dit project kun je hier vinden.
Met de FSmanager is het mogelijk bestanden op het bestand systeem (SPIFFS) van de DSMR-logger te plaatsen of ze ervan te verwijderen. Ook kan de inhoud van bestanden die aanwezig zijn op het bestand systeem worden getoond (dit is niet mogelijk met .html bestanden omdat deze direct door de browser geïnterpreteerd -en dus uitgevoerd- worden).
Daarnaast kent de FSmanager nog de volgende functies:
Starten van de Update Server [Update Firmware]
Rebooten van de DSMR-logger[Reboot]
Formatteren van het SPIFFS [Format FileSYS]
Soms blijft het scherm leeg. Klik dan op de knop[List File System]
Met de knop[Exit FSmanager]
keer je terug naar het hoofdscherm.
Er zijn verschillende manieren om de FSmanager te starten:
Vanuit het DSMR-logger hoofdscherm door op het icoon te klikken
Door in de browser de volgende URL in te toetsen
http://dsmr-esp32.local/FSmanager
of:
http://<ipAdresVanDeLogger>/FSmanager
De FSmanager heeft de mogelijkheid om het bestand systeem te formatteren. Deze functie is alleen nodig als het bestand systeem problemen vertoont. Normaal gesproken is deze functie nooit nodig en daarom is de knop ook uitgeschakeld. Om de knop te activeren moet het bestand met de naam !doNotFormat
(het eerste teken is een uitroep-teken) ge-delete worden. De inhoud van het bestand is niet belangrijk. Zodra dit bestand afwezig is wordt de [Format FileSYS]
knop geactiveerd.
Pas op! Door het bestand systeem te formatteren raak je álle bestanden die op het bestand systeem staan kwijt! Maak zo nodig eerst kopiëren van belangrijke bestanden.
Na iedere herstart zal de DSMRlogger32 firmware controleren of het bestand systeem correct geformatteerd is. In dat geval plaatst het automatisch een bestand met de naam !doNotFormat
in de root directory.
De hardware is behoorlijk aangepast ten opzichte van de voorgaande versies.
De drie belangrijkste aanpassingen zijn de secondaire P1 poort, de Watchdog en de mogelijkheid om een shield op de DSMR-logger32 te plaatsen. Iets minder belangrijk, maar wel erg informatief zijn de drie Neopixels. Twee worden bestuurd door de ESP32 de derde wordt bestuurd door de Watchdog (ATtiny85).
Als optie kan een 0.96" of 1.3" OLED display worden aangesloten.
Let er wél op dat er twee versies van deze schermen worden aangeboden die op het eerste gezicht helemaal hetzelfde lijken, maar waarvan de GND en Vcc aansluitingen omgewisseld zijn! Bij één en dezelfde leverancier kom je beide versies tegen. Controleer dus áltijd hoe jouw versie op de DSMR-logger32 moet worden aangesloten!
VCC GND SCL SDA
GND VCC SCL SDA
En om de verwarring compleet te maken zijn er ook OLED schermpjes (ik ben dit tot nu toe alleen bij de 1.3" tegen gekomen) waarop de opdruk aan de bovenkant niet overeenkomt met de daadwerkelijke aansluitingen.
Dit type OLED scherm heeft aan de bovenkant de opdruk "1" (naast VDD) en "4" (naast SDA) maar aan de onderkant een mogelijkheid om "1" en "2" om te draaien door twee 0 ohm weerstandjes op de gewenste plek te solderen. Bij sommige schermpjes zijn deze weerstandjes zodanig geplaatst dat de opdruk aan de bovenkant overeen komt met de werkelijke aansluiting .. maar soms dus ook niet. Opletten dus!
Daarom heeft de DSMR-logger32 géén verbindingen naar het OLED schermpje voor GND en VCC. Afhankelijk van de aansluitingen op jouw OLED schermpje moet je de volgende draadbruggen solderen.
De I2C bus [SCL-SDA] zijn wél standaard doorverbonden. Heeft jouw OLED schermpje daar óók een andere volgorde voor (ben ik nog niet tegen gekomen) dan kun je aan de onderkant van het PCB twee spoortjes (zie zwarte kruisjes) doorsnijden en op het patch gebied tussen SDA, SCL en I2C1, I2C2 de voor jou werkende doorverbindingen maken..
Er zijn drie manieren om de DSMR-logger32 van voedingsspanning te voorzien. Er mag altijd maar één van de drie geselecteerd worden door een jumper te plaatsen.
In het linker plaatje is de Slimme Meter als spanningsbron geselecteerd. In het middelste plaatje komt de spanning van het shield af. Wordt de jumper in het midden geplaatst, zoals in het rechter plaatje, dan moet er een externe USB voeding (5 volt) op de Power Jack worden aangesloten.
Zie ook de Onderdelen Lijst.
Bij het opstarten van de DSMR-logger32 kun je, aan de hand van de NeoPixels zien wat hij "aan het doen is".
Na een [Reset]
of bij het aansluiten van de spanning zal de DSMR-logger32 een aantal stappen uitvoeren. Als eerste zal de NEO-WD Blauw worden en de twee andere Neopixels zullen snel blinken in verschillende kleuren. Daarna worden NEO-1 en NEO-2 kortstondig rood.
De Watchdog stuurt NEO-WD aan en het verloop is altijd als volgt:
Afhankelijk van hoe snel je met het selecteren van je WiFi AP bent zal de NEO-WD in "normale operatie" komen (stap 3/4) en langzaam Groen pulseren. Duurt het selecteren en bewaren van je WiFi credentials te lang dan zal de NEO-WD eerst langzaam en daarna snel in Rood pulseren waarna de ESP32 wordt ge-reset en deze weer met de normale opstart procedure start.
Als de externe voeding of de voeding van de Slimme Meter niet voldoende vermogen levert (minimaal 500mA) dan zal dat te zien zijn aan de NeoPixels die dan als volgt branden/knipperen:
Bij het opstarten zullen de NeoPixels als volgt branden/pulseren:
Als de hele opstart procedure (goed) is doorlopen hoort de NEO-WD langzaam in het groen te pulseren. Zolang de Watchdog regelmatig een heartbeat van de ESP32 ontvangt zal dat het geval zijn. Dat de ESP32 een heartbeat verstuurt kun je zien omdat NEO-1 dan héél even Wit oplicht.
Iedere keer dat de DSMR-logger een telegram verwerkt zal NEO-2 even fel groen oplichten.
. De is een afgeleide van de NTA 8130-normering. De DSMR-logger32 (versie 5) is ontworpen voor de DSMR 4.0 of hoger. DSMR 4.0 geeft aan dat de Slimme Meter op de P1-poort 5 volt bij 100mA moet kunnen leveren (zie pagina 8 en 9 van de specificatie). Vanaf DSMR 5.0+ moet de Slimme Meter 250mA op de P1 poort kunnen leveren. De DSMR-logger32 (ESP32) gebruikt tijdens het opstarten kortstondig tot wel 800mA. Voor de DSMR-logger32 zul je bijna altijd een externe voeding nodig hebben!
Bij de eerste keer opstarten, als je met de credentials hebt ge-reset óf als je de DSMR-logger32 naar een lokatie verplaatst waar hij geen verbinding met het ingevoerde/bekende WiFi AccessPoint kan maken, zullen de Neopixels als volgt gaan branden:
Blauw pulserend
Na een reset zal de NEO-WD 30 seconden in deze staat verkeren zodat de ESp32 genoeg tijd heeft om op te starten.
off
ongeveer 50 milli seconden.
Groen pulserend
Normale verwerking. Zolang de ESP32 heartbeat pulsen geeft zal de Watchdog in deze staat blijven. De pulse duur is ongeveer 10 seconden (aan-uit-aan).
Rood langzaam pulserend
60 seconden géén heartbeat ontvangen. 30 seconden vóór reset ESP32. De pulse duur is ongeveer twee seconden (aan-uit-aan). Wordt er weer een heartbeat ontvangen dan veranderd de status terug naar stap 3.
Rood snel pulserend
75 seconden géén heartbeat ontvangen. 15 seconden vóór reset ESP32. De pulse duur is ongeveer een halve seconde (aan-uit-aan). Wordt er weer een heartbeat ontvangen dan verandert de status terug naar stap 3.
Rood snel knipperend
Te lang geen heartbeat ontvangen. De Watchdog gaat over tot het resetten van de ESP32.
fel Wit
De Watchdog reset de ESP32.
Rood
Rood
Blauw
Start verwerking (na initieel knipperen van NEO-1 en NEO-2).
(off)
Wit
Blauw/Groen
AccessPoint opgestart
Selecteer dit AP en voer de credentials van je WiFi netwerk in en druk op [Save]
(off)
Blauw
Blauw
(off)
Rood
Blauw/Groen
Connectie met WiFi
Groen
Groen
Groen
Normale verwerking
1
Blink all colors
Blink all colors
Blauw
Standaard opstart sequence
2
(off)
Rood
Blauw
Fout situatie
Terug naar stap 1
1
(off)
Rood
Blauw
Start verwerking (na initieel knipperen van NEO-1 en NEO-2).
2
(off)
Blauw
Blauw
Start WiFi
3
(off)
Groen
Blauw
Verbonden met WiFi
4
Groen
Groen
Blauw
Normale verwerking. Watchdog nog in opstart fase.
5
Groen
Groen
Groen
Normale verwerking. Watchdog ontvangt heartbeats.
x
Rood
Groen
Groen
Bij het ontvangen van een onvolledig Telegram zal NEO-2 kortstondig Rood oplichten. Bij een volgend, volledig, telegram wordt NEO-2 weer Groen.
De DSMRlogger32 heeft de mogelijkheid om meterstanden en instellingen via de browser te veranderen.
Je start de DSMR-editor
door in het hoofdscherm op het icoontje te klikken.
Terug: Terug naar het hoofdscherm van de DSMR-logger.
Meterstanden: Hier kunnen, per maand, de meterstanden worden ingevoerd. Er kan gekozen worden tussen de meterstanden van de gebruikte energie, de opgewekte energie en het gas verbruik.
Settings: Hier kunnen bepaalde parameters die specifiek zijn voor jouw Slimme Meter worden ingevoerd.
System: Voor jouw DSMR-logger specifieke parameters.
Herstel: ingevoerde veranderingen die nog niet zijn opgeslagen worden teniet gedaan.
Opslaan: de ingevoerde gegevens worden opgeslagen.
Het muteren van de maanden tabel is nog niet helemaal zoals het zou moeten zijn. Het is vrij lastig omdat de software zeker moet zijn dat de jaar/maand gegevens, van boven naar beneden, aflopen en aansluiten en ook de meterstanden moeten een steeds lagere waarde hebben. Wordt niet aan voorgaande inter-validatie voldaan, dan kleurt het vakje waar de fout is ontdekt rood en worden de gegevens niet opgeslagen.
Klik na iedere verandering op [Opslaan]
(of in ieder geval toch zo vaak mogelijk!
Sommige browser vertalen decimale punten in komma's! Dit is erg verwarrend want de vertaling terug doen ze dan weer niet. Bij het invullen/veranderen van de meterstanden moet een decimale punt (".") gebruikt worden, anders wordt de invoer als ongeldig aangemerkt en niet opgeslagen!
Zet deze rubriek op "1" als je een DSMR 2+ of DSMR 3+ Slimme Meter hebt. Deze instelling wordt pas actief nadat de DSMR-logger opnieuw is opgestart.
Voer hier het Type
in van de meter die op de betreffende MBus is aangesloten. Het Type
van Gas meters is "003". Als in jouw installatie de Gas meter is aangesloten op MBus-ID2 voer je bij de rubriek**"MBus-2 Type meter"
**een "3" in. Bij MBus-ID's waar niets op is aangesloten voer je het beste een "0" in.
Voer een 1 in als de aangesloten Slimme Meter wél fase informatie afgeeft, voer anders een 0 (nul) in. Of jouw Slimme Meter Fase Informatie af geeft kun je zien door naar een telegram te kijken. Geeft jouw Slimme Meter Fase Informatie dan zie je rubrieken met een naam waar _l1
, _l2
en _l3
achter staat. Je hebt een Slimme meter die géén fase info afgeeft als de grafieken leeg blijven.
De default Hostname is DSMR-ESP32. De documentatie gaat ook uit van deze default hostname. Mocht je de hostname hier veranderen dan moet je bij het lezen van de documentatie overal "DSMR-ESP32" vervangen door de door jou ingevoerde hostname.
De standaard index pagina is "DSMRindex.html". Mocht je zelf een GUI schrijven dan kun je hier de naam van de index pagina van jouw GUI invullen (nadat je jouw .html
pagina naar het bestand systeem hebt ge-upload).
Standaard staat er ook een DSMRindexEDGE.html pagina op het bestand systeem. Deze is gelijk aan de DSMRindex.html pagina maar hij haalt de javascript en css bestanden uit de github repository zodat aanpassingen (uitbreidingen of verbeteringen) automatisch door de DSMR-logger gebruikt worden.
Je kunt alternatieve GUI's eenvoudig uitproberen door in de FSmanager op deze bestanden te klikken.
Een nieuw ingevoerde index pagina wordt pas actief na het opnieuw opstarten van de DSMR-logger ([ReBoot] knop in de FSmanager).
Soms is het handig om de DSMR-logger iedere dag automatisch te re-booten. Door deze optie op "1" te zetten gebeurt dat iedere ochtend.
Het is mogelijk om, binnen grenzen, de hoeveelheid historie die je per uur, dag of maand wilt opslaan in het betreffende RING bestand, aan te passen.
Je kunt slechts één van deze RING-bestanden per keer aanpassen. Om dat te doen moet je zowel het aantal veranderen alsook de rubriek "Historie aanpassen" op "1" zetten en op [Opslaan]
klikken.
Default interval is 10. Dit betekent dat er iedere tien seconden een telegram wordt gelezen en verwerkt. De minimum waarde is 2 seconden.
Hier kun je invoeren óf en wat voor OLED schermpje op de DSMR-logger is aangesloten.
Voer een 0 (nul) in als er geen OLED scherm is aangesloten
Voer een 1 in als het scherm van het type SDD1306 is
Voer een 2 in als het scherm van het type SH1106 is
Voer 0 (nul) in om het scherm standaard te gebruiken
Voet 1 in als je het scherm "op zijn kop" gebruikt.
Dit is het topic waarmee de MQTT berichten naar de broker worden verstuurd. Standaard is het Top Topic "DSMR-ESP32".
Hier kun je opgeven hoe vaak de DSMR-logger een bericht naar de MQTT broker moet sturen. Voer je hier '0' (nul) in dan worden er géén berichten naar de MQTT broker verstuurd. Een waarde kleiner dan de Telegram Lees Interval zorgt ervoor dat na ieder gelezen telegram een bericht naar de MQTT broker wordt verstuurd.