WMBUS: Unterschied zwischen den Versionen

Aus FHEMWiki
Zur Navigation springen Zur Suche springen
(Verschlüsselung)
Zeile 9: Zeile 9:
Wireless M-Bus ist ein Standardprotokoll das von unterschiedlichen Herstellern unterstützt wird.
Wireless M-Bus ist ein Standardprotokoll das von unterschiedlichen Herstellern unterstützt wird.
Das Protokoll unterstützt unterschiedliche Kodierungen des Funksignals, im wesentlichen den S-Mode, T-Mode und C-Mode. Der Empfänger (z. B. ein CUL) muss den selben Modus nutzen wie der Sender (der Zähler).  
Das Protokoll unterstützt unterschiedliche Kodierungen des Funksignals, im wesentlichen den S-Mode, T-Mode und C-Mode. Der Empfänger (z. B. ein CUL) muss den selben Modus nutzen wie der Sender (der Zähler).  
Wireless M-Bus unterstützt optional die Verschlüsselung der Daten per AES.
Wireless M-Bus unterstützt optional die Verschlüsselung der Daten.
Die von einem Zähler gesendeten Daten können sehr unterschiedlich sein und hängen u. a. vom Zählertyp und dessen Hersteller ab.
Die von einem Zähler gesendeten Daten können sehr unterschiedlich sein und hängen u. a. vom Zählertyp und dessen Hersteller ab.


Zeile 21: Zeile 21:
Alternativ kann ein Device manuell angelegt werden. Dazu wird der Hersteller, die Seriennummer, die Version und der Typ (Wasser, Gas, ...) des Zählers benötigt.
Alternativ kann ein Device manuell angelegt werden. Dazu wird der Hersteller, die Seriennummer, die Version und der Typ (Wasser, Gas, ...) des Zählers benötigt.
Sind die Daten verschlüsselt wird auch noch der passende Schlüssel benötigt um die Daten entschlüsseln zu können.
Sind die Daten verschlüsselt wird auch noch der passende Schlüssel benötigt um die Daten entschlüsseln zu können.
== Verschlüsselung ==
Die Daten können auf drei verschiedene Arten verschlüsselt sein:
# Security profile A/Symmetric encryption with Mode 5
# Security profile B/Advanced symmetric encryption with Mode 7
# Security profile C/Asymmetric encryption with Mode 13
Das Modul unterstützt aktuell Daten die per 1 oder 2 verschlüsselt wurden.


== Anwendungsbeispiele ==
== Anwendungsbeispiele ==

Version vom 18. August 2019, 16:00 Uhr

WMBUS
Zweck / Funktion
Dekodierung von Wireless M-Bus Nachrichten
Allgemein
Typ Gerätemodul
Details
Dokumentation EN / DE
Support (Forum) Sonstige Systeme
Modulname 36_WMBUS.pm
Ersteller kaihs
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref!

WMBUS ist ein Modul zur Dekodierung von Wireless M-Bus Nachrichten. Solche Nachrichten werden z. B. von Zählern für Wasser, Wärme, Gas und Elektrizität ausgestrahlt. Wireless M-Bus ist ein Standardprotokoll das von unterschiedlichen Herstellern unterstützt wird. Das Protokoll unterstützt unterschiedliche Kodierungen des Funksignals, im wesentlichen den S-Mode, T-Mode und C-Mode. Der Empfänger (z. B. ein CUL) muss den selben Modus nutzen wie der Sender (der Zähler). Wireless M-Bus unterstützt optional die Verschlüsselung der Daten. Die von einem Zähler gesendeten Daten können sehr unterschiedlich sein und hängen u. a. vom Zählertyp und dessen Hersteller ab.

Voraussetzungen

Das Modul interpretiert nur die Nachrichten die von einen geeigneten Empfänger empfangen werden. Aktuell kann ein CUL und verwandte Geräte die die culfw[1] verwenden sowie ein Amber Wireless AMB8465M dafür verwendet werden. In der culfw muss die Unterstützung des WMBUS-Protokolls aktiviert sein (#define HAS_MBUS in der Datei board.h des Deviceverzeichnisses). Bei einem CUL mit der Hardwareversion V4 ist das nicht der Fall.

Der CUL muss in FHEM mittels Attribut rfmode=WMBus_S, WMBus_T oder WMBus_C in den zum Zähler passenden Empfangsmodus versetzt werden.

Anwendung

Die Erzeugung des passenden Devices in FHEM geschieht automatisch beim Empfang des ersten Datenpakets eines Zählers. Voraussetzung dafür ist, dass autocreate aktiv ist. Alternativ kann ein Device manuell angelegt werden. Dazu wird der Hersteller, die Seriennummer, die Version und der Typ (Wasser, Gas, ...) des Zählers benötigt. Sind die Daten verschlüsselt wird auch noch der passende Schlüssel benötigt um die Daten entschlüsseln zu können.

Verschlüsselung

Die Daten können auf drei verschiedene Arten verschlüsselt sein:

  1. Security profile A/Symmetric encryption with Mode 5
  2. Security profile B/Advanced symmetric encryption with Mode 7
  3. Security profile C/Asymmetric encryption with Mode 13

Das Modul unterstützt aktuell Daten die per 1 oder 2 verschlüsselt wurden.

Anwendungsbeispiele

Ein per EnergyCam abgelesener Elektrizitätszähler sieht in FHEM z. B. so aus:

 Internals: 
   CUL_MBUS_MSGCNT 29 
   CUL_MBUS_RAWMSG b1944C4189985051701028A7D7A540000A00405FAD4080002FD08222C1295B8::-67.5 
   CUL_MBUS_RSSI -67.5 
   CUL_MBUS_TIME 2014-10-24 22:57:53 
   DEF        FFD 17058599 1 2 
   DeviceMedium Electricity 
   DeviceType 2 
   IODev      CUL_MBUS 
   IdentNumber 17058599 
   LASTInputDev CUL_MBUS 
   MSGCNT     29 
   Manufacturer FFD 
   NAME       WMBUS_FFD_17058599_1_2 
   NR         49 
   STATE      no errors 
   TYPE       WMBUS 
   Version    1 
   addr       FFD_17058599_1_2 
   Readings: 
     2014-10-24 22:57:53   1_storage_no    0 
     2014-10-24 22:57:53   1_type          VIF_ENERGY_WATT 
     2014-10-24 22:57:53   1_unit          Wh 
     2014-10-24 22:57:53   1_value         57881000 
     2014-10-24 22:57:53   2_storage_no    0 
     2014-10-24 22:57:53   2_type          VIF_ACCESS_NO 
     2014-10-24 22:57:53   2_unit 
     2014-10-24 22:57:53   2_value         11298 
     2014-10-24 22:57:53   LQI             184 
     2014-10-24 22:57:53   RSSI            -67.5 
     2014-10-24 22:57:53   battery         ok 
     2014-10-24 22:57:53   decryption_ok   1 
     2014-10-24 22:57:53   energy          57881 
     2014-10-24 22:57:53   is_encrypted    0 
     2014-10-24 22:57:53   state           no errors 
     2014-10-24 22:57:53   unit            kWh 
 Attributes: 
   IODev      CUL_MBUS 
   room       WMBUS

Bekannte Probleme

Obwohl Wireless M-Bus ein standardisiertes Protokoll ist, scheint sich kaum ein Hersteller vollständig daran zu halten bzw. verwendet sog. herstellerspezifische Felder um wichtige Daten zu verpacken. Aus den bisher beobachteten Datenpaketen ergibt sich

  • Qundis (Herstellerkürzel LSE) verwendet herstellerspezifische Datenblöcke für den eigentlichen Zählerstand
  • Techem und Hydrometer verwenden ein undokumentiertes Datenformat (CI-Field A2)
(Techem Heizkostenverteiler (CI-Field A0) können über das Modul TechemHKV ausgewertet werden)
  • RWE SmartHome Powercontrol[2] sendet verschlüsselt und der Hersteller gibt nicht den vollständigen Schlüssel anBeitrag

Daher werden bisher erst die EnergyCam der Firma Q-loud, Zähler von Easymeter und der Kamstrup Multical 21 vollständig unterstützt. Für den Multical 21 muss eine culfw mit Unterstützung für WMBUS C verwendet werden. Diese ist in der culfw ab dem 24.6.2018 enthalten.

Links

  • Forumsthread Thema
  • Protokoll Beschreibung [3]
  • Beschreibung des M-BUS Protokolls [4]