Парни них хелп!
Удалось подключить к WB свой счетчик тепла (через такой адаптер RS485 to MBUS https://a.aliexpress.com/_uuHbAP )
Скомпилировал эту библиотеку rSCADA - Raditex control systems
Получил такой ответ на запрос:
root@wirenboard-ATZ522DE:~# mbus-serial-request-data /dev/ttyRS485-2 -d
<MBusData>
<SlaveInformation>
<Id>68924134</Id>
<Manufacturer>LUG</Manufacturer>
<Version>4</Version>
<ProductName>Landis & Gyr Ultraheat UH50</ProductName>
<Medium>Heat: Outlet</Medium>
<AccessNumber>0</AccessNumber>
<Status>00</Status>
<Signature>0000</Signature>
</SlaveInformation>
<DataRecord id="0">
<Function>Instantaneous value</Function>
<Unit>Actuality Duration (seconds)</Unit>
<Value>4</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="1">
<Function>Instantaneous value</Function>
<Unit>Averaging Duration (seconds)</Unit>
<Value>4</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="2">
<Function>Instantaneous value</Function>
<Unit>Energy (MJ)</Unit>
<Value>34732</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="3">
<Function>Instantaneous value</Function>
<Unit>Volume (1e-2 m^3)</Unit>
<Value>198075</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="4">
<Function>Instantaneous value</Function>
<Unit>Power (100 W)</Unit>
<Value>34</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="5">
<Function>Instantaneous value</Function>
<Unit>Volume flow (m m^3/h)</Unit>
<Value>192</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="6">
<Function>Instantaneous value</Function>
<Unit>Flow temperature (deg C)</Unit>
<Value>64</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="7">
<Function>Instantaneous value</Function>
<Unit>Return temperature (deg C)</Unit>
<Value>49</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="8">
<Function>Instantaneous value</Function>
<Unit>Temperature Difference (1e-1 deg C)</Unit>
<Value>155</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="9">
<Function>Instantaneous value</Function>
<Unit>Volume (1e-2 m^3)</Unit>
<Value>180958</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="10">
<Function>Instantaneous value</Function>
<Unit>Energy (MJ)</Unit>
<Value>32051</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="11">
<Function>Instantaneous value</Function>
<Unit>Fabrication number</Unit>
<Value>68924134</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="12">
<Function>Instantaneous value</Function>
<Unit>Averaging Duration (minutes)</Unit>
<Value>60</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="13">
<Function>Maximum value</Function>
<Unit>Power (100 W)</Unit>
<Value>62</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="14">
<Function>Maximum value</Function>
<Unit>Power (100 W)</Unit>
<Value>62</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="15">
<Function>Maximum value</Function>
<Unit>Volume flow (m m^3/h)</Unit>
<Value>264</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="16">
<Function>Maximum value</Function>
<Unit>Flow temperature (deg C)</Unit>
<Value>149</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="17">
<Function>Maximum value</Function>
<Unit>Return temperature (deg C)</Unit>
<Value>74</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="18">
<Function>Instantaneous value</Function>
<Unit>On time (hours)</Unit>
<Value>37367</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="19">
<Function>Value during error state</Function>
<Unit>On time (hours)</Unit>
<Value>9522</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="20">
<Function>Value during error state</Function>
<Unit>On time (hours)</Unit>
<Value>9522</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="21">
<Function>Instantaneous value</Function>
<Unit>Time Point (date)</Unit>
<Value>2000-01-01</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="22">
<Function>Instantaneous value</Function>
<Unit>Energy (kWh)</Unit>
<Value>0</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="23">
<Function>Instantaneous value</Function>
<Unit>Energy (kWh)</Unit>
<Value>0</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="24">
<Function>Instantaneous value</Function>
<Unit>Energy (kWh)</Unit>
<Value>0</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="25">
<Function>Instantaneous value</Function>
<Unit>Energy (kWh)</Unit>
<Value>0</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="26">
<Function>Instantaneous value</Function>
<Unit>Energy (kWh)</Unit>
<Value>0</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="27">
<Function>Instantaneous value</Function>
<Unit>Energy (kWh)</Unit>
<Value>0</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="28">
<Function>Maximum value</Function>
<Unit>Flow temperature (deg C)</Unit>
<Value>75</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="29">
<Function>Maximum value</Function>
<Unit>Return temperature (deg C)</Unit>
<Value>74</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="30">
<Function>Maximum value</Function>
<Unit>Volume flow (m m^3/h)</Unit>
<Value>192</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="31">
<Function>Maximum value</Function>
<Unit>Power (100 W)</Unit>
<Value>47</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="32">
<Function>Value during error state</Function>
<Unit>On time (hours)</Unit>
<Value>9522</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="33">
<Function>Instantaneous value</Function>
<Unit>Energy (MJ)</Unit>
<Value>34199</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="34">
<Function>Instantaneous value</Function>
<Unit>Energy (kWh)</Unit>
<Value>0</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="35">
<Function>Instantaneous value</Function>
<Unit>Energy (kWh)</Unit>
<Value>0</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="36">
<Function>Instantaneous value</Function>
<Unit>Energy (kWh)</Unit>
<Value>0</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="37">
<Function>Instantaneous value</Function>
<Unit>Volume (1e-2 m^3)</Unit>
<Value>194644</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="38">
<Function>Instantaneous value</Function>
<Unit>Time Point (time & date)</Unit>
<Value>2021-02-08T16:09:00</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="39">
<Function>Manufacturer specific</Function>
<Value>21 04 00 10 A0</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
</MBusData>
Из этого массива мне нужны только эти:
<DataRecord id="2">
<Function>Instantaneous value</Function>
<Unit>Energy (MJ)</Unit>
<Value>34732</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="4">
<Function>Instantaneous value</Function>
<Unit>Power (100 W)</Unit>
<Value>34</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="5">
<Function>Instantaneous value</Function>
<Unit>Volume flow (m m^3/h)</Unit>
<Value>192</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="6">
<Function>Instantaneous value</Function>
<Unit>Flow temperature (deg C)</Unit>
<Value>64</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="7">
<Function>Instantaneous value</Function>
<Unit>Return temperature (deg C)</Unit>
<Value>49</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="8">
<Function>Instantaneous value</Function>
<Unit>Temperature Difference (1e-1 deg C)</Unit>
<Value>155</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
<DataRecord id="11">
<Function>Instantaneous value</Function>
<Unit>Fabrication number</Unit>
<Value>68924134</Value>
<Timestamp>2021-02-08T18:34:01</Timestamp>
</DataRecord>
Как из этого всего можно сделать счетчик в GUI WB аналогичный вашему?
https://wirenboard.com/wiki/images/7/71/WB-MAP3H_webui_devices.png