Apollon77 / ioBroker.smartmeter

ioBroker-Adapter to read out Smart-Meter using protocols like SML, D0 and such
MIT License
36 stars 17 forks source link

Support DLMS encrypted with GUEK (no auth) #298

Closed Idefix1977 closed 2 years ago

Idefix1977 commented 2 years ago

Do you plan to add support for: Support for CustomerIFC P1 at Sagecom T210-D, Sagecom S210, Kaifa M110, Kaifa MA309 which are used in Austria. The IFC is an MBUS Push telegram which is send every 5 seconds. There are MBUS Slave USB Serial Adapters for a few dollars available. The Baudrate is 2400Baud. The data is send as an encrypted (by a GUEK (global unicast encryption key), authentication is disabled) DLMS/COSEM frame. DLMS-Securitylevel = SecuritySuite0

OpenSource Decrypter: (Python) https://github.com/ric-geek/DLMS_APDU-Encrypter-Decrypter

OpenSource DLMS Translator: Gurux GXDLMSDirector

If not, do you mind, if i try to implement it myself based on your adapter?

Thanks, Elias.

Apollon77 commented 2 years ago

duplicate #200

Apollon77 commented 2 years ago

@Idefix1977 The topics are the following:

Additionally there is https://github.com/lvogt/ioBroker.wireless-mbus in the meantime where I asked several times if someone can try if maybe this adapter already works for it ... maybe you can try it ... because then this is more "The way to go")

Idefix1977 commented 2 years ago

@Apollon77 Thanks for the duplicate-hint ...seems that there are already other people interested in this issue, whats great. Yes, time is also a constriant for me but i want so solve this issue even if it will take months :-) The WMBus is something different. Thus a WMBus enabled device/meter is needed. Then you can use a WMBus Stick to receive this data. But in austria all smartmeters just have a physical wired MBUS connection (called user API P0). This IFC sends a MBUS Frame every 5 seconds, which is a push notification and can easily be reveived with a 5-10USD MBUS USB Slave Receiver. The MBUS Frame can easily be decoded. Then you will get an encrypted DLMS/COESM Frame. After decryption you will have a DLMS Frame which is the application layer of the communication stack. When you parse this frame, you will receive a collection of OBIS object which represent the menu entries of the smart meter. For all this there are several open source tools which i already got working for my smart meter. I attached you a decoded XML showing the received OBIS. I think it would fit nicely into your adapter because you already have the logic for receivin/reading data from a serial port and you already handle OBIS data. So we just have to add decryption and interpretation of DLMS as application layer. XML

Apollon77 commented 2 years ago

Then we "just" need to find a way to parse that in JavaScript ...