Hi - wondering if this might just be a firmware issue, but could do with a steer.
Have connected the 304 to the H1 inverter. Get most of the data in HA, for about 12h, then suffer the following connection error:
Changed to Error reading registers. Type: RegisterType.INPUT; start: 41000; count: 12; slave: 247 from rtu_over_tcp://192.168.86.42:502: Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 4 bytes (0 received)
Any help appreciated.
USR-TCP232-304 Connection Error after approx 12hrs
I just reloaded the integration and got this *slightly* different connection error.
Again, any help much appreciated.
Changed to Error reading registers. Type: RegisterType.INPUT; start: 10016; count: 3; slave: 247 from rtu_over_tcp://192.168.86.42:502: Modbus Error: [Input/Output] No Response received from the remote slave/Unable to decode response
Again, any help much appreciated.
Changed to Error reading registers. Type: RegisterType.INPUT; start: 10016; count: 3; slave: 247 from rtu_over_tcp://192.168.86.42:502: Modbus Error: [Input/Output] No Response received from the remote slave/Unable to decode response
-
- Posts: 1742
- Joined: Thu Oct 13, 2022 7:21 pm
It sounds like it is running ok if it can go for 12 hours but obviously some instability somewhere as the first error is when it tries to read workmode, max/min socs etc.. and it will have done that thousands of times up to that point already - and it got no response received.
The second error is when it is starting up it has failed to read the Master/slave/Manager versions - again no response received.
Both suggest possible infrastructure issues or timing problems.
The easiest first thing to try is to reduce the requested register reads - you do that in Settings -> Devices & Services -> FoxESS - Modbus -> Configure -> Advanced Settings, Max Read - change it to 30.
See how that goes.
The second error is when it is starting up it has failed to read the Master/slave/Manager versions - again no response received.
Both suggest possible infrastructure issues or timing problems.
The easiest first thing to try is to reduce the requested register reads - you do that in Settings -> Devices & Services -> FoxESS - Modbus -> Configure -> Advanced Settings, Max Read - change it to 30.
See how that goes.
HI,
I tried the suggested fix and the integration has been rock solid all day.... until just now when I restarted HA, after creating a template sensor.
Upon restart:
Error connecting to inverter (friendly name: "Woodstock"). Error reading registers. Type: RegisterType.INPUT; start: 11065; count: 28; slave: 247 from rtu_over_tcp://192.168.86.42:502: Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 4 bytes (0 received)
This morning I also verified the physical connections - 2x twisted-pair running approx 10m. All fine. Voltage across the A/B at the 304 = 4.36v
I'd be grateful for any further suggestions.
Thanks
I tried the suggested fix and the integration has been rock solid all day.... until just now when I restarted HA, after creating a template sensor.
Upon restart:
Error connecting to inverter (friendly name: "Woodstock"). Error reading registers. Type: RegisterType.INPUT; start: 11065; count: 28; slave: 247 from rtu_over_tcp://192.168.86.42:502: Modbus Error: [Input/Output] Modbus Error: [Invalid Message] No response received, expected at least 4 bytes (0 received)
This morning I also verified the physical connections - 2x twisted-pair running approx 10m. All fine. Voltage across the A/B at the 304 = 4.36v
I'd be grateful for any further suggestions.

Thanks
-
- Posts: 1742
- Joined: Thu Oct 13, 2022 7:21 pm
10 meters is not a long cable run, but it isn't short either - i'm really not a fan of using 2 twisted pairs, RS485 is a balanced differential signal and using a single twisted pair cable is the perfect connection as both cores are exposed to the same noise which is effectively cancelled out and removed at the input.
I've looked at the specs of the TCP232-304 and I can't see anything about termination resistance - on longer cable runs you would normally fit a 120ohm resistor at the receiver (TCP232-304) to reduce reflections - although 10 meters is not exactly a huge distance and the baud rate is not fast, it will largely depend on the quality of the receiver.
If you have a spare 120 ohm resistor lying around you could fit across A/B and try it, failing that I would definitely go back to using a single pair on the cable.
Since reflections are driven by bit length and loop time, probably explains why reducing the Max Reads helps - that last failure was a read of 28 registers, suggest you drop to a Max Read of 20.
I've looked at the specs of the TCP232-304 and I can't see anything about termination resistance - on longer cable runs you would normally fit a 120ohm resistor at the receiver (TCP232-304) to reduce reflections - although 10 meters is not exactly a huge distance and the baud rate is not fast, it will largely depend on the quality of the receiver.
If you have a spare 120 ohm resistor lying around you could fit across A/B and try it, failing that I would definitely go back to using a single pair on the cable.
Since reflections are driven by bit length and loop time, probably explains why reducing the Max Reads helps - that last failure was a read of 28 registers, suggest you drop to a Max Read of 20.