diff --git a/fhem/FHEM/36_WMBUS.pm b/fhem/FHEM/36_WMBUS.pm index 2b0b98c9c..dd836543e 100644 --- a/fhem/FHEM/36_WMBUS.pm +++ b/fhem/FHEM/36_WMBUS.pm @@ -32,6 +32,7 @@ sub WMBUS_Initialize($) { $hash->{AttrList} = "IODev". " AESkey". " ignore:0,1". + " rawmsg_as_reading:0,1". " $readingFnAttributes"; } @@ -290,6 +291,9 @@ sub WMBUS_SetReadings($$$) readingsBulkUpdate($hash, "$dataBlock->{number}_value", $dataBlock->{value}); readingsBulkUpdate($hash, "$dataBlock->{number}_unit", $dataBlock->{unit}); readingsBulkUpdate($hash, "$dataBlock->{number}_value_type", $dataBlock->{functionFieldText}); + if (defined($dataBlock->{extension})) { + readingsBulkUpdate($hash, "$dataBlock->{number}_extension", $dataBlock->{extension}); + } if ($dataBlock->{errormsg}) { readingsBulkUpdate($hash, "$dataBlock->{number}_errormsg", $dataBlock->{errormsg}); } @@ -307,6 +311,10 @@ sub WMBUS_SetReadings($$$) readingsBulkUpdate($hash, "state", 'decryption failed'); } + if (AttrVal($name, "rawmsg_as_reading", 0)) { + readingsBulkUpdate($hash, "rawmsg", unpack("H*",$mb->{msg})); + } + readingsEndUpdate($hash,1); return @list; @@ -448,9 +456,12 @@ WMBUS_Attr(@)
  • AESKey
    A 16 byte AES-Key in hexadecimal digits. Used to decrypt messages from meters which have encryption enabled. -
  • +
  • ignore +

  • +
  • rawmsg_as_reading
    + If set to 1, received raw messages will be stored in the reading rawmsg. This can be used to log raw messages to help with debugging.

  • @@ -463,7 +474,7 @@ WMBUS_Attr(@) The readings are generated in blocks starting with block 1. A meter can send several data blocks. Each block has at least a type, a value and a unit, e.g. for an electricity meter it might look like
    @@ -554,11 +565,14 @@ WMBUS_Attr(@)
  • AESKey
    Ein 16 Bytes langer AES-Schlüssel in hexadezimaler Schreibweise. Wird verwendet um Nachrichten von Zählern zu entschlüsseln bei denen die Verschlüsselung aktiviert ist. -
  • +
  • ignore +

  • +
  • rawmsg_as_reading
    + If set to 1, received raw messages will be stored in the reading rawmsg. This can be used to log raw messages to help with debugging.
  • - +
    Readings
    @@ -570,7 +584,7 @@ WMBUS_Attr(@) Die Readings werden als Block dargestellt, beginnend mit Block 1. Ein Zähler kann mehrere Blöcke senden. Jeder Block enthält zumindest einen Typ, einen Wert und eine Einheit. Für einen Elektrizitätszähler könnte das z. B. so aussehen