WMBUS Sagemcom T210-D

Begonnen von chopsor, 09 August 2019, 13:48:19

Vorheriges Thema - Nächstes Thema

chopsor

Hallo,

Mein Plan ist es einen Stromzähler in FHEM einzubinden ( Sagemcom T210-D welcher in Luxemburg verbaut wird) (er hat auch die P1 Schnittstelle aber im Modul SmartMeterP1 habe ich keine Möglichkeit gefunden den AES Key zu hinterlegen)

Ich habe meinen CUL folgendermaßen definiert:

/dev/serial/by-id/usb-busware.de_CUL868-if00@directio 0000
als rfmode habe ich WMBus_S (alle 3 über einige Tage durchprobiert und bei diesem wurde ein Gerät namens WMBUS_SAG_62190470_80_2 angelegt (SAG für Sagemcom)

Allerdings gibt er mir nur Unsupported CI Field 80, remaining payload is 887520178f19500300000000 aus (hier spielt es keine rolle ob ich den vom Provider zur Verfügung gestellten AESkey angebe oder nicht)

Ich gehe mal davon aus , dass der Hersteller sich nicht an die WMBUS Spezifikationen gehalten hat?





Unten die Internals


MfG Daniel
Hier könnte Ihre Werbung stehen !

kaihs

CI-Field 80 wird m. W. nur bei der Kommunikation von einem Gateway zu einem Zähler verwendet.

Gibt es bei dir auch noch ein Gateway? Steht auf dem Zähler die in fhem angezeigte IdentNumber?

Vielleicht sind die Daten gar nicht von deinem Zähler und die kommen noch wenn du etwas wartest..



Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

chopsor

Hallo,

Der Gaszähler sendet wohl seinen Stand an den Stromzähler

Ich hab jetzt noch diese Seite gefunden http://www.weigu.lu/microcontroller/smartyreader/index.html hier wird beschrieben, wie man das ganze mit einem ESP32 per MQTT einbindet.

(unter anderem aber auch sehr detailliert wie der Verarbeitungsprozess der Verschlüsslung abläuft).

ZitatVielleicht sind die Daten gar nicht von deinem Zähler und die kommen noch wenn du etwas wartest


Es wurde noch ein gerät angelegt ( das war für mich der Gaszähler da FLO als Hersteller
Hier könnte Ihre Werbung stehen !

kaihs

Hast du das Gerät aus diesem PDF?

Das ist kein Zähler sondern das Gateway.

Der letzte Screenshot ist nicht von dem Gaszähler sondern von dessen Logfile.

Mach mal ein List von den Gaszähler selber und poste die Ausgabe hier (in code Tags).

Von einem Stromzähler sehe ich bisher noch nichts.
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

chopsor

ZitatHast du das Gerät aus diesem PDF?

Nein der Anbieter installiert ansich das "sagemcom t210-d" (der Stromzähler ) dieser kriegt auch noch wenn vorhanden die Daten vom Gaszähler (Uniflo G4SRT) zugesand anschliessend werden die Daten über PCL (eine art powerlan) an den Anbieter gesendet ( Das ganze wird auch in dem Video erklärt https://www.youtube.com/watch?time_continue=247&v=ToqaS0dkiEs )

hier ist noch eine Doc über die Funktionsweise des P1 mit der Verschlüsslung (ich weiss nur nicht ob das in irgend einer weise zum WMBUS passt)  : https://www.electris.lu/files/Dokumente_und_Formulare/P1PortSpecification.pdf

Kann es evtl sein, dass ich hier nur die Kommunikation unter den Beiden Geräten mitschneide und ich die Daten so oder so über die P1 Schnittstelle abrufen muss ?


Hier das list vom Gaszähler:
Internals:
   CHANGED   
   CUL_433_MSGCNT 202
   CUL_433_RAWMSG b6B448F19887520175003FDBE8CA07B900F002C25A31C0000310489C8737028F2F19D72887520178F1950037B3240155A071015E5E4AD04774B157159A78EBCF251269F6ECC4647A5BBDFEA8A2071F9470F0EEF6C7585CA80650FF957521A844AB778524F7110EFFD3B8C9273C05AE4448574D2CE0D90ABBD19F40B8080::-94.5
   CUL_433_RSSI -94.5
   CUL_433_TIME 2019-08-09 22:16:48
   DEF        FLO 17207588 80 3
   DeviceMedium Gas
   DeviceType 3
   FUUID      5d3e09c5-f33f-d8bd-0686-fd8fa13cdc53ecb3
   IODev      CUL_868
   IdentNumber 17207588
   LASTInputDev CUL_433
   MSGCNT     202
   Manufacturer FLO
   MessageEncoding CUL
   NAME       WMBUS_FLO_17207588_80_3
   NR         510
   STATE      Payload CRC check failed on ELL
   TYPE       WMBUS
   Version    80
   addr       FLO_17207588_80_3
   model      FLO_3_80
   Helper:
     DBLOG:
       LQI:
         logdb:
           TIME       1565357507.49563
           VALUE      128
       RSSI:
         logdb:
           TIME       1565379960.87187
           VALUE      -94.5
       state:
         logdb:
           TIME       1565301676.03827
           VALUE      Payload CRC check failed on ELL
   READINGS:
     2019-08-09 22:16:48   LQI             128
     2019-08-09 22:16:48   RSSI            -94.5
     2019-08-09 22:16:48   state           Payload CRC check failed on ELL
   wmbus:
     aeskey     
Attributes:
   AESkey   
   IODev      CUL_868
   event-on-change-reading .*
   room       WMBUS


Und hier vom Stromzähler:
Internals:
   CUL_868_MSGCNT 8
   CUL_868_RAWMSG b1640274C7004B9615002D6E080887520178F195003000000001F0080::-66
   CUL_868_RSSI -66
   CUL_868_TIME 2019-08-09 00:01:21
   DEF        SAG 62190470 80 2
   DeviceMedium Electricity
   DeviceType 2
   FUUID      5d3f18a4-f33f-d8bd-201e-e2f6e82a25a70823
   IODev      CUL_868
   IdentNumber 62190470
   LASTInputDev CUL_868
   MSGCNT     8
   Manufacturer SAG
   MessageEncoding CUL
   NAME       WMBUS_SAG_62190470_80_2
   NR         512
   STATE      Unsupported CI Field 80, remaining payload is 887520178f19500300000000
   TYPE       WMBUS
   Version    80
   addr       SAG_62190470_80_2
   model      SAG_2_80
   Helper:
     DBLOG:
       LQI:
         logdb:
           TIME       1565301681.04397
           VALUE      128
       RSSI:
         logdb:
           TIME       1565301681.04397
           VALUE      -66
       state:
         logdb:
           TIME       1565301681.04397
           VALUE      Unsupported CI Field 80, remaining payload is 887520178f19500300000000
   READINGS:
     2019-08-09 00:01:21   LQI             128
     2019-08-09 00:01:21   RSSI            -66
     2019-08-09 00:01:21   state           Unsupported CI Field 80, remaining payload is 887520178f19500300000000
   wmbus:
     aeskey     
Attributes:
   AESkey     
   IODev      CUL_868
   room       WMBUS
Hier könnte Ihre Werbung stehen !

kaihs

Bzgl. des Fehlers beim Gaszähler siehe hier.

Aber wahrscheinlich ist das bei dir dann auch mit Mode 7 verschlüsselt was ich ja noch nicht implementiert habe.

Wenn ich die Info über den Stromzähler richtig verstanden habe gibt der die Werte drahtgebunden über die P1 Schnittstelle aus.
Andererseits spricht er ja als Gateway WMBus. Aber nach dem was du bisher empfangen hast gibt er darüber seine Messwerte nicht aus.
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

kaihs

Ja, wie erwartet mode 7 verschlüsselt:


Manufacturer 198f FLO
IdentNumber 17207588
Version 80
Type 3 Gas
IsEncrypted 1
Status: 32 temporary error, any application error, specific to manufacturer, abnormal condition/alarm
Error:Encryption mode 7 not implemented
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

chopsor

Hallo,


ich befürchte, dass der Stromzähler selbst (welcher ja zeitgleich als Gateway arbeitet) seine Daten gar nicht per wmbus verteilt und mir somit nur der Weg über die P1 Schnittstelle bleibt (leider auch nicht über das SmartMeterP1 Modul da hier die Entschlüsslungsfunktion wohl fehlt).

(Ich habe mich um ein Baussatz von der oben erwähnten Seite beworben, hier wird ein ESP genutzt um die Werte per mqtt zu senden).

Ich danke dir aber für deine Mühen !
Hier könnte Ihre Werbung stehen !

Reisbaua

der Thread ist schon alt, ich weiß...
Aber hat irgendjemand von euch geschafft das Sagemcom per RJ12 oder WMBus anzusprechen?
Man braucht ja den Key oder?

chopsor

#9
Hallo,


Ja ich lese Ihn mittlerweile über die P1 Schnittstelle aus (befindet sich bei mir unter einer Grünen Abdeckung ) es ist ein rj11 Stecker.

Ausgelesen wird er mit einem WemosD1 pro (http://www.weigu.lu/microcontroller/smartyReader_P1/index.html).

Den Key brauchst du auch.

MfG Daniel
Hier könnte Ihre Werbung stehen !

Reisbaua

Danke für die Info.
Das heißt aber auch dass das smartmeterP1 Modul in FHEM gar nicht funktionieren kann, weil dort kein Key hinterlegt werden kann?
Ich hab nämlich einfach ein USB RJ11 angeschlossen und mal mitgelesen was so reinkommt. Das ist allerdings nur Datenmüll, vermutlich wegen der Verschlüsselung.
Den Key hast du dann auf Anfrage von deinem Energieversorger bekommen oder wie läuft das?

chopsor

Hallo,

Bei der Variante von der oben genannten Seite entschlüsselt der Wemos D1 pro die Daten (den Key gibst du im Sketch ein) anschließend sendet er die Daten per MQTT an z.B. Fhem (der Empfänger wird ebenfalls im Sketch definiert).

Fhem kannst du dann nutzen, damit er
1. Plots erstellt
2. Das Modul https://wiki.fhem.de/wiki/ElectricityCalculator damit füttern.
3. sonstige Ideen...

Da in Luxemburg auch der Gaszähler an den "smarty" gekoppelt ist (wmbus/mbus) kann man diese Werte mitlesen (kann also 2 Zähler mit einem Gerät auslesen)


Den AES Key bekommst du von deinem Versorger ja.
Hier könnte Ihre Werbung stehen !

Reisbaua

Ich habe mittlerweile 2 Keys von meinem Energieversorger bekommen.
Global Unicast Encryption Key (GUEK) und Global Authentication Key (GAK)
Ich weiß jetzt auch gar nicht welcher für was überhaupt ist.

Wie ist das bei euch abgelaufen, was habt ihr von euren Netzanbietern bekommen? Und woher kommt ihr eigentlich, bzw welche Netzanbieter waren das?
Ich komme aus Österreich und bin bei den "Energienetze Steiermark".
Leider hab ich mit keinen der bekannten Tools einen unencrypted output bekommen können.
Das Telegramm an sich sehe ich allerdings schon, auch die unverschlüsselten Inputs wie Header, FrameCounter, etc.

Danke für eure Hilfe, ich komm hier echt nicht mehr weiter!

Tomhri

Hallo

Ich lese bereits meinen Stromzähler mithilfe eines ESP8266 aus und bin auch bei den Energienetzen Steiermark, die Schlüssel welche ich erhalten habe müssen als HEX betrachtet werden, z.b b7e2de... müssen als 0xb7, 0xe2, 0xde ... verwendet werden.
Mehr Infos unter http://weigu.lu/tutorials/sensors2bus/04_encryption/index.html und http://www.weigu.lu/microcontroller/smartyReader_P1/index.html
GUEK = Global Unicaste Encryption Key
GAK = Global Authentication Key


Reisbaua

Wie du sagst, man braucht beide Keys, wobei der GAK nur dazu dient die erhaltene Message zu validieren.
Der GUEK wird für die Entschlüsselung gebraucht.
Ich habe beim smarty_dsmr_proxy Projekt einen Issue eröffnet, mit dem der GAK (=AAD) parametrierbar ist, und somit kann diese Software genutzt werden um die Messages auszulesen.
Bei mir läuft nun der proxy in einem Docker Container und schickt seinen output auf einen TCP Port.
FHEM holt sich dann ganz normal über das eingebaute SmartMeterP1 Modul die Werte per TCP von dort ab.
Wer nähere Infos braucht, einfach hier melden, dann schreib ich ein wenig mehr dazu.