Hi,
The port settings are correct concerning the 16-LV-INPUTS, these are the default settings, 38400 8N1 and address 1(if all add dipswitches are OFF).
About the Python code, we use a USB-TO-485 adaptor connected to a PC to test it and QModMaster software to test it. If the Waveshare HAT is connected to the Raspberry serial port you should use "dev/ttyAMA0" because depending on your Raspberry model and os sometimes serial0 does not work (personal experience but not enough research). I assume you enable the Raspberry serial port as instructed by Waveshare documentation.
One more thing is that the cards implement only the "Discrete Inputs" on the Modbus protocol and if you try to read other objects like coils or holding registers, you will get errors. Unfortunately, the document with Modbus addresses is not yet available but I will finish and publish it today.
Alex.