Improve BCD decoding (#167)

* Introduce mbus_data_bcd_decode_hex

The convert function mbus_data_bcd_decode (BCD to decimal) suffers from
information loss in case of hexacimal digits. So introduce a new function
mbus_data_bcd_decode_hex (BCD to hexadecimal), which isn't affected and
use this for default XML output. But keep mbus_data_bcd_decode for
normalized output.
This commit is contained in:
Stefan Wahren
2020-06-28 10:28:40 +02:00
committed by GitHub
parent 1e25cf1096
commit 17a73287c2
11 changed files with 58 additions and 33 deletions

View File

@ -6,7 +6,7 @@
<Manufacturer>EFE</Manufacturer>
<Version>0</Version>
<ProductName>Engelmann WaterStar</ProductName>
<Medium>Hot water</Medium>
<Medium>Warm water (30-90°C)</Medium>
<AccessNumber>12</AccessNumber>
<Status>27</Status>
<Signature>0000</Signature>

View File

@ -48,14 +48,14 @@
<Function>Value during error state</Function>
<StorageNumber>0</StorageNumber>
<Unit>Power (W)</Unit>
<Value>144445223</Value>
<Value>DDDDEBBD</Value>
</DataRecord>
<DataRecord id="5">
<Function>Value during error state</Function>
<StorageNumber>0</StorageNumber>
<Unit>Volume flow (m m^3/h)</Unit>
<Value>1445223</Value>
<Value>DDEBBD</Value>
</DataRecord>
<DataRecord id="6">

View File

@ -58,7 +58,7 @@
<Function>Instantaneous value</Function>
<StorageNumber>0</StorageNumber>
<Unit>Temperature Difference (1e-2 deg C)</Unit>
<Value>1500018</Value>
<Value>F00018</Value>
</DataRecord>
<DataRecord id="7">

View File

@ -30,14 +30,14 @@
<Function>Value during error state</Function>
<StorageNumber>0</StorageNumber>
<Unit>Power (1e-1 W)</Unit>
<Value>144521543</Value>
<Value>DDEBB4DD</Value>
</DataRecord>
<DataRecord id="3">
<Function>Value during error state</Function>
<StorageNumber>0</StorageNumber>
<Unit>Volume flow (1e-4 m^3/h)</Unit>
<Value>1521543</Value>
<Value>EBB4DD</Value>
</DataRecord>
<DataRecord id="4">

View File

@ -2,7 +2,7 @@
<MBusData>
<SlaveInformation>
<Id>5000244</Id>
<Id>500023E</Id>
<Manufacturer>SBC</Manufacturer>
<Version>18</Version>
<ProductName></ProductName>

View File

@ -2,7 +2,7 @@
<MBusData>
<SlaveInformation>
<Id>5000345</Id>
<Id>50002E5</Id>
<Manufacturer>@@@</Manufacturer>
<Version>18</Version>
<ProductName></ProductName>

View File

@ -72,7 +72,7 @@
<Function>Instantaneous value</Function>
<StorageNumber>0</StorageNumber>
<Unit>Temperature Difference (1e-1 deg C)</Unit>
<Value>1500002</Value>
<Value>F00002</Value>
</DataRecord>
<DataRecord id="9">

View File

@ -6,7 +6,7 @@
<Manufacturer>LSE</Manufacturer>
<Version>153</Version>
<ProductName>Siemens WFH21</ProductName>
<Medium>Hot water</Medium>
<Medium>Warm water (30-90°C)</Medium>
<AccessNumber>235</AccessNumber>
<Status>00</Status>
<Signature>0000</Signature>

View File

@ -6,7 +6,7 @@
<Manufacturer>LSE</Manufacturer>
<Version>153</Version>
<ProductName>Siemens WFH21</ProductName>
<Medium>Hot water</Medium>
<Medium>Warm water (30-90°C)</Medium>
<AccessNumber>218</AccessNumber>
<Status>00</Status>
<Signature>0000</Signature>