I don't believe it's the fact I'm using Sync over Async, but pymodbus appears to be ignoring the second Modbus/TCP packet containing the data of interest.
DEBUG:pymodbus.transaction:Running transaction 20
DEBUG:pymodbus.transaction:SEND: 0x0 0x14 0x0 0x0 0x0 0x6 0x1 0x1 0x0 0x0 0x0 0x1
DEBUG:pymodbus.client.sync:New Transaction state 'SENDING'
DEBUG:pymodbus.transaction:Changing transaction state from 'SENDING' to 'WAITING FOR REPLY'
DEBUG:pymodbus.transaction:Incomplete message received, Expected 12 bytes Recieved 10 bytes !!!!
DEBUG:pymodbus.transaction:Changing transaction state from 'WAITING FOR REPLY' to 'PROCESSING REPLY'
DEBUG:pymodbus.transaction:RECV: 0x0 0x14 0x0 0x0 0x0 0x6 0x1 0x1 0x1 0x1
DEBUG:pymodbus.framer.socket_framer:Processing: 0x0 0x14 0x0 0x0 0x0 0x6 0x1 0x1 0x1 0x1
DEBUG:pymodbus.framer.socket_framer:Frame check failed, ignoring!!
DEBUG:pymodbus.transaction:Getting transaction 20
DEBUG:pymodbus.transaction:Changing transaction state from 'PROCESSING REPLY' to 'TRANSACTION_COMPLETE'
Modbus Error: [Input/Output] No Response received from the remote unit/Unable to decode response
DEBUG:pymodbus.transaction:Current transaction state - TRANSACTION_COMPLETE
I would appreciate any help please :)