Skip to content
Compare
Choose a tag to compare

ObisID 0-0:96.13.0 (message_long) removed.

Compare
Choose a tag to compare

Release v3.0.1

This Release is ready for all (known by me) Slimme Meters.

Using The Settings editor you can select the type of Slimme Meter you have and all kinds of other parameters of your specific installation.

Take a look at the official documentaion.

The type of Slimme Meter is with this release configurable via settings (GUI) also the MBus ID where the gas meter is connected too is configurable via settings (mbus-type "3" is a gas-meter. Set mbus-type to "0" for the other mbus-ID's).

Thanks

Thanks to Jeroen van den Berg, Daniel Twigt, Pauwel Demeyer, Staf van Gestel en Bauke Jeeninga for the extensive testing and feedback.

Update from v2.0.1

Release v3.0 uses a different file system than v2.0 so you need to flash the file system also!!
Make sure you read the full upgrade instruction to prevent loosing your data!!!
here you find more extensive documentation for upgrading v2.0 to v3.0.

  1. Save your RING-files to your PC
  2. With the Update Server (FSexplorer -> [Firmware Update])
    2.1 first update the firmware (DSMRloggerAPI.ino.bin)
    2.2 second update the file system (DSMRloggerAPI.mklittlefs.bin)
  3. [for some users: (re)configure your WiFi credentials!]
  4. After connecting to the webserver goto setting and configure the type of DSMR protocol and the MBus-type (3=gas meter)
  5. Reboot the DSMR-logger
  6. With the FSmanager restore the in 1. saved RING-files
  7. Reboot the DSMR-logger

Na installatie

Nadat de DSMR-logger een paar minuten "gedraaid" heeft in het settingen scherm controleren of alle velden staan zoals je wilt.
Belangrijk zijn met name:

Rubriekfunctie/waarden
HostnameDeze moet binnen je netwerk uniek zijn!
pré DSMR40Deze moet voor DSMR 2+ t/m DSMR 3+ Slimme Meters op "1" staan
Voor alle Slimme Meters met DSRM 4 of hoger moet deze rubriek op "0" staan.
Verandering wordt pas actief ná rebooten van de DSMR-logger!
MBus-1 typeDeze moet in de meeste gevallen op "3" staan ("3" is een Gas meter)
Als je voorheen de code hebt moeten aanpassen om de Gas Meter uit te kunnen lezen moet je nu een "3" plaatsen achter de betreffende MBus
SM Has Fase InfoVoor multi-fase meters: "1", voor single-fase meters: "0"
OLED typeStandaard (SDD1306) OLED scherm: "1"
Als je een groot (SH1106) OLED scherm hebt: "2"
Als je géén OLED scherm hebt: "0" (opstarten gaat dan een stuk sneller)
Compare
Choose a tag to compare

Let op!

Als je een update van v1.2.1 van de firmware doet, dan moet je ook het bestand DSMRindex.js uit de data map via de FSexplorer naar het SPIFFS uploaden! Je mag natuurlijk ook alle andere bestanden uit de data-map uploaden.

Kijk ook hier

Het bestand DSMRloggerAPI.spiffs.bin hoort bij de 4MB firmware.

Arduino-IDE settings voor versie 4 van de DSMR-logger(ESP-12):

    - Board: "Generic ESP8266 Module"
    - Flash mode: "DOUT" | "DIO"    // change only after power-off and on again!
    - Flash size: "4MB (FS: 2MB OAT:~1019KB)"  <<<<LET OP!! ***** 2MB SPIFFS *****
    - DebugT port: "Disabled"
    - DebugT Level: "None"
    - IwIP Variant: "v2 Lower Memory"
    - Reset Method: "none"   // but will depend on the programmer!
    - Crystal Frequency: "26 MHz" 
    - VTables: "Flash"
    - Flash Frequency: "40MHz"
    - CPU Frequency: "80 MHz" (or "160 MHz")
    - Buildin Led: "2"  
    - Upload Speed: "115200"                                                                                                                                                                                                                                                 
    - Erase Flash: "Only Sketch"
    - Port: <select correct port>

Compiler opties Standaard (DSMRloggerAPI.ino.bin):

#define USE_REQUEST_PIN           // define if it's a esp8266 with GPIO 12 connected to SM DTR pin
#define USE_UPDATE_SERVER         // define if there is enough memory and updateServer to be used
//  #define USE_BELGIUM_PROTOCOL      // define if Slimme Meter is a Belgium Smart Meter
//  #define USE_PRE40_PROTOCOL        // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0)
//  #define USE_NTP_TIME              // define to generate Timestamp from NTP (Only Winter Time for now)
//  #define HAS_NO_SLIMMEMETER        // define for testing only!
#define USE_MQTT                  // define if you want to use MQTT (configure through webinterface)
#define USE_MINDERGAS             // define if you want to update mindergas (configure through webinterface)
//  #define USE_SYSLOGGER             // define if you want to use the sysLog library for debugging
//  #define SHOW_PASSWRDS             // well .. show the PSK key and MQTT password, what else?

Compiler opties Belgische Versie (DSMRloggerAPI-BE.ino.bin):

#define HAS_REQUEST_PIN           // define if it's a 'bare' ESP-12 (no reset/flash functionality on board)
#define USE_UPDATE_SERVER         // define if there is enough memory and updateServer to be used
#define USE_BELGIUM_PROTOCOL      // define if Slimme Meter is a Belgium Smart Meter
//  #define USE_PRE40_PROTOCOL        // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0)
//  #define USE_NTP_TIME              // define to generate Timestamp from NTP (Only Winter Time for now)
//  #define HAS_NO_SLIMMEMETER        // define for testing only!
#define USE_MQTT                  // define if you want to use MQTT
//  #define USE_MINDERGAS             // define if you want to update mindergas
//  #define USE_SYSLOGGER             // define if you want to use the sysLog library for debugging
//  #define SHOW_PASSWRDS             // well .. show the PSK key and MQTT password, what else?

Compiler opties pre 40 (DSMRloggerAPI-PRE40.ino.bin):

#define HAS_REQUEST_PIN           // define if it's a 'bare' ESP-12 (no reset/flash functionality on board)
#define USE_UPDATE_SERVER         // define if there is enough memory and updateServer to be used
//  #define USE_BELGIUM_PROTOCOL      // define if Slimme Meter is a Belgium Smart Meter
#define USE_PRE40_PROTOCOL        // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0)
#define USE_NTP_TIME              // define to generate Timestamp from NTP (Only Winter Time for now)
//  #define HAS_NO_SLIMMEMETER        // define for testing only!
#define USE_MQTT                  // define if you want to use MQTT
#define USE_MINDERGAS             // define if you want to update mindergas
//  #define USE_SYSLOGGER             // define if you want to use the sysLog library for debugging
//  #define SHOW_PASSWRDS             // well .. show the PSK key and MQTT password, what else?

Arduino-IDE settings voor versie 2 en 3 van de DSMR-logger (ESP-01):

    - Board: "Generic ESP8266 Module"
    - Flash mode: "DOUT" | "DIO"    // change only after power-off and on again!
    - Flash size: "1MB (FS: 256KB OAT:~374KB)"  <<<<LET OP!! ***** 256KB SPIFFS *****
    - DebugT port: "Disabled"
    - DebugT Level: "None"
    - IwIP Variant: "v2 Lower Memory"
    - Reset Method: "none"   // but will depend on the programmer!
    - Crystal Frequency: "26 MHz" 
    - VTables: "Flash"
    - Flash Frequency: "40MHz"
    - CPU Frequency: "80 MHz" (or 160MHz)
    - Buildin Led: "2"  
    - Upload Speed: "115200"                                                                                                                                                                                                                                                 
    - Erase Flash: "Only Sketch"
    - Port: <select correct port>

Compiler opties voor versie 2 or 3 van de DSMR-logger (DSMRloggerAPI-ESP-01.ino.bin):

/******************** compiler options  ********************************************/
//#define USE_REQUEST_PIN           // NIET VOOR EEN v3 BORDJE
//#define USE_UPDATE_SERVER         // (v3)NIET GEBRUIKEN
//  #define USE_BELGIUM_PROTOCOL      // define if Slimme Meter is a Belgium Smart Meter
//  #define USE_PRE40_PROTOCOL        // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0)
//  #define USE_NTP_TIME              // define to generate Timestamp from NTP (Only Winter Time for now)
//  #define HAS_NO_SLIMMEMETER        // define for testing only!
#define USE_MQTT                  // define if you want to use MQTT (configure through webinterface)
//  #define USE_MINDERGAS             // (v3) NIET GETEST!
//  #define USE_SYSLOGGER             // (v3) NIET GEBRUIKEN
//  #define SHOW_PASSWRDS             // well .. show the PSK key and MQTT password, what else?
/******************** don't change anything below this comment **********************/

Het bestand DSMRloggerAPI-ESP-01.spiffs.bin hoort bij de 1MB firmware.

Compare
Choose a tag to compare

Let op!

Als je een update van de firmware doet, dan moet je alle bestanden die in de data map staan via de FSexplorer naar het SPIFFS uploaden!
Kijk ook hier

Arduino-IDE settings for DSMR-logger Version 4 (ESP-12):

    - Board: "Generic ESP8266 Module"
    - Flash mode: "DOUT" | "DIO"    // change only after power-off and on again!
    - Flash size: "4MB (FS: 2MB OAT:~1019KB)"  <<<<LET OP!! ***** 2MB SPIFFS *****
    - DebugT port: "Disabled"
    - DebugT Level: "None"
    - IwIP Variant: "v2 Lower Memory"
    - Reset Method: "none"   // but will depend on the programmer!
    - Crystal Frequency: "26 MHz" 
    - VTables: "Flash"
    - Flash Frequency: "40MHz"
    - CPU Frequency: "80 MHz"
    - Buildin Led: "2"  
    - Upload Speed: "115200"                                                                                                                                                                                                                                                 
    - Erase Flash: "Only Sketch"
    - Port: <select correct port>

Compiler opties Standaard:

#define USE_REQUEST_PIN           // define if it's a esp8266 with GPIO 12 connected to SM DTR pin
#define USE_UPDATE_SERVER         // define if there is enough memory and updateServer to be used
//  #define USE_BELGIUM_PROTOCOL      // define if Slimme Meter is a Belgium Smart Meter
//  #define USE_PRE40_PROTOCOL        // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0)
//  #define USE_NTP_TIME              // define to generate Timestamp from NTP (Only Winter Time for now)
//  #define HAS_NO_SLIMMEMETER        // define for testing only!
#define USE_MQTT                  // define if you want to use MQTT (configure through webinterface)
#define USE_MINDERGAS             // define if you want to update mindergas (configure through webinterface)
//  #define USE_SYSLOGGER             // define if you want to use the sysLog library for debugging
//  #define SHOW_PASSWRDS             // well .. show the PSK key and MQTT password, what else?

Compiler opties Belgische Slimme Meter:

#define HAS_REQUEST_PIN           // define if it's a 'bare' ESP-12 (no reset/flash functionality on board)
#define USE_UPDATE_SERVER         // define if there is enough memory and updateServer to be used
#define USE_BELGIUM_PROTOCOL      // define if Slimme Meter is a Belgium Smart Meter
//  #define USE_PRE40_PROTOCOL        // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0)
//  #define USE_NTP_TIME              // define to generate Timestamp from NTP (Only Winter Time for now)
//  #define HAS_NO_SLIMMEMETER        // define for testing only!
#define USE_MQTT                  // define if you want to use MQTT
//  #define USE_MINDERGAS             // define if you want to update mindergas
//  #define USE_SYSLOGGER             // define if you want to use the sysLog library for debugging
//  #define SHOW_PASSWRDS             // well .. show the PSK key and MQTT password, what else?

Compiler opties pre 40 (DSMR 2.2 tot 4.0):

#define HAS_REQUEST_PIN           // define if it's a 'bare' ESP-12 (no reset/flash functionality on board)
#define USE_UPDATE_SERVER         // define if there is enough memory and updateServer to be used
//  #define USE_BELGIUM_PROTOCOL      // define if Slimme Meter is a Belgium Smart Meter
#define USE_PRE40_PROTOCOL        // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0)
#define USE_NTP_TIME              // define to generate Timestamp from NTP (Only Winter Time for now)
//  #define HAS_NO_SLIMMEMETER        // define for testing only!
#define USE_MQTT                  // define if you want to use MQTT
#define USE_MINDERGAS             // define if you want to update mindergas
//  #define USE_SYSLOGGER             // define if you want to use the sysLog library for debugging
//  #define SHOW_PASSWRDS             // well .. show the PSK key and MQTT password, what else?

Arduino-IDE settings voor versie 2 en 3 van de DSMR-logger (ESP-01):

    - Board: "Generic ESP8266 Module"
    - Flash mode: "DOUT" | "DIO"    // change only after power-off and on again!
    - Flash size: "1MB (FS: 256KB OAT:~374KB)"  <<<<LET OP!! ***** 256KB SPIFFS *****
    - DebugT port: "Disabled"
    - DebugT Level: "None"
    - IwIP Variant: "v2 Lower Memory"
    - Reset Method: "none"   // but will depend on the programmer!
    - Crystal Frequency: "26 MHz" 
    - VTables: "Flash"
    - Flash Frequency: "40MHz"
    - CPU Frequency: "80 MHz" (or 160MHz)
    - Buildin Led: "2"  
    - Upload Speed: "115200"                                                                                                                                                                                                                                                 
    - Erase Flash: "Only Sketch"
    - Port: <select correct port>

Compiler opties voor versie 2 en 3 van de DSMR-logger (ESP-01):

/******************** compiler options  ********************************************/
//#define USE_REQUEST_PIN           // NIET VOOR EEN v3 BORDJE
//#define USE_UPDATE_SERVER         // (v3)NIET GEBRUIKEN
//  #define USE_BELGIUM_PROTOCOL      // define if Slimme Meter is a Belgium Smart Meter
//  #define USE_PRE40_PROTOCOL        // define if Slimme Meter is pre DSMR 4.0 (2.2 .. 3.0)
//  #define USE_NTP_TIME              // define to generate Timestamp from NTP (Only Winter Time for now)
//  #define HAS_NO_SLIMMEMETER        // define for testing only!
#define USE_MQTT                  // define if you want to use MQTT (configure through webinterface)
//  #define USE_MINDERGAS             // (v3) NIET GETEST!
//  #define USE_SYSLOGGER             // (v3) NIET GEBRUIKEN
//  #define SHOW_PASSWRDS             // well .. show the PSK key and MQTT password, what else?
/******************** don't change anything below this comment **********************/