From f688104a8a9d92cadbc26292771a19705f4d286a Mon Sep 17 00:00:00 2001 From: kaihs <> Date: Sun, 18 Jan 2015 18:38:30 +0000 Subject: [PATCH] WMBUS: new attribute rawmsg_as_reading git-svn-id: https://svn.fhem.de/fhem/trunk@7619 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/36_WMBUS.pm | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) 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