Today, 06:27 AM
Getting inconsistent/wrong sensor readings from N20 over RS485 Modbus RTU — hoping for some guidance.
Setup: N20 connected via RS485 to a Server16 running Home Assistant, using the Modbus RTU integration (baud 38400, matching the N20 Modbus protocol spec).
Issue: Reading the temperature register (offset 64, float, Chip 1) gives inconsistent results. N20's own display shows 33.7°C, but Home Assistant reads back 24.38°C — sometimes correct, sometimes way off (even negative values occasionally). Current/power/energy readings on the integer registers seem fine, it's mainly the float-type registers (temperature, power factor) that come back wrong or inconsistent.
I've already tried:
- Different byte-swap orders (byte swap gives correct values sometimes, but not consistently)
- Re-tightening A/B terminals
Questions:
1. Is there a known/confirmed byte order for the float registers (temp, PF) on N20? The protocol doc mentions "CDBA format" — is there a simpler way to interpret this?
2. Any guidance on termination/grounding recommendations for the RS485 bus on N20 and Server16 specifically?
3. Is there a minimum recommended polling interval to avoid read collisions?
Any help appreciated — thanks!
Setup: N20 connected via RS485 to a Server16 running Home Assistant, using the Modbus RTU integration (baud 38400, matching the N20 Modbus protocol spec).
Issue: Reading the temperature register (offset 64, float, Chip 1) gives inconsistent results. N20's own display shows 33.7°C, but Home Assistant reads back 24.38°C — sometimes correct, sometimes way off (even negative values occasionally). Current/power/energy readings on the integer registers seem fine, it's mainly the float-type registers (temperature, power factor) that come back wrong or inconsistent.
I've already tried:
- Different byte-swap orders (byte swap gives correct values sometimes, but not consistently)
- Re-tightening A/B terminals
Questions:
1. Is there a known/confirmed byte order for the float registers (temp, PF) on N20? The protocol doc mentions "CDBA format" — is there a simpler way to interpret this?
2. Any guidance on termination/grounding recommendations for the RS485 bus on N20 and Server16 specifically?
3. Is there a minimum recommended polling interval to avoid read collisions?
Any help appreciated — thanks!

