WMBUS

Aus FHEMWiki
Version vom 12. Oktober 2014, 16:30 Uhr von Kaihs (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{Infobox Modul |ModPurpose=Dekodierung von Wireless M-Bus Nachrichten |ModType=d |ModForumArea=Sonstige Systeme |ModTechName=36_WMBUS.pm |ModOwner=kaihs }} WM…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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 sogenannten S-Mode und den T-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. Die von einem Zähler gesendeten Daten können sehr unterschiedlich sein und hängen u. a. vom Zählertypen und dessen Hersteller ab.

Voraussetzungen

Das Modul interpretiert nur die Nachrichten die von einen geeigneten Empfänger empfangen werden. Im Moment sind ein CUL und verwandte Geräte die die culfw verwenden dazu in der Lage. Der CUL muss mittels Attribut rfmode=WMBus_S oder WMBus_T 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 in fhem 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.

Anwendungsbeispiele

Ein per EnergyCam abgelesener Elekrtizitätszähler sieht in fhem z. B. so aus:

Internals: 
  CUL_WMBUS_MSGCNT 48 
  CUL_WMBUS_RAWMSG b1944C4189985051701028A7D7AEB0000800405DE060C0002FD08364183BF80::-43.5 
  CUL_WMBUS_RSSI -43.5 
  CUL_WMBUS_TIME 2014-10-12 17:08:01 
  DEF        FFD 17058599 1 2 
  DeviceMedium Electricity 
  DeviceType 2 
  IODev      CUL_WMBUS 
  IdentNumber 17058599 
  LASTInputDev CUL_WMBUS 
  MSGCNT     48 
  Manufacturer FFD 
  NAME       WMBUS_FFD_17058599_1_2 
  NR         239 
  STATE      no errors 
  TYPE       WMBUS 
  Version    1 
  addr       FFD_17058599_1_2 
  Readings: 
    2014-10-12 17:08:01   1:storage_no    0 
    2014-10-12 17:08:01   1:type          VIF_ELECTRIC_ENERGY 
    2014-10-12 17:08:01   1:unit          Wh 
    2014-10-12 17:08:01   1:value         78819000 
    2014-10-12 17:08:01   2:storage_no    0 
    2014-10-12 17:08:01   2:type          VIF_ACCESS_NO 
    2014-10-12 17:08:01   2:unit 
    2014-10-12 17:08:01   2:value         16694 
    2014-10-12 17:08:01   LQI             128 
    2014-10-12 17:08:01   RSSI            -43.5 
    2014-10-12 17:08:01   decryption_ok   1 
    2014-10-12 17:08:01   is_encrypted    0 
    2014-10-12 17:08:01   state           no errors 
Attributes: 
  IODev      CUL_WMBUS 
  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)

Daher wird bisher erst die EnergyCam der Fast Forward AG vollständig unterstützt.

Links

  • Forumsthread [1]
  • Protokoll Beschreibung [2]
  • Beschreibung des M-BUS Protokolls [3]