Git Product home page Git Product logo

aldadic / esp-smartmeter-reader Goto Github PK

View Code? Open in Web Editor NEW
21.0 3.0 3.0 24 KB

Arduino sketch to read and decrypt the data from my Smart Meter (Landis+Gyr E450 / Wiener Netze) with an ESP32 or ESP8266. Integrates into Home Assistant via MQTT.

License: GNU General Public License v3.0

C 24.44% C++ 75.56%
esp32 esp32-arduino esp8266 esp8266-arduino smart-meter wiener-netze home-assistant

esp-smartmeter-reader's Introduction

Hi ๐Ÿ‘‹ I am Aleksandar Dadic, but most people know me as Sascha. Currently I am pursuing a master's degree in technical mathematics at TU Wien. In my studies I focus on applied mathematics, i.e.

  • calculus and numerical mathematics,
  • partial differential equations,
  • modelling and simulation,
  • various computer science topics.

In my spare time I enjoy tinkering with tech, which is why my hobbies include

  • programming,
  • self-hosting,
  • home automation,
  • 3D printing.

esp-smartmeter-reader's People

Contributors

aldadic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

esp-smartmeter-reader's Issues

Starting sequence

First, thanks for publishing the code on GitHub.

I have a question regarding the start sequence of the telegram pushed from the meter: How did you find out the sequence?

I noticed that on my system I read something very similar in the data stream, but not exactly the same. I'm not using the ESP32, but I have a RS485 - USB converter connected to a RPi for reading an optical probe of the Wiener Netze smart meter. In my case there is an additional 0xFF in between 0x7e and 0xa0, the distance between two 0xa0 is still 105 bytes. So I'm just wondering if that's a problem on my side or if I'm missing something in the code.

How to deal with messages starting with DB not '7E A0'

Hi Aldadic,

I am currently writing an esphome component which should be able to read the smart meter interface of Wiener Netze - and in fact it does it - see here: https://github.com/chof747/smartmeter

However I am failing to implement the CRC check. I saw that you have implemented it in your code but it seems that the message format my meter is putting out is different from yours. I seem to have DLMS messages encrypted with AES_GCM and the telegrams start always with d8.

Do you have any idea where I can find more info about the CRC Check? - Or how that is composed? Thanks Christian

ESP 8266; Mbedtls Libary

first of all thank you for effort pushing this project to GH (!)

I am struggling loading the project to a Lolin Wemos D1 Mini (ESP 8266).
I cannot activate the Mbedtls libary in the arduino IDE.

what I have tried (but not solved):

  • find the libary in the libary manager (not found the correct one, just "Seeed_Arduino_mbedtls"
  • install the mbedtls lib from github via zip file -> faulted
  • copy the unzipped folders to: install folder or to the project folder

error msg:

C:~~\SmartMeterSchnittstelle\esp32-smartmeter-reader-main\esp32-smartmeter-reader-main\esp32-smartmeter-reader\esp32-smartmeter-reader.ino:2:10: fatal error: mbedtls/aes.h: No such file or directory
2 | #include "mbedtls/aes.h" //=> not found :(
| ^~~~~~~~~~~~~~~
compilation terminated.

exit status 1

Compilation error: mbedtls/aes.h: No such file or directory

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.