RAK7431 - Polling ModBus Register Above 127

Trying to connect RAK7431 to an electrical submeter with a Modbus RS485 connection. The meter has over 500 Modbus registers, but the RAK7431 polling instruction limits the register polling from 1-127. How do I poll higher Modbus registers with the RAK7431? For example poll the following registers 1199, 1207, 1143, 1145, 1147, 1151, 1153, and 1155 with the RAK7431?

Hi @gibpeters,
This attribute which can get value from 1 to 127 (N) is about the ID of the poll that you create.


The next attribute marked with “XXXX” is the polling instruction content, which includes the registered address that you want to read/write. So there you can write whatever address you want.

Hello, I’m having trouble figuring out the xxxx (polling instruction content),
I checked the quick Guide and the AT command manual of the site, but I can’t find what goes where.
whats the reading and writing command and in what part should I place it?
where do I write the modbus device address I wanna give the command?
where do I put the modbus register to get the value I want from that particular modbus device?

from the quick guide I get the position of the data read, but thats its, nothing else.

Hello @jvargas,
I have responded to you via email, but for the other customers that have issue understanding that:
This part is a standard Modbus message and if you have trouble figuring out the polling instruction content here you can find a reference guide on the MODBUS protocol.

Best regards

Thank you for the support, it’s been of great help.

@jvargas did you get this resolved? I am having difficulty getting the 7431 to work correctly.

Hi, my problem was that I was polling more instructions that the device supports(32 or less), once I don’t try to poll more than 32 it works just fine.

I’d check the gateway if I were you.
I’d reset the gateway and the device to factory settings.
I’d check the correctness of the instruction that is giving yo the problem.

Hope it helps.

Thanks for getting back to me. I changed device setting to transparent mode and the error stopped. Not really sure what non-transparent is but it’s working for me know. I can only poll registers per instruction though this must also be a limitation. Not sure if / how I’ll be able to use this to read 4 byte floats.