/DSMRlogger-Next

The next firmware for the DSMR-logger

Primary LanguageC++MIT LicenseMIT

Join the chat at https://gitter.im/DSMRlogger-Next/community

DSMRlogger-Next

The Next firmware for the DSMR-logger for ESP32 and ESP8266

Important RC5: Breaking change to MQTT Messages

With the introduction of Auto Discovery and simplified MQTT messages this also breaks current integrations based on JSON messages over MQTT.

A couple of things about that:

  1. The JSON based MQTT message code is still in the codebase, and can be switch back on.
  2. Simplified MQTT messages allow for easy integration with any platform.
  3. Auto Discovery will update your Home Assistant configuration. You can remove any existing configuration templates in your setup.

Please be aware of these changes, moving over to RC5 is breaking some stuff. So update your Home Assistant by removing the configuration items.

Hardware support

This codebase support the original ESP8266 based DSMR API logger hardware. Starting with RC5 the code is also supporting the ESP32 hardware version that is in development currently. Just select the correct hardware board and compile, it should work fine.

Active Development

The active development branch is currently:
https://github.com/rvdbreemen/DSMRlogger-Next/tree/esp32-merge-next-firmware**

Find out more about the Next firmware in this blogpost

This is the FORK of the original DSMRloggerAPI from Willem Aandewiel.

The intent of this for is to start implementing and extend with new features, fixing bugs and trying to improve the codebase.

With the launch of the Final version of DSMRloggerAPI, version 2.0.1. This completed the last and final update of Willem and released it to the public DSMRlogger, as it complete the REST API.This fork is picking up where Willem finished the development of the REST finished, by fixing bugs, improvement to the codebas and starting to add new features to the firmware.

Willem contributed a large part of his time and effort in creating the open hardware design, making it easy ot get a PCB and components and the firmware in an Open Source way. I plan to extend building features I care about, try to fix bugs and improve code (if even possible). I thank Willem for his contribution to the community and I will keep posting the work as a fork from his original code base.

The release candidate of DSMRlogger-Next will contain:

  • Direct writting to InfluxDB;
  • Fixing DSMR handling so that DSMR spec 4.2 meter will work properly once more
  • Improved c-style string implementation
  • Home Assitant Auto-Discovery through MQTT integration
  • Reboot instead of "Bailout" for 8266 (due to memory leak, means more reboots, but is stable)
  • Support for WEMOS LOLIN32 (for Rob Roos)
  • Minor improvements.

Bughunting help by: Rob Roos

If you have any idea's or suggestions, just ask for them through the issues of this project on GitHub. Did you want to join me in development, then just do a Pull Request this project and I will consider it.

The original code and release of DSMRloggerAPI can be found here: Here and here you can find information about this project.

Documentation of DSMRloggerAPI can be found here (work in progress)!

VersieOpmerking
2.3.0-rc5 Release Candidate (rc5) of DSMRlogger-Next
Implemented auto-discovery for Homeassistant and Domoticz
Removed JSON on MQTT messages (backward compatible with HA integration)
2.1.4-rc4 Release Candidate (rc4) of DSMRlogger-Next
upgraded to latest InfluxDB and modified API for writeOptions
cleaned up the debug code in ESP32 library
changed processTelegram so detection is now based on timestamp, not on internal clock
thanks to Rob Roos for help with testing, and validating 8266 compilation
2.1.3-rc3 Release Candidate (rc3) of DSMRlogger-Next
removed ezTime implementation due to fundamental problem with epoch
added isdsmrDST() to detect summer/winter time for correct influxDB setting
Implemented HomeAssistant Autodiscovery for MQTT
2.1.2-rc2 Release Candidate (rc2) of DSMRlogger-Next
Back to InfluxDB client library
ezTime implementation done right (removed it)
No more bailout with low heap, this broke MQTT and Mindergas
Fixes corrupt records in ring-files (Thanks to Rob Roos)
2.1.1-rc1 Release Candidate (rc1) of DSMRlogger-Next
Implementing my own InfluxDB writer logic
Lots of String processing changed in to Cstyle char processing
2.1.0-rc0 Release Candidate (rc0) of DSMRlogger-Next
Implementing direct InfluxDB support
Bugfix reading DSMR 4.2 correctly (timing issues)
Improvement: Send MQTT once per telegram (no repeats)
2.0.1 First Final Release
Implementing DSMRloggerWS actual api (for backwards compatibility)
More robust way to write hourly data to the RING-files
Bugfix PRE40 gasmeter reading
Remove validity check on meterstanden editor
Better FieldName translation
Bugfix mindergas processing
1.2.1 Third Official Release
Instelling SM_HAS_NO_FASE_INFO nu via settings
Selectie OLED scherm via settings
Mogelijkheid om het oled scherm 180* te flippen via settings
Check op volgordelijkheid Uren (in de GUI)
macaddress in /api/v1/dev/info (Phyxion)
Bailout some functions on low heap
Simplification and better tab restAPIs
Editer Maanden tabel verbetert (maar nog steeds lastig te gebruiken)
Betere test of er op github nieuwe firmware beschikbaar is
bugfix prevent GUI firering multiple restAPI call's
The Leading Edge type GUI now completely from github. Set 'index page' to "DSMRindexEDGE.html" to make use of the latest development (but be aware, there might be bugs)
1.1.0 Second Official Release
Introduction ESP_SysLogger
GUI is now even more a Single Page Application (SPA)
Better coping with WiFi losses (continue operation and try to reconnect)
Restructure slimmemeter.loop() etc.
You can find pré compiled binaries at code -> releases
1.0.1 First official release
You can find pré compiled binaries at code -> releases
0.3.5 RC3 Third Release Candidate