Modbus tcp info on entities

Hi, I am also struggling to get ModBus working in Home Assistant, most likely it is a silly mistake, but I would welcome some help. Here is the problem:

I purchased a USR-IO424T-EWR Modbus device. It has 4 x binary inputs, 4 x binary outputs, a PT100 temperature input and two 0-5 Volt analogue inputs. I am using it to monitor functions of a microwave Power Amplifier for the GB3JV Amateur Radio repeater www.gb3jv.co.uk

Using the USR App via the USR Cloud everything is working just fine. In Home Assistant I am seeing the Entities that I have configured, but they are not updating. I think my issues might be that I am mis-interpreting the correct registers and the difference in terminologies when interfacing to Home Assistant. This is my config.yaml in Home Assistant:


modbus:
  name: USR-NET-IO
  type: tcp
  host: 192.168.30.104
  port: 502

sensor:
  platform: modbus
  registers:
    - name: Temperature1
      hub: USR-NET-IO
      unit_of_measurement: °C
      register: 6980
    - name: VIN1
      hub: USR-NET-IO
      unit_of_measurement: V
      register: 6976

switch:
  platform: modbus
  coils:
    - name: DO4
      hub: USR-NET-IO
      coil: 6971

The picture shows the USR Application and the names, I am only using 3 of the inputs right now. The Voltage input represents the VSWR from the antenna.

I’ve also attached a Wireshark Capture. The Home Assistant server is on 192.168.0.24 and the Modbus Device on 192.168.30.104. The (working) Chinese cloud server is on 106.14.135.57. I can see Home Assistant appears to be querying the controller and the controller responding, but it looks like the wrong registers. In the screenshot of the trace you can see the Chinese server querying the device and getting the correct response, but the Home Assistant sever query is incorrect, really my question is how can I ensure that the Home Assistant server sends the same query to the Modbus Controller?

I would very much appreciate any help here.

I’m not sure you asking for the right coil/register position.
Download the tool below (it will only work for 10min unless you buy it, just close and open to reset, hit OK to go past the serial enter page)

Have a look at setup>“read/Write definitions” menu option to make sure you are querying the right location and getting the data you expect to see there.

www.modbustools.com/modbus_poll.html

Hi Chris, you were right, the Chinese tool had the registers labelled incorrectly, but the latest manual had the correct registers. I have a MAC, so I used another tool (£2.99) Called “ModBus Client” on the Mac App store to diagnose the issue and sorted it! Many thanks for the tip that sent me in the right direction.

Just the scale factor to sort now, but any Idea how I can convert Voltage into reverse power of an RF System? Like a custom scale.

1 Like

If anyone else is planning to use this device with Home Assistant I can honestly recommend it, it is a super little device especially now that I have sussed it out. Happy to share some config details if it interests people.

Hi Justin,
do you have the ability to do math’s on the 485 bridge?
I am yet to do maths in HA, however i believe that you will need to make a template or script to make new data, possibly very wrong however :rofl:

Chris, I’ll have to work this one out!

One measurement is for Standing Wave Ratio. I know on the probe that 5.0V = 1:1 SWR and that 0V = ∞ SWR. So how I convert a gauge to read SWR. As a work round I’ve called 5V = 50dB Return Loss and 0V = 0dB Return Loss, so the 3.5V reading I am getting is about 35dB Return Loss. Actually this agrees with the measured value.

In reality the voltage reading on the probe relates

to the reflected power level in Watts, so I need to perform a calculation that works out the SWR or return loss based on the known forward power level, in this case 20 Watts.

So I know 0V = 20W and 5V = 0W and I also know Pf is 20W, but how do I make a nice gauge that is calibrated and reads according to the formula? First World problems!