Hi all, is here anyone with a knowledge to properly setup RS485/M-Bus converter from JC Elektronika?
My testing setup:
- Unipi Patron M527 with Patron Node RED OS installed and libmbus 0.8.0,
- 80 device version of RS485toMBus-XL connected to 1.3 port RS485,
- Electricity meter Inepro PRO380Mb (Addr set to 9, Bdr set to 1200).
mbus-serial-scan tool seems to find the meter:
unipi@M527-snXXX:~$ mbus-serial-scan -d -b 1200 /dev/ttymxc0
Scanning primary addresses:
...
9 [2024-06-09 09:23:07] SEND (005): 10 40 09 49 16
[2024-06-09 09:23:07] RECV (001): E5
Found a M-Bus device at address 9
...
but mbus-serial-request-data tool is not able to read response:
unipi@M527-snXXX:~$ mbus-serial-request-data-multi-reply -d -b 1200 /dev/ttymxc0 9
main: debug: sending init frame
[2024-06-09 09:15:20] SEND (005): 10 40 FF 3F 16
[2024-06-09 09:15:21] SEND (005): 10 7B 09 84 16
mbus_sendrecv_request: Failed to receive M-Bus response frame.
mbus_frame_print: Dumping M-Bus frame [type 0, -3 bytes]:
Failed to generate XML representation of MBUS frames: M-bus data parse error.
If I use M-Bus master from ENBRA (USB-MBus) CODMBUS the read tool is ok to read the meter:
unipi@M527-snXXX:~$ mbus-serial-request-data -d -b 1200 /dev/ttyUSB0 9
main: debug: sending init frame
[2024-06-09 09:05:30] SEND (005): 10 40 FF 3F 16
[2024-06-09 09:05:30] SEND (005): 10 7B 09 84 16
[2024-06-09 09:05:31] RECV (081): 68 4B 4B 68 08 09 72 08 05 08 21 CD 25 01 02 2D 00 00 00 0C 04 61 77 26 00 8C 10 04 61 77 26 00 8C 20 04 00 00 00 00 1C 04 61 77 26 00 9C 10 04 61 77 26 00 9C 20 04 00 00 00 00 2C 04 00 00 00 00 AC 10 04 00 00 00 00 AC 20 04 00 00 00 00 83 16
mbus_frame_print: Dumping M-Bus frame [type 4, 81 bytes]: 68 4B 4B 68 08 09 72 08 05 08 21 CD 25 01 02 2D 00 00 00 0C 04 61 77 26 00 8C 10 04 61 77 26 00 8C 20 04 00 00 00 00 1C 04 61 77 26 00 9C 10 04 61 77 26 00 9C 20 04 00 00 00 00 2C 04 00 00 00 00 AC 10 04 00 00 00 00 AC 20 04 00 00 00 00 83 16
<MBusData>
<SlaveInformation>
<Id>21080508</Id>
<Manufacturer>INM</Manufacturer>
<Version>1</Version>
<ProductName></ProductName>
<Medium>Electricity</Medium>
<AccessNumber>45</AccessNumber>
<Status>00</Status>
<Signature>0000</Signature>
</SlaveInformation>
<DataRecord id="0">
<Function>Instantaneous value</Function>
<Unit>Energy (10 Wh)</Unit>
<Value>267761</Value>
<Timestamp>2024-06-09T09:05:31</Timestamp>
</DataRecord>
...
I would appreciate any idea what I'm doing wrong. Thanks!