All pages
Powered by GitBook
1 of 16

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

GUI - Systeem Info

Betekenis NeoPixels

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

De Watchdog stuurt NEO-WD aan en het verloop is altijd als volgt:

Stap
NEO-WD

Bijzondere situatie

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:

Stap
NEO-2
NEO-1
NEO-WD
Opmerking

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.

Voeding niet toereikend

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:

Stap
NEO-2
NEO-1
NEO-WD
Opmerking

Normale verwerking

Bij het opstarten zullen de NeoPixels als volgt branden/pulseren:

Stap
NEO-2
NEO-1
NEO-WD
Opmerking

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.

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.

5

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.

6

Rood snel knipperend

Te lang geen heartbeat ontvangen. De Watchdog gaat over tot het resetten van de ESP32.

7

fel Wit

De Watchdog reset de ESP32.

AccessPoint opgestart Selecteer dit AP en voer de credentials van je WiFi netwerk in en druk op [Save]

3

(off)

Blauw

Blauw

4

(off)

Rood

Blauw/Groen

Connectie met WiFi

5

Groen

Groen

Groen

Normale verwerking

Fout situatie

Terug naar stap 1

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.

1

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.

2

off

ongeveer 50 milli seconden.

3

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

4
1

Rood

Rood

Blauw

Start verwerking (na initieel knipperen van NEO-1 en NEO-2).

2

(off)

Wit

1

Blink all colors

Blink all colors

Blauw

Standaard opstart sequence

2

(off)

Rood

1

(off)

Rood

Blauw

Start verwerking (na initieel knipperen van NEO-1 en NEO-2).

2

(off)

Blauw

telnet

Blauw/Groen

Blauw

Blauw

Graphical User Interface

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:

http://dsmr-esp32.local

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.

Telegram

  • All Fields

  • Systeem informatie

  • rest API's

  • FileSystem Manager

  • Settings

  • System Log

  • Actueel overzicht
    Overzicht per uur
    Overzicht per dag
    Overzicht per maand

    GUI - Telegram

    GUI - All Fields

    GUI - Dagen

    FSmanager

    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

    Het bestand systeem formatteren

    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.

    Systeem Log

    De Hardware

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

    OLED display

    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!

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

    Selecteer Power Bron

    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 (5 volt) op de Power Jack worden aangesloten.

    Zie ook de .

    VCC GND SCL SDA

    GND VCC SCL SDA

    externe USB voeding
    Onderdelen Lijst

    GUI - restAPI's

    Settings Editor

    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.

    Betekenis van de knoppen:

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

    Meterstanden aanpassen

    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!

    Slimme Meter Settings aanpassen

    Use Pré DSMR 40 (0=No, 1=Yes)

    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.

    MBus-1 (2,3,4) Type Meter

    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.

    SM Has Fase Info (0=No, 1=Yes)

    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.

    Device Settings aanpassen

    Hostname

    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.

    Te gebruiken index.html pagina

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

    Dagelijkse Reboot

    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.

    Uren/Dagen/Maanden historie aanpassen

    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.

    Telegram Lees Interval

    Default interval is 10. Dit betekent dat er iedere tien seconden een telegram wordt gelezen en verwerkt. De minimum waarde is 2 seconden.

    OLED type

    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

    Flip Oled scherm

    • Voer 0 (nul) in om het scherm standaard te gebruiken

    • Voet 1 in als je het scherm "op zijn kop" gebruikt.

    MQTT Top Topic

    Dit is het topic waarmee de MQTT berichten naar de broker worden verstuurd. Standaard is het Top Topic "DSMR-ESP32".

    Verzend MQTT berichten

    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.

    Telnet User Interface

    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:

    telnet <ip-adres-DSMR-logger32>

    of met:

    telnet DSMR-ESP32.local

    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.

    Keuze
    Functie

    Je sluit de telnet client af door de toetscombinatie [Control]+"]" in te toetsen:

    Toets achter "telnet>" de letter "q" in en druk op [Enter].

    Trying 192.168.2.13...
    Connected to 192.168.2.13.
    Escape character is '^]'.
    
    [11:02:52] processSlimmemeter  (  86): telegramCount=[87930] telegramErrors=[0]
    
    [Time----] Function------------(line):
    [11:02:52] processTelegram     (  17): Telegram[87931]=>tlgrmData.timestamp[230109110250W]
    [11:02:53] processTelegram     ( 136): prevHour[11] -- lastHour[11] 
    [11:03:02] processSlimmemeter  (  86): telegramCount=[87931] telegramErrors=[0]
    
    [Time----] Function------------(line):
    [11:03:02] processTelegram     (  17): Telegram[87932]=>tlgrmData.timestamp[230109110300W]
    [11:03:03] processTelegram     ( 136): prevHour[11] -- lastHour[11] 
    [11:03:03] sendMQTTData        ( 157): MQTTinterval [30]
    Commands are (*X only uppercase):
    
       B - Board Info
      *E - erase file from Filesystem
       F - force Reboot Watchdog
       I - Identify by blinking NeoPixels
       L - List Filesystem
       P - No Parsing (show RAW data from Smart Meter)
      *R - Reboot
       S - Show Settings
      *U - Update Filesystem (save Data-files)
       V - Toggle Verbose 1
      *W - Force Re-Config WiFi
      *Y - Stop zending heartbeat pulses
      *Z - Zero Counters and sysLog
    
       D - Display Day table from Filesystem
       H - Display Hour table from Filesystem
       M - Display Month table from Filesystem

    Z

    Het aantal reboots en verwerkte telegrammen wordt op 0 (nul) gezet. Ook het systeemLog wordt leeg gemaakt.

    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.

    telnet>
    telnet> q
    Connection closed.

    DSMRlogger32

    Documentation about the DSMR-logger for ESP32

    Mijn .

    In dit gitbook vind je alle informatie over de DSMRlogger32 firmware voor de DSMR-logger32.

    DSMR-logger32 in aktie

    Introductie

    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

    • ​ beschrijft het eerste idee achter de Slimme Meter uitlezer.

    • In kun je de ontwikkeling van de hardware en firmware vinden.

    • ​ staat een introductie van de DSMRloggerAPI firmware

    Begrippen

    In dit document worden de volgende begrippen gebruikt:

    Begrip
    Omschrijving

    Een volledige beschrijving van dit project kun je vinden.

    Veel informatie over de hardware en het gebruik wordt
    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.

  • DSMR

    ​Dutch Smart Meter Requirements. De DSMR specificatie 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!

    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

    Deze post
    deze post
    Hier
    hier
    hier

    GUI - Actual

    GUI - Maanden

    GUI - Uren

    gitbook boekenplank