I’m at my wits end trying to get a Modbus connection working with my Triangle Tube Prestige Boiler (page 43 is the start of the Modbus info). Using a known working RS485 USB module that is recognized in HAAS, I am getting the exception error no matter what I try. I can get results when connecting via my rPi and running tt-status. My configuration is below and you can see I’ve tried 2 different port options with the same results and I’ve tried register 0 with the same exception. Any help would be appreciated.
Looking at the docs, I think 768 is an input register, not holding (default).
Not much difference, input is read only, but the protocol uses a different function code for handling both.
input_type string (optional)
Modbus register type (holding, input), default holding.
I would try adding input_type: input to the sensor config.
Thanks!! input_type: input ← solved the error.
The logs are now showing below, but I’m not seeing a response. Does this look normal or should I be seeing a response?
2021-07-18 17:23:05 DEBUG (SyncWorker_0) [pymodbus.client.sync] New Transaction state 'SENDING'
2021-07-18 17:23:20 DEBUG (SyncWorker_1) [pymodbus.client.sync] New Transaction state 'SENDING'
2021-07-18 17:23:35 DEBUG (SyncWorker_0) [pymodbus.client.sync] New Transaction state 'SENDING'
2021-07-18 17:23:50 DEBUG (SyncWorker_1) [pymodbus.client.sync] New Transaction state 'SENDING'
Thanks for the help on this. I was wondering if you could offer some assistance on one additional items?
Address 0 is the boiler status based on the bits. Do you have an idea how to address that? I did find a similar post but would require switching that one Address to a register. Is this the only way to get the results that you know of?
Yes according to your boiler docs, you again need to read a whole input register from address 0 (only modbus function 04 is supported). Up to you how to decode the bits.